@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#172337;--muted:#77849a;--subtle:#9aa5b5;--line:#e9edf3;--surface:#fff;--canvas:#f7f9fc;--blue:#3868e8;--blue-dark:#2857d1;--pale:#edf3ff;--green:#2b9e78;--green-pale:#eaf7f2;--orange:#d88b38;--orange-pale:#fff4e7;--purple:#876bd8;--purple-pale:#f2efff;--shadow:0 5px 22px rgba(24,45,81,.045)}*{box-sizing:border-box}body,html{padding:0;margin:0;min-height:100%;font-family:DM Sans,Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}.app{min-height:100vh;background:var(--canvas);--surface:#fff;--canvas:#f7f9fc;--ink:#172337;--muted:#77849a;--line:#e9edf3;color:var(--ink)}.app[data-dark=true],.kiosk[data-dark=true]{--surface:#182337;--canvas:#101a2b;--ink:#e7edf7;--muted:#a6b1c2;--line:#2c3b52;--pale:#22345a;--green-pale:#17382f;--orange-pale:#3d2e1e;--purple-pale:#2c2745;--shadow:0 5px 25px rgba(0,0,0,.16)}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:25px 15px 16px;z-index:4}.brand-wrap{padding:0 12px 25px}.brand{display:flex;align-items:center;gap:9px;font-family:Manrope,sans-serif;font-weight:800;font-size:21px;letter-spacing:-1px;color:var(--ink)}.brand>span>span{color:var(--blue)}.brand-logo{width:30px;height:30px;background:var(--blue);border-radius:9px;color:white;display:grid;place-items:center;position:relative}.brand-logo span{position:absolute;width:5px;height:5px;border-radius:50%;background:#94f0d5;right:3px;top:4px}.school-switch{display:flex;align-items:center;gap:10px;padding:10px;background:var(--canvas);border:1px solid var(--line);border-radius:10px;margin-bottom:27px}.school-switch>div:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1 1}.school-switch b{font-size:12px}.school-switch small,.user-mini small{font-size:10px;color:var(--muted)}.school-switch>svg{color:var(--muted)}.school-mark{height:31px;width:31px;background:#e8efff;color:var(--blue);border-radius:8px;display:grid;place-items:center;font-family:Manrope;font-weight:800}.eyebrow,.nav-label{font-size:9px;letter-spacing:1.1px;font-weight:700;color:var(--muted)}.nav-label{padding:0 12px 9px}.sidebar nav{display:grid;grid-gap:4px;gap:4px}.nav-item{background:transparent;border:0;border-radius:8px;height:40px;padding:0 12px;display:flex;align-items:center;gap:11px;text-align:left;color:#65738a;font-weight:600;font-size:12px}.nav-item.selected,.nav-item:hover{color:var(--blue);background:var(--pale)}.nav-item svg{stroke-width:1.8}.sidebar-spacer{flex:1 1}.sidebar-note{padding:15px 13px;background:linear-gradient(145deg,#eef3ff,#f5f4ff);border:1px solid #e4eaff;border-radius:11px;margin:0 2px 15px}.app[data-dark=true] .sidebar-note{background:#202d49;border-color:#314264}.note-icon{height:27px;width:27px;display:grid;place-items:center;background:white;color:var(--blue);border-radius:8px;margin-bottom:10px}.sidebar-note>b{font-size:12px}.sidebar-note p{font-size:10px;line-height:1.6;color:#71809a;margin:5px 0 10px}.sidebar-note button,.text-button{padding:0;border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:6px}.user-mini{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:15px 6px 0}.user-mini>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1 1}.user-mini b{font-size:11px}.user-mini>svg{color:var(--muted)}.avatar,.top-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#3866bb;background:#e9f0ff;font-size:10px;font-weight:700;flex-shrink:0}.main-column{margin-left:244px;min-height:100vh}.topbar{height:64px;position:-webkit-sticky;position:sticky;z-index:3;top:0;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;padding:0 35px}.crumb,.topbar{display:flex;align-items:center}.crumb{gap:10px;color:#9aa4b3;font-size:11px}.crumb b{color:var(--ink);font-weight:600}.top-actions{display:flex;align-items:center;gap:15px}.demo-pill,.status-badge{display:inline-flex;align-items:center;gap:7px;font-size:8px;font-weight:700;letter-spacing:.6px;color:#50617d;background:#f2f5f9;padding:7px 9px;border-radius:20px}.live-dot,.today-dot{width:6px;height:6px;border-radius:50%;background:#46ba8c;display:inline-block;box-shadow:0 0 0 3px #e3f5ee}.today-dot{margin:0 4px 1px}.role-control{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.role-control select{border:0;outline:0;background:transparent;color:var(--ink);font-size:11px;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.icon-button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:grid;place-items:center}.icon-button:hover{color:var(--blue);border-color:#cbd8f8}.top-avatar{width:30px;height:30px;background:#e9e6ff;color:#7765bd}.content{max-width:1300px;margin:auto;padding:34px 39px 20px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 25px}.welcome-row h1{font-family:Manrope,sans-serif;font-weight:700;font-size:27px;letter-spacing:-1px;margin:8px 0 4px}.wave{color:#e6ae47;font-size:20px}.subtitle{font-size:12px;color:var(--muted);margin:0}.student-select{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 10px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.student-select select{border:0;outline:0;background:transparent;color:var(--ink);font-size:11px;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none}.student-grid{display:grid;grid-template-columns:1.06fr .94fr;grid-gap:17px;gap:17px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:20px}.allowance-card{min-height:270px;background:linear-gradient(120deg,#fff 63%,#f4f7ff);position:relative;overflow:hidden}.app[data-dark=true] .allowance-card{background:linear-gradient(120deg,#182337 63%,#1d2b47)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-header h2,.modal-heading h2{font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.4px;margin:6px 0 0;font-weight:700}.circle-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:9px;background:var(--pale);color:var(--blue)}.allowance-content{display:flex;align-items:center;gap:25px;padding:18px 6px 13px}.ring{--progress:100%;height:126px;width:126px;border-radius:50%;background:conic-gradient(var(--blue) var(--progress),#e9edf5 0);display:grid;place-items:center;flex-shrink:0;position:relative}.ring:before{content:"";position:absolute;inset:9px;background:var(--surface);border-radius:50%}.ring>div{position:relative;display:flex;align-items:center;flex-direction:column;gap:1px}.ring strong{font-family:Manrope;font-size:32px;letter-spacing:-2px}.ring span{font-size:10px;color:var(--muted)}.allowance-copy{flex:1 1}.time-big{font-family:Manrope;font-weight:700;font-size:26px;letter-spacing:-1.2px}.time-big span{font-size:12px;color:var(--muted);font-family:DM Sans;font-weight:500;letter-spacing:0}.allowance-copy>p{font-size:10px;color:var(--muted);margin:0 0 13px}.progress-track,.timer-track{height:5px;border-radius:5px;background:#e9edf5;overflow:hidden}.progress-track span,.timer-track span{height:100%;border-radius:5px;display:block;background:var(--blue);transition:width .4s}.meter-labels{justify-content:space-between;margin-top:6px;color:var(--muted)}.flex-note,.meter-labels{display:flex;font-size:9px}.flex-note{margin-top:14px;color:#667792;align-items:center;gap:6px}.mini-check{height:16px;width:16px;border-radius:50%;background:var(--green-pale);color:var(--green);display:grid;place-items:center}.allowance-bottom{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:11px 20px;font-size:10px;color:var(--muted)}.allowance-bottom>span{display:flex;align-items:center;gap:7px}.link-button{border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:4px}.active-card{min-height:270px;display:flex;flex-direction:column}.status-active{background:#eaf7f1;color:#358a6a}.status-home{background:#eff2f7;color:#69778e}.active-destination{display:flex;align-items:center;gap:12px;margin:25px 0 15px}.destination-icon{height:39px;width:39px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);border-radius:11px;flex-shrink:0}.active-destination>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.active-destination strong{font-size:15px}.active-destination span,.timer-line>div:first-child{font-size:10px;color:var(--muted)}.timer-line>div:first-child{display:flex;align-items:center;gap:7px;margin-bottom:9px}.timer-line>div:first-child b{font-family:Manrope;font-size:15px;color:var(--ink)}.timer-line{margin-bottom:15px}.end-button{height:38px;border:1px solid #d5e2dd;background:#f4fbf8;color:#27825f;border-radius:8px;font-size:11px;font-weight:700;display:flex;justify-content:center;align-items:center;gap:7px}.home-state{display:grid;justify-items:center;text-align:center;flex:1 1;align-content:center}.home-illustration{position:relative;width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#eff4ff;color:var(--blue);margin-bottom:9px}.home-illustration span{position:absolute;right:-6px;top:-4px;color:#e6b244}.home-state p{font-size:12px;font-weight:700;margin:0 0 4px}.home-state>span{font-size:9px;color:var(--muted)}.primary-button,.secondary-button{border:0;min-height:37px;padding:0 13px;border-radius:8px;background:var(--blue);color:white;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,background .15s}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.primary-button.full{width:100%;min-height:39px}.active-card .primary-button{margin-top:10px}.secondary-button{background:var(--surface);border:1px solid var(--line);color:#56657d}.secondary-button:hover{border-color:#bfcef2;color:var(--blue)}.destination-card,.history-card{min-height:190px}.tiny-muted{font-size:9px;color:var(--muted);padding-top:4px}.destination-list{margin-top:15px}.destination-list>button{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;border-top:1px solid var(--line);padding:9px 2px;text-align:left;color:var(--ink)}.destination-list>button:hover:not(:disabled){background:var(--canvas)}.destination-icon.small{height:30px;width:30px;border-radius:8px}.destination-list b{font-size:10px;flex:1 1}.destination-limit{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.empty-history,.history-card .card-header{align-items:center}.empty-history{display:flex;gap:11px;padding:24px 4px}.empty-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--canvas);color:#92a0b4}.empty-history>div:last-child{display:flex;flex-direction:column;gap:4px}.empty-history b{font-size:11px}.empty-history span{font-size:9px;color:var(--muted)}.student-tip{display:flex;align-items:center;gap:8px;margin-top:15px;padding:12px 14px;background:#f0f5ff;border:1px solid #e6edfc;border-radius:9px;font-size:9px;color:#63728a}.app[data-dark=true] .student-tip{background:#202e4b;border-color:#2c3d62}.student-tip>span:first-child{font-size:14px;color:#dfaa48}.student-tip b{font-size:10px;color:var(--ink)}.student-tip button{margin-left:auto;white-space:nowrap;border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:700;display:flex;gap:5px;align-items:center}.footer{padding:24px 0 4px;text-align:center;font-size:9px;color:#9aa4b3}.footer span{padding:0 4px}.modal-scrim{position:fixed;inset:0;background:rgba(20,32,52,.43);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:10;padding:20px;animation:fadein .15s}.modal{position:relative;width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:0 20px 70px rgba(13,26,47,.22);animation:rise .2s}.modal-wide{width:min(600px,100%)}.modal-close{position:absolute;right:16px;top:16px;background:transparent;border:0;color:var(--muted);padding:5px}.modal-heading{margin-bottom:20px;padding-right:20px}.modal-heading h2{font-size:19px;margin-top:8px}.modal-heading p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0 0}.modal-destinations{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:15px}.modal-destinations button{position:relative;display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);background:var(--surface);border-radius:9px;color:var(--ink);text-align:left}.modal-destinations button.chosen{border-color:#8ea9f5;background:var(--pale)}.modal-destinations .destination-icon{height:29px;width:29px}.modal-destinations b{font-size:10px;flex:1 1}.modal-destinations small{color:var(--muted);font-size:8px}.modal-destinations button>svg{color:var(--blue)}.modal-summary{background:var(--canvas);border-radius:8px;padding:11px;font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px;margin:12px 0}.modal-summary svg{color:var(--blue)}.modal-summary span{color:#bbc2cc}.history-list{margin-top:10px}.pass-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.pass-info{display:flex;flex-direction:column;gap:4px;flex:1 1}.pass-info b{font-size:10px}.pass-info span{font-size:9px;color:var(--muted)}.pass-badge{font-size:8px;font-weight:700;padding:5px 8px;border-radius:20px;white-space:nowrap}.pass-going{background:#edf3ff;color:#4770cf}.pass-review{background:#fff1e4;color:#c27a25}.pass-done{background:#edf7f2;color:#438a6d}.mini-action{padding:6px 9px;border:1px solid var(--line);background:var(--surface);border-radius:6px;color:#596b85;font-size:9px;font-weight:700;white-space:nowrap}.mini-action:hover{color:var(--blue);border-color:#bdcdf1}.review-action{color:#bd782b;background:#fff8ef;border-color:#f5e6d1}.field-label{font-size:10px;font-weight:700;color:var(--ink);display:grid;grid-gap:7px;gap:7px;margin:13px 0}.field-label select,.field-label textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);color:var(--ink);outline:none;font-size:11px}.field-label select:focus,.field-label textarea:focus{border-color:#8da8ef}.number-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:160px}.number-input button{width:37px;height:35px;border:0;background:var(--canvas);color:var(--blue);font-size:18px}.number-input input{width:58px;border:0;outline:0;text-align:center;color:var(--ink);background:transparent;font-weight:700}.number-input span{font-weight:400;color:var(--muted)}.review-warning{display:flex;gap:10px;align-items:flex-start;padding:11px;background:var(--orange-pale);color:#9e6b2d;border-radius:8px;font-size:10px;line-height:1.55;margin-bottom:15px}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);z-index:20;background:#1e2d43;color:#fff;padding:11px 16px;border-radius:9px;box-shadow:0 8px 25px #16223c33;font-size:11px;display:flex;align-items:center;gap:8px;animation:rise .2s}.toast svg{color:#72d0a8}.loading{height:100vh;display:grid;place-items:center;color:var(--muted);font-size:13px}.admin-page,.presentation-page,.teacher-page{padding:0}.admin-page .welcome-row,.teacher-page .welcome-row{margin-bottom:22px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.metric-card{padding:15px 17px;min-height:120px}.metric-icon{height:31px;width:31px;display:grid;place-items:center;border-radius:9px;margin-bottom:7px}.metric-icon.blue{color:#4770d6;background:#edf3ff}.metric-icon.orange{color:#d38b3b;background:#fff3e5}.metric-icon.purple{color:#856cc9;background:#f2efff}.metric-icon.green{color:#399371;background:#eaf7f1}.metric-value{position:absolute;margin:-37px 0 0 44px;font:700 23px Manrope;letter-spacing:-1px}.metric-card>b{display:block;font-size:10px}.metric-card>span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.teacher-columns{display:grid;grid-template-columns:1.35fr .85fr;grid-gap:14px;gap:14px;margin-bottom:15px}.review-card,.roster-card{min-height:220px}.live-pass-list{margin-top:12px}.live-pass{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.live-person{display:flex;flex-direction:column;gap:4px;flex:1 1}.live-person b,.review-item b{font-size:10px}.live-person span,.review-item span{font-size:9px;color:var(--muted)}.countdown{font-family:Manrope;font-weight:700;font-size:12px;color:#4e6b9e;min-width:52px}.overdue-text{color:#c47931;font-size:9px}.overdue-row .avatar{background:#fff0e2;color:#bd762d}.empty-panel{text-align:center;padding:30px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:6px}.empty-panel .empty-icon{margin-bottom:2px}.empty-panel>b{font-size:11px}.empty-panel p{font-size:9px;color:var(--muted);margin:0;max-width:230px;line-height:1.6}.empty-panel.compact{padding-top:26px}.count-pill{background:var(--orange-pale);color:#bd792d;border-radius:15px;padding:5px 8px;font-size:9px;font-weight:700}.review-item{display:flex;align-items:center;gap:9px;padding:11px 0;border-top:1px solid var(--line)}.review-item>div:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1 1}.review-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--orange-pale);color:#c58235}.classroom-card,.history-table{margin-bottom:15px;padding-bottom:14px}.search-field{height:30px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:7px;padding:0 8px;color:var(--muted)}.search-field input{width:115px;border:0;outline:0;background:transparent;color:var(--ink);font-size:9px}.table-wrap{overflow:auto;margin-top:14px}table{border-collapse:collapse;width:100%;min-width:650px}th{text-align:left;color:#98a3b2;font-size:8px;letter-spacing:.7px;font-weight:700;padding:9px 8px}td,th{border-bottom:1px solid var(--line)}td{font-size:10px;padding:10px 8px;color:#67758b}td>b{color:var(--ink)}.table-student{display:flex;align-items:center;gap:8px}.table-student>div:last-child{display:flex;flex-direction:column;gap:3px}.table-student b{font-size:10px;color:var(--ink)}.table-student span{font-size:8px;color:var(--muted)}.table-action{border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:700}.tabs{display:flex;gap:3px;background:var(--canvas);padding:3px;border-radius:7px}.tabs button{border:0;background:transparent;color:var(--muted);font-size:9px;padding:5px 8px;border-radius:5px}.tabs button.active-tab{background:var(--surface);color:var(--blue);box-shadow:0 1px 4px #17233712}.history-table-row{display:grid;grid-template-columns:30px 1fr 90px 55px 95px 50px;align-items:center;grid-gap:10px;gap:10px;padding:9px 2px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.history-table-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.history-table-row b{color:var(--ink);font-size:10px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.settings-card{padding:19px}.settings-card>p{font-size:10px;color:var(--muted);line-height:1.55;margin:9px 0 14px}.settings-card .card-header h2{font-size:15px}.stepper{display:flex;align-items:center;justify-content:center;gap:24px;margin:16px 0 12px}.stepper button{width:30px;height:30px;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:var(--blue);font-size:17px}.stepper strong{font:700 25px Manrope;letter-spacing:-1px}.stepper strong span{font:500 10px DM Sans;letter-spacing:0;color:var(--muted)}.preset-row{display:flex;justify-content:center;gap:7px}.preset-row button{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:5px 10px;font-size:9px;color:var(--muted)}.preset-row button.preset-on{background:var(--pale);color:var(--blue);border-color:#c8d6f8}.setting-row,.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.setting-row>div:first-child,.toggle-row>div:first-child{display:flex;flex-direction:column;gap:4px}.setting-row b,.toggle-row b{font-size:10px}.setting-row span,.toggle-row span{font-size:9px;color:var(--muted)}.inline-number{display:flex;align-items:center;gap:6px}.inline-number input{width:48px;padding:6px 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);text-align:center;font-size:10px}.toggle{width:34px;height:19px;padding:2px;border:0;border-radius:12px;background:#d9e0e9;transition:background .2s}.toggle>span{display:block;width:15px;height:15px;border-radius:50%;background:white;transition:transform .2s}.toggle.toggle-on{background:var(--blue)}.toggle.toggle-on>span{transform:translateX(15px)}.speed-setting select{padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:9px}.speed-caption{background:var(--pale);color:#6177a4;border-radius:6px;padding:8px;font-size:8px;display:flex;gap:6px;margin-top:6px}.destinations-settings .card-header,.speed-caption{align-items:center}.destinations-settings .card-header>.link-button{font-size:9px}.dest-setting{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:8px 0}.dest-setting b{flex:1 1;font-size:10px}.dest-setting input{width:45px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;padding:5px;text-align:center;font-size:9px}.dest-setting>span:nth-last-child(2){font-size:9px;color:var(--muted)}.remove-dest{border:0;background:transparent;color:#aab3c0;padding:4px}.remove-dest:hover{color:#d16a69}.add-destination{display:flex;gap:7px;padding-top:8px}.add-destination input{min-width:0;width:100%;border:1px solid var(--line);border-radius:6px;padding:7px;background:var(--surface);color:var(--ink);font-size:9px}.add-destination input[type=number]{width:50px}.roster-preview{display:flex;flex-wrap:wrap;gap:7px}.roster-preview>span{display:flex;align-items:center;gap:6px;background:var(--canvas);border-radius:20px;padding:4px 8px 4px 4px;font-size:8px;color:var(--muted)}.mini-avatar{width:22px;height:22px;font-size:8px}.teacher-preview{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.teacher-preview b{font-size:9px}.teacher-preview span{font-size:9px;color:var(--muted)}.activity-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:22px 0 17px}.activity-stats>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line)}.activity-stats>div:last-child{border:0}.activity-stats strong{font:700 23px Manrope}.activity-stats span{font-size:8px;color:var(--muted)}.activity-bar{height:5px;background:var(--canvas);border-radius:5px;overflow:hidden}.activity-bar span{height:100%;display:block;background:linear-gradient(90deg,#4d80ef,#72bbd2);border-radius:5px;transition:width .3s}.activity-hint{font-size:8px;color:var(--muted);margin-top:8px}.admin-bottom{border-top:1px solid var(--line);margin-top:18px;padding:15px 2px;display:flex;align-items:center;justify-content:space-between}.admin-bottom h3{font-size:10px;margin:0 0 4px}.admin-bottom p{font-size:9px;color:var(--muted);margin:0}.danger-button{color:#b6665c}.danger-button:hover{border-color:#eac8c2;color:#b34f42}.import-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.import-box{text-align:center;padding:34px 24px}.upload-icon{width:48px;height:48px;margin:auto;display:grid;place-items:center;border-radius:14px;background:var(--pale);color:var(--blue)}.import-box h2{font:700 17px Manrope;margin:14px 0 7px}.format-box>p,.import-box>p{font-size:10px;color:var(--muted);line-height:1.7}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:white;border-radius:8px;padding:10px 14px;margin:10px 0 8px;font-size:10px;font-weight:700;cursor:pointer}.upload-button input{display:none}.sample-link{display:flex;margin:0 auto}.import-note{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--canvas);padding:10px;margin-top:17px;border-radius:7px;font-size:8px;color:var(--muted)}.format-box h3{font:700 14px Manrope;margin:8px 0}.format-box code{background:var(--canvas);padding:2px 4px;border-radius:4px;font-size:9px}.format-example{background:#182439;color:#c6d4ea;border-radius:8px;padding:14px;font:10px/1.8 monospace;margin-top:18px}.preview-box{margin-top:14px}.preview-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:16px 0}.preview-stats>div{display:flex;flex-direction:column;align-items:center;gap:5px;border-right:1px solid var(--line)}.preview-stats>div:last-child{border:0}.preview-stats strong{font:700 20px Manrope}.preview-stats span{font-size:9px;color:var(--muted)}.back-arrow{transform:rotate(180deg)}.presentation-page{padding-top:3px}.presentation-hero{min-height:290px;border-radius:15px;background:linear-gradient(115deg,#eaf0ff,#f2f4ff 60%,#f1efff);border:1px solid #e4eaff;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;position:relative}.app[data-dark=true] .presentation-hero{background:linear-gradient(115deg,#202e49,#262a4c);border-color:#303f61}.presentation-copy{padding:31px 0 30px 33px;z-index:1}.presentation-copy>.eyebrow{display:flex;align-items:center;gap:8px;color:#65799f}.presentation-copy h1{font:800 35px/1.15 Manrope;letter-spacing:-1.7px;margin:17px 0 10px}.presentation-copy h1 span{color:var(--blue)}.presentation-copy>p{font-size:11px;color:#667691;line-height:1.7;max-width:370px}.presentation-actions{display:flex;gap:8px;margin-top:21px;flex-wrap:wrap}.presentation-actions .secondary-button{background:rgba(255,255,255,.68)}.presentation-art{position:relative;display:grid;place-items:center;min-height:290px}.art-orbit{position:absolute;border:1px solid #d2dcf4;border-radius:50%;width:250px;height:250px}.orbit-two{width:190px;height:190px;border-style:dashed;opacity:.7}.art-center{width:130px;height:130px;border-radius:50%;background:white;box-shadow:0 10px 36px #4568b526;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--blue);gap:2px;z-index:1}.art-center strong{font:800 30px Manrope;line-height:1}.art-center span{font-size:7px;letter-spacing:1px;color:var(--muted);font-weight:700}.float-card{position:absolute;background:white;box-shadow:0 9px 24px #3a54821c;border:1px solid #edf0f6;border-radius:10px;padding:9px;display:flex;align-items:center;gap:8px;z-index:2}.float-card>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.float-card b{font-size:9px;color:#22324c}.float-card span{font-size:8px;color:#8290a4}.float-student{top:48px;right:10px}.float-pass{bottom:41px;left:5px}.float-dot{width:6px;height:6px;border-radius:50%;background:#48bd91}.art-star{position:absolute;color:#e5b54b;font-size:20px;right:35px;bottom:55px}.concept-strip{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:11px;margin:14px 0 29px;padding:15px 20px;box-shadow:var(--shadow)}.concept-strip>div:not(.concept-number){display:flex;flex-direction:column;gap:5px;flex:1 1}.concept-strip b{font-size:10px}.concept-strip span{font-size:9px;color:var(--muted)}.concept-strip>svg{color:#9aa8bc}.concept-highlight{padding-left:17px;border-left:1px solid var(--line)}.concept-highlight b{color:var(--blue)}.concept-number{min-width:90px;text-align:center;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.concept-number strong{font:700 23px Manrope;color:var(--blue)}.walkthrough-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.walkthrough-heading h2{font:700 18px Manrope;margin:7px 0 0;letter-spacing:-.5px}.walkthrough-heading>span{font-size:9px;color:var(--muted)}.walkthrough-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.walkthrough-card{display:flex;align-items:flex-start;gap:12px;padding:13px;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-align:left;color:var(--ink);box-shadow:var(--shadow)}.walkthrough-card:hover{border-color:#c8d6f8;transform:translateY(-1px)}.walk-number{font:700 10px Manrope;color:#8da5e0;background:var(--pale);border-radius:6px;padding:6px}.walkthrough-card>div{flex:1 1}.walkthrough-card h3{font:700 11px Manrope;margin:2px 0 5px}.walkthrough-card p{font-size:9px;line-height:1.5;color:var(--muted);margin:0}.walkthrough-card>svg{color:#8c9bb1;margin-top:3px}.presentation-footer{display:flex;align-items:center;gap:8px;padding:15px 0;border-top:1px solid var(--line);margin-top:20px}.presentation-footer>div{display:flex;flex-direction:column;gap:4px;flex:1 1}.presentation-footer b{font-size:10px}.presentation-footer span{font-size:8px;color:var(--muted)}.kiosk{min-height:100vh;background:#f4f7fc;color:#1a2940;display:flex;flex-direction:column;--blue:#3868e8}.kiosk-top{height:66px;padding:0 5vw;display:flex;align-items:center;background:white;border-bottom:1px solid #e9edf3;gap:20px}.kiosk-top .brand{margin-right:auto}.fictional{font-size:9px;letter-spacing:.8px;font-weight:700;color:#73829a;display:flex;align-items:center;gap:8px}.kiosk-body{width:min(800px,calc(100% - 36px));margin:0 auto;flex:1 1;padding:50px 0 30px}.kiosk-heading{text-align:center}.kiosk-heading h1{font:700 30px Manrope;letter-spacing:-1px;margin:9px 0}.kiosk-heading p{color:#77859a;font-size:12px;margin:0}.kiosk-search{height:48px;max-width:470px;margin:25px auto 22px;display:flex;align-items:center;gap:11px;padding:0 14px;background:white;border:1px solid #e2e8f0;border-radius:10px;color:#8997aa;box-shadow:0 4px 15px #23385409}.kiosk-search input{border:0;outline:0;background:transparent;flex:1 1;color:#26364f;font-size:12px}.kiosk-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:11px;gap:11px}.student-tile{min-height:112px;display:grid;grid-template-columns:42px 1fr 18px;grid-template-rows:1fr 1fr;align-items:center;text-align:left;grid-column-gap:11px;column-gap:11px;padding:15px;background:white;border:1px solid #e5eaf2;border-radius:11px;box-shadow:0 4px 14px #273b5707;color:#23324a;transition:transform .15s,border-color .15s}.student-tile:hover{transform:translateY(-2px);border-color:#afc1f3}.avatar.large{width:42px;height:42px;grid-row:span 2;font-size:12px}.student-tile strong{align-self:flex-end;font-size:11px}.student-tile>span{align-self:start;font-size:9px;color:#8b97a8;margin-top:3px}.student-tile>svg{grid-column:3;grid-row:1/3;color:#9ba9bd}.kiosk-foot{display:flex;justify-content:space-between;align-items:center;margin-top:25px;color:#8492a5;font-size:9px}.credit{text-align:center;color:#9aa6b6;font-size:9px;padding:0 15px 18px}.kiosk-student{max-width:420px;margin:0 auto;background:white;border:1px solid #e6ebf2;border-radius:14px;padding:20px;box-shadow:0 8px 30px #23385412}.kiosk-student>.text-button{font-size:10px}.kiosk-profile{text-align:center;padding:13px 0 18px}.avatar.jumbo{height:62px;width:62px;margin:auto;font-size:16px}.kiosk-profile h2{font:700 21px Manrope;margin:10px 0 4px}.kiosk-profile p{font-size:10px;color:#77859a;margin:0}.kiosk-start{border-top:1px solid #edf0f4;padding-top:10px}.kiosk-start .field-label{font-size:11px}.kiosk-active{text-align:center;background:#f6f8fc;border-radius:10px;padding:17px}.kiosk-active h3{font:700 18px Manrope;margin:13px 0 4px}.kiosk-active p{font-size:11px;color:#71819a;margin:0 0 16px}.kiosk-active .status-badge{display:inline-flex}.kiosk-small{text-align:center;color:#8b98a9;font-size:9px;margin:15px 0 0}.kiosk[data-dark=true]{background:#101a2b;color:#e7edf7}.kiosk[data-dark=true] .kiosk-search,.kiosk[data-dark=true] .kiosk-student,.kiosk[data-dark=true] .kiosk-top,.kiosk[data-dark=true] .student-tile{background:#182337;color:#e7edf7;border-color:#2c3b52}.kiosk[data-dark=true] .kiosk-search input{color:#e7edf7}.kiosk[data-dark=true] .kiosk-active{background:#101a2b}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.sidebar{width:210px}.main-column{margin-left:210px}.content{padding:28px 25px}.topbar{padding:0 25px}.student-grid{gap:12px}.allowance-content{gap:14px}.ring{width:108px;height:108px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{width:62px;padding:18px 8px}.brand-wrap{padding:0 7px 23px}.brand>span,.nav-item.selected,.nav-item:not(.selected),.nav-label{font-size:0}.school-switch>div:nth-child(2),.school-switch>svg{display:none}.brand-logo{width:31px;height:31px}.school-switch{padding:6px;justify-content:center}.nav-item{width:44px;padding:0;justify-content:center;font-size:0}.sidebar-note{display:none}.user-mini{justify-content:center;padding:12px 0 0}.user-mini>div:nth-child(2),.user-mini>svg{display:none}.main-column{margin-left:62px}.topbar{height:56px;padding:0 13px}.crumb{font-size:9px;gap:6px}.top-actions{gap:7px}.demo-pill{font-size:0;padding:8px}.role-control{padding:5px}.role-control select{width:63px;font-size:9px}.top-avatar{display:none}.content{padding:24px 15px 15px}.welcome-row h1{font-size:22px}.student-select{padding:7px;gap:4px}.student-select>span{display:none}.student-grid{grid-template-columns:1fr}.active-card,.allowance-card{min-height:240px}.destination-card,.history-card{min-height:unset}.admin-grid,.import-layout,.teacher-columns{grid-template-columns:1fr}.admin-page .welcome-row,.teacher-page .welcome-row{align-items:flex-start}.admin-page .welcome-row .secondary-button,.teacher-page .welcome-row .primary-button{font-size:0;padding:0 10px;min-width:38px}.metric-grid{gap:8px}.metric-card{min-height:109px;padding:12px}.history-table-row{grid-template-columns:30px 1fr 62px 45px}.history-table-row>span:nth-of-type(2),.history-table-row>span:nth-of-type(3){display:none}.presentation-hero,.walkthrough-grid{grid-template-columns:1fr}.presentation-hero{min-height:unset}.presentation-copy{padding:25px 23px 5px}.presentation-copy h1{font-size:29px}.presentation-art{min-height:210px}.art-orbit{width:190px;height:190px}.orbit-two{width:145px;height:145px}.art-center{height:105px;width:105px}.float-student{right:8%}.float-pass{left:8%}.concept-strip{gap:8px;padding:12px;flex-wrap:wrap}.concept-strip>div:not(.concept-number){min-width:37%}.concept-number{margin-left:auto}.walkthrough-heading{align-items:flex-start;gap:8px;flex-direction:column}.presentation-footer{flex-wrap:wrap}.presentation-footer>div{flex-basis:100%;margin-bottom:5px}.kiosk-grid{grid-template-columns:1fr 1fr}.kiosk-body{padding-top:35px}.kiosk-heading h1{font-size:25px}.fictional{font-size:0}.kiosk-foot{gap:10px}.admin-bottom{align-items:flex-start;gap:10px}.admin-bottom .secondary-button{font-size:9px}}@media(max-width:430px){.student-select{max-width:145px}.student-select select{width:92px;font-size:9px}.allowance-content{gap:12px;padding-left:0;padding-right:0}.ring{width:94px;height:94px}.ring strong{font-size:26px}.allowance-bottom{padding:10px 13px}.allowance-bottom>span{font-size:8px}.student-tip{align-items:flex-start;flex-wrap:wrap}.student-tip>span:nth-of-type(2){flex:1 1;line-height:1.5}.student-tip button{margin-left:24px}.kiosk-grid{grid-template-columns:1fr}.student-tile{min-height:85px}.demo-pill{display:none}.modal{padding:21px}.presentation-actions .secondary-button{font-size:9px}.concept-strip>div:not(.concept-number){min-width:31%}.concept-strip span{font-size:8px}}.simple-presentation{max-width:760px;margin:10px auto;padding:18px 0}.simple-intro{margin-bottom:20px}.simple-intro h1{font:700 28px Manrope,sans-serif;margin:8px 0}.simple-intro p{color:var(--muted);font-size:12px;line-height:1.6;max-width:540px}.simple-card h2{font:700 16px Manrope,sans-serif;margin:0 0 14px}.simple-link-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.simple-link-grid .secondary-button{justify-content:space-between}.simple-actions{display:flex;align-items:center;gap:18px;margin-top:16px}.simple-presentation .subtitle{font-size:10px}@media(max-width:600px){.simple-link-grid{grid-template-columns:1fr}.simple-actions{align-items:flex-start;flex-direction:column}}.pass-time-summary{margin-bottom:16px}.pass-time-summary .card-header{align-items:center}.pass-time-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:15px}.pass-time-stats>div{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--canvas);border-radius:8px}.pass-time-stats strong{font:700 18px Manrope,sans-serif}.history-hint,.pass-time-stats span{font-size:9px;color:var(--muted)}.history-hint{margin:6px 0 0}.history-table{overflow-x:auto}.history-card-header{align-items:flex-end}.history-controls{display:flex;align-items:center;gap:9px}.history-controls .search-field{height:30px;max-width:250px}.history-controls .search-field input{width:145px;font-size:9px}.history-table-head,.history-table-row{min-width:790px;display:grid;grid-template-columns:24px minmax(140px,1fr) minmax(110px,auto) 78px 70px 65px 100px 54px;align-items:center;grid-gap:9px;gap:9px}.history-table-head{padding:8px 2px;color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--line)}.history-student{display:flex;flex-direction:column;gap:3px;min-width:0}.history-student b{color:var(--ink)}.history-student span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-more{display:block;margin:10px auto 0;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue);font-size:10px;font-weight:700}@media(max-width:760px){.pass-time-stats{gap:7px}.pass-time-stats>div{padding:9px}.pass-time-stats strong{font-size:15px}.history-card-header{align-items:flex-start;gap:12px;flex-direction:column}.history-controls{width:100%;justify-content:space-between}.history-controls .search-field{flex:1 1;max-width:none}.history-controls .search-field input{width:100%}}