:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182132;background:#f3f6fb;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #101827;--muted: #6f7d91;--line: #e1e7f0;--surface: #ffffff;--surface-soft: #f7f9fc;--navy: #071426;--navy-2: #0d2039;--blue: #2368f5;--blue-2: #19a5ff;--cyan: #53d2ff;--green: #16966a;--yellow: #d49314;--red: #d74e5b;--shadow: 0 18px 50px rgba(18, 32, 54, .08)}*{box-sizing:border-box}html{min-width:320px;background:#f3f6fb}body{margin:0;min-width:320px;min-height:100vh;background:#f3f6fb}button,input,select,textarea{max-width:100%;font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(35,104,245,.23);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.035em}p{line-height:1.6}.app-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:18px;color:#b9c8dc;background:radial-gradient(circle at 50% 34%,#15375e,transparent 28%),#071426;font-weight:750}.app-loading img{width:190px;height:80px;object-fit:contain;animation:fade-up .6s ease both}.sync-banner{position:fixed;z-index:150;top:12px;left:50%;width:min(620px,calc(100% - 24px));padding:11px 16px;transform:translate(-50%);color:#7f5000;border:1px solid #f0d59d;border-radius:11px;background:#fff7e0f7;box-shadow:0 10px 35px #202a3a24;text-align:center;font-size:.78rem;font-weight:700}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(390px,1.08fr) minmax(420px,.92fr);background:var(--navy)}.login-art{position:relative;min-height:100vh;padding:clamp(34px,5vw,76px);display:flex;flex-direction:column;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(circle at 74% 24%,rgba(38,104,245,.25),transparent 32%),linear-gradient(145deg,#06101e,#0b1d35 72%,#112b4d)}.login-art:before,.login-art:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(83,210,255,.13);border-radius:50%}.login-art:before{width:52vw;aspect-ratio:1;left:-28vw;bottom:-23vw}.login-art:after{width:36vw;aspect-ratio:1;right:-18vw;top:9vh;box-shadow:0 0 0 80px #2368f506,0 0 0 160px #2368f505}.login-art>img{position:relative;z-index:2;width:min(220px,36vw);height:88px;object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 24px rgba(0,0,0,.2))}.login-copy{margin-top:auto;margin-bottom:clamp(24px,8vh,90px);max-width:670px;position:relative;z-index:2}.login-copy .eyebrow{color:#70d8ff}.login-copy h1{margin:18px 0 24px;color:#fff;font-size:clamp(3.5rem,6.3vw,7.2rem);line-height:.86;letter-spacing:-.075em;text-transform:uppercase;font-weight:900}.login-copy p{max-width:570px;color:#b7c7dd;font-size:clamp(1rem,1.4vw,1.2rem)}.login-glow{position:absolute;width:5px;height:45%;left:clamp(34px,5vw,76px);bottom:0;background:linear-gradient(transparent,#2386ff);box-shadow:0 0 42px #2386ff}.login-panel-wrap{min-height:100vh;display:grid;place-items:center;padding:38px;background:#f5f7fb}.login-card{width:min(100%,470px);padding:clamp(30px,4.5vw,54px);background:#fff;border:1px solid rgba(221,228,239,.9);border-radius:30px;box-shadow:0 30px 90px #07142626;animation:fade-up .6s cubic-bezier(.2,.8,.2,1) both}.login-icon{width:58px;height:58px;margin-bottom:28px;display:grid;place-items:center;color:#fff;border-radius:18px;background:linear-gradient(145deg,var(--blue),#1349bf);box-shadow:0 14px 30px #2368f547}.login-card h2{margin:8px 0 10px;font-size:clamp(1.8rem,3vw,2.35rem)}.login-card>form>p{margin-bottom:28px;color:var(--muted)}.login-field{display:block;margin:18px 0}.login-field>span,.field>span{display:block;margin-bottom:8px;color:#4d5a6d;font-size:.77rem;font-weight:750;letter-spacing:.025em}.login-field>div{min-height:52px;display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe;transition:.18s ease}.login-field>div:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #2368f514;background:#fff}.login-field svg{flex:0 0 auto;color:#8995a6}.login-field input{width:100%;min-width:0;height:48px;flex:1;border:0;outline:0;color:var(--ink);background:transparent}.login-field input::placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-icon-button{min-width:34px;min-height:34px;padding:8px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;cursor:pointer}.field-icon-button:hover{color:var(--blue);background:#edf3ff}.install-app{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);text-align:center}.install-app small,.install-note{color:var(--muted);font-size:.7rem;line-height:1.45}.install-app .button+small{display:block;margin-top:9px}.install-note{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:7px}.form-error,.form-success{margin:14px 0;padding:11px 13px;border-radius:11px;font-size:.84rem;font-weight:650}.form-error{color:#a52736;background:#fff0f1}.form-success{color:#087451;background:#eaf9f3}.demo-access{margin-top:22px;padding-top:19px;border-top:1px solid var(--line)}.demo-access>span{display:block;margin-bottom:10px;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.demo-access>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.demo-access button,.reset-demo{border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);cursor:pointer}.demo-access button{padding:10px;font-weight:700}.demo-access button:hover{border-color:#b5c8f1;color:var(--blue);background:#f1f6ff}.reset-demo{width:100%;margin-top:10px;padding:8px;display:flex;justify-content:center;align-items:center;gap:6px;color:var(--muted);font-size:.75rem;border:0;background:transparent}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr);background:#f3f6fb}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 22px;display:flex;flex-direction:column;overflow:hidden;color:#d6e0ee;background:radial-gradient(circle at 50% 0,#15345b,transparent 34%),linear-gradient(180deg,#081526,#06101e)}.sidebar:after{content:"";position:absolute;inset:auto -90px -130px;height:260px;border:1px solid rgba(83,210,255,.12);border-radius:50%}.brand{min-height:66px;padding:0 12px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:145px;height:48px;object-fit:contain;object-position:left center}.nav-caption{margin:22px 12px 10px;color:#6f87a5;font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav button,.logout-button{width:100%;padding:11px 12px;display:flex;align-items:center;gap:12px;border:0;border-radius:11px;color:#9eb0c7;background:transparent;cursor:pointer;text-align:left;font-weight:650;transition:.18s ease}.side-nav button svg,.logout-button svg{flex:0 0 auto}.side-nav button:hover{color:#fff;background:#ffffff0e}.side-nav button.active{color:#fff;background:linear-gradient(90deg,#2368f5d1,#2368f554);box-shadow:inset 3px 0 #61d7ff,0 10px 26px #0d48bc2e}.logout-button{position:relative;z-index:1;margin-top:auto;color:#8799b0}.logout-button:hover{color:#fff;background:#ffffff0f}.app-body{min-width:0}.topbar{height:75px;padding:0 clamp(24px,3.5vw,52px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(217,225,236,.85);background:#ffffffd4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:25}.topbar-brand{display:flex;align-items:center;gap:8px;color:#16325a;font-size:.78rem;font-weight:900;letter-spacing:.15em}.topbar-user{display:flex;align-items:center;gap:12px}.topbar-user>span{display:flex;flex-direction:column;align-items:flex-end;color:var(--ink);font-size:.84rem;font-weight:750}.topbar-user small{margin-bottom:2px;color:var(--muted);font-size:.63rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.page-content{width:min(100%,1480px);margin:0 auto;padding:clamp(28px,3.8vw,56px);animation:fade-up .4s ease both}.bottom-nav,.bottom-more-menu{display:none}.page-header{margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-header h1{margin:5px 0 7px;font-size:clamp(2rem,3.2vw,3.05rem);line-height:1}.page-header p{margin:0;color:var(--muted)}.eyebrow,.section-kicker{color:var(--blue);font-size:.67rem;line-height:1.2;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.page-actions{flex:0 0 auto}.panel{min-width:0;padding:clamp(20px,2vw,28px);border:1px solid rgba(222,229,239,.95);border-radius:20px;background:var(--surface);box-shadow:0 2px 3px #12203605,0 12px 40px #1220360b}.panel h2{margin:5px 0 10px;font-size:1.25rem}.panel h3{margin-bottom:6px}.panel-heading{margin-bottom:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-heading h2,.panel-heading h3{margin-bottom:0}.muted{color:var(--muted)}.button{min-height:42px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;cursor:pointer;font-weight:750;font-size:.85rem;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.58;cursor:wait;transform:none;box-shadow:none}.button.primary{color:#fff;background:linear-gradient(135deg,var(--blue),#1654d0);box-shadow:0 10px 24px #2368f533}.button.primary:hover{box-shadow:0 14px 30px #2368f54d}.button.secondary{color:#24324a;border-color:#d9e1ed;background:#fff}.button.secondary:hover{border-color:#b8c7dc;background:#f8faff}.button.danger{color:#fff;background:linear-gradient(135deg,#dc4d5c,#b72c3b);box-shadow:0 10px 24px #b72c3b2e}.button.danger:hover{box-shadow:0 14px 30px #b72c3b42}.button.danger-outline{color:#b72c3b;border-color:#efbdc3;background:#fff8f8}.button.danger-outline:hover{border-color:#dc7f89;background:#fff0f1}.button.ghost{color:var(--muted);background:transparent}.button-block{width:100%}.text-button{padding:4px 0;display:inline-flex;align-items:center;gap:4px;border:0;color:var(--blue);background:transparent;font-size:.78rem;font-weight:800;cursor:pointer}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.icon-button:hover{border-color:#b8c7dc;background:#f8faff}.icon-button.danger{color:var(--red)}.icon-button.danger:hover{color:#b72c3b;border-color:#f0bdc3;background:#fff1f2}.row-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;color:#fff;border:2px solid rgba(255,255,255,.7);border-radius:50%;background:linear-gradient(145deg,#286ef7,#12367b);font-size:.7rem;font-weight:850;box-shadow:0 6px 15px #10357026}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-large{width:86px;height:86px;font-size:1.15rem;border-width:3px}.status-pill{width:fit-content;padding:5px 9px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.67rem;font-weight:800;white-space:nowrap}.status-blue{color:#1656cf;background:#eaf1ff}.status-green{color:#087955;background:#e7f7f0}.status-yellow{color:#9a6500;background:#fff5d9}.status-red{color:#ae2e3d;background:#ffebed}.status-gray{color:#69778a;background:#eef2f6}.stats-grid{margin-bottom:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-24px;bottom:-42px;width:88px;height:88px;border-radius:50%;background:#7c91b10f}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.73rem;font-weight:700}.stat-top svg{color:#91a0b4}.tone-blue .stat-top svg{color:var(--blue)}.tone-green .stat-top svg{color:var(--green)}.tone-yellow .stat-top svg{color:var(--yellow)}.stat-value{margin:14px 0 5px;color:var(--ink);font-size:clamp(1.55rem,2.1vw,2.2rem);line-height:1;font-weight:900;letter-spacing:-.045em}.stat-detail{color:var(--muted);font-size:.72rem}.content-grid{margin-bottom:22px;display:grid;gap:20px}.content-grid.two-one{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.content-grid.one-two{grid-template-columns:minmax(230px,1fr) minmax(0,2fr)}.data-list{display:flex;flex-direction:column}.data-row{min-width:0;padding:14px 2px;display:flex;align-items:center;gap:13px;border-top:1px solid #edf1f6}.data-row:first-child{border-top:0}.row-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.row-main strong{overflow:hidden;color:#1b2639;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.row-main span,.row-main small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.date-tile{width:43px;height:46px;flex:0 0 auto;display:grid;place-items:center;align-content:center;color:var(--blue);border-radius:11px;background:#edf3ff;line-height:1}.date-tile strong{font-size:1rem}.date-tile span{margin-top:3px;font-size:.57rem;font-weight:800;text-transform:uppercase}.positive{color:var(--green)}.negative{color:var(--red)}.transaction-icon,.inventory-icon,.report-icon,.material-admin-icon,.event-type-icon{display:grid;place-items:center;color:var(--blue);border-radius:12px;background:#eaf1ff}.transaction-icon{width:38px;height:38px}.transaction-icon svg{width:18px}.transaction-icon.expense{color:var(--red);background:#fff0f1}.empty-state{grid-column:1 / -1;padding:60px 24px;display:grid;place-items:center;color:#8390a3;text-align:center;border:1px dashed #d6deea;border-radius:20px;background:#fafbfc}.empty-state h3{margin:14px 0 6px}.empty-state p{max-width:440px;margin:0}.belt-display{position:relative;min-height:88px;padding:0 30px;display:flex;align-items:center;overflow:hidden;color:#fff;border-radius:10px 4px 4px 10px;box-shadow:inset 0 1px #ffffff59,inset 0 -14px 26px #0000001a,0 15px 30px #0a162729;font-weight:900;letter-spacing:.08em;text-transform:uppercase;isolation:isolate;animation:belt-arrive .62s cubic-bezier(.2,.85,.2,1) both}.belt-display:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.23;background:repeating-linear-gradient(95deg,transparent 0 3px,rgba(255,255,255,.12) 4px 5px)}.belt-display:after{content:"";position:absolute;top:-60%;bottom:-60%;left:-40%;width:32%;transform:rotate(16deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);animation:belt-shine 3.8s ease-in-out 1.1s infinite}.belt-display>i{position:absolute;top:0;right:28px;width:9px;height:100%;box-shadow:0 0 0 2px #0000001f}.belt-display.compact{width:152px;min-height:31px;padding:0 12px;border-radius:5px 2px 2px 5px;font-size:.58rem;box-shadow:inset 0 -8px 15px #0000001a,0 5px 12px #0a16271a;animation:none}.belt-display.compact>i{right:16px;width:5px}.dan-stripes{position:absolute;right:18px;height:100%;display:flex;gap:4px;align-items:stretch}.dan-stripes i{width:4px;background:#f4c430;box-shadow:0 0 6px #f4c4308c}.belt-hero{color:#fff;border:0;background:radial-gradient(circle at 90% 15%,rgba(83,210,255,.15),transparent 32%),linear-gradient(145deg,#0b1d34,#102d50);box-shadow:0 24px 60px #0714262e}.belt-hero h2,.belt-hero .text-button{color:#fff}.belt-hero .section-kicker{color:#63d7ff}.belt-hero .belt-display{margin:22px 0}.next-goal{display:grid;grid-template-columns:1fr auto;gap:7px 20px;color:#b7c6db;font-size:.74rem}.next-goal strong{color:#fff}.progress-track{height:7px;grid-column:1 / -1;overflow:hidden;border-radius:999px;background:#8295b033}.progress-track i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 18px #53d2ff80}.belt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.belt-grid.admin{grid-template-columns:repeat(3,minmax(0,1fr))}.belt-item{min-width:0;padding:10px;display:flex;align-items:center;gap:12px;border:1px solid #e8edf4;border-radius:12px;background:#fbfcfe}.belt-item>div:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.belt-item strong{font-size:.76rem}.belt-item span{color:var(--muted);font-size:.63rem}.belt-item.current{border-color:#9cbcfb;box-shadow:inset 3px 0 var(--blue);background:#f1f6ff}.belt-item.completed{opacity:.72}.completed-icon{color:var(--green)}.current-belt{color:#fff;border:0;background:linear-gradient(145deg,#09182a,#15395f)}.current-belt h2{margin-top:8px;color:#fff;font-size:2rem}.current-belt>p{color:#b7c6da}.current-belt .belt-display{margin-top:24px;min-height:68px}.streak-number{margin:18px 0 10px;color:var(--ink);font-size:3.2rem;line-height:.9;font-weight:950;letter-spacing:-.07em}.streak-number small{color:var(--muted);font-size:.8rem;letter-spacing:0}.flame{color:#ff8b27;filter:drop-shadow(0 6px 8px rgba(255,139,39,.3))}.material-teaser{position:relative;overflow:hidden}.material-icon{width:52px;height:52px;margin-bottom:20px;display:grid;place-items:center;color:#fff;border-radius:15px;background:linear-gradient(145deg,#1f75ff,#174db5);box-shadow:0 12px 24px #2368f533}.mobile-quick-links{display:none}.privacy-note{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:.74rem}.ranking-panel{padding:10px 20px}.ranking-head,.ranking-row{display:grid;grid-template-columns:65px 42px minmax(0,1fr) 60px;align-items:center;gap:12px}.ranking-head{padding:13px 0;color:var(--muted);border-bottom:1px solid var(--line);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.ranking-head span:nth-child(2){grid-column:2 / 4}.ranking-head span:last-child{text-align:right}.ranking-row{padding:13px 0;border-bottom:1px solid #edf1f5}.ranking-row:last-child{border-bottom:0}.ranking-row.is-own{margin-inline:-10px;padding-inline:10px;border-radius:12px;background:#eef4ff}.ranking-row>strong:last-child{text-align:right}.rank-number{color:#506079;font-weight:900}.ranking-row:nth-of-type(2) .rank-number{color:#d49100}.ranking-row:nth-of-type(3) .rank-number{color:#8c99aa}.ranking-row:nth-of-type(4) .rank-number{color:#9b6842}.timeline{position:relative}.timeline:before{content:"";position:absolute;top:17px;bottom:22px;left:19px;width:2px;background:#dce6f4}.timeline-entry{position:relative;display:grid;grid-template-columns:40px 1fr;gap:16px;padding-bottom:23px}.timeline-icon{z-index:1;width:40px;height:40px;display:grid;place-items:center;color:var(--blue);border:1px solid #cbdafa;border-radius:50%;background:#f2f6ff}.timeline-entry time{color:var(--blue);font-size:.67rem;font-weight:800}.timeline-entry h3{margin:4px 0}.timeline-entry p{margin:0;color:var(--muted);font-size:.82rem}.event-grid,.material-grid,.material-admin-grid,.report-grid,.settings-grid,.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.event-card,.material-card{display:flex;flex-direction:column}.event-card-top{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.event-card-top>span:last-child{color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.1em}.event-meta{display:flex;flex-wrap:wrap;gap:12px 17px;color:#58677c;font-size:.76rem}.event-meta.vertical{margin:10px 0;flex-direction:column;gap:8px}.event-meta span{display:flex;align-items:center;gap:6px}.event-status-line{margin-top:auto;padding:14px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:.75rem}.material-card .button,.event-card>.button{margin-top:auto}.material-preview,.material-modal-preview{display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 72% 24%,rgba(83,210,255,.26),transparent 30%),linear-gradient(145deg,#09182b,#164273)}.material-preview{height:132px;margin:-1px -1px 19px;border-radius:18px 18px 10px 10px}.material-card .status-pill{margin-bottom:12px}.payment-panel{padding:clamp(30px,5vw,60px);display:flex;align-items:center;gap:28px}.payment-panel h2{margin:8px 0;font-size:2rem}.payment-symbol{width:84px;height:84px;flex:0 0 auto;display:grid;place-items:center;color:var(--blue);border-radius:24px;background:#ecf2ff}.payment-symbol.status-green{color:var(--green);background:#e8f8f1}.payment-symbol.status-yellow{color:var(--yellow);background:#fff5dc}.info-banner{margin-top:20px;display:flex;align-items:flex-start;gap:13px;color:#33527e;background:#f0f5ff}.info-banner>svg{flex:0 0 auto;color:var(--blue)}.info-banner p{margin:4px 0 0;color:#68809f;font-size:.78rem}.profile-photo{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-photo h2{margin:16px 0 4px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.switch-field{grid-column:1 / -1;padding:14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px}.switch-field span{display:flex;flex-direction:column;gap:3px}.switch-field small{color:var(--muted)}.switch-field input{width:42px;height:23px;accent-color:var(--blue)}.divider{height:1px;margin:25px 0;background:var(--line)}.pin-change{display:flex;align-items:flex-end;gap:12px}.pin-change .field{flex:1}.task-list{display:flex;flex-direction:column}.task-list button{padding:13px 6px;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:12px;border:0;border-top:1px solid #edf1f6;background:transparent;cursor:pointer;text-align:left}.task-list button:first-child{border-top:0}.task-list button>svg:first-child{padding:9px;box-sizing:content-box;color:var(--blue);border-radius:11px;background:#edf3ff}.task-list button>svg:last-child{color:#a1adbd}.task-list button span{display:flex;flex-direction:column;gap:4px}.task-list button strong{font-size:.82rem}.task-list button small{color:var(--muted);font-size:.7rem}.compact-ranking>div{padding:9px 0;display:grid;grid-template-columns:28px 34px 1fr 30px;align-items:center;gap:8px;border-top:1px solid #edf1f6}.compact-ranking>div:first-child{border-top:0}.compact-ranking>div>span{color:var(--blue);font-size:.7rem;font-weight:850}.compact-ranking .avatar{width:32px;height:32px}.compact-ranking strong,.compact-ranking b{font-size:.76rem}.compact-ranking b{text-align:right}.students-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(480px,1.65fr);gap:20px}.student-list-panel{padding:12px}.search-box{height:43px;margin-bottom:9px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.search-box svg{color:#8c98a9}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:.78rem}.student-list{max-height:calc(100vh - 250px);overflow:auto}.student-list>button{width:100%;padding:11px 10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:11px;background:transparent;cursor:pointer;text-align:left}.student-list>button:hover{background:#f7f9fc}.student-list>button.selected{background:#eef4ff;box-shadow:inset 3px 0 var(--blue)}.student-list>button>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.student-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.student-list small{color:var(--muted);font-size:.66rem}.student-profile-head{display:flex;align-items:center;gap:17px}.student-profile-head>div:nth-child(2){min-width:0;flex:1}.student-profile-head h2{margin:4px 0;font-size:1.6rem}.student-profile-head p{margin:0;color:var(--muted)}.detail-stats{margin:24px 0;padding:16px 0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.detail-stats>div{padding:0 15px;display:flex;flex-direction:column;gap:5px;border-left:1px solid var(--line)}.detail-stats>div:first-child{padding-left:0;border-left:0}.detail-stats span{color:var(--muted);font-size:.68rem}.detail-stats strong{font-size:.82rem}.access-box,.credentials-box{margin-top:20px;padding:16px;border-radius:13px;background:#f5f8fc}.access-box{display:flex;align-items:center;justify-content:space-between;gap:18px}.access-box p{margin:4px 0 0;color:var(--muted);font-size:.72rem}.credentials-box{color:#174074;border:1px solid #c9daf8;background:#edf4ff}.credentials-box p{margin:5px 0 0;font-size:.8rem}.private-record{margin-top:22px;padding:19px;border:1px solid #dfe7f1;border-radius:15px;background:#fbfcfe}.private-record .panel-heading{margin-bottom:14px}.private-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.private-info-grid>div{min-width:0;padding:12px;display:flex;flex-direction:column;gap:4px;border:1px solid #e7ecf3;border-radius:11px;background:#fff}.private-info-grid>div.full{grid-column:1 / -1}.private-info-grid span{color:var(--muted);font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.private-info-grid strong{overflow-wrap:anywhere;font-size:.78rem;line-height:1.45}.private-info-grid small{color:var(--muted);font-size:.69rem}.progress-admin{margin-top:22px;padding:19px;border:1px solid #dfe7f1;border-radius:15px;background:#fbfcfe}.progress-admin .panel-heading{margin-bottom:12px}.progress-admin .empty-state{padding:30px 20px;background:#fff}.progress-admin-list{display:flex;flex-direction:column}.progress-admin-row{min-width:0;padding:14px 2px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;border-top:1px solid #e7ecf3}.progress-admin-row:first-child{border-top:0}.progress-admin-icon{width:40px;height:40px;display:grid;place-items:center;color:var(--blue);border-radius:12px;background:#eaf1ff}.progress-admin-icon.event{color:#7759bd;background:#f1edff}.progress-admin-icon.recognition,.progress-admin-icon.certificate{color:#ad7100;background:#fff4d9}.progress-admin-main{min-width:0}.progress-admin-main>strong{display:block;margin:6px 0 3px;font-size:.84rem}.progress-admin-main p{margin:0;color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.progress-admin-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--muted);font-size:.66rem}.progress-admin-meta time{color:var(--blue);font-weight:800}.progress-admin-meta>span:not(.status-pill){font-weight:750}.attendance-toolbar{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.attendance-toolbar .field{min-width:270px}.segmented{display:inline-flex;gap:3px;padding:4px;border-radius:11px;background:#edf1f6}.segmented button{padding:8px 12px;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer;font-size:.72rem;font-weight:750}.segmented button.active{color:var(--blue);background:#fff;box-shadow:0 3px 10px #13233814}.attendance-table{overflow:auto}.table-head,.attendance-row{min-width:700px;display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,95px);align-items:center;gap:8px}.table-head{padding:10px 12px;color:var(--muted);border-bottom:1px solid var(--line);font-size:.67rem;font-weight:800;text-transform:uppercase}.attendance-row{padding:11px 12px;border-bottom:1px solid #edf1f6}.attendance-row:last-child{border-bottom:0}.attendance-row>button{padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:.68rem}.attendance-row>button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.attendance-count{margin:15px 0 0;color:var(--muted);font-size:.73rem;text-align:right}.tabs{margin-bottom:20px;display:flex;gap:6px;overflow-x:auto}.tabs button{padding:10px 14px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;cursor:pointer;font-size:.75rem;font-weight:750}.tabs button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.inventory-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.inventory-icon,.report-icon,.material-admin-icon{width:48px;height:48px;margin-bottom:16px}.inventory-card h2{margin:4px 0}.stock-number{margin:17px 0;color:var(--ink);font-size:2.4rem;font-weight:900}.stock-number small{color:var(--muted);font-size:.7rem}.inventory-actions{display:flex;gap:8px}.inventory-actions .button{flex:1}.events-admin-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(530px,1.7fr);gap:20px}.event-admin-list{align-self:start;padding:10px}.event-admin-list>button{width:100%;padding:11px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:11px;background:transparent;cursor:pointer;text-align:left}.event-admin-list>button.selected{background:#eef4ff;box-shadow:inset 3px 0 var(--blue)}.event-type-icon{width:38px;height:38px}.event-type-icon svg{width:18px}.event-admin-list>button>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px}.event-admin-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.event-admin-list small{color:var(--muted);font-size:.67rem}.compact-select{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.event-summary{margin:22px 0;display:grid;grid-template-columns:repeat(3,1fr);border-radius:13px;background:#f5f8fc}.event-summary div{padding:14px;display:flex;flex-direction:column;gap:4px;border-left:1px solid #e2e8f1}.event-summary div:first-child{border-left:0}.event-summary span{color:var(--muted);font-size:.68rem}.event-summary strong{font-size:1.3rem}.participants-heading{align-items:center}.participant-list{max-height:440px;overflow:auto;border-block:1px solid var(--line)}.participant-list>div{padding:10px 2px;display:grid;grid-template-columns:38px minmax(120px,1fr) 125px 115px;align-items:center;gap:10px;border-bottom:1px solid #edf1f6}.participant-list select{min-width:0;height:35px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.7rem}.material-admin-grid .panel{display:flex;flex-direction:column}.material-admin-grid .status-pill{position:absolute;align-self:flex-end}.material-access-summary{margin-top:auto;padding-top:17px;display:flex;flex-direction:column;gap:7px;color:var(--muted);border-top:1px solid var(--line);font-size:.72rem}.material-access-summary span{display:flex;align-items:center;gap:7px}.report-card{display:flex;flex-direction:column}.report-card .button{margin-top:auto}.settings-grid{margin-top:20px}.settings-grid .panel>svg{color:var(--blue)}.settings-security{margin-top:20px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:28px}.settings-security .form-success{grid-column:2;margin:0}.resilience-settings{margin-top:34px}.resilience-heading{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.resilience-heading h2{margin:6px 0;font-size:1.65rem}.resilience-heading p{margin:0}.resilience-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.backup-panel,.audit-panel{align-self:start}.backup-panel .panel-heading>svg,.audit-panel .panel-heading>svg{color:var(--blue)}.backup-create-form{margin-bottom:18px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;border:1px solid #dfe7f1;border-radius:13px;background:#f8fafc}.backup-file-import{margin-bottom:18px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #cbd7e7;border-radius:13px;background:#fbfcfe}.backup-file-import>div{display:flex;flex-direction:column;gap:4px}.backup-file-import strong{font-size:.78rem}.backup-file-import small{color:var(--muted);font-size:.66rem}.backup-file-import .button{min-height:38px;flex:0 0 auto;font-size:.72rem}.backup-list,.audit-list{max-height:600px;overflow:auto;border-top:1px solid var(--line)}.backup-row{padding:15px 2px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid #edf1f6}.backup-row-main{min-width:0;display:flex;flex-direction:column;gap:5px}.backup-row-main>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.backup-row-main time,.backup-row-main small{color:var(--muted);font-size:.68rem}.backup-row-main strong{overflow-wrap:anywhere;font-size:.8rem}.backup-actions{display:flex;align-items:center;gap:6px}.backup-actions .button{min-height:37px;padding-inline:10px;text-decoration:none;font-size:.7rem}.audit-row{padding:14px 2px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #edf1f6}.audit-marker{width:32px;height:32px;display:grid;place-items:center;color:var(--blue);border-radius:10px;background:#edf3ff}.audit-main{min-width:0}.audit-main>strong{display:block;overflow-wrap:anywhere;font-size:.78rem}.audit-main>div{margin-top:5px;display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.65rem}.audit-main code{padding:2px 5px;border-radius:5px;color:#47617f;background:#f0f3f7;font-size:.61rem}.audit-row>time{color:var(--muted);font-size:.65rem;white-space:nowrap}.backup-list>.muted,.audit-list>.muted{margin:18px 0 0}.backup-list .empty-state,.audit-list .empty-state{margin-top:16px;padding:34px 18px}.restore-confirmation{display:grid;gap:20px}.restore-warning{padding:15px;display:flex;align-items:flex-start;gap:12px;color:#8e2531;border:1px solid #f0bdc3;border-radius:13px;background:#fff2f3}.restore-warning>svg{flex:0 0 auto}.restore-warning p{margin:5px 0 0;color:#8f5660;font-size:.78rem}.restore-confirmation .form-actions{margin-top:0}.backup-file-summary{padding:14px;display:flex;flex-direction:column;gap:5px;border:1px solid #dce5f0;border-radius:12px;background:#f8fafc}.backup-file-summary>strong{overflow-wrap:anywhere;font-size:.84rem}.backup-file-summary>span{color:var(--muted);font-size:.68rem}.backup-file-summary>div{margin-top:5px;display:flex;flex-wrap:wrap;gap:7px}.backup-file-summary>div span{padding:4px 7px;color:#355983;border-radius:999px;background:#eaf1ff;font-size:.65rem;font-weight:750}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-section-title{grid-column:1 / -1;margin-top:3px;padding:10px 0 2px;color:#163b70;border-bottom:1px solid #dfe7f1;font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.field{min-width:0;display:block}.field.full{grid-column:1 / -1}.field input,.field select,.field textarea{width:100%;min-height:43px;padding:10px 12px;color:var(--ink);border:1px solid var(--line);border-radius:10px;outline:0;background:#fbfcfe;transition:.18s ease}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2368f512;background:#fff}.field input:disabled{color:#7c899a;background:#edf1f5}.field small{display:block;margin-top:6px;color:var(--muted);font-size:.67rem}.form-actions{grid-column:1 / -1;margin-top:8px;display:flex;justify-content:flex-end;gap:9px}.checkbox-grid{max-height:180px;padding:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.checkbox-grid label{display:flex;align-items:center;gap:6px;color:#4f5f75;font-size:.72rem}.checkbox-grid input{width:auto;min-height:0;accent-color:var(--blue)}.modal-backdrop{position:fixed;inset:0;z-index:100;padding:24px;display:grid;place-items:center;overflow-y:auto;background:#040c17ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .18s ease both}.modal{width:min(100%,560px);max-height:calc(100vh - 48px);padding:25px;overflow-y:auto;border:1px solid rgba(255,255,255,.4);border-radius:21px;background:#fff;box-shadow:0 30px 100px #0000004d;animation:modal-in .25s cubic-bezier(.2,.8,.2,1) both}.modal-wide{width:min(100%,820px)}.modal-header{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0}.material-modal-preview{height:260px;border-radius:15px}.material-modal-preview span{margin-top:12px;font-size:.8rem}.play-circle{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#ffffff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-description{margin:20px 0;color:var(--muted)}.confirm-dialog>p{margin:0;color:#526176}.confirm-dialog .form-actions{margin-top:24px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}@keyframes belt-arrive{0%{opacity:0;transform:translate(-22px) scaleX(.9);transform-origin:left}to{opacity:1;transform:none}}@keyframes belt-shine{0%,36%{left:-40%}58%,to{left:125%}}@media(max-width:1150px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-inline:13px}.stats-grid,.belt-grid.admin,.event-grid,.material-grid,.material-admin-grid,.report-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.students-layout,.events-admin-layout{grid-template-columns:minmax(250px,.75fr) minmax(440px,1.4fr)}}@media(max-width:860px){.login-page{grid-template-columns:1fr;background:#f5f7fb}.login-art{min-height:280px;padding:30px}.login-art>img{width:150px;height:50px}.login-copy{margin:auto 0 0}.login-copy h1{margin:10px 0 13px;font-size:clamp(2.8rem,12vw,4.2rem)}.login-copy p{margin-bottom:0;font-size:.88rem}.login-panel-wrap{min-height:auto;padding:0 18px 28px}.login-card{margin-top:-15px;padding:28px;border-radius:24px}.app-shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 18px}.topbar-user>span{display:none}.mobile-logout{display:grid}.page-content{padding:26px 18px 94px}.bottom-nav{position:fixed;z-index:35;inset:auto 0 0;height:72px;padding:5px max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #dfe6ef;background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -10px 35px #0c1c3214}.bottom-nav button{min-width:0;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:9px;color:#7b889b;background:transparent;cursor:pointer}.bottom-nav button.active{color:var(--blue);background:#edf3ff}.bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;font-weight:750}.bottom-more-menu{position:fixed;z-index:34;right:12px;bottom:78px;width:min(260px,calc(100vw - 24px));padding:8px;display:grid;gap:4px;border:1px solid #dce4ef;border-radius:16px;background:#fffffffa;box-shadow:0 20px 55px #07142633;animation:modal-in .18s ease both}.bottom-more-menu button{width:100%;padding:12px;display:flex;align-items:center;gap:11px;border:0;border-radius:10px;color:#4f6077;background:transparent;cursor:pointer;text-align:left;font-weight:750}.bottom-more-menu button.active{color:var(--blue);background:#edf3ff}.page-header{align-items:flex-start}.content-grid.two-one,.content-grid.one-two,.students-layout,.events-admin-layout{grid-template-columns:1fr}.student-list{max-height:320px}.event-admin-list{max-height:350px;overflow:auto}.inventory-grid,.belt-grid.admin,.event-grid,.material-grid,.material-admin-grid,.report-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-security{grid-template-columns:1fr}.settings-security .form-success{grid-column:1}.resilience-grid{grid-template-columns:1fr}}@media(max-width:580px){.login-art{min-height:245px}.login-copy .eyebrow,.login-copy p{display:none}.page-header{flex-direction:column;margin-bottom:21px}.page-header h1{font-size:2rem}.page-actions,.page-actions .button{width:100%}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:16px;border-radius:16px}.stat-value{font-size:1.45rem}.panel{padding:18px;border-radius:17px}.panel-heading{gap:10px}.panel-heading .button{min-height:36px;padding-inline:10px;font-size:.7rem}.event-grid,.material-grid,.material-admin-grid,.report-grid,.settings-grid,.inventory-grid,.belt-grid,.belt-grid.admin{grid-template-columns:1fr}.belt-display.compact{width:130px}.form-grid{grid-template-columns:1fr}.field,.field.full,.form-actions,.switch-field{grid-column:1}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.detail-stats{grid-template-columns:1fr;gap:10px}.detail-stats>div,.detail-stats>div:first-child{padding:0;border:0}.student-profile-head{align-items:flex-start;flex-wrap:wrap}.student-profile-head .status-pill{margin-left:102px;margin-top:-28px}.private-info-grid{grid-template-columns:1fr}.private-info-grid>div.full{grid-column:1}.private-record .panel-heading,.progress-admin .panel-heading{align-items:flex-start;flex-direction:column}.progress-admin .panel-heading .button{width:100%}.progress-admin-row{grid-template-columns:40px minmax(0,1fr)}.progress-admin-row .row-actions{grid-column:2}.access-box{align-items:flex-start;flex-direction:column}.data-row:has(>.row-actions){flex-wrap:wrap}.data-row>.row-actions{width:100%;justify-content:flex-end}.attendance-toolbar{align-items:stretch;flex-direction:column}.attendance-toolbar .field{min-width:0}.participant-list>div{grid-template-columns:38px minmax(0,1fr)}.participant-list select{grid-column:2}.participants-heading{align-items:flex-start;flex-direction:column}.event-summary div{padding:10px}.payment-panel{align-items:flex-start;flex-direction:column}.pin-change{align-items:stretch;flex-direction:column}.ranking-head,.ranking-row{grid-template-columns:44px 34px minmax(0,1fr) 38px;gap:7px}.ranking-panel{padding:8px 13px}.mobile-quick-links{display:grid;grid-template-columns:repeat(3,1fr);padding:8px}.mobile-quick-links button{padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;color:#53647b;background:transparent;font-size:.68rem;font-weight:750}.material-modal-preview{height:190px}.resilience-heading{align-items:stretch;flex-direction:column}.backup-create-form{grid-template-columns:1fr}.backup-create-form .button{width:100%}.backup-file-import{align-items:stretch;flex-direction:column}.backup-file-import .button{width:100%}.backup-row{grid-template-columns:1fr}.backup-actions{width:100%}.backup-actions .button{flex:1}.audit-row{grid-template-columns:32px minmax(0,1fr);align-items:start}.audit-row>time{grid-column:2}.modal-backdrop{padding:12px;align-items:end}.modal{max-height:calc(100vh - 24px);border-radius:22px 22px 12px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ink: #06080c;--muted: #626b78;--line: #aeb7c2;--surface: #ffffff;--surface-soft: #edf0f3;--navy: #05070a;--navy-2: #0c1726;--blue: #176bff;--blue-2: #0a4ed1;--cyan: #70a7ff;--green: #176bff;--yellow: #687486;--red: #111820;--shadow: none;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#dfe3e8}html,body{background:#dfe3e8}body{color:var(--ink)}h1,h2,h3,.stat-value,.streak-number,.stock-number{font-family:Impact,Haettenschweiler,Arial Narrow Bold,Arial Black,sans-serif;font-weight:900;letter-spacing:-.025em}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-loading{color:#fff;background:var(--navy);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.app-loading:after{content:"";width:84px;height:5px;background:var(--blue);animation:brutal-load 1.1s steps(4,end) infinite}.sync-banner{top:0;width:100%;padding:10px 16px;color:#fff;border:0;border-bottom:3px solid var(--blue);border-radius:0;background:#111820;box-shadow:none;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.login-page{grid-template-columns:minmax(560px,1.28fr) minmax(430px,.72fr);color:#fff;background:var(--navy)}.login-art{padding:clamp(34px,4.3vw,70px);border-right:7px solid var(--blue);background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),var(--navy);background-size:58px 58px}.login-art:before{width:clamp(220px,33vw,520px);aspect-ratio:1;left:auto;right:-14%;bottom:-28%;border:clamp(34px,5vw,72px) solid rgba(23,107,255,.18);border-radius:0;transform:rotate(18deg)}.login-art:after{width:14px;height:14px;top:clamp(34px,4.3vw,70px);right:clamp(34px,4.3vw,70px);border:0;border-radius:0;background:var(--blue);box-shadow:24px 0 #fff,48px 0 #596474}.login-brand-row{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:2px solid white}.login-brand-row>img{width:min(205px,34vw);height:62px;object-fit:contain;object-position:left center}.login-brand-row>div{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.62rem;letter-spacing:.16em}.login-brand-row b{color:#95a0ae}.login-copy{width:min(100%,900px);margin:auto 0 clamp(36px,8vh,90px)}.login-copy .eyebrow{width:fit-content;padding:8px 11px;color:#fff;background:var(--blue)}.login-copy h1{margin:24px 0 30px;max-width:900px;color:#fff;font-size:clamp(4.5rem,8.35vw,10rem);line-height:.77;letter-spacing:-.045em}.login-copy p{max-width:610px;margin:0;padding-left:18px;color:#c5cbd3;border-left:5px solid var(--blue);font-size:clamp(.9rem,1.2vw,1.08rem);line-height:1.5}.login-manifesto{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #657080;border-right:0}.login-manifesto span{padding:11px 8px;color:#aab2bd;border-right:1px solid #657080;font-size:.58rem;font-weight:850;letter-spacing:.12em;text-align:center}.login-glow{width:7px;height:20%;left:auto;right:0;background:var(--blue);box-shadow:none}.login-panel-wrap{padding:clamp(24px,4vw,58px);background:linear-gradient(rgba(6,8,12,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(6,8,12,.045) 1px,transparent 1px),#e9ecef;background-size:32px 32px}.login-card{width:min(100%,480px);padding:clamp(28px,4vw,50px);color:var(--ink);border:2px solid var(--ink);border-radius:0;background:#fff;box-shadow:12px 12px 0 var(--blue)}.login-card:before{content:"Z. / LOGIN";display:block;margin:-18px -18px 30px;padding-bottom:12px;color:#707986;border-bottom:1px solid var(--ink);font-size:.58rem;font-weight:850;letter-spacing:.16em;text-align:right}.login-icon{width:56px;height:56px;margin-bottom:24px;border:2px solid var(--ink);border-radius:0;background:var(--blue);box-shadow:5px 5px 0 var(--ink)}.login-card h2{margin:10px 0 8px;font-size:clamp(2.35rem,4vw,3.5rem);line-height:.92;text-transform:uppercase}.login-card>form>p{color:var(--muted);line-height:1.45}.login-field>span,.field>span{color:var(--ink);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase}.login-field>div,.field input,.field select,.field textarea{border:1.5px solid #717b88;border-radius:0;background:#f4f5f6}.login-field>div:focus-within,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:inset 5px 0 0 var(--blue);background:#fff}.field-icon-button{border-radius:0}.field-icon-button:hover{color:#fff;background:var(--ink)}.install-app,.demo-access{border-top-color:#9ca5b0}.demo-access button{border-color:var(--ink);border-radius:0;background:#fff}.demo-access button:hover{color:#fff;border-color:var(--ink);background:var(--ink)}.app-shell{grid-template-columns:258px minmax(0,1fr);background:#dfe3e8}.sidebar{padding:26px 16px 18px;color:#fff;border-right:6px solid var(--blue);background:var(--navy)}.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background:repeating-linear-gradient(0deg,transparent 0 27px,white 28px 29px)}.sidebar:after{inset:auto -48px 40px auto;width:100px;height:100px;border:16px solid rgba(23,107,255,.28);border-radius:0;transform:rotate(20deg)}.brand{position:relative;z-index:1;min-height:92px;padding:0 10px 20px;border-bottom:2px solid white}.brand img{width:153px;height:48px}.brand-meta{margin-top:9px;display:flex;justify-content:space-between;color:#7e8997;font-size:.51rem;letter-spacing:.14em}.brand-meta b{color:var(--blue)}.nav-caption{position:relative;z-index:1;margin:24px 10px 11px;color:#8793a2;font-size:.58rem;letter-spacing:.18em}.side-nav{position:relative;z-index:1;gap:4px}.side-nav button,.logout-button{min-height:44px;padding:8px 10px;gap:10px;border:1px solid transparent;border-radius:0;color:#aab3bf;font-size:.78rem;text-transform:uppercase}.side-nav button small{width:18px;color:#586474;font-family:Arial Narrow,Arial,sans-serif;font-size:.5rem;font-weight:900;letter-spacing:.04em}.side-nav button svg{width:16px}.side-nav button:hover{border-color:#4c5663;background:#11161d}.side-nav button.active{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:6px 6px #176bff33}.side-nav button.active small{color:#fff}.sidebar-footer{position:relative;z-index:1;margin:auto 10px 12px;padding:12px 0;display:flex;justify-content:space-between;border-block:1px solid #3c4653;color:#667180;font-size:.5rem;letter-spacing:.13em}.sidebar-footer b{color:#fff}.logout-button{position:relative;margin-top:0}.logout-button:hover{color:#fff;border-color:#4c5663;background:#11161d}.app-body{min-height:100vh;background:linear-gradient(rgba(6,8,12,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(6,8,12,.035) 1px,transparent 1px),#e5e8eb;background-size:42px 42px}.topbar{height:70px;padding:0 clamp(24px,3.2vw,48px);color:#fff;border-bottom:0;background:#05070afa;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--blue) 0 22%,#48515e 22% 23%,transparent 23%)}.topbar-brand{color:#fff;font-size:.63rem;letter-spacing:.17em}.topbar-mark{width:31px;height:31px;display:grid;place-items:center;color:#fff;background:var(--blue);font-family:Impact,Arial Black,sans-serif;font-size:1rem;letter-spacing:0}.system-status{margin-left:auto;margin-right:30px;display:flex;align-items:center;gap:7px;color:#8f9aa8;font-size:.55rem;font-weight:800;letter-spacing:.12em}.system-status svg{color:var(--blue)}.topbar-user>span{color:#fff}.topbar-user small{color:#7e8997}.mobile-logout{color:#fff;border-color:#46515e;background:#111820}.page-content{width:min(100%,1500px);padding:clamp(30px,3.7vw,56px)}.page-header{position:relative;margin-bottom:24px;padding:0 58px 24px 0;align-items:flex-end;border-bottom:3px solid var(--ink)}.page-header:after{content:"";position:absolute;left:0;bottom:-3px;width:min(220px,36%);height:7px;background:var(--blue)}.page-header-copy{min-width:0}.page-header h1{margin:8px 0 6px;font-size:clamp(3rem,5vw,5.4rem);line-height:.84;letter-spacing:-.035em;text-transform:uppercase}.page-header p{color:#596371;font-size:.85rem}.page-header-cross{position:absolute;top:-13px;right:4px;color:var(--blue);font-family:Arial,sans-serif;font-size:3.2rem;font-weight:200;line-height:1}.eyebrow,.section-kicker{color:var(--blue);font-size:.59rem;letter-spacing:.16em}.panel{position:relative;padding:clamp(18px,2vw,26px);border:1.5px solid var(--ink);border-radius:0;background:var(--surface);box-shadow:none}.panel h2{font-size:1.55rem;line-height:.95;text-transform:uppercase}.panel h3{letter-spacing:-.01em}.panel-heading{margin-bottom:18px;padding-bottom:13px;border-bottom:1px solid #9aa4b0}.button{min-height:43px;padding:0 16px;border:1.5px solid var(--ink);border-radius:0;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.button:hover{transform:translate(-2px,-2px)}.button.primary{color:#fff;border-color:var(--ink);background:var(--blue);box-shadow:4px 4px 0 var(--ink)}.button.primary:hover{box-shadow:7px 7px 0 var(--ink)}.button.secondary{color:var(--ink);border-color:var(--ink);background:#fff;box-shadow:3px 3px #aeb6c1}.button.secondary:hover{border-color:var(--ink);background:#edf0f3}.button.danger{color:#fff;border-color:var(--ink);background:var(--ink);box-shadow:4px 4px #707a87}.button.danger:hover{box-shadow:7px 7px #707a87}.button.danger-outline{color:var(--ink);border-color:var(--ink);background:#fff}.button.danger-outline:hover{border-color:var(--ink);background:#dfe3e8}.button.ghost{color:var(--muted);border-color:transparent;background:transparent}.text-button{color:var(--blue);font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.text-button:hover{color:var(--ink)}.icon-button{width:38px;height:38px;border:1.5px solid var(--ink);border-radius:0;background:#fff}.icon-button:hover,.icon-button.danger:hover{color:#fff;border-color:var(--ink);background:var(--ink)}.icon-button.danger{color:var(--ink)}.avatar{border:2px solid var(--ink);border-radius:0;background:var(--blue);box-shadow:3px 3px #5f6875}.status-pill{padding:5px 8px;border:1px solid currentColor;border-radius:0;font-size:.58rem;letter-spacing:.07em;text-transform:uppercase}.status-blue,.status-green{color:#0b55d7;background:#e7efff}.status-yellow,.status-gray{color:#47515e;background:#e8ebee}.status-red{color:#fff;background:var(--ink)}.stats-grid{gap:12px}.stat-card{min-height:154px;padding:19px;border-top:6px solid var(--ink)}.stat-card:after{right:12px;bottom:10px;width:28px;height:28px;border:1px solid #aab2bd;border-radius:0;background:transparent}.stat-card:before{content:"+";position:absolute;right:18px;bottom:7px;z-index:1;color:var(--blue);font-size:1.4rem;font-weight:300}.stat-top{color:#596371;font-size:.61rem;letter-spacing:.09em;text-transform:uppercase}.stat-top svg,.tone-blue .stat-top svg,.tone-green .stat-top svg,.tone-yellow .stat-top svg{color:var(--blue)}.stat-value{margin:20px 0 7px;font-size:clamp(2rem,3vw,3.2rem);line-height:.8}.stat-detail{font-size:.64rem}.content-grid{gap:12px}.data-row{border-top-color:#b9c0c9}.row-main strong{color:var(--ink)}.date-tile{color:#fff;border-radius:0;background:var(--blue)}.transaction-icon,.inventory-icon,.report-icon,.material-admin-icon,.event-type-icon,.material-icon,.progress-admin-icon,.audit-marker{color:#fff;border-radius:0;background:var(--blue);box-shadow:3px 3px 0 var(--ink)}.transaction-icon.expense,.progress-admin-icon.event,.progress-admin-icon.recognition,.progress-admin-icon.certificate{color:#fff;background:#4e5967}.positive{color:var(--blue)}.negative{color:var(--ink)}.empty-state{border-color:#798390;border-radius:0;background:#eef0f2}.belt-display{border:2px solid var(--ink);border-radius:0;box-shadow:7px 7px #0000004d}.belt-display.compact{border-radius:0;box-shadow:3px 3px #00000038}.belt-hero,.current-belt{color:#fff;border:1.5px solid var(--ink);background:var(--ink);box-shadow:8px 8px 0 var(--blue)}.belt-hero:after,.current-belt:after{content:"+";position:absolute;right:20px;bottom:10px;color:var(--blue);font-size:2.4rem}.belt-hero .section-kicker,.current-belt .section-kicker{color:#70a7ff}.progress-track{height:8px;border-radius:0;background:#c2c8d0}.belt-hero .progress-track{background:#2c3440}.progress-track i{border-radius:0;background:var(--blue);box-shadow:none}.belt-item{border-color:#9ca5b0;border-radius:0;background:#f1f2f4}.belt-item.current{border-color:var(--ink);box-shadow:inset 6px 0 var(--blue);background:#fff}.completed-icon{color:var(--blue)}.flame{color:var(--blue);filter:none}.material-preview,.material-modal-preview{border-radius:0;background:var(--ink)}.ranking-head{border-bottom-color:var(--ink)}.ranking-row{border-bottom-color:#b9c0c9}.ranking-row.is-own{margin-inline:-10px;border-radius:0;background:#e1e9f8;box-shadow:inset 6px 0 var(--blue)}.ranking-row:nth-of-type(2) .rank-number,.ranking-row:nth-of-type(3) .rank-number,.ranking-row:nth-of-type(4) .rank-number{color:var(--blue)}.timeline:before{width:3px;background:var(--ink)}.timeline-icon{color:#fff;border-color:var(--ink);border-radius:0;background:var(--blue);box-shadow:3px 3px 0 var(--ink)}.event-meta svg{color:var(--blue)}.payment-symbol,.payment-symbol.status-green,.payment-symbol.status-yellow{color:#fff;border-radius:0;background:var(--blue);box-shadow:6px 6px 0 var(--ink)}.info-banner{color:#17243a;border-left:6px solid var(--blue);background:#e7edf7}.info-banner p{color:#566477}.switch-field{border-color:#7f8995;border-radius:0}.task-list button{border-top-color:#aeb6c0}.task-list button:hover{background:#e9edf2}.task-list button>svg:first-child{color:#fff;border-radius:0;background:var(--blue);box-shadow:3px 3px 0 var(--ink)}.compact-ranking>div{border-top-color:#aeb6c0}.student-list-panel,.event-admin-list{padding:10px}.search-box{border-color:#7f8995;border-radius:0;background:#eff1f3}.student-list>button,.event-admin-list>button{border:1px solid transparent;border-radius:0}.student-list>button:hover,.event-admin-list>button:hover{border-color:#9ba4af;background:#eef0f2}.student-list>button.selected,.event-admin-list>button.selected{border-color:var(--ink);background:#e4ebf8;box-shadow:inset 6px 0 var(--blue)}.detail-stats{border-block-color:var(--ink)}.detail-stats>div{border-left-color:#8d97a3}.access-box,.credentials-box,.private-record,.progress-admin,.private-info-grid>div,.event-summary,.backup-create-form,.backup-file-import,.backup-file-summary{border-color:#818b98;border-radius:0;background:#eef0f2}.credentials-box{color:#153e80;border-left:6px solid var(--blue)}.private-info-grid>div{background:#fff}.segmented{border:1px solid #858f9b;border-radius:0;background:#dfe3e8}.segmented button{border-radius:0}.segmented button.active{color:#fff;background:var(--ink);box-shadow:none}.table-head{border-bottom-color:var(--ink)}.attendance-row{border-bottom-color:#aeb6c0}.attendance-row>button{border-color:#7f8995;border-radius:0}.attendance-row>button.active{border-color:var(--ink);background:var(--blue);box-shadow:2px 2px 0 var(--ink)}.tabs{gap:0;border-bottom:2px solid var(--ink)}.tabs button{border:0;border-right:1px solid #9ea7b2;border-radius:0;background:transparent}.tabs button.active{color:#fff;background:var(--ink)}.compact-select,.participant-list select{border-color:#7f8995;border-radius:0}.restore-warning{color:var(--ink);border-color:var(--ink);border-radius:0;background:#dfe3e8;box-shadow:inset 6px 0 #4e5967}.restore-warning p{color:#4f5966}.form-error,.form-success{border:1px solid currentColor;border-radius:0}.form-error{color:#fff;background:var(--ink)}.form-success{color:#0c50c7;background:#e4edff}.form-section-title{color:var(--blue-2);border-bottom-color:#818b98}.checkbox-grid{border-color:#7f8995;border-radius:0;background:#eef0f2}.modal-backdrop{background:#05070ad4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{border:2px solid var(--ink);border-radius:0;box-shadow:12px 12px 0 var(--blue)}.modal-header{padding-bottom:14px;border-bottom:2px solid var(--ink)}.modal-header h2{font-size:2rem;text-transform:uppercase}.play-circle{border:2px solid white;border-radius:0;background:var(--blue)}@keyframes brutal-load{0%{transform:scaleX(.16);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@media(max-width:1150px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-inline:12px}.side-nav button{gap:8px;font-size:.7rem}.login-page{grid-template-columns:minmax(480px,1.1fr) minmax(390px,.9fr)}.login-copy h1{font-size:clamp(4.5rem,8vw,7rem)}}@media(max-width:860px){.login-page{grid-template-columns:1fr;background:#e9ecef}.login-art{min-height:390px;padding:26px;border-right:0;border-bottom:7px solid var(--blue)}.login-brand-row>img{width:150px;height:45px}.login-copy{margin:auto 0 24px}.login-copy h1{margin:14px 0 18px;font-size:clamp(3.8rem,15vw,6.8rem)}.login-copy p{max-width:520px}.login-manifesto{display:none}.login-panel-wrap{padding:26px 20px 38px}.login-card{margin-top:-2px}.topbar{padding-inline:16px}.system-status{display:none}.page-content{padding:28px 18px 100px}.bottom-nav{height:76px;border-top:4px solid var(--blue);background:#05070afa;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.bottom-nav button{border-radius:0;color:#8c97a5}.bottom-nav button.active{color:#fff;background:var(--blue)}.bottom-more-menu{border:2px solid var(--ink);border-radius:0;box-shadow:8px 8px 0 var(--blue)}.bottom-more-menu button{border-radius:0}.bottom-more-menu button.active{color:#fff;background:var(--blue)}}@media(max-width:580px){.login-art{min-height:320px}.login-copy h1{font-size:clamp(3.25rem,16vw,5rem)}.login-copy .eyebrow{display:block}.login-copy p{display:none}.login-card{padding:28px 22px;box-shadow:8px 8px 0 var(--blue)}.page-header{padding-right:38px}.page-header h1{font-size:2.85rem}.page-header-cross{font-size:2.6rem}.page-actions{margin-top:4px}.stat-card{min-height:132px;padding:15px;border-radius:0}.stat-value{font-size:2rem}.panel{padding:17px;border-radius:0}.panel-heading .button{min-height:38px}.modal{border-radius:0;box-shadow:7px 7px 0 var(--blue)}}.attendance-count{margin:0 0 9px;display:flex;align-items:baseline;gap:5px;white-space:nowrap;text-align:left}.attendance-count strong{color:var(--ink);font-size:1rem}.attendance-table{width:100%}.table-head,.attendance-row{min-width:660px;grid-template-columns:42px minmax(180px,1fr) auto;gap:14px}.table-head span:first-child{grid-column:1 / 3}.table-head span:last-child{grid-column:3;min-width:244px;text-align:center}.attendance-row .row-main{min-width:0}.attendance-row .segmented{min-width:244px}.finance-period-bar{margin-bottom:18px;padding:14px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border:1.5px solid var(--ink);background:#fff}.finance-period-bar>div{display:flex;flex-direction:column;gap:5px}.finance-period-bar>div strong{font-size:1rem}.finance-period-bar .field{width:min(310px,100%)}.finance-period-bar .field>span{margin-bottom:5px}.finance-period-bar select{min-height:40px}.debtors-list{max-height:min(470px,55vh);overflow:auto;border-block:1px solid #9aa4b0}.debtor-row{padding:12px 2px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid #c0c7d0}.debtor-row:last-child{border-bottom:0}.debtors-list .empty-state{padding:34px 18px}.student-list>button{grid-template-columns:38px minmax(0,1fr);align-items:start}.student-list>button>.status-pill{grid-column:2;margin-top:2px}.student-list strong{overflow:visible;white-space:normal;overflow-wrap:anywhere}.event-admin-actions{flex:0 0 auto;display:flex;align-items:center;gap:7px}.event-admin-detail .panel-heading>div:first-child{min-width:0}.event-admin-detail .panel-heading h2,.event-admin-detail .panel-heading p{overflow-wrap:anywhere}@media(max-width:700px){.finance-period-bar{align-items:stretch;flex-direction:column}.finance-period-bar .field{width:100%}.event-admin-detail>.panel-heading{align-items:stretch;flex-direction:column}.event-admin-actions{width:100%}.event-admin-actions .compact-select{min-width:0;flex:1}}@media(max-width:580px){.attendance-table{overflow:visible}.table-head{display:none}.attendance-row{min-width:0;padding:14px 0;grid-template-columns:38px minmax(0,1fr);gap:10px}.attendance-row .segmented{width:100%;min-width:0;grid-column:1 / -1;display:flex}.attendance-row .segmented button{min-width:0;padding-inline:5px;flex:1}.attendance-count{align-self:flex-start;margin:0}.debtor-row{grid-template-columns:38px minmax(0,1fr)}.debtor-row .status-pill{grid-column:2}}
