:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18253b;background:#f4f7fb;--navy:#071a3a;--navy2:#102d65;--blue:#2865d9;--line:#e5eaf1;--muted:#7c889c;--green:#198562;--gold:#c98d18;--red:#c24b4b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f7fb}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}a{text-decoration:none;color:inherit}.eyebrow,.micro-label{font-size:10px;letter-spacing:.14em;font-weight:850;color:#5872a8}.grow{flex:1}.spinner{width:34px;height:34px;border:3px solid #dce4f1;border-top-color:#2865d9;border-radius:50%;animation:spin .7s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}@keyframes welcome-fade{0%{opacity:0}to{opacity:1}}@keyframes welcome-pop{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes operation-fade{0%{opacity:0}to{opacity:1}}@keyframes operation-pop{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes operation-pulse{0%,to{transform:scale(.72);opacity:.45}50%{transform:scale(1);opacity:1}}.boot-screen{min-height:100vh;display:grid;place-content:center;gap:9px;text-align:center}.boot-screen span{font-size:11px;color:var(--muted)}.logo{display:flex;align-items:center;gap:11px}.logo-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2258bd,#0e3278);box-shadow:0 8px 25px #143d913d}.logo strong{display:block;font-size:14px;letter-spacing:.04em}.logo span{display:block;font-size:9px;color:#8fa0bf;margin-top:3px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}.login-left{position:relative;overflow:hidden;color:#fff;padding:48px 60px;background:radial-gradient(circle at 16% 16%,rgba(53,109,231,.32),transparent 28%),radial-gradient(circle at 82% 80%,rgba(215,160,40,.18),transparent 27%),linear-gradient(145deg,#07162f,#0b2149 58%,#14366e)}.login-left .logo strong{color:#fff}.login-left .logo span{color:#9eb1d0}.login-hero{max-width:720px;margin-top:15vh}.login-hero .eyebrow{color:#9ebcf3}.login-hero h1{font-size:clamp(40px,4vw,64px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 18px}.login-hero>p{max-width:620px;color:#c6d3e8;line-height:1.7;font-size:16px}.hero-points{display:grid;gap:12px;margin-top:32px}.hero-points div{display:flex;align-items:center;gap:11px;color:#dbe5f3;font-size:13px}.hero-points svg{width:18px;color:#8eb4ff}.login-foot{position:absolute;bottom:34px;color:#8094b7;font-size:11px}.login-right{display:flex;align-items:flex-start;justify-content:center;padding:clamp(24px,4vw,48px);background:linear-gradient(#fbfcff,#f5f7fb);overflow-x:hidden}.login-panel{width:min(620px,100%);margin:0 auto}.login-banner{display:block;width:100%;height:auto;aspect-ratio:3 / 1;object-fit:contain;border-radius:12px;margin:0 0 20px;background:#fff;box-shadow:0 8px 22px #20386712}.login-card{width:100%}.login-card h2{font-size:35px;letter-spacing:-.035em;margin:8px 0}.login-card>p{font-size:12px;color:var(--muted);margin-bottom:28px}.login-card label{display:block;margin-top:17px}.login-card label>span{display:block;font-size:12px;font-weight:750;margin-bottom:8px}.login-card input{width:100%;height:50px;border:1px solid #dce3ed;border-radius:12px;padding:0 13px;outline:none}.login-card input:focus{border-color:#7da0ef;box-shadow:0 0 0 4px #2865d914}.password-wrap{position:relative}.password-wrap>svg{position:absolute;left:13px;top:16px;color:#8490a5}.password-wrap input{padding-left:42px;padding-right:84px}.password-wrap button{position:absolute;top:8px;width:35px;height:35px;border:0;background:none;color:#7b879a;display:grid;place-items:center}.access-key-toggle{right:8px}.camera-scan-button{display:none;right:46px}.primary-btn,.secondary-btn,.danger-btn,.icon-action{border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800}.primary-btn{padding:10px 14px;color:#fff;background:linear-gradient(135deg,#153f8f,#2863ca);box-shadow:0 6px 16px #18449b26}.secondary-btn{padding:9px 12px;background:#fff;color:#4f5d73;border:1px solid #dfe5ed}.danger-btn{padding:9px 12px;background:#fff0f0;color:#b44343;border:1px solid #efd6d6}.login-btn{width:100%;height:52px;margin-top:22px}.form-error{margin-top:13px;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#aa3a3a;font-size:12px}.demo-note{margin-top:18px;border:1px dashed #d4dce8;background:#f5f8fc;border-radius:12px;padding:12px;color:#718097;font-size:11px;line-height:1.5}.demo-note strong,.demo-note span{display:block}.scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:18px;background:#07142c9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scanner-modal{width:min(460px,100%);overflow:hidden;background:#fff;border-radius:18px;box-shadow:0 30px 80px #0a1e464d}.scanner-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px;border-bottom:1px solid #e9edf2}.scanner-modal-head h2{font-size:20px;margin-top:4px}.scanner-modal-head button{border:0;background:#f3f5f8;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#677489}.scanner-preview{position:relative;min-height:300px;background:#091a35;overflow:hidden}.scanner-preview video{display:block;width:100%;height:300px;object-fit:cover}.scanner-capture-canvas{display:none}.scanner-frame{position:absolute;top:54px;right:58px;bottom:54px;left:58px;border:1px solid rgba(255,255,255,.5);border-radius:14px;box-shadow:0 0 0 999px #0000002e}.scanner-frame i{position:absolute;width:24px;height:24px;border-color:#fff;border-style:solid}.scanner-frame i:nth-child(1){left:-2px;top:-2px;border-width:3px 0 0 3px;border-radius:10px 0 0}.scanner-frame i:nth-child(2){right:-2px;top:-2px;border-width:3px 3px 0 0;border-radius:0 10px 0 0}.scanner-frame i:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 10px}.scanner-frame i:nth-child(4){right:-2px;bottom:-2px;border-width:0 3px 3px 0;border-radius:0 0 10px}.scanner-camera-label{position:absolute;left:0;right:0;bottom:18px;display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:11px;font-weight:750;text-shadow:0 1px 3px rgba(0,0,0,.5)}.scanner-error{margin:14px 18px 0;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#aa3a3a;font-size:11px;line-height:1.45}.scanner-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;color:#7d899b;font-size:10px;line-height:1.4}.scanner-footer-actions{display:flex;align-items:center;gap:7px}.scanner-modal-footer .secondary-btn{flex:0 0 auto}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:22px 14px;background:linear-gradient(180deg,#07182f,#0b2147);color:#c5d1e4;display:flex;flex-direction:column}.sidebar .logo{padding:0 8px 20px}.sidebar .logo strong{color:#fff}.side-label{font-size:9px;letter-spacing:.14em;font-weight:800;color:#63789b;padding:13px 12px 7px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:#9fb0ca;font-size:12px;font-weight:700}.sidebar nav a:hover{background:#ffffff0d;color:#fff}.sidebar nav a.active{background:#2e65d238;color:#fff;box-shadow:inset 3px 0 #5c8bf0}.side-spacer{flex:1}.role-card{display:flex;align-items:center;gap:9px;margin:8px 4px;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:#ffffff08}.role-card strong,.role-card span{display:block}.role-card strong{font-size:10px;color:#e0e7f3}.role-card span{font-size:9px;color:#7f93b3;margin-top:2px}.side-logout{border:0;background:none;color:#8fa1be;display:flex;align-items:center;gap:8px;padding:10px 12px}.side-logout:hover{color:#fff}.shell-main{margin-left:245px;width:calc(100% - 245px);min-width:0}.topbar{height:64px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e7ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:30}.crumb{font-size:11px;color:#77849a}.top-user{display:flex;align-items:center;gap:9px;text-align:right}.top-user strong,.top-user span{display:block}.top-user strong{font-size:11px}.top-user span{font-size:9px;color:#8c96a6;margin-top:2px}.user-avatar,.student-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#e7eef9,#d9e5f9);color:#1d4a98;display:grid;place-items:center;font-size:11px;font-weight:850}.student-avatar.sm{width:34px;height:34px}.shell-content{padding:28px;max-width:1500px;min-width:0;margin:0 auto}.search-page-hero{text-align:center;max-width:880px;margin:20px auto 0}.search-page-hero h1{font-size:clamp(34px,4vw,50px);letter-spacing:-.045em;line-height:1.05;color:#15243d;margin:9px 0 11px}.search-page-hero p{font-size:13px;color:#7b879a}.main-search-box{height:66px;background:#fff;border:1px solid #dce4ef;border-radius:18px;box-shadow:0 18px 45px #20386717;display:flex;align-items:center;gap:12px;padding:0 18px;margin-top:28px;color:#687890}.main-search-box input{flex:1;border:0;outline:0;background:transparent;font-size:17px}.permission-strip{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:13px;color:#8793a6;font-size:9px}.permission-strip em{font-style:normal;display:flex;align-items:center;gap:5px;padding:5px 8px;background:#fff;border:1px solid #e5eaf0;border-radius:999px;color:#5e6c81;font-weight:700}.result-section{margin-top:40px}.section-head{margin-bottom:12px}.section-head h2{font-size:17px;margin-top:4px}.student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-card{display:flex;align-items:center;gap:11px;width:100%;padding:13px;background:#fff;border:1px solid #e4e9ef;border-radius:14px;text-align:left;color:#26344c}.student-card:hover{border-color:#cdd8e8;box-shadow:0 9px 22px #1e345f0f}.student-card strong,.student-card span{display:block}.student-card strong{font-size:12px}.student-card .grow span{font-size:9px;color:#8d97a8;margin-top:3px}.open-tag{font-size:9px;font-weight:800;color:#4a68a8;background:#f1f5fc;padding:5px 7px;border-radius:7px}.empty-state{min-height:190px;display:grid;place-content:center;text-align:center;gap:7px;color:#8995a8}.empty-state h3{font-size:13px;color:#56647a}.empty-state p{font-size:10px}.empty-state.tall{min-height:470px}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06122975;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;justify-content:flex-end}.detail-panel{width:min(590px,100%);height:100%;background:#f7f9fc;box-shadow:-20px 0 60px #071a3a2e;overflow:auto;position:relative}.detail-close{position:absolute;right:18px;top:18px;width:37px;height:37px;border-radius:10px;border:1px solid #dfe5ed;background:#fff;color:#66748a;display:grid;place-items:center}.student-detail-header{display:flex;align-items:center;gap:14px;padding:30px 28px 22px;background:#fff;border-bottom:1px solid #e5eaf1}.student-avatar.xl{width:56px;height:56px;border-radius:17px;font-size:14px}.student-detail-header h2{font-size:24px;margin:4px 0}.student-detail-header p{font-size:10px;color:#8793a6}.detail-content{padding:18px;display:grid;gap:12px}.info-card{display:flex;gap:13px;background:#fff;border:1px solid #e4e9ef;border-radius:16px;padding:16px}.info-card.soft{background:#f9fbfe}.border-ok{border-color:#d8eee5}.border-warn{border-color:#f0e5c7}.border-danger{border-color:#efd8d8}.info-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eff4fb;color:#2a61bf;flex:0 0 auto}.info-icon svg{width:19px}.info-icon.ok{background:#ecf8f3;color:#17835e}.info-icon.warn{background:#fff7e5;color:#b37a13}.info-icon.danger{background:#fff0f0;color:#b84646}.info-icon.blue{background:#eef4ff;color:#2f65c7}.info-body h3{font-size:15px;margin:4px 0 5px}.info-body>p{font-size:10px;color:#79869a;line-height:1.55}.guardian-list{margin-top:8px;display:grid;gap:7px}.guardian-row{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #edf0f4;border-radius:10px}.guardian-icon{width:32px;height:32px;border-radius:9px;background:#f2f5fa;color:#6c7a91;display:grid;place-items:center}.guardian-row strong,.guardian-row span{display:block}.guardian-row strong{font-size:10px}.guardian-row .grow span{font-size:8px;color:#929cac}.guardian-right{text-align:right}.guardian-right>span{font-size:8px;color:#758298}.guardian-right em{display:block;font-style:normal;font-size:8px;font-weight:800;margin-top:2px}.pickup-ok{color:#15815c}.pickup-no{color:#b84a4a}.panel{background:#fff;border:1px solid #e5eaf1;border-radius:16px;box-shadow:0 5px 16px #14285009}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.admin-heading h1{font-size:28px;letter-spacing:-.03em;margin:5px 0}.admin-heading p{font-size:11px;color:#7f8b9d}.admin-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px}.admin-list{overflow:hidden}.list-toolbar{padding:11px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;gap:8px}.list-toolbar>span{font-size:9px;color:#8d98a9;white-space:nowrap}.mini-search{flex:1;height:38px;border:1px solid #e0e5ec;background:#fafbfd;border-radius:9px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#8c97a8}.mini-search input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.admin-student-list{max-height:670px;overflow:auto;padding:6px}.admin-student-row{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:9px;text-align:left;padding:9px;border-radius:9px;color:#2e3b52}.admin-student-row:hover{background:#f7f9fc}.admin-student-row.active{background:#eef4ff;color:#214d9e}.admin-student-row strong,.admin-student-row span{display:block}.admin-student-row strong{font-size:10px}.admin-student-row span{font-size:8px;color:#8792a5;margin-top:2px}.admin-detail{padding:18px}.record-header{display:flex;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid #edf0f4}.record-header h2{font-size:23px;margin:4px 0}.record-header p{font-size:10px;color:#8692a5}.record-actions{display:flex;gap:7px;align-items:center}.record-action-btn{height:40px;padding:0 12px;border-radius:11px;font-size:10px;white-space:nowrap;box-shadow:0 6px 16px #0d275012}.record-save-btn{color:#167451;background:linear-gradient(135deg,#effaf5,#e3f6ed);border:1px solid #bfe5d2}.record-save-btn:hover{background:#dff3e8;color:#116044}.record-save-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.record-actions .danger-btn{border:1px solid #efd0d0;background:linear-gradient(135deg,#fff8f8,#ffeded);color:#bc4b4b}.record-actions .danger-btn:hover{background:#ffe4e4}.admin-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.settings-card{border:1px solid #e6eaf0;border-radius:13px;padding:13px}.settings-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:800}.state-dot{width:9px;height:9px;border-radius:50%}.meal-meal,.exit-allowed{background:#24a576}.meal-special,.exit-conditional{background:#d9a02b}.meal-no_meal,.exit-not_allowed{background:#d25a5a}.settings-card select,.settings-card textarea,.form-modal input,.form-modal select,.form-modal textarea{width:100%;border:1px solid #dfe5ed;border-radius:9px;background:#fff;outline:0}.settings-card select{height:39px;padding:0 9px}.settings-card textarea{min-height:82px;margin-top:8px;padding:9px;resize:vertical}.settings-card small{display:block;color:#9aa4b3;font-size:8px;margin-top:6px}.guardian-admin-card{margin-top:14px;border:1px solid #e6eaf0;border-radius:13px;overflow:hidden}.guardian-admin-head{padding:13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef1f5}.guardian-admin-head h3{font-size:13px;margin-top:4px}.guardian-admin-list{padding:7px}.guardian-admin-row{display:flex;align-items:center;gap:9px;padding:9px;border-bottom:1px solid #f0f2f5}.guardian-admin-row:last-child{border-bottom:0}.guardian-badge{width:48px;padding:5px 4px;text-align:center;border-radius:7px;background:#f1f5fb;color:#4e6ca7;font-size:8px;font-weight:800}.guardian-admin-row strong,.guardian-admin-row span{display:block}.guardian-admin-row strong{font-size:10px}.guardian-admin-row .grow span{font-size:8px;color:#8d97a8;margin-top:2px}.pickup-toggle{font-size:8px;color:#6e7b90;display:flex;align-items:center;gap:5px}.pickup-toggle input{accent-color:#2464d4}.icon-action{width:30px;height:30px;background:#f5f7fa;color:#69768b;border:1px solid #e5e9ef}.icon-action.danger{color:#b84a4a;background:#fff4f4}.empty-inline{padding:25px;display:grid;place-items:center;gap:6px;color:#8d98aa;font-size:9px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07142c7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:120;display:grid;place-items:center;padding:20px}.form-modal{width:min(650px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px #0a1e4638}.form-modal.small{width:min(520px,100%)}.form-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px;border-bottom:1px solid #e9edf2}.form-modal-head h2{font-size:20px;margin-top:4px}.form-modal-head button{border:0;background:#f3f5f8;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#677489}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:18px}.form-grid label>span{display:block;font-size:9px;font-weight:800;color:#536077;margin-bottom:6px}.form-grid input,.form-grid select{height:40px;padding:0 9px}.form-grid textarea{min-height:72px;padding:9px;resize:vertical}.check-field{display:flex;align-items:center;gap:7px}.check-field input{width:auto;height:auto}.check-field span{margin:0!important}.form-actions{padding:13px 18px 18px;display:flex;justify-content:flex-end;gap:7px}.audit-panel{overflow:hidden}.audit-table-wrap{overflow:auto}.audit-table{width:100%;border-collapse:collapse;min-width:760px}.audit-table th{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#8994a6;background:#fafbfd;padding:9px 11px;text-align:left;border-bottom:1px solid #e9edf2}.audit-table td{font-size:9px;color:#59667b;padding:10px 11px;border-bottom:1px solid #f0f2f5}.audit-table td strong{color:#314057}.action-chip{display:inline-flex;padding:4px 6px;border-radius:6px;background:#eef3fb;color:#4c69a3;font-weight:800}.action-chip.update,.action-chip.create{background:#ebf8f3;color:#27795e}.action-chip.delete{background:#fff0f0;color:#b44747}.users-panel{padding:7px}.user-row{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #eff1f5}.user-row:last-child{border-bottom:0}.user-row strong,.user-row span{display:block}.user-row strong{font-size:10px}.user-row .grow span{font-size:8px;color:#8b96a7;margin-top:2px}.permission-tags{display:flex;gap:4px;flex-wrap:wrap;max-width:500px}.permission-tags span{font-size:7px;padding:4px 5px;border-radius:5px;background:#f1f4f8;color:#6b788d}@media(max-width:1050px){.admin-layout{grid-template-columns:280px minmax(0,1fr)}.admin-card-grid{grid-template-columns:1fr}}@media(max-width:850px){.login-page{grid-template-columns:1fr}.login-left{display:none}.login-right{min-height:100vh;padding:24px 18px}.login-banner{margin-bottom:18px;border-radius:10px}.camera-scan-button{display:grid}.sidebar{width:72px;padding:18px 7px}.sidebar .logo{justify-content:center;padding:0 0 22px}.sidebar .logo>div:last-child{display:none}.side-label{display:none}.sidebar nav{gap:7px}.sidebar nav a{width:54px;height:48px;padding:0;margin:0 auto;justify-content:center}.sidebar nav a:not(.active),.sidebar nav a.active{font-size:0}.role-card{justify-content:center;gap:0;margin:8px 0;padding:11px 0}.role-card>div{display:none}.side-logout{justify-content:center;gap:0;padding:12px 0;font-size:0}.shell-main{margin-left:72px;width:calc(100% - 72px)}.student-grid,.admin-layout{grid-template-columns:1fr}.admin-student-list{max-height:300px}}@media(max-width:600px){.shell-content{padding:18px 12px}.topbar{padding:0 14px}.top-user>div:first-child{display:none}.search-page-hero h1{font-size:29px}.main-search-box{height:58px}.main-search-box input{font-size:14px}.permission-strip{flex-wrap:wrap}.admin-heading{display:block}.admin-heading .primary-btn{margin-top:12px}.record-header{display:block}.record-actions{margin-top:10px}.guardian-admin-row{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}.saas-public-page,.public-form-page,.platform-login-page{min-height:100vh;background:radial-gradient(circle at 84% 10%,rgba(79,132,225,.13),transparent 30%),linear-gradient(135deg,#f7faff,#eef4fc);color:#1b2d49}.saas-public-header{max-width:1180px;margin:0 auto;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.saas-brand,.back-brand{display:inline-flex;align-items:center;gap:10px;color:#173a70;text-decoration:none}.saas-brand>span:last-child,.back-brand>span:last-child{display:grid;line-height:1}.saas-brand strong,.back-brand strong{font-size:17px;letter-spacing:.11em}.saas-brand small,.back-brand small{margin-top:4px;font-size:8px;letter-spacing:.27em;color:#6b7e9a;font-weight:850}.saas-brand-mark{width:37px;height:37px;border-radius:12px;background:linear-gradient(145deg,#1b4f9e,#4385df);display:grid;place-items:center;color:#fff;box-shadow:0 10px 24px #2057a833}.saas-header-actions{display:flex;align-items:center;gap:12px}.text-link{font-size:11px;font-weight:800;color:#60718b;text-decoration:none}.text-link:hover{color:#245bb0}.saas-hero{max-width:1180px;margin:0 auto;padding:76px 28px 100px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}.saas-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#4a6fa9;font-size:10px;font-weight:900;letter-spacing:.14em}.saas-hero-copy h1{max-width:650px;margin:20px 0 17px;font-size:62px;line-height:1.02;letter-spacing:-.06em;color:#152a4a}.saas-hero-copy h1 em{font-style:normal;color:#2f70ce}.saas-hero-copy p{max-width:560px;color:#6b7e99;font-size:17px;line-height:1.7}.saas-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.saas-hero-actions .primary-btn,.saas-hero-actions .secondary-btn,.saas-header-actions .secondary-btn{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.saas-trust-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:27px;color:#71839c;font-size:10px;font-weight:750}.saas-trust-row span{display:inline-flex;align-items:center;gap:5px}.saas-trust-row svg{color:#3f8a68}.saas-hero-visual{min-height:390px;position:relative;display:grid;place-items:center}.saas-orbit{position:absolute;border:1px solid rgba(66,119,201,.18);border-radius:50%;transform:rotate(-18deg)}.orbit-one{width:430px;height:235px}.orbit-two{width:330px;height:330px;transform:rotate(37deg)}.saas-visual-card{position:relative;width:min(350px,100%);padding:34px;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:linear-gradient(145deg,#ffffffe0,#eef5ffbf);box-shadow:0 30px 80px #22498429;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.saas-card-label{font-size:9px;letter-spacing:.16em;font-weight:900;color:#5277b0}.saas-visual-card>strong{display:block;margin-top:24px;font-size:32px;line-height:1.1;letter-spacing:-.05em;color:#17345f}.saas-visual-card>strong span{color:#3b76ce}.saas-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:30px}.saas-mini-grid div{display:grid;gap:8px;padding:11px 9px;border-radius:13px;background:#ffffffb8;border:1px solid #e4ecf7;color:#4872ad}.saas-mini-grid span{font-size:8px;font-weight:850;color:#687c99}.saas-feature-strip{max-width:1180px;margin:0 auto 35px;padding:23px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid #dbe5f2}.saas-feature-strip div{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.saas-feature-strip span{grid-row:span 2;color:#5f91da;font-size:10px;font-weight:900}.saas-feature-strip strong{font-size:12px;color:#294568}.saas-feature-strip small{margin-top:3px;color:#8997aa;font-size:10px}.public-form-shell{max-width:980px;margin:0 auto;padding:30px 24px 70px}.narrow-shell{max-width:570px}.back-brand{margin-bottom:32px}.public-form-card{padding:34px;background:#ffffffeb;border:1px solid rgba(220,230,244,.95);border-radius:24px;box-shadow:0 24px 70px #2248811f}.public-form-card h1{margin:12px 0 10px;font-size:32px;letter-spacing:-.045em;color:#19375f}.public-form-card p{color:#718199;font-size:12px;line-height:1.65}.public-form-icon,.platform-login-icon{width:48px;height:48px;border-radius:15px;background:#eaf2ff;color:#2d67bc;display:grid;place-items:center;margin-bottom:17px}.institution-lookup-card form,.platform-login-card form{display:grid;gap:14px;margin-top:25px}.public-form-card label,.platform-login-card label{display:grid;gap:7px}.public-form-card label>span,.platform-login-card label>span{font-size:10px;color:#455875;font-weight:850}.public-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid #dce5f0;background:#fbfdff;border-radius:11px;padding:0 12px;color:#7790b4}.public-input-wrap input{flex:1;min-width:0;border:0;background:transparent;padding:12px 0;outline:0;color:#253c60;font-size:12px}.public-input-wrap input::placeholder{color:#a1adbd}.inline-input-button{border:0;background:transparent;color:#7387a3;display:grid;place-items:center;padding:3px;cursor:pointer}.full-btn{width:100%;justify-content:center}.public-form-error{padding:10px 12px;border-radius:10px;border:1px solid #f1d1d1;background:#fff5f5;color:#af4a4a;font-size:10px;line-height:1.4}.public-form-foot{margin-top:20px;text-align:center;color:#8391a5;font-size:10px}.public-form-foot a{color:#2e68c0;font-weight:800}.success-card{text-align:center}.success-card .success-icon,.issued-key-modal .success-icon{margin:0 auto 16px}.success-icon{width:58px;height:58px;border-radius:18px;background:#e7f8f0;border:1px solid #c5ead8;color:#218064;display:grid;place-items:center}.application-number-box{display:grid;gap:4px;margin:23px 0;padding:17px;border:1px dashed #b9cee9;border-radius:14px;background:#f4f8ff}.application-number-box span,.application-number-box small{font-size:9px;color:#7b8ca5}.application-number-box strong{font-size:22px;letter-spacing:.08em;color:#245bad}.application-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin:0 0 25px}.application-heading h1{max-width:690px;margin:13px 0 8px;font-size:42px;line-height:1.04;letter-spacing:-.055em;color:#18375f}.application-heading p{max-width:650px;color:#70809a;font-size:13px;line-height:1.6}.application-form{display:grid;gap:19px}.form-section-title{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid #e8eef6;color:#3a69ac}.form-section-title div{display:grid;gap:3px}.form-section-title strong{font-size:12px;color:#304867}.form-section-title span{font-size:9px;color:#8a98aa}.public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.public-form-grid label{display:grid;gap:6px}.public-form-grid input,.public-form-grid select,.public-form-grid textarea,.platform-action-card textarea{width:100%;box-sizing:border-box;border:1px solid #dce5f0;border-radius:10px;background:#fbfdff;padding:11px 12px;outline:0;color:#304867;font:inherit;font-size:11px}.public-form-grid textarea,.platform-action-card textarea{resize:vertical}.public-form-grid input:focus,.public-form-grid select:focus,.public-form-grid textarea:focus,.platform-action-card textarea:focus{border-color:#78a2df;box-shadow:0 0 0 3px #336fcb14}.span-2{grid-column:span 2}.honeypot-field{position:absolute!important;left:-9999px!important;opacity:0!important}.consent-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:8px!important;color:#6c7c94!important;font-size:10px!important;line-height:1.5}.consent-check input{margin-top:2px;accent-color:#2a69c4}.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px}.form-submit-row>span{display:inline-flex;align-items:center;gap:6px;color:#7d8da3;font-size:9px}.form-submit-row>span svg{color:#3f8d70}.form-submit-row .primary-btn{display:inline-flex;align-items:center;gap:7px}.platform-login-page{display:grid;place-items:center;padding:24px}.platform-login-card{width:min(430px,100%);padding:35px;background:#fffffff2;border:1px solid #dce7f5;border-radius:24px;box-shadow:0 28px 80px #1c438029}.platform-login-card h1{margin:12px 0 9px;font-size:30px;letter-spacing:-.05em;color:#1a385e}.platform-login-card p{color:#75849a;font-size:12px;line-height:1.6}.platform-login-note{display:flex;gap:7px;align-items:flex-start;margin-top:18px;padding:10px;border-radius:10px;background:#f5f8fc;color:#708098;font-size:9px;line-height:1.45}.platform-login-note svg{flex:0 0 auto;color:#3970be}.platform-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f3f7fc;color:#243a5a}.platform-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:25px 16px;background:linear-gradient(180deg,#102c56,#173d73);color:#dce8fa}.platform-side-brand{display:flex;align-items:center;gap:9px;padding:0 10px}.platform-side-brand>div{display:grid;line-height:1}.platform-side-brand strong{font-size:15px;letter-spacing:.11em;color:#fff}.platform-side-brand small{margin-top:4px;font-size:7px;letter-spacing:.16em;color:#a9c0e4;font-weight:850}.platform-side-brand .saas-brand-mark{width:31px;height:31px;border-radius:10px;box-shadow:none}.platform-user-mini{display:flex;align-items:center;gap:9px;margin:35px 5px 25px;padding:11px 9px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:#ffffff12}.platform-avatar{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#568ee1;color:#fff;font-size:9px;font-weight:900}.platform-user-mini div{display:grid;gap:4px;min-width:0}.platform-user-mini strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#fff}.platform-user-mini small{font-size:8px;color:#a9bdda}.platform-nav{display:grid;gap:5px}.platform-nav a,.platform-logout{display:flex;align-items:center;gap:9px;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#b7c9e4;text-decoration:none;font:inherit;font-size:10px;font-weight:800;text-align:left;cursor:pointer}.platform-nav a:hover,.platform-nav a.active{background:#ffffff1f;color:#fff}.platform-logout{margin-top:auto;color:#b9c8df}.platform-logout:hover{background:#ffffff1a;color:#fff}.platform-content{min-width:0;padding:37px 44px}.platform-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}.platform-page-heading h1{margin:11px 0 6px;font-size:32px;letter-spacing:-.05em;color:#1d3d67}.platform-page-heading p{margin:0;color:#7a899e;font-size:12px}.platform-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.platform-stat-grid>div{display:grid;gap:5px;padding:18px;border:1px solid #e0e8f2;border-radius:16px;background:#fff;box-shadow:0 8px 20px #2c4e7d0a}.platform-stat-grid svg{width:18px;color:#4c78bd}.platform-stat-grid span{font-size:9px;color:#8a98aa}.platform-stat-grid strong{font-size:26px;color:#24476f}.platform-welcome-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px;border:1px solid #dbe7f5;border-radius:17px;background:linear-gradient(120deg,#edf5ff,#fff)}.platform-welcome-card h2{margin:8px 0 6px;font-size:20px;color:#22476f}.platform-welcome-card p{margin:0;max-width:600px;color:#7d8ca1;font-size:11px;line-height:1.55}.platform-welcome-card .primary-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none}.platform-table-card{border:1px solid #e0e8f2;border-radius:17px;background:#fff;overflow:hidden}.platform-toolbar{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid #e8eef5}.platform-search,.platform-filter{display:flex;align-items:center;gap:8px;border:1px solid #e1e8f1;border-radius:10px;padding:0 10px;color:#7890af}.platform-search{flex:1;max-width:570px}.platform-search input,.platform-filter select{border:0;outline:0;background:transparent;padding:10px 0;color:#4c617d;font-size:10px}.platform-search input{flex:1}.platform-filter select{cursor:pointer}.platform-table-wrap{overflow:auto}.platform-table{width:100%;border-collapse:collapse;min-width:780px}.platform-table th{padding:12px 14px;background:#f8fafd;color:#8897aa;font-size:8px;text-align:left;text-transform:uppercase;letter-spacing:.08em}.platform-table td{padding:14px;border-top:1px solid #edf1f6;color:#536681;font-size:10px;vertical-align:middle}.platform-table td strong,.platform-table td small{display:block}.platform-table td strong{color:#2c4568;font-size:10px}.platform-table td small{margin-top:3px;color:#8b99aa;font-size:8px}.platform-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#6f7d91;font-size:8px;font-weight:900}.platform-status.pending{background:#fff6df;color:#977522}.platform-status.reviewing{background:#edf4ff;color:#3972c1}.platform-status.approved,.platform-status.active{background:#eaf8f1;color:#2d7e5f}.platform-status.rejected{background:#fff0f0;color:#b55454}.table-action,.table-action-group{display:flex;align-items:center;gap:5px}.table-action{color:#326bc0;text-decoration:none;font-size:9px;font-weight:850;white-space:nowrap}.table-action-group{gap:10px}.table-empty{text-align:center!important;padding:35px!important;color:#8997a9!important}.code-pill{padding:5px 7px;border-radius:6px;background:#eef4fe;color:#3167b7;font:700 9px ui-monospace,monospace}.platform-detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.back-inline{display:inline-flex;align-items:center;gap:6px;color:#52739d;text-decoration:none;font-size:10px;font-weight:850}.platform-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.platform-detail-card,.platform-action-card{padding:25px;border:1px solid #e0e8f2;border-radius:17px;background:#fff}.detail-card-heading{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #edf1f6}.detail-card-heading>svg{color:#5d7eae}.detail-card-heading h1{margin:8px 0 5px;font-size:27px;letter-spacing:-.04em;color:#203f65}.detail-card-heading p{margin:0;color:#8290a4;font-size:10px}.detail-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:22px 0}.detail-info-grid div,.tenant-detail-stats div{display:grid;gap:5px}.detail-info-grid span,.tenant-detail-stats span,.detail-description>span{font-size:9px;color:#8a98aa;font-weight:800}.detail-info-grid strong,.tenant-detail-stats strong{font-size:11px;color:#405a79}.detail-description{padding-top:17px;border-top:1px solid #edf1f6}.detail-description p{margin:8px 0 0;color:#667991;font-size:11px;line-height:1.7;white-space:pre-wrap}.platform-action-card{display:grid;align-content:start;gap:12px}.platform-action-card h2{margin:0;font-size:18px;color:#27496e}.platform-action-card textarea{min-height:130px}.platform-action-buttons{display:grid;gap:7px}.platform-action-buttons button{justify-content:center}.issued-key-modal{width:min(490px,calc(100vw - 32px));padding:29px;border-radius:20px;background:#fff;box-shadow:0 25px 80px #0b234840;text-align:center}.issued-key-modal h2{margin:12px 0 6px;color:#23476f;font-size:22px}.issued-key-modal p,.issued-key-modal small{color:#76869d;font-size:10px;line-height:1.5}.issued-detail-list{display:grid;gap:6px;margin:20px 0;padding:15px;text-align:left;border:1px solid #e2eaf4;border-radius:13px;background:#f8fbff}.issued-detail-list>span{font-size:8px;color:#8b99ac}.issued-detail-list>strong{font-size:10px;color:#355274;word-break:break-word}.issued-key-once{display:flex;align-items:center;gap:7px}.issued-key-once code{flex:1;padding:9px;border-radius:8px;background:#edf5ff;color:#225bb1;font:800 13px ui-monospace,monospace;letter-spacing:.06em;word-break:break-all}.issued-key-once .secondary-btn{display:inline-flex;align-items:center;gap:5px}.platform-empty-page{display:grid;place-items:center;min-height:350px;gap:15px;color:#7788a0;font-size:12px}.tenant-detail-card{max-width:900px;margin-top:20px}.tenant-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px 0}.tenant-application-links{display:grid;gap:8px;margin-top:9px}.tenant-application-links a{color:#316bc2;font-size:10px;text-decoration:none}@media(max-width:900px){.saas-hero{grid-template-columns:1fr;padding-top:45px}.saas-hero-copy h1{font-size:48px}.saas-hero-visual{min-height:300px}.platform-shell{grid-template-columns:1fr}.platform-sidebar{position:static;height:auto;padding:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}.platform-user-mini{margin:0}.platform-nav{grid-column:1/-1;display:flex;overflow:auto}.platform-nav a{white-space:nowrap}.platform-logout{margin:0}.platform-content{padding:25px 18px}.platform-stat-grid{grid-template-columns:repeat(2,1fr)}.platform-detail-grid{grid-template-columns:1fr}}@media(max-width:600px){.saas-public-header{padding:18px 16px}.saas-header-actions .text-link{display:none}.saas-hero{padding:45px 18px 60px}.saas-hero-copy h1{font-size:41px}.saas-hero-copy p{font-size:14px}.saas-hero-visual{min-height:260px}.saas-visual-card{padding:24px}.saas-visual-card>strong{font-size:25px}.saas-feature-strip{grid-template-columns:1fr;padding:20px 18px}.public-form-shell{padding:22px 14px 50px}.application-heading{display:block}.application-heading h1{font-size:32px}.application-heading .secondary-btn{margin-top:13px;display:inline-flex}.public-form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-submit-row{display:grid}.form-submit-row .primary-btn{width:100%;justify-content:center}.platform-login-card{padding:25px}.platform-page-heading h1{font-size:27px}.platform-stat-grid{gap:9px}.platform-stat-grid>div{padding:13px}.platform-stat-grid strong{font-size:22px}.platform-welcome-card,.platform-toolbar{display:grid}.platform-search{max-width:none}.detail-info-grid,.tenant-detail-stats{grid-template-columns:1fr 1fr}.platform-sidebar{grid-template-columns:1fr auto}.platform-user-mini{grid-column:1/-1;order:3}.platform-nav{order:4}.platform-logout{order:2}.platform-side-brand{order:1}}@media(max-width:1100px),(hover:none)and (pointer:coarse){.camera-scan-button{display:grid}}.admin-heading-actions{display:flex;gap:8px;align-items:center}.bulk-delete-btn{white-space:nowrap}.bulk-qr-btn{white-space:nowrap;color:#2458a9;border-color:#cbdcf4;background:linear-gradient(135deg,#f7fbff,#eef5ff)}.bulk-qr-btn:hover{background:#eaf2ff;color:#17478e}.bulk-qr-btn:disabled{opacity:.7;cursor:wait}.spin-icon{animation:spin-icon 1s linear infinite}@keyframes spin-icon{to{transform:rotate(360deg)}}.page-message{padding:10px 12px;margin-bottom:12px;border:1px solid #dbe7f8;background:#f4f8ff;border-radius:10px;color:#456184;font-size:10px}.toast-stack{position:fixed;top:18px;right:18px;z-index:5000;display:grid;gap:9px;width:min(410px,calc(100vw - 28px));pointer-events:none}.premium-toast{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 11px 10px 12px;border:1px solid #dfe7f2;border-radius:15px;background:#fffffff5;box-shadow:0 18px 45px #081d3f2e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#40506a;font-size:11px;line-height:1.4;animation:toast-in .35s cubic-bezier(.2,.8,.2,1)}.premium-toast>span{flex:1}.premium-toast>button{width:26px;height:26px;border:0;border-radius:8px;background:#f2f5f9;color:#7a879a;display:grid;place-items:center;cursor:pointer}.premium-toast>button:hover{background:#e8eef7;color:#2c4f85}.premium-toast-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}.toast-success{border-color:#cbe9da}.toast-success .premium-toast-icon,.toast-confirm.toast-success .toast-confirm-icon{background:#e7f8ef;color:#18805b}.toast-error{border-color:#f0d1d1}.toast-error .premium-toast-icon,.toast-confirm.toast-error .toast-confirm-icon{background:#fff0f0;color:#c04c4c}.toast-warning{border-color:#f1dfb8}.toast-warning .premium-toast-icon,.toast-confirm.toast-warning .toast-confirm-icon{background:#fff6df;color:#b47a13}.toast-info .premium-toast-icon,.toast-confirm.toast-info .toast-confirm-icon{background:#edf4ff;color:#2f68c4}.toast-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4999;display:grid;place-items:center;padding:18px;background:#07142c80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:toast-fade .2s ease-out}.toast-confirm{width:min(520px,100%);display:grid;grid-template-columns:auto 1fr;gap:13px;padding:22px;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:#fffffffa;box-shadow:0 30px 90px #05163447;animation:toast-pop .3s cubic-bezier(.2,.8,.2,1)}.toast-confirm-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center}.toast-confirm-copy strong{display:block;color:#1e2e49;font-size:16px;letter-spacing:-.02em;margin:2px 0 5px}.toast-confirm-copy p{margin:0;color:#748198;font-size:10px;line-height:1.55;white-space:pre-line}.toast-confirm-actions{grid-column:2;display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.toast-confirm-primary{min-width:108px}.toast-confirm.toast-warning .toast-confirm-primary{background:linear-gradient(135deg,#b47a13,#d09a2d)}.toast-confirm.toast-error .toast-confirm-primary{background:linear-gradient(135deg,#ac3f45,#d45c61)}@keyframes toast-in{0%{opacity:0;transform:translate3d(20px,-8px,0) scale(.97)}to{opacity:1;transform:none}}@keyframes toast-fade{0%{opacity:0}to{opacity:1}}@keyframes toast-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.student-card.status-card-green{border-color:#bfe5d5;background:linear-gradient(90deg,#f3fcf8,#fff)}.student-card.status-card-red{border-color:#efc8c8;background:linear-gradient(90deg,#fff6f6,#fff)}.student-card.status-card-amber{border-color:#ecdcae;background:linear-gradient(90deg,#fffaf0,#fff)}.student-card.non-clickable{cursor:default}.student-card.non-clickable:hover{box-shadow:none;transform:none}.big-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850;padding:7px 9px;border-radius:9px;white-space:nowrap}.big-status.green{background:#e6f7f0;color:#137754}.big-status.red{background:#fdecec;color:#b44343}.big-status.amber{background:#fff5dc;color:#a96f06}.multi-status{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mini-state{font-size:8px;font-weight:800;padding:5px 7px;border-radius:7px;background:#f0f3f8;color:#66748a}.mini-state.meal,.mini-state.allowed{background:#e9f8f2;color:#157757}.mini-state.no_meal,.mini-state.not_allowed{background:#fceeee;color:#b44545}.mini-state.special,.mini-state.conditional{background:#fff5dd;color:#a8720a}.role-search-hint{min-height:220px;display:grid;place-content:center;text-align:center;gap:8px;color:#8a96a8;border:1px dashed #d9e1ec;border-radius:16px;background:#ffffff73}.role-search-hint strong{font-size:13px;color:#59677c}.role-search-hint span{max-width:430px;font-size:10px;line-height:1.5}.excel-overlay{align-items:center}.excel-modal{width:min(1180px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 90px #071a3a3d}.form-modal-head p{font-size:10px;color:#8894a6;margin-top:5px}.excel-tools{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-bottom:1px solid #edf0f4}.excel-help{display:flex;gap:10px;align-items:flex-start;margin:14px 18px;padding:11px;border-radius:11px;background:#f4f7fc;border:1px solid #e2e8f1;color:#63728a}.excel-help strong,.excel-help span{display:block}.excel-help strong{font-size:10px;color:#40506a}.excel-help span{font-size:9px;margin-top:3px;line-height:1.4}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:0 18px 13px;border:1px solid #e5eaf1;border-radius:12px;overflow:hidden}.import-summary>div{padding:10px 12px;border-right:1px solid #e9edf2;background:#fafbfd}.import-summary>div:last-child{border-right:0}.import-summary strong,.import-summary span{display:block}.import-summary strong{font-size:18px}.import-summary span{font-size:8px;color:#8792a4;margin-top:2px}.import-summary .success strong{color:#16805c}.import-summary .error strong{color:#bd4848}.import-summary .info strong{color:#3261ae}.excel-preview-wrap{margin:0 18px;overflow:auto;border:1px solid #e4e9ef;border-radius:12px;max-height:430px}.excel-preview{width:100%;border-collapse:collapse;min-width:950px}.excel-preview th{position:sticky;top:0;z-index:2;background:#f8fafd;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#8591a5;padding:9px 10px;text-align:left;border-bottom:1px solid #e7ebf1}.excel-preview td{font-size:9px;padding:9px 10px;border-bottom:1px solid #eff2f5;color:#536078}.excel-preview tr:last-child td{border-bottom:0}.excel-preview .invalid-row{background:#fff7f7}.import-mode{font-size:7px;font-weight:850;padding:4px 6px;border-radius:6px}.import-mode.new{background:#e9f8f2;color:#157757}.import-mode.update{background:#edf3ff;color:#315fae}.status-dot-text{font-size:8px;font-weight:800}.status-dot-text.meal,.status-dot-text.allowed{color:#16805d}.status-dot-text.no_meal,.status-dot-text.not_allowed{color:#b74646}.status-dot-text.special,.status-dot-text.conditional{color:#a77411}.row-valid,.row-invalid{display:flex;align-items:center;gap:4px;font-size:8px;font-weight:750}.row-valid{color:#16805d}.row-invalid{color:#b74646}.excel-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 18px}.excel-footer>div:first-child span{display:flex;align-items:center;gap:6px;font-size:9px;color:#7b8799}.form-actions-inline{display:flex;gap:7px}.import-message{margin:12px 18px 0;padding:10px 12px;background:#f0f6ff;color:#466487;border:1px solid #dce7f6;border-radius:9px;font-size:9px}.users-panel{overflow:hidden;padding:0}.users-head,.user-row{display:grid;grid-template-columns:minmax(230px,1.1fr) 150px minmax(260px,1.5fr) 90px 78px;align-items:center;gap:10px}.users-head{padding:9px 13px;background:#fafbfd;border-bottom:1px solid #e9edf2;color:#8994a5;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.user-row{padding:11px 13px}.user-cell-main{display:flex;align-items:center;gap:9px}.user-cell-main strong,.user-cell-main span{display:block}.user-cell-main strong{font-size:10px}.user-cell-main span{font-size:8px;color:#8d97a8;margin-top:2px}.role-badge{display:inline-flex;padding:5px 7px;border-radius:7px;font-size:8px;font-weight:800;background:#eef3fa;color:#536b95}.role-admin{background:#eeeafd;color:#7257b9}.role-security{background:#e9f1ff;color:#315fae}.role-cafeteria{background:#eaf8f2;color:#177b5a}.role-vice_principal{background:#fff4dc;color:#9b6a0c}.account-state{font-size:8px;font-weight:850;padding:5px 7px;border-radius:7px}.account-state.active{background:#e9f8f2;color:#167a59}.account-state.passive{background:#f0f2f5;color:#7d8797}.user-actions{display:flex;justify-content:flex-end;gap:5px}.user-form-modal{width:min(720px,96vw)}.permissions-editor{margin:0 18px;padding:13px;border:1px solid #e5eaf0;border-radius:12px}.permissions-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.permissions-title>div{display:flex;align-items:center;gap:7px}.permissions-title strong{font-size:11px}.permissions-title>span{font-size:8px;color:#8994a6;max-width:360px}.permission-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.permission-checkboxes label{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid #edf0f4;border-radius:9px;font-size:9px;color:#56647a}.permission-checkboxes input{accent-color:#2863ca}.active-switch{display:flex;align-items:center;gap:7px;margin:13px 18px 0;font-size:9px;font-weight:800}.active-switch input{accent-color:#2863ca}.summary-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.summary-card{display:flex;align-items:center;gap:9px;padding:12px;background:#fff;border:1px solid #e5eaf1;border-radius:13px}.summary-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#eef3fb;color:#3762ad}.summary-icon.green{background:#eaf8f2;color:#16805d}.summary-icon.red{background:#fdeeee;color:#b74646}.summary-icon.amber{background:#fff5dc;color:#a77411}.summary-card span,.summary-card strong{display:block}.summary-card span{font-size:8px;color:#8591a4}.summary-card strong{font-size:18px;margin-top:2px}.class-summary-panel{overflow:hidden}.class-summary-head{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9edf2}.class-summary-head h2{font-size:15px;margin-top:3px}.class-summary-head>span{font-size:9px;color:#8792a5}.class-stats-table-wrap{overflow:auto}.class-stats-table{width:100%;border-collapse:collapse;min-width:950px}.class-stats-table th{padding:9px 10px;text-align:left;font-size:8px;text-transform:uppercase;color:#8893a5;background:#fafbfd;border-bottom:1px solid #e9edf2}.class-stats-table td{padding:10px;font-size:9px;border-bottom:1px solid #f0f2f5;color:#566379}.class-stats-table td strong{font-size:11px;color:#2f3d54}.number-state{display:inline-flex;min-width:27px;justify-content:center;padding:4px 6px;border-radius:6px;font-weight:850}.number-state.green{background:#eaf8f2;color:#16805d}.number-state.red{background:#fdeeee;color:#b74646}.number-state.amber{background:#fff5dc;color:#a77411}.class-bars{width:120px;height:7px;border-radius:99px;background:#eef1f5;display:flex;overflow:hidden}.class-bars i{height:100%;display:block}.class-bars i.green{background:#28a579}.class-bars i.red{background:#d76464}.class-bars i.amber{background:#d9a23a}@media(max-width:1200px){.summary-cards{grid-template-columns:repeat(3,1fr)}.users-head,.user-row{grid-template-columns:minmax(210px,1.1fr) 130px minmax(220px,1.3fr) 80px 70px}}@media(max-width:900px){.users-head{display:none}.user-row{grid-template-columns:1fr auto;gap:8px}.user-row>div:nth-child(2),.user-row>div:nth-child(3),.user-row>div:nth-child(4){grid-column:1}.user-actions{grid-column:2;grid-row:1}.summary-cards{grid-template-columns:repeat(2,1fr)}.excel-tools{flex-wrap:wrap}.import-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.admin-heading-actions{margin-top:12px;flex-wrap:wrap}.admin-heading-actions button{flex:1}.summary-cards{grid-template-columns:1fr 1fr}.permission-checkboxes{grid-template-columns:1fr}.excel-footer{display:block}.form-actions-inline{margin-top:10px}.main-search-box input{min-width:0}.big-status{font-size:8px;padding:6px}.student-card{flex-wrap:wrap}.student-card .grow{min-width:140px}}.record-actions{flex-wrap:wrap}@media(max-width:600px){.record-action-btn{flex:1;padding:0 9px}}.role-login-card{width:min(560px,100%)}.role-login-card>p{margin-bottom:22px}.field-caption{display:block;font-size:11px;font-weight:800;color:#34435a;margin-bottom:9px}.role-login-block{margin-top:18px}.role-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.role-choice{min-height:64px;border:1px solid #dfe5ed;background:#fff;border-radius:12px;padding:9px 10px;display:flex;align-items:center;gap:9px;text-align:left;color:#405069;transition:.18s}.role-choice:hover{border-color:#bfd0eb;background:#f8fbff}.role-choice.active{border-color:#77a0ef;background:linear-gradient(135deg,#eef5ff,#f8fbff);box-shadow:0 0 0 3px #2865d912}.role-choice:nth-child(5){grid-column:span 2}.role-choice-icon{width:34px;height:34px;border-radius:10px;background:#f0f4fb;color:#315fae;display:grid;place-items:center;flex:0 0 auto}.role-choice.active .role-choice-icon{background:#2863ca;color:#fff}.role-choice-copy{flex:1;min-width:0}.role-choice-copy strong,.role-choice-copy small{display:block}.role-choice-copy strong{font-size:10px;color:#26354d}.role-choice-copy small{font-size:8px;color:#8b96a8;margin-top:2px}.role-check{width:18px;color:#2462c9;font-size:14px;font-weight:900;text-align:center}.access-key-label{margin-top:18px!important}.access-key-input input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;letter-spacing:.05em;font-weight:750}.key-demo-note{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}.key-demo-note strong{grid-column:1/-1}.issued-key-banner{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding:11px 12px;background:linear-gradient(90deg,#eef8f3,#f8fcfa);border:1px solid #cfe9dc;border-radius:12px;color:#476252;position:relative}.issued-key-icon{width:36px;height:36px;border-radius:10px;background:#dff3e9;color:#187a59;display:grid;place-items:center;flex:0 0 auto}.issued-key-banner strong,.issued-key-banner span{display:block}.issued-key-banner strong{font-size:10px;color:#315746}.issued-key-banner span{font-size:8px;margin-top:2px;color:#6f8279}.issued-key-code{border:0;background:transparent;padding:0;cursor:pointer}.issued-key-banner code{font-size:11px;font-weight:900;letter-spacing:.04em;color:#164e3b;background:#fff;border:1px dashed #b9ddcc;padding:8px 10px;border-radius:9px;white-space:nowrap;display:block}.issued-key-code:hover code,.generated-key-box code:hover{background:#f0f8f3}.banner-close{border:0;background:transparent;color:#7e9188;display:grid;place-items:center;padding:4px}.v5-users-head,.v5-user-row{grid-template-columns:minmax(180px,1.15fr) 120px minmax(190px,1.25fr) 140px 68px 106px;gap:8px}.v5-user-row>div{min-width:0}.v5-user-row .user-actions{min-width:106px}.masked-key{display:inline-flex;align-items:center;gap:6px;font-size:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#5e6d83;background:#f4f6fa;border:1px solid #e3e8ef;border-radius:7px;padding:5px 7px;white-space:nowrap;cursor:pointer}.masked-key:hover{background:#edf3fb;color:#315ea9}.share-action{color:#2e6ac5!important}.share-action:hover{background:#eaf2ff!important}.user-core-grid{padding-bottom:12px}.access-key-manager{margin:0 18px 13px;padding:13px;border:1px solid #dfe7f2;border-radius:13px;background:linear-gradient(145deg,#f8fbff,#f5f8fd)}.access-key-manager-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.access-key-manager-head>div:first-child{display:flex;align-items:center;gap:8px;color:#345b9e}.access-key-manager-head strong,.access-key-manager-head span{display:block}.access-key-manager-head strong{font-size:11px;color:#33435c}.access-key-manager-head span{font-size:8px;color:#8692a4;margin-top:2px}.generated-key-box{display:flex;align-items:center;gap:8px;margin-top:11px;padding:10px;background:#fff;border:1px dashed #bfcfe6;border-radius:10px}.generated-key-box code{flex:1;font-size:16px;font-weight:900;letter-spacing:.08em;color:#173f87;white-space:nowrap;overflow:auto;cursor:pointer;padding:4px;border-radius:6px}.key-copy-btn{border:0;background:#edf4ff;color:#315fae;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:5px;font-size:8px;font-weight:850}.masked-key-large{margin-top:11px;padding:11px;border-radius:10px;background:#fff;border:1px solid #e4e9f0;color:#647187;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;display:flex;align-items:center;gap:7px}.key-warning{margin-top:8px;padding:8px 9px;border-radius:8px;background:#fff7e8;color:#8c681f;font-size:8px;border:1px solid #f0dfb8}.remember-key-option{display:flex!important;align-items:center;gap:7px;margin-top:12px!important;color:#64748a;font-size:10px!important}.remember-key-option input{width:15px!important;height:15px!important;accent-color:#2863ca}.remember-key-option span{font-size:10px!important;font-weight:650!important;margin:0!important}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:#07162f52;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:welcome-fade .2s ease-out}.welcome-card{min-width:280px;padding:24px 30px;text-align:center;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 24px 70px #07162f40;animation:welcome-pop .35s cubic-bezier(.2,.8,.2,1)}.welcome-icon{width:52px;height:52px;margin:0 auto 13px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2863ca,#5c8feb);box-shadow:0 10px 22px #2863ca40}.welcome-card .eyebrow{display:block;color:#5272ad;font-size:9px}.welcome-card strong,.welcome-card>span:last-child{display:block}.welcome-card strong{margin-top:7px;color:#1e2e49;font-size:22px;letter-spacing:-.03em}.welcome-card>span:last-child{margin-top:6px;color:#78869b;font-size:11px}.operation-status-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:grid;place-items:center;background:#07162f38;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:operation-fade .18s ease-out}.operation-status-card{min-width:270px;max-width:360px;padding:26px 30px;text-align:center;background:#fffffffa;border:1px solid rgba(255,255,255,.85);border-radius:22px;box-shadow:0 24px 70px #071a3a40;animation:operation-pop .3s cubic-bezier(.2,.8,.2,1)}.operation-status-card strong,.operation-status-card>span{display:block}.operation-status-card strong{margin-top:13px;color:#1e2e49;font-size:18px;letter-spacing:-.025em}.operation-status-card>span{margin-top:6px;color:#78869b;font-size:10px;line-height:1.45}.operation-loader{display:flex;justify-content:center;gap:7px;height:31px;align-items:center}.operation-loader span{width:10px;height:10px;border-radius:50%;background:#2865d9;animation:operation-pulse 1s ease-in-out infinite}.operation-loader span:nth-child(2){animation-delay:.14s}.operation-loader span:nth-child(3){animation-delay:.28s}.operation-success-icon{width:58px;height:58px;margin:0 auto;display:grid;place-items:center;color:#16815d;background:#e7f8f0;border:1px solid #bfe8d6;border-radius:18px;box-shadow:0 10px 25px #16815d24}.operation-status-overlay.success{background:#0f45322e}.operation-status-overlay.success .operation-status-card{border-color:#d4efe2}.operation-status-overlay.success .operation-status-card strong{color:#176b51}@media(max-width:1200px){.v5-users-head,.v5-user-row{grid-template-columns:minmax(150px,1fr) 105px minmax(150px,1fr) 125px 62px 106px;gap:7px}}@media(max-width:900px){.v5-users-head{display:none}.v5-user-row{grid-template-columns:1fr auto;gap:7px}.v5-user-row>div:nth-child(2),.v5-user-row>div:nth-child(3),.v5-user-row>div:nth-child(4),.v5-user-row>div:nth-child(5){grid-column:1}.v5-user-row .user-actions{grid-column:2;grid-row:1}.issued-key-banner{flex-wrap:wrap}.issued-key-banner code{order:3;flex:1}.issued-key-banner .secondary-btn{order:4}}@media(max-width:600px){.role-login-card{width:100%}.role-choice-grid{grid-template-columns:1fr}.role-choice:nth-child(5){grid-column:auto}.key-demo-note{grid-template-columns:1fr}.generated-key-box{display:block}.generated-key-box code{display:block;margin-bottom:8px}.key-copy-btn{width:100%;justify-content:center}.access-key-manager-head{align-items:flex-start}.access-key-manager-head .secondary-btn{white-space:nowrap}.issued-key-banner code{width:100%;order:4}.issued-key-banner .secondary-btn{order:5;flex:1}}@media(max-width:600px){.toast-stack{top:auto;right:12px;bottom:14px;width:calc(100vw - 24px)}.toast-confirm{padding:18px;grid-template-columns:auto 1fr}.toast-confirm-actions{grid-column:1/-1}.toast-confirm-copy strong{font-size:15px}}.topbar-security{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e0e7f0;border-radius:999px;background:#f8fafc;color:#728096;font-size:9px;font-weight:700}.privacy-search-note{margin:12px auto 0;max-width:660px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;border-radius:10px;background:#f0f5fc;border:1px solid #dde8f6;color:#61718a;font-size:9px}.privacy-search-note svg{color:#4270c3;flex:0 0 auto}.session-notice{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px 12px;border:1px solid #f0dfb7;border-radius:10px;background:#fff9eb;color:#8a691e;font-size:10px;line-height:1.45}.key-privacy-note{display:flex;align-items:flex-start;gap:7px;margin-top:9px;padding:8px 10px;border-radius:9px;background:#f5f8fc;color:#6b788d;font-size:9px;line-height:1.45}.privacy-admin-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px;padding:12px 14px;border:1px solid #dce8f7;border-radius:12px;background:#f5f9ff;color:#52657f}.privacy-admin-banner svg{color:#3568c3;flex:0 0 auto}.privacy-admin-banner strong,.privacy-admin-banner span{display:block}.privacy-admin-banner strong{font-size:10px;color:#334761;margin-bottom:3px}.privacy-admin-banner span{font-size:9px;line-height:1.5}.privacy-guardian-right{min-width:142px}.reveal-phone-btn{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:4px 6px;border:1px solid #dde5ee;border-radius:6px;background:#f7f9fc;color:#5c6c84;font-size:7px;font-weight:800}.reveal-phone-btn:hover{background:#edf3fb;color:#315ea9}.audit-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}.audit-stat-grid>div{position:relative;display:grid;gap:4px;padding:13px 14px;background:#fff;border:1px solid #e5eaf1;border-radius:13px}.audit-stat-grid svg{width:17px;color:#5574aa;margin-bottom:5px}.audit-stat-grid span{font-size:8px;color:#8793a6}.audit-stat-grid strong{font-size:20px;color:#24334c}.action-chip{align-items:center;gap:4px}.action-chip.login{background:#eaf8f1;color:#26775b}.action-chip.login_failed{background:#fff0f0;color:#b64444}.action-chip.logout,.action-chip.session_timeout{background:#f2f4f7;color:#68758a}.action-chip.phone_reveal{background:#fff7e6;color:#9b6b17}.action-chip.user_create,.action-chip.user_update,.action-chip.user_delete,.action-chip.key_rotate{background:#f1edff;color:#7153bb}@media(max-width:950px){.topbar-security{display:none}.audit-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.audit-stat-grid{grid-template-columns:1fr 1fr}.privacy-guardian-right{min-width:110px}}.key-only-login-card{width:min(470px,100%)}.key-only-login-card>p{margin-bottom:20px;line-height:1.55}.student-photo{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#e7eef9,#d8e5fa);color:#1d4a98;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;font-size:11px;font-weight:850;border:1px solid rgba(44,91,170,.08)}.student-photo.sm{width:34px;height:34px;border-radius:10px;font-size:9px}.student-photo.md{width:44px;height:44px;border-radius:13px;font-size:11px}.student-photo.lg{width:72px;height:72px;border-radius:19px;font-size:17px;box-shadow:0 8px 22px #1d4a981f}.student-photo.xl{width:78px;height:78px;border-radius:21px;font-size:18px}.student-photo.has-photo{background:#eaf0f8;border-color:#d9e2ee}.student-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.student-card .student-photo{box-shadow:0 5px 14px #16366c14}.student-card.status-card-green .student-photo{border-color:#bfe6d6}.student-card.status-card-red .student-photo{border-color:#efcaca}.student-card.status-card-amber .student-photo{border-color:#ead8a7}.record-student-main{display:flex;align-items:center;gap:14px;min-width:0}.record-student-main>div:last-child{min-width:0}.record-student-main h2{overflow:hidden;text-overflow:ellipsis}.student-photo-editor{margin:0 18px 16px;padding:14px;border:1px solid #dde6f2;border-radius:14px;background:linear-gradient(145deg,#f7faff,#f3f7fd);display:flex;align-items:center;gap:14px}.student-photo-editor-copy{flex:1;min-width:0}.student-photo-editor-copy>strong,.student-photo-editor-copy>span,.student-photo-editor-copy>small{display:block}.student-photo-editor-copy>strong{font-size:12px;color:#2b3d59}.student-photo-editor-copy>span{font-size:9px;color:#7f8da2;line-height:1.45;margin-top:3px}.student-photo-editor-copy>small{font-size:8px;color:#96a2b3;margin-top:8px}.student-photo-editor-actions{display:flex;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}.photo-upload-btn{cursor:pointer;font-size:9px;padding:8px 10px}.photo-upload-btn input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.photo-remove-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-radius:9px;border:1px solid #efd7d7;background:#fff4f4;color:#b24c4c;font-size:9px;font-weight:800}.login-page{--tenant-primary:#2863ca;--tenant-secondary:#173a70}.login-page .primary-btn{background:var(--tenant-primary)}.login-page .logo-mark{background:linear-gradient(145deg,var(--tenant-secondary),var(--tenant-primary))}.login-page .role-choice.active{border-color:var(--tenant-primary)}.brand-logo-image{width:40px;height:40px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid #e3eaf4;padding:4px}@media(max-width:600px){.key-only-login-card{width:100%}.record-student-main{align-items:flex-start}.student-photo.lg{width:58px;height:58px;border-radius:16px}.student-photo-editor{align-items:flex-start;margin:0 12px 14px}.student-photo-editor .student-photo.xl{width:64px;height:64px;border-radius:17px}.student-photo-editor-actions{display:grid;grid-template-columns:1fr}}
