@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#22243a;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f6fb;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f6fb;min-width:320px;margin:0}.app-shell{max-width:1040px;margin:0 auto;padding:28px 22px 34px}.hero{color:#fff;background:radial-gradient(circle at 92% 0,#7968d8 0,#0000 36%),linear-gradient(130deg,#292354,#423a88 58%,#5b4bb2);border-radius:26px;padding:28px 32px 30px;box-shadow:0 18px 45px #31266d20}.hero-top{justify-content:space-between;align-items:center;display:flex}.brand-icon{background:#ffffff18;border:1px solid #ffffff42;border-radius:15px;place-items:center;width:46px;height:46px;display:grid}.demo-tag{letter-spacing:.14em;background:#ffffff1c;border:1px solid #ffffff45;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:800}.eyebrow{letter-spacing:.16em;opacity:.75;margin:25px 0 8px;font-size:11px;font-weight:800}.hero h1{letter-spacing:-.045em;margin:0;font-family:Manrope,sans-serif;font-size:clamp(30px,5vw,43px);line-height:1.1}.hero-copy{color:#efedff;max-width:550px;margin:12px 0 20px;font-size:15px;line-height:1.6}.hero-meta{color:#e3dfff;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.hero-meta span:first-child{align-items:center;gap:6px;display:flex}.notice{color:#775b24;background:#fff8e8;border:1px solid #f0dfb6;border-radius:15px;gap:12px;margin:18px 0;padding:15px 17px;font-size:13px;line-height:1.5;display:flex}.notice svg{flex-shrink:0;margin-top:2px}.notice p{color:#806b46;margin:4px 0 0}.toast{color:#24613d;background:#eef8f1;border:1px solid #cde9d5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:11px 14px;font-size:13px;display:flex}.toast button,.icon-button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 26px;display:grid}.stat-card{background:#fff;border:1px solid #e8e9f2;border-radius:17px;grid-template-columns:40px 1fr;align-items:center;column-gap:11px;padding:16px;display:grid;box-shadow:0 5px 18px #1f285208}.stat-icon{color:#6253bd;background:#f0efff;border-radius:13px;grid-row:span 2;place-items:center;width:40px;height:40px;display:grid}.stat-card span{color:#74758a;font-size:12px}.stat-card strong{letter-spacing:-.04em;margin-top:1px;font:800 23px Manrope,sans-serif}.workspace{background:#fff;border:1px solid #e6e8f2;border-radius:23px;padding:24px;box-shadow:0 8px 30px #22243a08}.section-heading h2{letter-spacing:-.035em;margin:0;font:800 24px Manrope,sans-serif}.eyebrow.dark{color:#7774a0;opacity:1;margin:0 0 7px}.toolbar{justify-content:space-between;align-items:end;gap:16px;margin:22px 0 18px;display:flex}.group-select{flex:1;gap:7px;max-width:380px;display:grid}.group-select>span,label{color:#565871;font-size:12px;font-weight:700}select,input{font:inherit;color:#27283e;background:#fff;border:1px solid #dfe1ec;border-radius:11px;outline:none;min-width:0;padding:12px 13px}select:focus,input:focus{border-color:#8c80e1;box-shadow:0 0 0 3px #8171df1c}.toolbar-actions{flex-wrap:wrap;gap:9px;display:flex}.button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font:700 12px DM Sans,sans-serif;transition:transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{color:#fff;background:#5749b3;box-shadow:0 5px 12px #5749b322}.button.secondary{color:#4e438f;background:#f6f4ff;border-color:#e2defb}.button.full{width:100%;margin-top:18px}.form-card{background:#fbfaff;border:1px solid #e2dff8;border-radius:16px;margin:16px 0;padding:18px}.form-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.form-title h3{margin:0;font:800 16px Manrope,sans-serif}.form-card>label,.form-grid label{gap:7px;display:grid}.form-card>label input{width:100%}.form-grid{grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin-top:13px;display:grid}.helper-row{color:#696982;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;font-size:12px;display:flex}.helper-row svg{color:#6758bd}.helper-row strong{color:#292747}.empty-state{text-align:center;background:linear-gradient(#fcfbff,#fff);border:1px dashed #d8d7eb;border-radius:17px;flex-direction:column;align-items:center;padding:38px 18px 32px;display:flex}.empty-icon{color:#6455bd;background:#f0eeff;border-radius:18px;place-items:center;width:56px;height:56px;display:grid}.empty-state h3{margin:15px 0 7px;font:800 18px Manrope,sans-serif}.empty-state p{color:#77778d;max-width:450px;margin:0 0 18px;font-size:13px;line-height:1.6}.student-area{margin-top:18px}.list-heading{border-top:1px solid #f0f0f6;justify-content:space-between;align-items:center;gap:12px;padding:16px 0 13px;display:flex}.list-heading h3{margin:0;font:800 17px Manrope,sans-serif}.list-heading p{color:#77778c;margin:5px 0 0;font-size:12px}.count-pill{color:#594ca6;white-space:nowrap;background:#f1efff;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:800}.search-box{color:#8b8ba0;border:1px solid #e1e2ed;border-radius:11px;align-items:center;gap:9px;margin:7px 0 12px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0;flex:1;padding:11px 0;box-shadow:none!important}.student-list{display:grid}.student-row{border-bottom:1px solid #f0f0f5;align-items:center;gap:12px;padding:13px 3px;display:flex}.avatar{color:#5b4db0;background:#f0efff;border-radius:13px;flex-shrink:0;place-items:center;width:39px;height:39px;font-size:12px;font-weight:800;display:grid}.student-info{flex:1;gap:4px;min-width:0;display:grid}.student-info strong{overflow-wrap:anywhere;font-size:13px}.student-info span,.student-balance span{color:#85859a;font-size:11px}.student-balance{text-align:right;gap:2px;min-width:52px;display:grid}.student-balance strong{font:800 15px Manrope,sans-serif}.row-index{color:#b0b0c0;text-align:right;width:20px;font-size:10px}.empty-list{color:#85859a;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:30px 12px;display:flex}.empty-list strong{color:#4e4f68;font-size:13px}.empty-list span{font-size:12px}.empty-list .button{margin-top:8px}footer{color:#9292a5;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 4px 0;font-size:11px;display:flex}@media (width<=650px){.app-shell{padding:14px 12px 24px}.hero{border-radius:21px;padding:22px 21px 24px}.hero-copy{font-size:14px}.stats{gap:8px}.stat-card{grid-template-columns:1fr;gap:4px;padding:12px}.stat-icon{grid-row:auto;width:34px;height:34px;margin-bottom:5px}.stat-card span{font-size:10px}.stat-card strong{font-size:21px}.workspace{border-radius:19px;padding:17px 14px}.section-heading h2{font-size:21px}.toolbar{flex-direction:column;align-items:stretch}.group-select{max-width:none}.toolbar-actions{grid-template-columns:1fr 1fr;display:grid}.button{white-space:normal;padding:11px 9px}.form-grid{grid-template-columns:1fr 1fr}.student-row{gap:9px}.student-info strong{font-size:12px}.student-info span{font-size:10px}.row-index{display:none}footer{flex-direction:column}}.login-card{max-width:440px;margin:24px auto}.login-card .form-title h2{margin:0;font:800 20px Manrope,sans-serif}.login-card .form-title svg{color:#6253bd}.small-note{color:#77778d;margin:13px 0 0;font-size:11px;line-height:1.55}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.logout-button{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #fff5;border-radius:9px;align-items:center;gap:6px;margin-left:auto;padding:6px 9px;font:700 11px DM Sans,sans-serif;display:inline-flex}.logout-button:disabled{opacity:.5}@media (width<=480px){.section-heading{flex-direction:column;align-items:flex-start}.section-heading>.button{align-self:flex-end}.login-card{margin:18px 0}}.student-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.student-actions .button{padding:8px 9px;font-size:11px}.device-workspace{margin-bottom:18px}.modal-backdrop{z-index:50;background:#17152f88;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.history-modal{background:#fff;width:min(620px,100%);max-height:85vh;margin:0;overflow:auto}.history-modal .form-title h2{margin:0;font:800 20px Manrope,sans-serif}.history-modal .form-title p{color:#77778d;margin:5px 0 0;font-size:12px}.history-list{display:grid}.history-item{border-bottom:1px solid #f0f0f5;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;display:flex}.history-item>div{gap:5px;min-width:0;display:grid}.history-item span{color:#85859a;font-size:11px}.history-item strong{font-size:13px}.history-item .positive{color:#21845a}.history-item .negative{color:#b54c56}@media (width<=650px){.student-actions{width:100%;padding-left:48px}.student-actions .button{flex:1}.history-modal{padding:15px}}.history-item-end{flex-shrink:0;align-items:center;gap:8px;display:flex}.history-item-end .button{padding:7px 9px;font-size:11px}@media (width<=650px){.student-row{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.student-row>.avatar{grid-area:1/1}.student-row>.student-info{grid-area:1/2;min-width:0}.student-row>.student-info strong{overflow-wrap:break-word;word-break:normal;font-size:13px;line-height:1.35}.student-row>.student-info span{font-size:11px;line-height:1.35}.student-row>.student-balance{grid-area:1/3;min-width:44px}.student-row>.student-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;padding-left:0;display:grid}.student-actions .button{white-space:normal;min-width:0;padding:10px 7px;line-height:1.25}}.toast{z-index:100;width:min(560px,100vw - 28px);margin:0;animation:.18s ease-out toast-in;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #17152f26}.toast button{flex-shrink:0;padding:4px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=480px){.toast{padding:12px 13px;font-size:12px;bottom:14px}}.quick-nav{flex-wrap:wrap;gap:10px;margin:18px 0 22px;display:flex}.quick-nav a{color:#51458f;background:#fff;border:1px solid #dcd9f2;border-radius:12px;justify-content:center;align-items:center;padding:11px 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.quick-nav a:focus-visible{outline-offset:2px;outline:3px solid #9b8de4}.family-scan-notice{margin-bottom:18px}@media (width<=480px){.quick-nav{grid-template-columns:1fr;display:grid}.quick-nav a{width:100%}}.family-return-tip{color:#fff;background:#ffffff14;border:1px solid #ffffff45;border-radius:14px;margin-top:18px;padding:14px 16px;font-size:14px;line-height:1.5}.family-return-tip strong{margin-bottom:5px;display:block}.quick-nav button{color:#51458f;cursor:pointer;background:#fff;border:1px solid #dcd9f2;border-radius:12px;justify-content:center;align-items:center;padding:11px 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.quick-nav button.active{color:#fff;background:#5145b5;border-color:#5145b5}.quick-nav button:focus-visible{outline-offset:2px;outline:3px solid #9b8de4}@media (width<=480px){.quick-nav button{width:100%}}.reward-modal{overscroll-behavior:contain;background:#fff;width:min(720px,100%);max-height:calc(100dvh - 32px);padding:20px;overflow:hidden auto}.reward-modal .form-title{align-items:flex-start;gap:12px}.reward-modal .form-title>div{overflow-wrap:anywhere;min-width:0}.reward-modal .stats{margin:10px 0 16px}.reward-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.reward-category-grid .button{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;line-height:1.3}.reward-modal>.toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 16px;display:grid}.reward-modal .reward-list-panel{width:100%;min-width:0;overflow:hidden}.reward-modal .reward-list-panel .student-list{width:100%;min-width:0}.reward-modal .reward-list-panel .student-row{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 0;display:grid}.reward-modal .reward-list-panel .student-row>.avatar{grid-area:1/1}.reward-modal .reward-list-panel .student-row>.student-info{grid-area:1/2;min-width:0}.reward-modal .reward-list-panel .student-row>.student-balance{grid-area:1/3;min-width:54px}.reward-modal .reward-list-panel .student-row>.button.primary{white-space:normal;overflow-wrap:anywhere;grid-area:2/1/auto/-1;width:100%;min-height:44px}@media (width<=480px){.modal-backdrop{align-items:center;padding:10px}.reward-modal{border-radius:18px;max-height:calc(100dvh - 20px);padding:15px}.reward-modal .form-title h2{font-size:18px;line-height:1.25}.reward-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.reward-category-grid .button{padding:11px 7px;font-size:12px}.reward-modal>.toolbar-actions{grid-template-columns:1fr 1fr}.reward-modal .reward-list-panel .student-row{grid-template-columns:38px minmax(0,1fr) auto;column-gap:8px}.reward-modal .reward-list-panel .student-info strong{font-size:13px;line-height:1.3}.reward-modal .reward-list-panel .student-info span{font-size:11px;line-height:1.35}.reward-modal .reward-list-panel .student-balance strong{font-size:14px}.reward-modal .reward-list-panel .student-row>.button.primary{grid-column:1/-1;justify-self:stretch;width:100%;min-height:44px}}.reward-category-accordion{gap:12px;display:grid}.reward-category-section{border:1px solid var(--line,#e4e3f3);background:#fff;border-radius:16px;overflow:hidden}.reward-category-toggle{text-align:left;width:100%;color:var(--ink,#22243a);cursor:pointer;background:#f7f5ff;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px;display:grid}.reward-category-toggle>span:first-child{gap:5px;min-width:0;display:grid}.reward-category-toggle strong{font-size:16px;line-height:1.35}.reward-category-toggle small{color:#77778e;font-size:12px;font-weight:400;line-height:1.4}.reward-category-toggle .count-pill{white-space:nowrap}.reward-category-list{padding:0 16px}.reward-category-list .empty-list{padding:18px 8px}.reward-category-list .student-row{padding:16px 0}.reward-category-list .student-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=480px){.reward-category-toggle{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px}.reward-category-toggle .count-pill{grid-column:1;justify-self:start}.reward-category-toggle>span:last-child{grid-area:1/2/3}.reward-category-list{padding:0 12px}}.device-workspace .form-card form{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0;margin-top:18px;display:grid}.device-workspace .form-card form label{grid-template-columns:minmax(0,1fr);gap:7px;width:100%;min-width:0;line-height:1.4;display:grid}.device-workspace .form-card form input,.device-workspace .form-card form select{width:100%;min-width:0;max-width:100%;font-size:16px;display:block}.device-workspace .form-card form .button.full{white-space:normal;min-height:46px;margin-top:2px;line-height:1.35}.device-workspace .form-card>.section-heading{align-items:center}@media (width<=650px){.device-workspace .form-card{padding:16px 13px}.device-workspace .form-card>.section-heading{flex-direction:column;align-items:stretch}.device-workspace .form-card>.section-heading>.button{align-self:flex-start;max-width:100%}.device-workspace .form-card form{gap:16px}.device-workspace .form-card form label{font-size:13px}.device-workspace .form-card form input,.device-workspace .form-card form select{padding:13px 12px}}.device-role-badge{color:#4f429e;background:#e9e6ff;border-radius:999px;align-items:center;width:max-content;max-width:100%;padding:5px 9px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex}.admin-device-pill{color:#4f429e;white-space:normal;text-align:center;background:#e9e6ff;max-width:120px}.app-shell{width:min(100% - 28px,1100px);min-width:0;margin-inline:auto}.hero,.workspace,.notice,.stats,.quick-nav{min-width:0}.hero h1,.hero-copy,.section-heading h2,.student-info,.student-row{overflow-wrap:anywhere;min-width:0}@media (width<=600px){.app-shell{width:calc(100% - 24px);margin:12px auto 28px;padding:0}.hero{border-radius:22px;padding:22px 18px}.hero h1{font-size:clamp(25px,7vw,34px);line-height:1.12}.hero-copy{font-size:14px;line-height:1.5}.hero-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hero-meta .logout-button{margin-left:auto}.notice{align-items:flex-start;padding:14px}.workspace{border-radius:18px;padding:16px 13px}.section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.section-heading h2{font-size:22px;line-height:1.2}.toolbar{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.toolbar .group-select,.toolbar .group-select select{width:100%;min-width:0}.toolbar-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.student-row{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:14px 0;display:grid}.student-row>.avatar{grid-area:1/1}.student-row>.student-info{grid-area:1/2;min-width:0}.student-row>.student-balance{grid-area:2/2;justify-self:start}.student-row>.student-actions{grid-area:3/1/auto/-1;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.student-row>.student-actions .button{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;min-height:44px;line-height:1.3}.student-row>.row-index{display:none}.list-heading{flex-wrap:wrap;align-items:flex-start;gap:8px}.search-box,.search-box input{width:100%;min-width:0}.quick-nav{grid-template-columns:minmax(0,1fr)}.quick-nav button{white-space:normal;width:100%}.device-workspace .student-row{grid-template-columns:40px minmax(0,1fr)}.device-workspace .student-row>select,.device-workspace .student-row>.button{white-space:normal;grid-column:1/-1;width:100%;min-width:0}.device-workspace .form-card{min-width:0}}
