:root{--green:#064f3c;--lime:#d5f675;--ink:#183c32;--muted:#76837c;--bg:#f6f8f4;--line:#e4eae3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #9fc83a;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.2}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:16px}small,.muted{color:var(--muted)}.logo{width:142px;height:auto}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:35px 24px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:32px}.sidebar nav{display:grid;gap:9px}.navbtn{background:transparent;text-align:left;padding:14px 17px;border-radius:12px;color:#728078;display:flex;gap:12px;align-items:center}.navbtn.active{background:#edf5df;color:var(--green);font-weight:700}.sidebar-bottom{margin-top:auto;font-size:12px}.main{max-width:1280px;margin-left:230px;padding:30px 48px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.topbar .logo{display:none}.top-actions{display:flex;align-items:center;gap:14px}.avatar{width:40px;height:40px;border-radius:50%;background:#e0ebd6;display:grid;place-items:center;font-weight:700;color:var(--green)}.iconbtn{background:white;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.icon{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.welcome{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800}.welcome p{margin-top:8px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:6px 10px;background:#eaf2df;font-size:11px;color:#44703b;font-weight:600}.grid{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(260px,1fr);gap:24px}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:24px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.textbtn{background:none;color:var(--green);font-size:12px;font-weight:700;padding:5px}.credential{background:var(--green);color:white;border-radius:20px;padding:24px;position:relative;overflow:hidden;min-height:280px}.credential:after{content:'';position:absolute;width:300px;height:300px;border:55px solid #ffffff06;border-radius:50%;right:-150px;top:-70px;pointer-events:none}.credential-top{display:flex;justify-content:space-between;align-items:center}.credential .logo{width:105px;filter:brightness(0) invert(1)}.credential .badge{background:#ffffff16;color:var(--lime)}.student{display:flex;gap:16px;align-items:center;margin:27px 0}.student .avatar{width:66px;height:72px;border-radius:14px;background:#d5f675;color:#064f3c;font-size:24px}.student h2{font-size:21px}.student p{font-size:12px;color:#cadbd2;margin-top:4px}.card-data{display:flex;gap:30px;font-size:14px}.card-data small{color:#a8c8bc;display:block;font-size:10px;margin-bottom:3px}.credential-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff20;margin-top:21px;padding-top:15px;font-size:10px;color:#c6d7ce}.qrbutton{background:var(--lime);color:var(--green);width:100%;padding:15px;border-radius:12px;font-weight:750;margin-top:17px;display:flex;justify-content:center;align-items:center;gap:10px}.offline-note{text-align:center;margin-top:12px;font-size:11px;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick{background:white;border:1px solid var(--line);border-radius:17px;text-align:left;padding:20px;min-height:118px;color:var(--ink)}.quick span{display:block;font-weight:650;margin-top:15px}.quick .icon{color:#4e7455}.quick:nth-child(2){background:#eff2ff}.quick:nth-child(3){background:#fff8e9}.quick:nth-child(4){background:#edf5e6}.promo{margin-top:18px;background:#e9f1db;border-radius:18px;padding:23px;min-height:143px;position:relative;overflow:hidden}.promo h3{font-size:21px;max-width:220px;line-height:1.2;margin:8px 0}.promo p{font-size:12px;max-width:200px}.promo img{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;opacity:.45}.promo div{position:relative;z-index:1}.feed{margin-top:30px}.notice{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.notice:last-child{border-bottom:0}.notice-icon{background:#edf3e7;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.notice-content{flex:1}.notice small{font-size:11px}.notice p{font-size:12px;color:var(--muted);margin-top:4px}.notice button{background:none;color:var(--green)}.pill{font-size:9px;letter-spacing:1px;color:#6b8a4a;text-transform:uppercase;font-weight:800}.bottomnav{display:none}.demo{font-size:11px;color:#7e8b7d;margin-top:30px;text-align:center}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--green);padding:70px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-art .logo{filter:brightness(0) invert(1);width:180px}.login-art h1{font-size:62px;color:white;max-width:520px;letter-spacing:-3px}.login-art h1 em{color:var(--lime);font-style:normal}.login-art p{color:#bed2c5;margin-top:20px}.login-form{max-width:440px;width:100%;margin:auto;padding:40px}.login-form h1{margin:26px 0 10px}.login-form form{margin-top:30px}label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}input,select{width:100%;padding:13px;border:1px solid #dce3d9;border-radius:10px;background:white;color:var(--ink)}.primary{background:var(--green);color:white;padding:14px 20px;border-radius:12px;font-weight:700;width:100%;margin-top:20px}.secondary{border:1px solid var(--line);background:white;color:var(--green);padding:12px 16px;border-radius:10px;font-size:13px}.demo-accounts{margin-top:24px;background:#eef3e8;padding:15px;border-radius:12px;font-size:12px}.demo-accounts button{background:none;color:var(--green);font-weight:700;margin:10px 10px 0 0}.error{color:#ad3434;font-size:12px;margin-top:10px}.menu-list{display:grid;gap:12px}.menu-list button,.menu-list a{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:20px;border:1px solid var(--line);background:white;border-radius:15px;color:var(--ink)}.menu-list span{flex:1}.menu-list small{display:block;font-size:11px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stats .card strong{display:block;font-size:30px}.admin-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.admin-row div:nth-child(2){flex:1}.admin-row small{display:block}.admin-row button{background:#f0f4eb;color:var(--green);border-radius:8px;padding:8px;font-size:11px}dialog{border:0;border-radius:24px;padding:30px;max-width:440px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#052b25aa;backdrop-filter:blur(5px)}.close{float:right;background:#f1f4ed;border-radius:50%;height:32px;width:32px}.qrview{text-align:center;clear:both;padding-top:15px}.qrview img{width:250px;max-width:100%;display:block;margin:20px auto}.qrview p{font-size:13px;color:var(--muted);margin-top:10px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 22px;border-radius:12px;z-index:20;display:none;width:max-content;max-width:90%;font-size:13px}.empty{padding:35px;text-align:center;color:var(--muted)}@media(min-width:1400px){.main{margin-right:auto}}@media(max-width:1000px){.sidebar{width:190px;padding:30px 16px}.main{margin-left:190px;padding:25px}.grid{grid-template-columns:1fr}.login-art{padding:40px}.login-art h1{font-size:46px}}@media(max-width:650px){.sidebar{display:none}.main{margin:0;padding:22px 20px 110px}.topbar{margin-bottom:28px}.topbar .logo{display:block;width:118px}.breadcrumb,.top-actions>small{display:none}.top-actions{gap:10px}.welcome{margin-bottom:22px}.welcome h1{font-size:27px}.welcome p{font-size:12px}.welcome>.badge{display:none}.card{padding:18px;border-radius:20px}.credential{padding:21px;min-height:266px}.grid{gap:25px}.section-head{margin-bottom:16px}.section-head h2{font-size:18px}.quick-grid{grid-template-columns:repeat(4,1fr);gap:8px}.quick{padding:14px 5px;text-align:center;min-height:86px;border-radius:14px}.quick span{font-size:10px;margin-top:10px}.promo{min-height:130px;margin-top:22px}.feed{margin-top:26px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:5}.bottomnav button{background:none;color:#8a958d;font-size:10px;display:grid;justify-items:center;gap:4px;padding:5px 15px}.bottomnav button.active{color:var(--green);font-weight:800}.bottomnav .active .icon{stroke-width:2.4}.login{display:block}.login-art{display:none}.login-form{padding:55px 27px}.login-form .logo{width:155px}.stats .card{padding:12px}.stats small{font-size:10px}.stats .card strong{font-size:24px}.admin-row{flex-wrap:wrap}.demo{font-size:10px}.card-data{gap:24px}}
.logo{filter:brightness(0) saturate(100%) invert(25%) sepia(43%) saturate(792%) hue-rotate(112deg) brightness(86%) contrast(102%)}
.credential .logo,.login-art .logo{filter:brightness(0) invert(1)}
