.logs-page{padding-bottom:3rem}.logs-page .card{border:1px solid #94a3b833;box-shadow:0 18px 38px #0f172a0f}.card.logs-panel{border-radius:1.25rem;overflow:hidden}.card.logs-panel .card-header.logs-panel__header{background:linear-gradient(135deg,#0f172af5,#0e7490d6);border-bottom:1px solid #ffffff14}.card.logs-panel .card-header.logs-panel__header h2{color:#fff}.card.logs-panel .card-body.logs-panel__body{background:linear-gradient(180deg,#f8fafce6,#fffffff5)}.logs-filters .card-body{padding:.25rem .5rem!important}.table.logs-table{border-spacing:0 .35rem}.table.logs-table thead th{background:linear-gradient(135deg,#0e74901a,#fbbf241f);color:#0f172a;font-size:.7rem;letter-spacing:.12em;padding-bottom:.7rem;padding-top:.7rem;text-transform:uppercase;white-space:nowrap}.table.logs-table tbody td{background:#ffffffd1;border-bottom:1px solid #94a3b82e;border-top:1px solid #94a3b82e;color:#334155;padding-bottom:.7rem;padding-top:.7rem}.table.logs-table tbody tr:nth-child(2n) td{background:#f8fafce6}.table.logs-table tbody tr:hover td{background:linear-gradient(135deg,#eff6ffeb,#fff);box-shadow:inset 0 0 0 1px #60a5fa24}.table.logs-table td:first-child,.table.logs-table th:first-child{padding-left:1.1rem}.table.logs-table td:last-child,.table.logs-table th:last-child{padding-right:1.1rem}.table.logs-table .badge{border-width:1px;box-shadow:inset 0 0 0 1px #ffffff1f;font-size:.64rem;letter-spacing:.08em;padding:.38rem .7rem}.table.logs-table .badge-success{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 8px 18px #22c55e2e}.table.logs-table .badge-error{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 8px 18px #ef44442e}.table.logs-table .badge-warning{background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 8px 18px #f59e0b2e}@media (max-width:1024px){.logs-page{padding-left:.85rem;padding-right:.85rem}.logs-page .card-body{padding:1.25rem}.logs-panel .card-body.logs-panel__body{padding:.9rem}.logs-table{font-size:.73rem;min-width:620px}.logs-table thead th{font-size:.66rem}}@media (max-width:768px){.logs-page{padding-left:.5rem;padding-right:.5rem}.logs-page .card-body{padding:1rem}.logs-page .card-header{padding:1rem 1rem .9rem}.logs-panel .card-body.logs-panel__body{padding:.75rem}.logs-filters .card-body{padding:.75rem!important}.logs-filters .flex.flex-wrap.gap-4.items-end{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.logs-page .overflow-x-auto{-webkit-overflow-scrolling:touch;overflow-x:auto}.logs-table{font-size:.72rem;min-width:560px;width:100%}.logs-table td,.logs-table th{white-space:nowrap}.logs-page .btn{width:100%}.logs-page .flex.items-center.justify-between.mt-4.pt-4.border-t{align-items:stretch;flex-direction:column;gap:.75rem}}.gap-section-xxl>*+*{margin-top:4rem!important}.floating-food-bg{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:-1}.floating-food{animation:floatY 8s ease-in-out infinite alternate;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12));height:64px;opacity:1;position:absolute;width:64px}@keyframes floatY{0%{transform:translateY(0) scale(1) rotate(-8deg)}to{transform:translateY(-40px) scale(1.08) rotate(8deg)}}#root,.App,body,html{height:100%}.App{display:flex;flex-direction:column;min-height:100vh}.footer-section{margin-top:auto}.app-navbar{position:sticky;top:0;z-index:40}.auth-loading,.login-screen{min-height:100vh}.auth-loading{background:#edf3f0;color:#33514b;display:grid;font-weight:700;place-items:center}.login-screen{background-color:#142d2b;background-position:50%;background-repeat:no-repeat;background-size:cover;display:grid;padding:24px;place-items:center}.login-panel{background:#fff;border:1px solid #dbe5df;border-radius:14px;box-shadow:0 22px 60px #142d2b21;padding:2.1rem 2.15rem 2.2rem;width:min(100%,480px)}.login-brand{align-items:center;color:#173b35;display:flex;flex-direction:column;font-size:1.15rem;font-weight:800;gap:12px;justify-content:center;text-align:center}.login-brand img{height:128px;max-width:260px;object-fit:contain;width:auto}.login-heading{grid-gap:8px;display:grid;gap:8px;justify-items:center;margin-top:.75rem;text-align:center}.login-heading p{color:#0e7490;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin:0}.login-heading h1{color:#142d2b;font-size:2.35rem;margin:0}.login-heading span{color:#64748b;font-size:.98rem}.login-form{grid-gap:10px;display:grid;gap:10px;margin-top:1.7rem}.login-form label{color:#334155;font-size:.9rem;font-weight:700;margin-top:8px}.login-form input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#0f172a;font:inherit;font-size:1rem;min-height:48px;padding:.75rem .85rem;width:100%}.login-form input:focus{border-color:#0e7490;outline:3px solid #0e74902b}.login-password-field{position:relative}.login-password-field input{padding-right:3rem}.login-form .login-password-toggle{background:#0000;border:0;border-radius:6px;box-shadow:none;color:#64748b;display:grid;margin:0;min-height:2.35rem;padding:.55rem;place-items:center;position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.35rem}.login-form .login-password-toggle:hover:not(:disabled){background:#f1f5f9;box-shadow:none;color:#0e7490;transform:translateY(-50%)}.login-password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;height:1.25rem;width:1.25rem}.login-form button{background:#0e7490;border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:1rem;font-weight:700;margin-top:10px;min-height:48px}.login-form button:disabled{cursor:wait;opacity:.7}.login-error{background:#fee2e2;border-radius:8px;color:#991b1b;font-size:.86rem;margin:4px 0;padding:.7rem .8rem}.login-footnote{color:#64748b;font-size:.78rem;margin:1.25rem 0 0;text-align:center}.navbar-signout{white-space:nowrap}.btn.navbar-signout{background:linear-gradient(120deg,#d9f99d,#67e8f9);border:1px solid #d9f99dcc;box-shadow:0 4px 14px #67e8f933;color:#12343b;font-weight:800}.btn.navbar-signout:hover:not(:disabled){background:linear-gradient(120deg,#bef264,#22d3ee);border-color:#a5f3fc;box-shadow:0 6px 18px #67e8f94d;color:#0c2930}.app-footer{background:#142d2b;border-top:3px solid #f59e0b;color:#e6f0ec;overflow:hidden;position:relative}.app-footer:after{animation:footer-edge-sweep 1.1s ease-out .2s forwards;background:#fde68a;content:"";height:3px;left:0;pointer-events:none;position:absolute;top:0;transform:translateX(-110%);width:34%}.app-footer__bottom{animation:footer-row-arrive .45s ease-out .1s both;color:#a8bdb6;display:flex;font-size:.78rem;gap:12px;justify-content:space-between;padding:1.15rem 0}.app-footer__bottom strong{color:#fbbf24;font-weight:700}@keyframes footer-edge-sweep{to{transform:translateX(300%)}}@keyframes footer-row-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.app-footer:after,.app-footer__bottom{animation:none}}@media (max-width:480px){.login-screen{padding:16px}.login-panel{padding:1.5rem}.app-footer__bottom{align-items:center;flex-direction:column;text-align:center}}.mt-section-xl{margin-top:5rem!important}.stats-card-grid{grid-gap:2rem;gap:2rem;justify-content:center;place-items:center}@media (min-width:768px){.stats-card-grid{gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:1000px}}.logs-stats-grid{grid-gap:.5rem!important;display:grid!important;gap:.5rem!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:1.5rem auto 0!important;max-width:100%!important;place-items:unset!important}@media (max-width:900px){.logs-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:520px){.logs-stats-grid{grid-template-columns:minmax(0,1fr)!important}}.logs-stats-grid .card.logs-stat-card{--logs-stat-accent:#368c9a;--logs-stat-border:#c5e4e8;background:#eff9fa;border:1px solid var(--logs-stat-border);border-left:4px solid var(--logs-stat-accent);border-radius:10px}.card.logs-stat-card:hover{border-color:var(--logs-stat-border);border-left-color:var(--logs-stat-accent)}.logs-stats-grid .card.logs-stat-card--approved{--logs-stat-accent:#568a3f;--logs-stat-border:#d5e8c8;background:#f3f8ec}.logs-stats-grid .card.logs-stat-card--denied{--logs-stat-accent:#bd6558;--logs-stat-border:#efd1ca;background:#fff5f2}.logs-stats-grid .card.logs-stat-card--rate{--logs-stat-accent:#b59029;--logs-stat-border:#e9ddb0;background:#fffbed}.logs-stats-grid .card.logs-stat-card .card-body{padding:1.25rem 1.35rem}.logs-stat-card .text-sm{color:#5d6c67;font-weight:600}.logs-stat-card--total .text-2xl{color:#286d78}.logs-stat-card--approved .text-success{color:#467837}.logs-stat-card--denied .text-error{color:#a8473d}.logs-stat-card--rate .text-2xl{color:#8a6c16}.rounded-3xl{border-radius:2rem!important}.brand-word{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(90deg,#1e293b 30%,#3b82f6);-webkit-background-clip:text;background-clip:text;color:#1e293b;display:inline-block}:root{--primary-color:#f97316;--primary-hover:#ea580c;--primary-light:#fed7aa;--primary-soft:#f973161f;--success-color:#22c55e;--success-light:#bbf7d0;--success-soft:#22c55e1f;--error-color:#ef4444;--error-light:#fee2e2;--error-soft:#ef44441f;--warning-color:#eab308;--warning-light:#fef3c7;--warning-soft:#eab3081f;--info-color:#06b6d4;--info-light:#e0f2fe;--surface:#ffffff14;--surface-strong:#ffffff1f;--surface-border:#ffffff2e;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fef3c7,#fbbf24 25%,#fb923c 50%,#f97316 75%,#fed7aa);background-attachment:fixed;color:#171717;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-family:var(--font-sans);line-height:1.6;min-height:100vh}.student-hero{background:linear-gradient(135deg,#0f172ad1,#1e293be6 35%,#6366f1b3);border:1px solid #ffffff24;border-radius:1.8rem;box-shadow:0 18px 40px #0f172a2e;margin-top:1.5rem;padding:1.35rem 1.5rem;position:relative}.student-management-page{padding-bottom:3rem}.student-import-panel{grid-gap:1rem;background:#fffffff0;border:1px solid #94a3b83d;border-radius:12px;box-shadow:0 12px 26px #0f172a0f;display:grid;gap:1rem;padding:1.25rem}.student-import-panel__controls,.student-import-panel__header,.student-import-preview__actions,.student-import-preview__heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.student-import-panel__header h2{color:#0f172a;font-size:1.15rem;margin:.15rem 0 .35rem}.student-import-panel__header p:last-child,.student-import-panel__note{color:#64748b;font-size:.84rem;margin:0}.student-import-panel__eyebrow{color:#0f766e;font-size:.68rem;font-weight:800;margin:0;text-transform:uppercase}.student-import-panel__controls{flex-wrap:wrap;justify-content:flex-start}.student-import-file-label{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:700;min-height:2.6rem;padding:.55rem .9rem}.student-import-panel__controls input[type=file]{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.student-import-panel__controls input[type=file]:focus-visible+.student-import-panel__filename{outline:2px solid #0e7490;outline-offset:3px}.student-import-panel__filename{color:#475569;font-size:.85rem;overflow-wrap:anywhere}.student-import-preview{grid-gap:.75rem;border-top:1px solid #e2e8f0;display:grid;gap:.75rem;padding-top:.8rem}.student-import-preview__heading strong{color:#0f172a}.student-import-preview__heading span{color:#64748b;font-size:.8rem}.student-import-preview__scroll{border:1px solid #e2e8f0;border-radius:8px;max-width:100%;overflow-x:auto}.student-import-preview table{border-collapse:collapse;font-size:.82rem;min-width:540px;width:100%}.student-import-preview td,.student-import-preview th{border-bottom:1px solid #e2e8f0;padding:.6rem .7rem;text-align:left}.student-import-preview th{background:#f1f5f9;color:#334155;font-size:.7rem;text-transform:uppercase}.student-import-preview tr:last-child td{border-bottom:0}.student-import-preview .is-ready{color:#15803d;font-weight:700}.student-import-panel__message.is-error,.student-import-preview .is-error{color:#b91c1c}.student-import-panel__message{font-size:.85rem;margin:0}.student-import-result{background:#f0fdf4;border-radius:8px;color:#166534;font-size:.88rem;padding:.8rem 1rem}.student-import-result ul{grid-gap:.25rem;color:#7f1d1d;display:grid;font-size:.8rem;gap:.25rem;margin:.55rem 0 0;max-height:9rem;overflow:auto;padding-left:1.2rem}.enrollment-student-picker{grid-gap:6px;display:grid;gap:6px;min-width:0}.enrollment-student-picker__label{color:#334155;font-size:.9rem;font-weight:600}.enrollment-student-picker__label span{color:#b91c1c}.enrollment-student-picker__dropdown{position:relative}.enrollment-student-picker__dropdown>summary{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:9px;color:#334155;cursor:pointer;display:flex;font-size:.95rem;justify-content:space-between;list-style:none;min-height:2.8rem;padding:.72rem .8rem}.enrollment-student-picker__dropdown>summary::-webkit-details-marker{display:none}.enrollment-student-picker__dropdown>summary:after{color:#64748b;content:"▾"}.enrollment-student-picker__dropdown[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#0e7490}.enrollment-student-picker__menu{background:#fff;border:1px solid #cbd5e1;border-radius:0 0 9px 9px;border-top:0;box-shadow:0 14px 28px #0f172a29;left:0;padding:.75rem;position:absolute;right:0;top:100%;z-index:20}.enrollment-student-picker__menu>input[type=search]{border:1px solid #cbd5e1;border-radius:7px;font:inherit;min-height:2.5rem;padding:.55rem .7rem;width:100%}.enrollment-student-picker__menu-actions{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.5rem;justify-content:space-between;padding:.55rem 0}.enrollment-student-picker__menu-actions button{background:#0000;border:0;color:#0e7490;cursor:pointer;font:inherit;font-weight:700;padding:0}.enrollment-student-picker__options{display:grid;max-height:15rem;overflow-y:auto;overscroll-behavior:contain}.enrollment-student-picker__options label{align-items:center;border-top:1px solid #f1f5f9;color:#334155;cursor:pointer;display:flex;font-weight:400;gap:.65rem;padding:.6rem .35rem}.enrollment-student-picker__options label:hover{background:#f8fafc}.enrollment-student-picker__options label.is-assigned,.enrollment-student-picker__options label.is-assigned:hover{background:#f8fafc;color:#64748b;cursor:not-allowed;opacity:.68}.enrollment-student-picker__options input[type=checkbox]{accent-color:#0e7490;flex:0 0 auto;height:1rem;width:1rem}.enrollment-student-picker__options input[type=checkbox]:disabled{cursor:not-allowed}.enrollment-student-picker__options label span{display:flex;flex-direction:column;gap:.1rem;min-width:0}.enrollment-student-picker__options strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrollment-student-picker__options small{color:#64748b;font-size:.74rem}.enrollment-student-picker__options>p{color:#64748b;font-size:.84rem;margin:0;padding:.8rem .35rem}.enrollment-bulk-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#166534;font-size:.9rem;padding:.85rem 1rem}.enrollment-bulk-result ul{grid-gap:.3rem;color:#991b1b;display:grid;font-size:.82rem;gap:.3rem;margin:.6rem 0 0;max-height:10rem;overflow-y:auto;padding-left:1.2rem}.student-hero__content{align-items:center;display:flex;gap:1rem;justify-content:space-between}.student-hero__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem}@media (max-width:640px){.student-import-panel{padding:1rem}.student-import-panel__header,.student-import-preview__actions{align-items:stretch;flex-direction:column}.student-import-panel__header>.btn,.student-import-preview__actions>.btn{width:100%}}.class-picker{grid-gap:.5rem;display:grid;gap:.5rem;min-width:0}.class-picker__heading{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem .8rem;justify-content:space-between}.class-picker__label{color:#334155;font-size:.86rem;font-weight:700}.class-picker__groups{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.class-picker__option{align-items:center;background:#f8fbf9;border:1px solid #d6e2dc;border-radius:6px;color:#49615a;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:700;gap:.38rem;min-height:2rem;padding:.3rem .55rem;transition:background .15s ease,border-color .15s ease}.class-picker__option.is-selected{background:#eaf5ed;border-color:#78b8a3;color:#245b48}.class-picker__option input{accent-color:#347f69;height:.95rem;margin:0;width:.95rem}.class-picker__hint{color:#71817b;font-size:.76rem;margin:0}.student-title{color:#fff;font-size:clamp(2.2rem,4vw,3rem);font-weight:800;letter-spacing:-.06em;margin:0}.student-summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:2.25rem;margin-top:2rem}.student-summary-card{background:#ffffffe0;border:1px solid #ffffff2e;border-radius:1.5rem;box-shadow:0 18px 36px #0f172a14;overflow:hidden;padding:1.2rem 1.1rem;position:relative}.student-summary-card--blue{background:linear-gradient(135deg,#dbeafef5,#fffffff0)}.student-summary-card--green{background:linear-gradient(135deg,#dcfce7f5,#fffffff0)}.student-summary-card--orange{background:linear-gradient(135deg,#fef3c7f5,#fffffff0)}.student-summary-card--purple{background:linear-gradient(135deg,#ede9fef5,#fffffff0)}.student-summary-card__label{color:#334155b8;font-size:.7rem;letter-spacing:.12em;margin:0 0 .5rem;text-transform:uppercase}.student-summary-card__value{color:#0f172a;font-size:clamp(2rem,4vw,2.6rem);font-weight:800;letter-spacing:-.08em;margin:0}.student-summary-card__value--green{color:#15803d}.student-summary-card__value--orange{color:#b45309}.student-summary-card__value--purple{color:#6d28d9}.student-summary-card__meta{color:#334155c2;font-size:.8rem;margin:.25rem 0 0}.student-action-button{border-radius:.9rem;font-size:.88rem;letter-spacing:.01em;min-width:11rem;padding:.72rem 1.15rem;white-space:nowrap;width:auto}.student-toolbar{background:linear-gradient(135deg,#fffffff0,#f8fafcf5);border-color:#94a3b838;border-radius:12px;box-shadow:0 14px 28px #0f172a14;margin-bottom:1.6rem;margin-top:.5rem;padding:1.2rem 1.2rem 1rem}.student-toolbar__top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.student-toolbar__eyebrow{color:#334155ad;font-size:.68rem;letter-spacing:.12em;margin:0 0 .2rem;text-transform:uppercase}.student-toolbar__title{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0}.student-toolbar__clear{background:#0f172a08;border:1px solid #94a3b847;border-radius:999px;color:#0f172a;cursor:pointer;font-size:.76rem;font-weight:600;padding:.55rem .9rem;transition:all .2s ease}.student-toolbar__clear:hover{background:#3b82f612;border-color:#3b82f661}.student-toolbar__controls{grid-gap:.9rem;align-items:end;display:grid;gap:.9rem;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(170px,.7fr)}.student-filter-field{display:flex;flex-direction:column;gap:.55rem}.student-filter-summary{background:linear-gradient(135deg,#eff6ffe6,#ffffffe6);border:1px solid #94a3b82e;border-radius:.9rem;display:flex;flex-direction:column;gap:.35rem;justify-content:center;min-height:76px;padding:.8rem .9rem}.student-filter-summary__label{color:#334155b8;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.student-filter-summary__value-wrap{align-items:baseline;display:flex;gap:.4rem}.student-filter-summary__value{color:#0f172a;font-size:1.8rem;font-weight:800;line-height:1}.student-filter-summary__unit{color:#334155b3;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.student-toolbar .form-label{color:#334155c7}.student-toolbar .form-input{background:#0f172a05;border-color:#94a3b83d;box-shadow:inset 0 1px 0 #ffffffb3;color:#0f172a;padding-bottom:.9rem;padding-top:.9rem}.student-toolbar .form-input::placeholder{color:#33415573}.student-toolbar .form-input:focus{border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f61f}.student-table-panel{background:#ffffffe0;border-color:#94a3b82e;border-radius:12px;box-shadow:0 16px 28px #0f172a14;overflow:hidden}.student-table-panel__header{background:linear-gradient(135deg,#0f172aeb,#1e293bf0);border-bottom:1px solid #ffffff14;padding-bottom:.9rem;padding-top:.9rem}.student-table-panel__header h2{color:#fff}.student-table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;width:100%}.student-table-scroll .table{min-width:900px}.student-table-badge{align-items:center;background:#3b82f61f;border:1px solid #3b82f62e;border-radius:9999px;color:#dbeafe;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.45rem .8rem;text-transform:uppercase}.student-table-panel .table{border-spacing:0 .45rem}.student-table-panel .student-row-number{font-feature-settings:"tnum";color:#94a3b8;font-size:.82rem;font-variant-numeric:tabular-nums;text-align:center;width:3.5rem}.student-table-panel .table thead th{background:linear-gradient(135deg,#fffc,#fef3c7b3);border-bottom:1px solid #94a3b82e;color:#334155;padding-bottom:.8rem;padding-top:.8rem}.student-table-panel .table tbody td{background:#ffffffc7;border-bottom:1px solid #94a3b829;border-top:1px solid #94a3b829;color:#0f172a;padding-bottom:.82rem;padding-top:.82rem;vertical-align:middle}.student-table-panel .table tbody td:first-child{border-bottom-left-radius:.85rem;border-left:1px solid #94a3b829;border-top-left-radius:.85rem}.student-table-panel .table tbody td:last-child{border-bottom-right-radius:.85rem;border-right:1px solid #94a3b829;border-top-right-radius:.85rem}.student-table-panel .table tbody tr{transition:transform .18s ease,box-shadow .18s ease}.student-table-panel .table tbody tr:hover{box-shadow:0 10px 24px #3b82f60f;transform:translateY(-1px)}.student-table-panel .table tbody tr:hover td{background:linear-gradient(135deg,#eff6ffeb,#ffffffeb)}.student-table-panel .table td .bg-blue-500\/20,.student-table-panel .table td .bg-white\/10{box-shadow:inset 0 0 0 1px #94a3b81f}.student-table-panel .btn{border-radius:.68rem;font-size:.76rem;line-height:1.3;padding:.46rem .72rem}.student-table-panel .btn-danger,.student-table-panel .btn-outline,.student-table-panel .btn-primary,.student-table-panel .btn-success{min-height:2.15rem}.student-pagination{align-items:center;border-top:1px solid #94a3b82e;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem;padding-top:1rem}.student-pagination__text{color:#334155cc;font-size:.8rem}.student-pagination__controls{align-items:center;display:flex;gap:.7rem}.student-page-indicator{color:#334155cc;font-size:.8rem;font-weight:700;min-width:80px;text-align:center}.device-page{display:flex;flex-direction:column;gap:2rem;padding-bottom:3rem}.lunch-fee-settings-button{white-space:nowrap}.lunch-fee-overlay{padding:1rem}.lunch-fee-modal{background:#fff;border-radius:14px;box-shadow:0 24px 70px #0f172a4d;max-height:calc(100vh - 2rem);overflow-y:auto;width:min(32rem,100%)}.lunch-fee-modal__header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;padding:1.4rem 1.5rem 1.1rem}.lunch-fee-modal__header h2{color:#0f172a;font-size:1.4rem;margin:0}.lunch-fee-modal__eyebrow{color:#0e7490;font-weight:800}.lunch-fee-modal>form{grid-gap:16px;display:grid;gap:16px;padding:1.4rem 1.5rem 1.5rem}.lunch-fee-field{grid-gap:7px;color:#334155;display:grid;font-size:.92rem;font-weight:700;gap:7px}.lunch-fee-field input,.lunch-fee-field select{background:#fff;border:1px solid #cbd5e1;border-radius:9px;box-sizing:border-box;color:#0f172a;font:inherit;font-weight:400;min-height:44px;padding:.65rem .75rem;width:100%}.lunch-fee-field input:focus,.lunch-fee-field select:focus{border-color:#0e7490;outline:3px solid #0e74902e}.lunch-fee-modal__actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding-top:14px}.lunch-fee-message{border-radius:8px;font-size:.9rem;margin:0;padding:.75rem .85rem}.lunch-fee-message.is-error{background:#fee2e2;color:#991b1b}.lunch-fee-message.is-success{background:#dcfce7;color:#166534}.lunch-fee-modal__state{color:#475569;padding:1.5rem}.class-level-fee-preview{grid-gap:8px;background:#f0fdf4;border:1px solid #bae6d2;border-radius:9px;color:#166534;display:grid;font-size:.82rem;font-weight:700;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;padding:.75rem}.class-level-fee-note{color:#64748b;font-size:.82rem;margin:8px 0 0}.class-level-fee-note.is-missing{color:#b91c1c}.student-balance-cell{display:flex;flex-direction:column;gap:3px;min-width:110px}.student-balance-cell strong{color:#0f172a;font-size:.95rem}.student-balance-cell span{color:#64748b;font-size:.74rem}.lunch-fee-payment-student{color:#334155;font-weight:700;margin:0}.lunch-fee-payment-summary{background:#f1f5f9;border-radius:8px;color:#334155;display:flex;flex-wrap:wrap;font-size:.86rem;gap:8px;justify-content:space-between;padding:.8rem}@media (max-width:600px){.device-page .student-hero__content{align-items:flex-start;flex-direction:column}.lunch-fee-modal>form,.lunch-fee-modal__header{padding-left:1rem;padding-right:1rem}.lunch-fee-modal__actions{justify-content:stretch}.lunch-fee-modal__actions button{flex:1 1}.class-level-fee-preview{grid-template-columns:1fr}}.device-tab-group{align-items:center;background:#0f172a33;border:1px solid #ffffff2e;border-radius:999px;box-shadow:0 16px 30px #0f172a14;display:inline-flex;gap:.75rem;justify-content:center;margin:0 auto;padding:.45rem;width:fit-content}.device-tab-button{background:#0000;border:none;border-radius:999px;color:#fffc;cursor:pointer;font-size:.88rem;font-weight:700;padding:.72rem 1.1rem;transition:all .2s ease}.device-tab-button.is-active{background:linear-gradient(135deg,#3b82f6e6,#2563ebe6);box-shadow:0 12px 24px #2563eb52;color:#fff}.device-panel{overflow:hidden;padding:0}.device-panel__header{align-items:center;background:linear-gradient(135deg,#0f172af5,#1e293bf0);border-bottom:1px solid #ffffff14;display:flex;gap:1rem;justify-content:space-between;padding:1.4rem 1.5rem}.device-panel__eyebrow{color:#bfdbfee6;font-size:.68rem;letter-spacing:.14em;margin:0 0 .3rem;text-transform:uppercase}.device-panel__header h2{color:#fff;font-size:clamp(1.4rem,2vw,2rem);letter-spacing:-.05em;margin:0}.device-panel__body{background:#ffffffdb;padding:1.5rem}.device-form-shell{display:flex;flex-direction:column;gap:1rem}.device-textarea{background:linear-gradient(135deg,#0f172aeb,#1e293bf0);border:1px solid #94a3b83d;border-radius:1rem;color:#fffffff5;font:inherit;line-height:1.6;min-height:210px;padding:1rem 1.1rem;resize:vertical;width:100%}.device-textarea::placeholder{color:#94a3b8cc}.device-textarea:focus{border-color:#60a5facc;box-shadow:0 0 0 4px #3b82f624;outline:none}.device-result{border:1px solid #94a3b82e;border-radius:1.2rem;margin-top:1.5rem;padding:1.1rem 1.15rem}.device-result.is-success{background:linear-gradient(135deg,#dcfce7f5,#fffffff0);border-left:5px solid #22c55e}.device-result.is-error{background:linear-gradient(135deg,#fee2e2f5,#fffffff0);border-left:5px solid #ef4444}.device-result__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.device-result__label{color:#334155b8;font-size:.68rem;letter-spacing:.12em;margin:0 0 .35rem;text-transform:uppercase}.device-result__header h3{color:#0f172a;font-size:1.5rem;letter-spacing:-.04em;margin:0}.device-badge{align-items:center;background:#0f172a14;border-radius:999px;color:#0f172a;display:inline-flex;font-size:.7rem;font-weight:800;justify-content:center;letter-spacing:.05em;padding:.48rem .75rem;text-transform:uppercase}.device-result__grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.device-result__grid div{background:#fff9;border:1px solid #94a3b824;border-radius:.9rem;display:flex;flex-direction:column;gap:.35rem;padding:.8rem .9rem}.device-result__grid span{color:#334155b3;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.device-result__grid strong{color:#0f172a;font-size:1rem}.device-result__message{color:#334155e6;font-weight:600;margin:0}.device-upload-zone{margin-bottom:1.25rem}.device-upload-input{display:none}.device-upload-label{align-items:center;background:linear-gradient(135deg,#eff6ffe6,#ffffffeb);border:2px dashed #3b82f673;border-radius:1.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.55rem;justify-content:center;min-height:190px;padding:1.5rem;text-align:center;transition:all .2s ease}.device-upload-label:hover{border-color:#2563ebcc;box-shadow:0 12px 24px #2563eb17;transform:translateY(-1px)}.device-upload-icon{font-size:2.4rem}.device-upload-title{color:#0f172a;font-size:1.15rem;font-weight:800}.device-upload-subtitle{color:#334155c2;font-size:.85rem}.device-format-box{background:linear-gradient(135deg,#dbeafecc,#ffffffb3);border:1px solid #60a5fa33;border-radius:1rem;margin-bottom:1.25rem;padding:1.1rem 1rem}.device-format-box h3{color:#1e40afcc;font-size:.82rem;letter-spacing:.12em;margin:0 0 .75rem;text-transform:uppercase}.device-format-box pre{background:#0f172aeb;border-radius:.8rem;color:#bfdbfef5;font-size:.75rem;line-height:1.7;margin:0;overflow:auto;padding:.9rem;white-space:pre-wrap}.device-results-wrap{display:flex;flex-direction:column;gap:1rem}.device-summary-row{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.device-summary-stat{align-items:center;border:1px solid #94a3b833;border-radius:1rem;display:flex;flex-direction:column;gap:.2rem;justify-content:center;padding:.9rem .75rem}.device-summary-stat--green{background:linear-gradient(135deg,#dcfce7f5,#ffffffe6)}.device-summary-stat--red{background:linear-gradient(135deg,#fee2e2f5,#ffffffe6)}.device-summary-stat--amber{background:linear-gradient(135deg,#fef3c7f5,#ffffffe6)}.device-summary-value{color:#0f172a;font-size:1.8rem;font-weight:800;letter-spacing:-.06em}.device-summary-label{color:#334155b8;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.device-table-wrap{background:#ffffffb3;border:1px solid #94a3b829;border-radius:1rem;overflow:auto}.device-results-table thead th{white-space:nowrap}.device-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.42rem .75rem;text-transform:uppercase}.device-status-badge.is-approved{background:#22c55e1f;color:#166534}.device-status-badge.is-denied{background:#ef44441f;color:#991b1b}@media (max-width:768px){.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-hero__content,.student-pagination{align-items:flex-start;flex-direction:column}}@media (max-width:520px){.student-summary-grid{grid-template-columns:1fr}}.container{margin:0 auto;max-width:1280px;padding:0 1.5rem}.App>main.container{box-sizing:border-box;min-width:0;width:100%}.meal-management-page{margin-left:calc((100% - min(calc(100% + 12rem), 1500px))/2);width:min(calc(100% + 12rem),1500px)}.meal-schedule-summary{align-items:center;background:#ffffff1f;border:1px solid #ffffff38;border-radius:9px;display:flex;gap:.75rem;max-width:min(100%,25rem);min-width:13rem;padding:.65rem .85rem}.meal-schedule-summary>strong{color:#d9f99d;font-size:1.5rem;line-height:1}.meal-schedule-summary>span{grid-gap:.15rem;color:#fff;display:grid;font-size:.78rem;font-weight:700;gap:.15rem;min-width:0}.meal-schedule-summary small{color:#ffffffbf;font-size:.66rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-summary-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}.meal-summary-card{min-height:148px;min-width:0}.meal-management-workspace{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);margin-top:24px}@media (max-width:1440px){.meal-management-page{margin-left:-.5rem;width:calc(100% + 1rem)}}@media (max-width:1000px){.meal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-management-workspace{grid-template-columns:1fr}}@media (max-width:560px){.meal-summary-grid{grid-template-columns:1fr}}.meal-analytics-page{margin-left:calc((100% - min(calc(100% + 12rem), 1500px))/2);width:min(calc(100% + 12rem),1500px)}.meal-analytics-hero{background:linear-gradient(135deg,#17324a,#0f766e);border-radius:16px;box-shadow:0 14px 32px #0f172a29;color:#fff;padding:1.75rem 2rem}.meal-analytics-hero-content{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.meal-analytics-kicker{letter-spacing:2px;margin:0;opacity:.8;text-transform:uppercase}.meal-analytics-title{font-size:2.25rem;margin:.5rem 0 0}.meal-analytics-export{min-height:42px;white-space:nowrap}.meal-analytics-filters{background:#fff;border:1px solid #94a3b833;border-radius:14px;box-shadow:0 8px 22px #0f172a0f;margin-top:20px;padding:1.15rem}.meal-analytics-filter-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.meal-analytics-filter-grid>div{min-width:0}.meal-analytics-filter-grid input,.meal-analytics-filter-grid select{box-sizing:border-box}.meal-analytics-metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}.meal-analytics-metric-card{background:#fff;border-radius:12px;box-shadow:0 8px 22px #0f172a12;min-height:132px;min-width:0;padding:1.1rem}.meal-analytics-overview-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);margin-top:20px}.meal-analytics-panel{background:#fff;border:1px solid #94a3b833;border-radius:14px;box-shadow:0 8px 22px #0f172a0f;margin-top:20px;min-width:0;padding:1.25rem}.meal-analytics-overview-grid>.meal-analytics-panel{margin-top:0}.meal-analytics-table-wrap{margin-top:12px;overflow-x:auto;width:100%}.meal-analytics-table{border-collapse:collapse;min-width:640px;width:100%}.meal-analytics-table td,.meal-analytics-table th{padding:.75rem .6rem;white-space:nowrap}.meal-analytics-state{background:#fff;border-radius:14px;box-shadow:0 8px 22px #0f172a0f;color:#475569;margin-top:20px;padding:1.5rem;text-align:center}@media (max-width:1440px){.meal-analytics-page{margin-left:-.5rem;width:calc(100% + 1rem)}}@media (max-width:1050px){.meal-analytics-filter-grid,.meal-analytics-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-analytics-overview-grid{grid-template-columns:1fr}}@media (max-width:600px){.meal-analytics-filter-grid,.meal-analytics-metrics-grid{grid-template-columns:1fr}.meal-analytics-hero{padding:1.25rem}.meal-analytics-title{font-size:1.8rem}.meal-analytics-panel{padding:1rem}}.enrollments-page{margin:0 auto;max-width:1200px;padding-inline:1rem;width:100%}.enrollments-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,.9fr) minmax(0,1.7fr);margin-top:22px}@media (max-width:980px){.enrollments-grid{grid-template-columns:1fr}}@media (max-width:600px){.enrollments-page{padding-inline:.75rem}}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fb923c33;border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);overflow:hidden;transition:all .3s ease}.card:hover{border-color:#fb923c4d;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-header{background:linear-gradient(135deg,#fafafa,#fff);background:linear-gradient(135deg,var(--gray-50) 0,#fff 100%);border-bottom:1px solid #f5f5f5;border-bottom:1px solid var(--gray-100);padding:1.5rem 2rem}.card-body{padding:2rem}.btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;line-height:1.25rem;min-height:2.75rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .2s ease}.btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);box-shadow:0 4px 14px 0 #f973164d;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px 0 #f9731666;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);background:linear-gradient(135deg,var(--success-color) 0,#16a34a 100%);box-shadow:0 4px 14px 0 #22c55e4d;color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px 0 #22c55e66;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%);box-shadow:0 4px 14px 0 #ef44444d;color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 6px 20px 0 #ef444466;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#eab308,#ca8a04);background:linear-gradient(135deg,var(--warning-color) 0,#ca8a04 100%);box-shadow:0 4px 14px 0 #eab3084d;color:#fff}.btn-secondary:hover:not(:disabled){box-shadow:0 6px 20px 0 #eab30866;transform:translateY(-2px)}.btn-outline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000;border:2px solid #eab308;border:2px solid var(--warning-color);color:#eab308;color:var(--warning-color)}.btn-outline:hover:not(:disabled){background:#eab308;background:var(--warning-color);color:#fff;transform:translateY(-2px)}.btn-sm{font-size:.75rem;min-height:2.25rem;padding:.5rem 1rem}.btn-lg{font-size:1rem;min-height:3rem;padding:1rem 2rem}.form-group{margin-bottom:1.5rem}.form-label{color:#404040;color:var(--gray-700);font-weight:600;letter-spacing:.025em;margin-bottom:.5rem;text-transform:uppercase}.form-input,.form-label{display:block;font-size:.875rem}.form-input{background:#fff;border:2px solid #e5e5e5;border:2px solid var(--gray-200);border-radius:.5rem;border-radius:var(--radius-md);line-height:1.25rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-input:focus{border-color:#f97316;border-color:var(--primary-color);box-shadow:0 0 0 3px #f973161a;outline:none;transform:translateY(-1px)}.form-input.error{border-color:#ef4444;border-color:var(--error-color);box-shadow:0 0 0 3px #ef44441a}.error-message{color:#ef4444;color:var(--error-color);font-size:.75rem;font-weight:500;margin-top:.5rem}.table{border-collapse:initial;border-spacing:0 .5rem;width:100%}.table td,.table th{padding:.9rem 1rem;text-align:left;vertical-align:middle}.table thead th{background:linear-gradient(135deg,#ffffffe6,#fef3c7e6);border-bottom:2px solid #f9731659;box-shadow:inset 0 0 0 1px #94a3b824;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.table tbody td,.table thead th{color:#404040;color:var(--gray-700)}.table tbody td{background:#ffffffb3;border-bottom:1px solid #94a3b829;border-top:1px solid #94a3b829}.table tbody td:first-child{border-bottom-left-radius:.9rem;border-left:1px solid #94a3b829;border-top-left-radius:.9rem}.table tbody td:last-child{border-bottom-right-radius:.9rem;border-right:1px solid #94a3b829;border-top-right-radius:.9rem}.table tbody tr{box-shadow:inset 0 0 0 1px #94a3b814;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.table tbody tr:hover{box-shadow:0 10px 24px #0f172a0f,inset 0 0 0 1px #60a5fa24;filter:saturate(1.06);transform:translateY(-1px)}.table tbody tr:hover td{background:linear-gradient(135deg,#eff6ffcc,#ffffffe0)}.table tbody tr:last-child td{border-bottom-color:#94a3b824}.badge,.status-badge{align-items:center;border:1px solid #0000;border-radius:9999px;display:inline-flex;font-size:.72rem;font-weight:700;gap:.35rem;letter-spacing:.04em;padding:.42rem .72rem;text-transform:uppercase;white-space:nowrap}.badge-success,.status-badge.approved{background:linear-gradient(135deg,#22c55e2e,#22c55eeb);box-shadow:0 8px 20px #22c55e33;color:#fff}.badge-error,.status-badge.denied{background:linear-gradient(135deg,#ef44442e,#ef4444eb);box-shadow:0 8px 20px #ef444433;color:#fff}.badge-warning,.status-badge.warning{background:linear-gradient(135deg,#eab3082e,#eab308eb);box-shadow:0 8px 20px #eab30833;color:#fff}.premium-panel--table .status-badge.approved{background:#15803d;box-shadow:none;color:#fff}.premium-panel--table .status-badge.denied{background:#dc2626;box-shadow:none;color:#fff}.premium-panel--table .status-badge.warning{background:#a16207;box-shadow:none;color:#fff}.badge-info{background:linear-gradient(135deg,#e0f2fe,#06b6d4);background:linear-gradient(135deg,var(--info-light) 0,var(--info-color) 100%);box-shadow:0 2px 8px 0 #06b6d44d;color:#fff}.dashboard-shell{padding-bottom:1.5rem;position:relative;z-index:1}.dashboard-hero{background:linear-gradient(135deg,#0f172ad9,#1e293be6 35%,#7877c6bf);border:1px solid #ffffff2e;border:1px solid var(--surface-border);border-radius:2rem;box-shadow:0 24px 60px #0f172a3d;margin-top:2rem;overflow:hidden;padding:1.4rem 1.5rem;position:relative}.dashboard-hero:before{background:radial-gradient(circle at top right,#fb923c33,#0000 35%);content:"";inset:0;pointer-events:none;position:absolute}.dashboard-hero__content{align-items:center;display:flex;gap:1rem;justify-content:space-between;position:relative;z-index:1}.dashboard-hero__left{display:flex;flex-direction:column;gap:.35rem}.dashboard-hero__meta{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem}.dashboard-kicker{color:#ffffffb8;font-size:.72rem;letter-spacing:.22em;margin:0;text-transform:uppercase}.dashboard-hero__title-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.05rem}.dashboard-title{color:#fffffffa;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;letter-spacing:-.06em;margin:0;text-shadow:0 8px 22px #0f172a4d}.dashboard-tag{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;font-size:.72rem;justify-content:center;letter-spacing:.08em;line-height:1.2;padding:.45rem .8rem;text-transform:uppercase;transform:translateY(-1px);white-space:nowrap}.dashboard-status-pill,.dashboard-tag{align-items:center;color:#ffffffe6;display:inline-flex}.dashboard-status-pill{background:#0f172a42;border:1px solid #ffffff26;border-radius:999px;font-size:.8rem;font-weight:600;gap:.7rem;padding:.7rem 1rem}.dashboard-status-dot{border-radius:50%;box-shadow:0 0 0 0 #ffffff80;display:inline-block;height:.7rem;width:.7rem}.dashboard-status-dot.online{background:#4ade80;box-shadow:0 0 18px #4ade80bf}.dashboard-status-dot.offline{background:#f87171;box-shadow:0 0 18px #f87171bf}.stats-card-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:2rem;place-items:stretch}.metric-card{background:#ffffffe6;border:1px solid #ffffff42;border-radius:1.6rem;box-shadow:0 18px 40px #0f172a1f;overflow:hidden;padding:1.4rem 1.3rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{box-shadow:0 22px 48px #0f172a29;transform:translateY(-4px)}.metric-card:before{background:linear-gradient(180deg,#fff9,#fff0);content:"";inset:0 auto 0 0;position:absolute;width:4px}.metric-card--blue{background:linear-gradient(135deg,#dbeafef5,#fffffff0)}.metric-card--green{background:linear-gradient(135deg,#dcfce7f5,#fffffff0)}.metric-card--red{background:linear-gradient(135deg,#fee2e2f5,#fffffff0)}.metric-card__top{align-items:center;display:flex;gap:1rem;justify-content:space-between}.metric-label{color:#334155b8;font-size:.7rem;letter-spacing:.12em;margin:0 0 .35rem;text-transform:uppercase}.metric-value{color:#0f172a;font-size:clamp(2rem,4vw,2.6rem);font-weight:800;letter-spacing:-.08em;line-height:1.1;margin:0}.metric-value--green{color:#15803d}.metric-value--red{color:#b91c1c}.metric-subtext{color:#334155b8;font-size:.84rem;margin:.35rem 0 0}.metric-card__icon{align-items:center;background:#0f172a0f;border-radius:1rem;box-shadow:inset 0 1px 0 #ffffff80;display:flex;font-size:1.6rem;height:3.25rem;justify-content:center;width:3.25rem}.dashboard-insight-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1.4fr .8fr;margin-top:2.25rem}.premium-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a52;border:1px solid #ffffff29;border-radius:1.8rem;box-shadow:0 18px 42px #0f172a29;position:relative}.staff-dashboard{grid-gap:1.4rem;color:#173b35;display:grid;gap:1.4rem;padding:1rem 0 3rem}.staff-dashboard-hero{align-items:center;background:linear-gradient(112deg,#173d37,#205b50 68%,#197a78);border:1px solid #d9f99d42;border-left:6px solid #d9f99d;border-radius:12px;box-shadow:0 18px 38px #12393226;display:flex;gap:2rem;justify-content:space-between;min-height:13rem;padding:2rem 2.25rem}.staff-dashboard-hero__copy{min-width:0}.staff-dashboard-eyebrow{align-items:center;color:#d9f99d;display:flex;flex-wrap:wrap;font-size:.72rem;font-weight:800;gap:.45rem 1rem;text-transform:uppercase}.staff-dashboard-date{color:#f4fbf7c2;font-weight:600}.staff-dashboard-hero h1{color:#fff;font-size:2.35rem;line-height:1.12;margin:.65rem 0 .45rem}.staff-dashboard-hero__copy>p{color:#f4fbf7c7;font-size:.94rem;margin:0}.staff-dashboard-hero__actions{grid-gap:.85rem;display:grid;flex:0 0 auto;gap:.85rem;justify-items:end}.staff-dashboard-connection{align-items:center;color:#f4fbf7db;display:inline-flex;font-size:.77rem;font-weight:700;gap:.5rem}.staff-dashboard-connection>span{border-radius:50%;height:.55rem;width:.55rem}.staff-dashboard-connection.is-online>span{background:#86efac;box-shadow:0 0 0 4px #86efac21}.staff-dashboard-connection.is-offline>span{background:#fca5a5;box-shadow:0 0 0 4px #fca5a521}.staff-dashboard-live-link{align-items:center;background:linear-gradient(110deg,#d9f99d,#67e8f9);border:1px solid #d9f99dbd;border-radius:7px;color:#123a3a;display:inline-flex;font-size:.82rem;font-weight:800;gap:.65rem;min-height:2.8rem;padding:.65rem .9rem;text-decoration:none;transition:transform .16s ease,filter .16s ease}.staff-dashboard-live-link:hover{filter:saturate(1.1) brightness(.98);transform:translateY(-1px)}.staff-dashboard-scan-link{align-items:center;background:linear-gradient(110deg,#d9f99d,#67e8f9);border:1px solid #d9f99dbd;border-radius:7px;color:#123a3a;display:inline-flex;font-size:.82rem;font-weight:800;gap:.65rem;min-height:2.8rem;padding:.65rem .9rem;text-decoration:none;transition:transform .16s ease,filter .16s ease}.staff-dashboard-scan-link:hover{filter:saturate(1.1) brightness(.98);transform:translateY(-1px)}.meal-scan-page{grid-gap:1.25rem;color:#173b35;display:grid;gap:1.25rem;margin-left:calc((100% - min(calc(100% + 8rem), 1440px))/2);padding:1.5rem 0 3rem;width:min(calc(100% + 8rem),1440px)}@media (max-width:1440px){.meal-scan-page{margin-left:calc(50% - 50vw + 1rem);width:calc(100vw - 2rem)}}.meal-scan-hero{align-items:center;background:linear-gradient(110deg,#173d37,#205b50 70%,#197a78);border:1px solid #d9f99d47;border-left:6px solid #d9f99d;border-radius:11px;box-sizing:border-box;color:#fff;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;min-height:10rem;padding:1.8rem 2rem;width:min(100%,1100px)}.meal-scan-kicker{color:#d9f99d;font-size:.72rem;font-weight:800;margin:0;text-transform:uppercase}.meal-scan-hero h1{color:#fff;font-size:2rem;margin:.45rem 0}.meal-scan-hero p:last-child{color:#ffffffc7;margin:0}.meal-scan-hero-mark{aspect-ratio:1;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:10px;color:#d9f99d;display:grid;flex:0 0 4.2rem;font-size:2rem;place-items:center;width:4.2rem}.meal-scan-layout{grid-gap:1.15rem;align-items:start;display:grid;gap:1.15rem;grid-template-columns:minmax(0,1fr);margin:0 auto;width:min(100%,1100px)}.meal-scan-panel,.meal-scan-result{background:#fffffff5;border:1px solid #dce7e3;border-radius:10px;box-shadow:0 12px 28px #14373112;min-width:0}.meal-scan-panel{padding:1.5rem}.meal-scan-panel__heading{align-items:center;border-bottom:1px solid #e8efec;display:flex;gap:.8rem;padding-bottom:1rem}.meal-scan-step{aspect-ratio:1;background:#eaf5ed;border:1px solid #c7e6dc;border-radius:7px;color:#28604c;display:grid;flex:0 0 2.4rem;font-size:1rem;place-items:center;width:2.4rem}.meal-scan-panel__heading p{color:#6a7d77;font-size:.69rem;font-weight:800;margin:0 0 .15rem;text-transform:uppercase}.meal-scan-panel__heading h2{color:#173b35;font-size:1.15rem;margin:0}.meal-scan-form{grid-gap:.55rem;display:grid;gap:.55rem;margin-top:1.2rem}.meal-scan-form label{color:#344e48;font-size:.82rem;font-weight:700;margin-top:.25rem}.meal-scan-form input,.meal-scan-form select{background:#fbfdfc;border:1px solid #cbdad4;border-radius:7px;box-sizing:border-box;color:#173b35;font:inherit;min-height:45px;padding:.65rem .75rem;width:100%}.meal-scan-form input:focus,.meal-scan-form select:focus{border-color:#2b8d87;box-shadow:0 0 0 3px #2b8d8724;outline:none}.meal-scan-camera-button,.meal-scan-verify-button{align-items:center;border:1px solid #0000;border-radius:7px;cursor:pointer;display:inline-flex;font:inherit;font-size:.83rem;font-weight:800;gap:.55rem;justify-content:center;min-height:44px;padding:.65rem .9rem}.meal-scan-verify-button{background:linear-gradient(110deg,#d9f99d,#67e8f9);color:#123a3a;margin-top:.45rem}.meal-scan-camera-button{background:#f3f8f5;border-color:#bfdad0;color:#285c4a;width:100%}.meal-scan-camera-button:hover:not(:disabled),.meal-scan-verify-button:hover:not(:disabled){filter:brightness(.97)}.meal-scan-camera-button:disabled,.meal-scan-verify-button:disabled{cursor:not-allowed;opacity:.56}.meal-scan-divider{align-items:center;color:#87948f;display:flex;font-size:.72rem;gap:.7rem;margin:1rem 0}.meal-scan-divider:after,.meal-scan-divider:before{background:#e5ece8;content:"";flex:1 1;height:1px}.meal-scan-camera:not(.is-active){display:none}.meal-scan-camera.is-active{background:#10211d;border:1px solid #dce7e3;border-radius:8px;margin-top:.75rem;overflow:hidden}.meal-scan-camera video{border-radius:7px;width:100%!important}.meal-scan-error{color:#a33d31;font-size:.8rem;margin:.65rem 0 0}.meal-scan-result{align-items:flex-start;display:flex;flex-direction:column;min-height:20rem;padding:1.65rem}.meal-scan-result.is-empty{background:linear-gradient(145deg,#f8fbf9,#f1f8f5);justify-content:center}.meal-scan-result.is-eligible{background:linear-gradient(145deg,#f4fbf3,#fff);border-color:#bfdfc7}.meal-scan-result.is-denied{background:linear-gradient(145deg,#fff5f2,#fff);border-color:#efc9c1}.meal-scan-result__icon{aspect-ratio:1;background:#eaf5ed;border:1px solid #dcebe3;border-radius:9px;color:#28604c;display:grid;font-size:1.4rem;font-weight:800;place-items:center;width:3rem}.meal-scan-result.is-eligible .meal-scan-result__icon{background:#e8f6e9;border-color:#c3e4c7;color:#34763e}.meal-scan-result.is-denied .meal-scan-result__icon{background:#fff0ec;border-color:#efcec7;color:#a8473d}.meal-scan-result__eyebrow{color:#55756a;font-size:.7rem;font-weight:800;margin:1rem 0 .25rem;text-transform:uppercase}.meal-scan-result h2{color:#173b35;font-size:1.45rem;margin:0}.meal-scan-result>p:last-child{color:#6c7c76;font-size:.83rem;margin:.55rem 0 0}.meal-scan-result__reason{color:#51665e;font-size:.86rem;margin:.45rem 0 0}.meal-scan-student-details{grid-gap:0;border-top:1px solid #dce7e3;display:grid;gap:0;margin:1rem 0 0;width:100%}.meal-scan-student-details>div{border-bottom:1px solid #e8efec;display:flex;font-size:.78rem;gap:1rem;justify-content:space-between;padding:.65rem 0}.meal-scan-student-details dt{color:#71817b}.meal-scan-student-details dd{color:#28483d;font-weight:700;margin:0;text-align:right}.meal-scan-readonly-note{color:#71817b!important;font-size:.72rem!important;margin:auto 0 0!important;padding-top:1rem}.staff-dashboard-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.staff-dashboard-metric{background:var(--metric-surface);border:1px solid #dce7e3;border-radius:9px;border-top:3px solid var(--metric-accent);box-shadow:0 9px 22px rgba(20,55,49,.055);min-width:0;padding:1.2rem 1.35rem}.staff-dashboard-metric--scans{--metric-accent:#27828a;--metric-surface:#f0f9f8}.staff-dashboard-metric--approved{--metric-accent:#5b8b43;--metric-surface:#f3f8ee}.staff-dashboard-metric--denied{--metric-accent:#bd6558;--metric-surface:#fff6f2}.staff-dashboard-metric__label{align-items:center;color:#657771;display:flex;font-size:.72rem;font-weight:800;gap:1rem;justify-content:space-between;text-transform:uppercase}.staff-dashboard-metric__label>span:last-child{aspect-ratio:1;background:#ffffffb8;border-radius:6px;color:var(--metric-accent);display:grid;font-size:.88rem;place-items:center;width:1.8rem}.staff-dashboard-metric strong{color:#203d36;display:block;font-size:2rem;line-height:1;margin-top:.6rem}.staff-dashboard-metric p{color:#72817b;font-size:.79rem;margin:.45rem 0 0}.staff-dashboard-operations{background:#ffffff75;border:1px solid #ffffffb8;border-radius:10px;padding:1.35rem 1.5rem 1.5rem}.staff-dashboard-section-heading{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.staff-dashboard-section-heading p{color:#397b68;font-size:.68rem;font-weight:800;margin:0 0 .2rem;text-transform:uppercase}.staff-dashboard-section-heading h2{color:#173b35;font-size:1.3rem;margin:0}.staff-dashboard-section-heading>span{color:#71817b;font-size:.8rem}.staff-dashboard-actions{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.staff-dashboard-action{align-items:center;background:#ffffffe0;border:1px solid #dce7e3;border-radius:8px;color:inherit;display:flex;gap:.75rem;min-height:5.5rem;min-width:0;padding:.85rem;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.staff-dashboard-action:hover{border-color:#91c8b5;box-shadow:0 8px 18px #144b3e14;transform:translateY(-2px)}.staff-dashboard-action__icon{aspect-ratio:1;background:linear-gradient(145deg,#eff8e8,#e8f7f7);border:1px solid #dcebe3;border-radius:7px;color:#2b6e5a;display:grid;flex:0 0 2.45rem;font-size:1rem;font-weight:800;place-items:center;width:2.45rem}.staff-dashboard-action__copy{grid-gap:.2rem;display:grid;flex:1 1;gap:.2rem;min-width:0}.staff-dashboard-action__copy strong{color:#23463c;font-size:.84rem}.staff-dashboard-action__copy>span{color:#71817b;font-size:.72rem;line-height:1.35}.staff-dashboard-action__arrow{color:#548b76;font-size:.95rem}@media (max-width:900px){.staff-dashboard-hero{align-items:flex-start;flex-direction:column}.staff-dashboard-hero__actions{justify-items:start}.staff-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.staff-dashboard-hero{align-items:flex-start;flex-direction:column;gap:1.25rem;padding:1.5rem}.staff-dashboard-hero h1{font-size:1.85rem}.staff-dashboard-hero__actions{justify-items:start}.staff-dashboard-actions,.staff-dashboard-metrics{grid-template-columns:1fr}.staff-dashboard-operations{padding:1rem}.meal-scan-hero{padding:1.35rem}.meal-scan-hero h1{font-size:1.65rem}.meal-scan-hero-mark{display:none}.meal-scan-panel,.meal-scan-result{padding:1.15rem}.staff-dashboard-section-heading{align-items:flex-start;flex-direction:column}}.admin-accounts-page{--accounts-ink:#163d37;--accounts-muted:#647772;--accounts-line:#dce7e3;grid-gap:1.5rem;color:#173b35;display:grid;gap:1.5rem;padding-bottom:3rem;padding-top:2rem}.admin-accounts-hero{align-items:center;background:linear-gradient(112deg,#173d37,#245b50 68%,#247b78);border:1px solid #d9f99d42;border-radius:12px;box-shadow:0 18px 38px #12393226;color:#f5fbf8;display:flex;gap:2rem;justify-content:space-between;padding:2rem 2.25rem}.admin-accounts-hero__copy h1{color:#fff;font-size:2.2rem;line-height:1.12;margin:.35rem 0 .5rem}.admin-accounts-hero__copy>p:last-child{color:#f5fbf8c7;margin:0;max-width:38rem}.admin-accounts-kicker,.admin-accounts-roster__eyebrow{color:#d9f99d;font-size:.72rem;font-weight:800;margin:0;text-transform:uppercase}.admin-accounts-overview{display:flex;flex:0 0 auto;gap:.75rem}.admin-accounts-overview>div{grid-gap:.25rem;background:#ffffff17;border:1px solid #fff3;border-radius:8px;display:grid;gap:.25rem;min-width:6.5rem;padding:.8rem 1rem}.admin-accounts-overview span{color:#f5fbf8bf;font-size:.75rem}.admin-accounts-overview strong{color:#fff;font-size:1.55rem;line-height:1}.admin-accounts-layout{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}.admin-accounts-create,.admin-accounts-roster{background:#fffffff5;border:1px solid var(--accounts-line);border-radius:10px;box-shadow:0 12px 28px #14373112;min-width:0}.admin-accounts-create{padding:1.5rem}.admin-accounts-section-heading{align-items:center;border-bottom:1px solid #e8efec;display:flex;gap:.8rem;padding-bottom:1.15rem}.admin-accounts-section-heading p{color:#6a7d77;font-size:.7rem;font-weight:800;margin:0 0 .15rem;text-transform:uppercase}.admin-accounts-roster h2,.admin-accounts-section-heading h2{color:var(--accounts-ink);font-size:1.2rem;margin:0}.admin-accounts-form{grid-gap:.55rem;display:grid;gap:.55rem;margin-top:1.25rem}.admin-accounts-form label{color:#344e48;font-size:.82rem;font-weight:700;margin-top:.35rem}.admin-accounts-form input{background:#fbfdfc;border:1px solid #cbdad4;border-radius:7px;box-sizing:border-box;color:#173b35;font:inherit;min-height:46px;padding:.7rem .8rem;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.admin-accounts-form input:focus{border-color:#2b8d87;box-shadow:0 0 0 3px #2b8d8724;outline:none}.admin-accounts-hint{color:var(--accounts-muted);font-size:.76rem;line-height:1.45;margin:.15rem 0 .45rem}.admin-accounts-message{border-radius:7px;font-size:.82rem;margin:0;padding:.7rem .8rem}.admin-accounts-message.is-error{background:#fff5f2;border:1px solid #f3c7bd;color:#9b3727}.admin-accounts-message.is-success{background:#f1faf2;border:1px solid #b9ddc4;color:#28623a}.admin-accounts-submit{background:linear-gradient(110deg,#d9f99d,#67e8f9);border:0;border-radius:7px;color:#123a3a;cursor:pointer;font:inherit;font-size:.86rem;font-weight:800;margin-top:.35rem;min-height:46px;padding:.65rem 1rem;transition:filter .16s ease,transform .16s ease}.admin-accounts-submit:hover:not(:disabled){filter:saturate(1.12) brightness(.98);transform:translateY(-1px)}.admin-accounts-submit:disabled{cursor:wait;opacity:.66}.admin-accounts-roster{overflow:hidden}.admin-accounts-roster__heading{align-items:center;border-bottom:1px solid #e8efec;display:flex;gap:1rem;justify-content:space-between;padding:1.35rem 1.5rem}.admin-accounts-roster__eyebrow{color:#397b68;margin-bottom:.3rem}.admin-accounts-count{background:#f1f8f2;border:1px solid #dcebe3;border-radius:999px;color:#315d49;font-size:.74rem;font-weight:700;padding:.4rem .65rem;white-space:nowrap}.admin-accounts-table-wrap{overflow-x:auto}.admin-accounts-table{border-collapse:collapse;text-align:left;width:100%}.admin-accounts-table th{background:#f7faf8;color:#6b7c76;font-size:.68rem;font-weight:800;padding:.75rem 1rem;text-transform:uppercase}.admin-accounts-table td{border-top:1px solid #edf2ef;color:#334c45;font-size:.82rem;padding:.9rem 1rem;vertical-align:middle}.admin-accounts-table tbody tr:hover{background:#fbfdfb}.admin-accounts-identity{align-items:center;display:flex;gap:.7rem;min-width:12rem}.admin-accounts-avatar{aspect-ratio:1;background:linear-gradient(145deg,#e8f7df,#dff6f7);border:1px solid #c7e6dc;border-radius:8px;color:#245b50;display:grid;flex:0 0 2.4rem;font-size:.72rem;font-weight:800;place-items:center;width:2.4rem}.admin-accounts-identity__copy{grid-gap:.15rem;display:grid;gap:.15rem;min-width:0}.admin-accounts-identity__copy strong{color:#203e36;font-size:.84rem}.admin-accounts-identity__copy span{color:#71817b;font-size:.74rem;overflow-wrap:anywhere}.admin-accounts-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;gap:.4rem;padding:.32rem .55rem;white-space:nowrap}.admin-accounts-status>span{background:currentColor;border-radius:50%;height:.42rem;width:.42rem}.admin-accounts-status.is-active{background:#edf8ef;color:#2f7540}.admin-accounts-status.is-disabled{background:#f0f2f1;color:#687671}.admin-accounts-date{color:#71817b!important;white-space:nowrap}.admin-accounts-action-cell{text-align:right}.admin-accounts-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;min-width:13rem}.admin-accounts-action-button{background:#f8fbf9;border:1px solid #cfe0d8;border-radius:6px;color:#315d49;cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;min-height:34px;padding:.38rem .58rem;white-space:nowrap}.admin-accounts-action-button:hover{background:#edf7f0;border-color:#8eb9a5}.admin-accounts-action-button.is-edit{background:#f3f9fb;border-color:#c9dce5;color:#275c6d}.admin-account-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e231f7a;display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:100}.admin-account-dialog{background:#fff;border:1px solid #dce7e3;border-radius:10px;box-shadow:0 24px 70px #0f2d263d;max-height:calc(100dvh - 2rem);overflow-y:auto;width:min(100%,32rem)}.admin-account-dialog__header{align-items:flex-start;border-bottom:1px solid #e8efec;display:flex;gap:1rem;justify-content:space-between;padding:1.3rem 1.4rem}.admin-account-dialog__header p{color:#397b68;font-size:.68rem;font-weight:800;margin:0 0 .25rem;text-transform:uppercase}.admin-account-dialog__header h2{color:#173b35;font-size:1.2rem;margin:0}.admin-account-dialog__close{background:#f7faf8;border:1px solid #dce7e3;border-radius:6px;color:#51665e;cursor:pointer;display:grid;flex:0 0 2rem;font-size:1.2rem;height:2rem;place-items:center;width:2rem}.admin-account-profile{align-items:center;display:flex;gap:.85rem;padding:1.4rem}.admin-account-profile__avatar{flex-basis:3.2rem;font-size:.9rem;width:3.2rem}.admin-account-profile h3{color:#203e36;font-size:1rem;margin:0}.admin-account-profile p{color:#71817b;font-size:.82rem;margin:.2rem 0 0;overflow-wrap:anywhere}.admin-account-details{grid-gap:0;border-top:1px solid #e8efec;display:grid;gap:0;margin:0 1.4rem}.admin-account-details>div{border-bottom:1px solid #e8efec;display:flex;font-size:.82rem;gap:1rem;justify-content:space-between;padding:.75rem 0}.admin-account-details dt{color:#71817b}.admin-account-details dd{color:#28483d;font-weight:700;margin:0;text-align:right}.admin-account-dialog__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;padding:1.1rem 1.4rem 1.4rem}.admin-account-primary-button,.admin-account-secondary-button{background:#f8fbf9;border:1px solid #cfe0d8;border-radius:6px;color:#315d49;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;min-height:40px;padding:.55rem .85rem}.admin-account-primary-button{background:linear-gradient(110deg,#d9f99d,#67e8f9);border-color:#a8d9bf;color:#123a3a}.admin-account-primary-button:disabled,.admin-account-secondary-button:disabled{cursor:wait;opacity:.6}.admin-account-edit-form{grid-gap:.55rem;display:grid;gap:.55rem;padding:1.3rem 1.4rem 0}.admin-account-edit-form label{color:#344e48;font-size:.82rem;font-weight:700;margin-top:.25rem}.admin-account-edit-form input{background:#fbfdfc;border:1px solid #cbdad4;border-radius:7px;box-sizing:border-box;color:#173b35;font:inherit;min-height:44px;padding:.65rem .75rem;width:100%}.admin-account-edit-form input:focus{border-color:#2b8d87;box-shadow:0 0 0 3px #2b8d8724;outline:none}.admin-account-edit-form .admin-account-dialog__actions{margin:0 -1.4rem}.admin-accounts-toggle{border:1px solid #0000;border-radius:6px;cursor:pointer;font:inherit;font-size:.74rem;font-weight:700;min-height:34px;padding:.38rem .65rem;white-space:nowrap}.admin-accounts-toggle.is-disable{background:#fff8f1;border-color:#efd8c8;color:#9a572c}.admin-accounts-toggle.is-enable{background:#f1faf2;border-color:#c7e5d1;color:#28623a}.admin-accounts-toggle:disabled{cursor:wait;opacity:.6}.admin-accounts-empty,.admin-accounts-loading{grid-gap:.65rem;color:var(--accounts-muted);display:grid;gap:.65rem;justify-items:center;padding:3rem 1.5rem;text-align:center}.admin-accounts-loading .spinner{height:1.5rem;width:1.5rem}.admin-accounts-empty__mark{aspect-ratio:1;background:#f1f8f2;border:1px solid #dcebe3;border-radius:10px;color:#397b68;display:grid;font-size:1.2rem;font-weight:800;place-items:center;width:3rem}.admin-accounts-empty h3{color:var(--accounts-ink);font-size:1rem;margin:0}.admin-accounts-empty p{font-size:.82rem;margin:0}@media (max-width:600px){.admin-accounts-hero{align-items:flex-start;flex-direction:column;gap:1.25rem;padding:1.5rem}.admin-accounts-hero__copy h1{font-size:1.8rem}.admin-accounts-create{padding:1.15rem}.admin-accounts-roster__heading{align-items:flex-start;flex-direction:column;padding:1.1rem}.admin-accounts-table{min-width:760px}.admin-accounts-actions{justify-content:flex-start}}.premium-panel--insight,.premium-panel--scan{padding:1.4rem 1.35rem}.insight-row{align-items:end;display:flex;gap:1rem;justify-content:space-between}.insight-label{color:#ffffffb8;font-size:.72rem;letter-spacing:.12em;margin:0 0 .25rem;text-transform:uppercase}.insight-value{color:#fff;font-size:clamp(2rem,4vw,2.7rem);font-weight:800;letter-spacing:-.08em;line-height:1.1;margin:0}.insight-emoji{font-size:2.4rem;opacity:.9}.latest-scan{display:flex;flex-direction:column;gap:.55rem}.latest-scan__name{color:#fff;font-size:1.1rem;font-weight:700;margin:0}.latest-scan__meta{align-items:center;display:flex}.latest-scan__empty,.latest-scan__time{color:#ffffffb3;font-size:.88rem;margin:0}.premium-panel--table{background:#ffffffe0;border:1px solid #ffffff2e;box-shadow:0 22px 50px #0f172a24;margin-top:2.5rem}.table-header{align-items:center;border-bottom:1px solid #94a3b82e;display:flex;gap:1rem;justify-content:space-between;padding:1.3rem 1.35rem 1rem}.table-header__title-wrap{align-items:center;display:flex;gap:.7rem}.table-header h2{color:#0f172a;font-size:1.12rem;font-weight:700;letter-spacing:-.02em;margin:0}.table-status-dot{background:#22c55e;border-radius:50%;box-shadow:0 0 16px #22c55e80;display:inline-block;height:.75rem;width:.75rem}.table-page-badge{align-items:center;background:#f973161a;border:1px solid #f973162e;border-radius:999px;color:#9a4d15;display:inline-flex;font-size:.73rem;font-weight:700;letter-spacing:.05em;padding:.45rem .7rem;text-transform:uppercase}.table-body{padding:.25rem 1.1rem 1rem}.table-wrap{overflow-x:auto}.table--premium{border-radius:1rem;margin-top:.5rem;overflow:hidden}.table-pagination{align-items:center;border-top:1px solid #94a3b82e;display:flex;gap:1rem;justify-content:space-between;margin-top:.75rem;padding-top:1rem}.table-pagination__meta{color:#334155cc;font-size:.8rem}.table-pagination__controls{align-items:center;display:flex;gap:.7rem}.page-indicator{color:#334155cc;font-size:.8rem;font-weight:600;min-width:120px;text-align:center}@media (min-width:768px){.stats-card-grid{gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.5rem auto 0;max-width:1000px}}@media (max-width:640px){.dashboard-hero__content,.table-pagination{display:block;grid-template-columns:1fr}.dashboard-insight-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.dashboard-hero__content{align-items:flex-start;display:flex;flex-direction:column}.dashboard-status-pill{margin-top:.7rem}.table-pagination{align-items:flex-start;display:flex;flex-direction:column}}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #e5e5e5;border-radius:50%;border-top-color:#f97316;border:3px solid var(--gray-200);border-top-color:var(--primary-color);display:inline-block;height:1.25rem;width:1.25rem}@keyframes spin{to{transform:rotate(1turn)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.w-full{width:100%}.h-full{height:100%}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-500{color:#737373;color:var(--gray-500)}.text-gray-600{color:#525252;color:var(--gray-600)}.text-gray-700{color:#404040;color:var(--gray-700)}.text-gray-800{color:#262626;color:var(--gray-800)}.text-gray-900{color:#171717;color:var(--gray-900)}.text-success{color:#22c55e;color:var(--success-color)}.text-error{color:#ef4444;color:var(--error-color)}.text-warning{color:#eab308;color:var(--warning-color)}.text-info{color:#06b6d4;color:var(--info-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border:1px solid #fb923c33;box-shadow:0 8px 32px 0 #fb923c1a}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#fef3c7;background:var(--warning-light);border-radius:.5rem;border-radius:var(--radius-md)}::-webkit-scrollbar-thumb{background:#f97316;background:var(--primary-color);border-radius:.5rem;border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:#ea580c;background:var(--primary-hover)}.modal-overlay,.side-panel-backdrop{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.side-panel{background:#fffffff5;border-left:1px solid #94a3b833;box-shadow:-16px 0 50px #0f172a33;display:flex;flex-direction:column;height:100vh;height:100dvh;margin-left:auto;min-height:0;overflow:hidden;width:min(32rem,90vw)}.side-panel--form{height:100vh;height:100dvh;width:min(34rem,92vw)}.side-panel__header{align-items:flex-start;background:linear-gradient(135deg,#f8fafcfa,#fffffff5);border-bottom:1px solid #94a3b833;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.side-panel__header--accent{background:linear-gradient(135deg,#fef3c7e6,#fffffff5)}.side-panel__header--profile{background:linear-gradient(135deg,#eff6fffa,#fffffff5)}.side-panel__identity{align-items:center;display:flex;gap:.9rem}.side-panel__avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:1rem;box-shadow:0 12px 24px #3b82f647;color:#fff;display:grid;font-weight:800;height:3rem;place-items:center;width:3rem}.side-panel__eyebrow{color:#334155b3;font-size:.68rem;letter-spacing:.12em;margin:0 0 .3rem;text-transform:uppercase}.side-panel__header h2{color:#0f172a;font-size:1.6rem;margin:0}.side-panel__close{background:#0f172a0f;border:none;border-radius:999px;color:#0f172a;cursor:pointer;height:2.2rem;width:2.2rem}.side-panel__body,.side-panel__form{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:1.5rem}.side-panel__fields{grid-gap:1rem;display:grid;gap:1rem}.side-panel__actions{border-top:1px solid #94a3b833;display:flex;gap:.75rem;justify-content:flex-end;margin-top:auto;padding-top:1rem}.side-panel__actions--stacked{display:grid;grid-template-columns:1fr}.profile-status-card{align-items:center;background:linear-gradient(135deg,#f8fafcf5,#fffffff5);border:1px solid #94a3b833;border-radius:1.2rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.1rem}.profile-status-card__label{color:#334155ad;display:block;font-size:.68rem;letter-spacing:.12em;margin-bottom:.3rem;text-transform:uppercase}.profile-status-card__value{display:inline-block;font-size:1.25rem;font-weight:800}.profile-status-card__value--paid{color:#15803d}.profile-status-card__value--unpaid{color:#b45309}.profile-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;justify-content:center;letter-spacing:.04em;padding:.45rem .8rem;text-transform:uppercase}.profile-status-pill--paid{background:#22c55e1f;color:#166534}.profile-status-pill--unpaid{background:#f59e0b1f;color:#92400e}.detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.detail-item{background:#0f172a08;border:1px solid #94a3b82e;border-radius:1rem;display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem}.detail-item--wide{grid-column:1/-1}.detail-item span{color:#334155b8;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.detail-item strong{color:#0f172a;font-size:1rem}.sort-button{align-items:center;appearance:none;background:#0000;border:none;color:inherit;display:inline-flex;font:inherit;font-weight:700;gap:.35rem;letter-spacing:.08em;text-transform:uppercase}.cursor-pointer,.sort-button{cursor:pointer}.modal-content{background:#fff;border:2px solid #f97316;border:2px solid var(--primary-color);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow-y:auto;width:500px}.modal-content form{display:flex;flex-direction:column;padding:1.5rem}.toast{align-items:center;animation:slideIn .3s ease-out;background:#fff;border-left:4px solid #f97316;border-left:4px solid var(--primary-color);border-radius:.75rem;border-radius:var(--radius-lg);bottom:2rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);display:flex;gap:.75rem;padding:1rem 1.5rem;position:fixed;right:2rem;z-index:50}.toast-success{border-left-color:#22c55e;border-left-color:var(--success-color)}.toast-error{border-left-color:#ef4444;border-left-color:var(--error-color)}.toast-warning{border-left-color:#eab308;border-left-color:var(--warning-color)}.student-success-toast{align-items:center;animation:student-toast-enter .24s ease-out both;background:#fff;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:12px;box-shadow:0 12px 32px #0f172a29;color:#14532d;display:flex;gap:.75rem;overflow:hidden;padding:.9rem .85rem;position:fixed;right:1rem;top:1rem;width:min(24rem,calc(100vw - 2rem));z-index:90}.student-success-toast:after{animation:student-toast-progress 3s linear forwards;background:#22c55e;bottom:0;content:"";height:3px;left:0;position:absolute;right:0;transform-origin:left}.student-success-toast__icon{background:#dcfce7;border-radius:50%;color:#15803d;display:grid;flex:0 0 2rem;font-weight:800;height:2rem;place-items:center;width:2rem}.student-success-toast__copy{grid-gap:2px;display:grid;gap:2px;min-width:0}.student-success-toast__copy strong{color:#14532d;font-size:.9rem;line-height:1.25}.student-success-toast__copy span{color:#64748b;font-size:.78rem}.student-success-toast__close{background:#0000;border:0;border-radius:50%;color:#64748b;cursor:pointer;display:grid;flex:0 0 1.8rem;font-size:1.2rem;height:1.8rem;margin-left:auto;place-items:center;width:1.8rem}.student-success-toast__close:hover{background:#f1f5f9;color:#0f172a}@keyframes student-toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes student-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:520px){.student-success-toast{right:.75rem;top:.75rem;width:calc(100vw - 1.5rem)}}.brand-link{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:.85rem;display:inline-flex;gap:.75rem;padding:.35rem .65rem;text-decoration:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.brand-link:hover{background:#fff3;box-shadow:0 8px 20px #f9731640;transform:translateY(-1px) scale(1.01)}.brand-logo{display:block;height:4.1rem;max-width:14rem;object-fit:contain;width:auto}.brand-icon{align-items:center;background:linear-gradient(135deg,#facc15,#f97316);border-radius:.75rem;box-shadow:0 6px 14px #f9731659;display:inline-flex;font-size:1.1rem;height:2.2rem;justify-content:center;width:2.2rem}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-title{-webkit-text-fill-color:#0000;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:.02em;letter-spacing:.06em;margin:0;text-shadow:0 2px 8px #0000001a}.brand-subtitle,.brand-title{background:linear-gradient(90deg,#1e293b 60%,#3b82f6);-webkit-background-clip:text;background-clip:text;color:#1e293b}.brand-subtitle{-webkit-text-fill-color:#0000;color:#ffffffd1;font-size:.68rem;font-weight:700;letter-spacing:.09em;margin:.1rem 0 0;text-shadow:0 2px 8px #00000014;text-transform:uppercase}.navbar-desktop-status{display:flex}.navbar-desktop-links{align-items:center;display:flex;gap:2.5rem}.navbar-mobile-toggle{align-items:center;background:linear-gradient(110deg,#d9f99d,#67e8f9);border:1px solid #d9f99dcc;border-radius:8px;color:#123a3a;cursor:pointer;display:none;font:inherit;font-size:.78rem;font-weight:800;gap:.45rem;height:44px;justify-content:center;padding:0 .65rem;white-space:nowrap;width:6rem}.navbar-mobile-toggle svg{display:block;height:24px;width:24px}.navbar-mobile-menu{display:none;padding:.5rem 0 1rem}.navbar-mobile-links{grid-gap:.55rem;display:grid;gap:.55rem}.admin-profile-page{margin:1.5rem auto 3rem;width:min(100%,860px)}.admin-profile-hero{align-items:center;background:linear-gradient(120deg,#123b3a,#0f766e 58%,#0891b2);border-radius:14px;box-shadow:0 18px 38px #0f37372e;color:#fff;display:flex;gap:1.35rem;padding:2rem}.admin-profile-avatar{background:#ffffff29;border:1px solid #ffffff6b;border-radius:50%;color:#fff;display:grid;flex:0 0 auto;font-size:1.5rem;font-weight:800;height:5rem;place-items:center;width:5rem}.admin-profile-identity p{color:#ecfdf5c7;font-size:.72rem;font-weight:800;margin:0 0 .35rem;text-transform:uppercase}.admin-profile-identity h1{font-size:1.8rem;margin:0;overflow-wrap:anywhere}.admin-profile-identity span{background:#ffffff1f;border:1px solid #ffffff52;border-radius:999px;color:#fff;display:inline-flex;font-size:.78rem;font-weight:700;margin-top:.65rem;padding:.3rem .65rem}.admin-profile-edit-button{background:#ffffff1f;border:1px solid #ffffff7a;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:.85rem;font-weight:700;margin-left:auto;min-height:2.65rem;padding:.6rem .9rem}.admin-profile-edit-button:hover{background:#fff3}.admin-profile-notice{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:.88rem;margin:1rem 0 0;padding:.75rem .9rem}.admin-profile-editor{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}.admin-profile-form{grid-gap:.65rem;align-content:start;background:#fff;border:1px solid #dce7e5;border-radius:12px;box-shadow:0 12px 28px #0f172a0f;display:grid;gap:.65rem;padding:1.25rem}.admin-profile-form h2{color:#0f172a;font-size:1rem;margin:0 0 .4rem}.admin-profile-form label{color:#334155;font-size:.8rem;font-weight:700;margin-top:.3rem}.admin-profile-form input{background:#fff;border:1px solid #cbd5e1;border-radius:7px;box-sizing:border-box;color:#0f172a;font:inherit;min-height:2.65rem;padding:.6rem .7rem;width:100%}.admin-profile-form input:focus{border-color:#0e7490;outline:3px solid #0e749026}.admin-profile-form button{background:#0e7490;border:0;border-radius:7px;color:#fff;cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;margin-top:.4rem;min-height:2.65rem;padding:.6rem .85rem}.admin-profile-form button:disabled{cursor:wait;opacity:.65}.admin-profile-error{color:#b91c1c;font-size:.82rem;margin:.2rem 0}.admin-profile-details{background:#fff;border:1px solid #dce7e5;border-radius:12px;box-shadow:0 12px 28px #0f172a0f;margin-top:1.25rem;padding:1.5rem}.admin-profile-details__heading{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;padding-bottom:1rem}.admin-profile-details__heading h2{color:#0f172a;font-size:1.1rem;margin:0}.admin-profile-status{color:#15803d;font-size:.8rem;font-weight:700}.admin-profile-details dl{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.admin-profile-details dl>div{border-bottom:1px solid #f1f5f9;min-width:0;padding:1rem .75rem 1rem 0}.admin-profile-details dt{color:#64748b;font-size:.74rem;font-weight:700;margin-bottom:.35rem;text-transform:uppercase}.admin-profile-details dd{color:#1e293b;font-size:.95rem;font-weight:600;margin:0;overflow-wrap:anywhere}.admin-profile-details .admin-profile-id{color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}@media (max-width:600px){.admin-profile-hero{align-items:flex-start;gap:1rem;padding:1.25rem}.admin-profile-avatar{font-size:1.2rem;height:3.75rem;width:3.75rem}.admin-profile-edit-button{align-self:flex-start;margin-left:0}.admin-profile-editor{grid-template-columns:1fr}.admin-profile-identity h1{font-size:1.4rem}.admin-profile-details{padding:1rem}.admin-profile-details dl{grid-template-columns:1fr}}@media (max-width:1440px){.brand-link{gap:.55rem;padding:.25rem .5rem}.brand-logo{height:3.3rem;max-width:10.5rem}.brand-icon{border-radius:.6rem;font-size:1rem;height:1.95rem;width:1.95rem}.brand-title{font-size:1.1rem}.brand-subtitle{font-size:.6rem;letter-spacing:.08em}.navbar-main-row{height:auto;min-height:4.5rem}.navbar-desktop-links,.navbar-desktop-status{display:none}.navbar-mobile-toggle{display:inline-flex}.navbar-mobile-menu{display:block}}