*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: radial-gradient(circle at top, #05060f, #020409 55%);--card-bg: rgba(15, 23, 42, .92);--card-border: rgba(99, 102, 241, .45);--primary: #6366f1;--text: #f8fafc;--muted: #94a3b8;--border: rgba(148, 163, 184, .25);--accent: #22d3ee;--success: #22c55e;--warning: #f59e0b}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.top-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#03061280}.top-nav a{color:#cbd5f5;text-decoration:none;font-weight:600}.nav-right{display:flex;align-items:center;gap:1rem}.logout-link{color:#f87171}.theme-fab{position:fixed;top:4rem;right:.5rem;width:48px;height:48px;border:1px solid rgba(148,163,184,.3);border-radius:16px;background:#6366f133;color:#e2e8f0;cursor:pointer;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 25px #02061766;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.theme-fab svg{width:22px;height:22px}.theme-fab:hover{transform:translateY(-2px);box-shadow:0 16px 30px #02061773}.theme-picker-overlay{position:fixed;inset:0;background:#030712d9;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .2s ease}.theme-picker-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:22px;padding:2rem 2.5rem;width:min(420px,90%);position:relative;box-shadow:0 35px 60px #02061773}.theme-picker-close{position:absolute;top:1rem;right:1rem;border:none;background:transparent;color:var(--text);font-size:1.5rem;cursor:pointer}.theme-picker-title{margin:0 0 1rem;font-size:1.1rem;color:var(--text)}.theme-options{display:flex;flex-direction:column;gap:.8rem}.theme-option{border-radius:16px;border:1px solid var(--border);background:#6366f10d;padding:.9rem;display:flex;align-items:center;gap:.9rem;cursor:pointer;text-align:left;color:var(--text)}.theme-option strong{display:block;font-size:1rem}.theme-option small{color:var(--muted)}.theme-option.active{border-color:var(--primary);box-shadow:0 12px 25px #6366f14d}.theme-option .theme-option-copy{flex:1}.theme-swatch{width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.theme-default{background:linear-gradient(135deg,#020617,#0f172a)}.theme-light{background:linear-gradient(135deg,#f8fafc,#cbd5f5)}.theme-glass{background:linear-gradient(135deg,#0f172ab3,#4f46e58c)}.theme-glass-light{background:linear-gradient(135deg,#ffffffd9,#a4cbffd9);border-color:#0b152d1a}.container{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2rem}header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.subtitle{text-transform:uppercase;letter-spacing:.2rem;font-size:.85rem;color:#94a3b8;margin:0}header h1{margin:.2rem 0 0;font-size:2rem}.scanner{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem}.video-wrapper{position:relative;background:radial-gradient(circle,#0f172a,#020617);border-radius:20px;padding:1rem;border:1px solid var(--border);min-height:360px}video{width:100%;border-radius:14px;border:2px solid rgba(99,102,241,.4);background:#000}.overlay{position:absolute;inset:1rem;display:flex;align-items:center;justify-content:center;border-radius:14px;border:2px dashed var(--border);text-transform:uppercase;letter-spacing:.2rem;color:var(--muted)}.hidden{display:none}.panel{background:var(--card-bg);border-radius:18px;border:1px solid var(--card-border);padding:1.5rem;display:flex;flex-direction:column;gap:.8rem}.panel-label{margin:0;color:#94a3b8;font-size:.95rem}.panel-status{font-size:1.4rem;margin:0;font-weight:600}.panel-status.success{color:#22c55e}.panel-status.error{color:#ef4444}.panel-status.loading,.panel-status.info{color:#eab308}.person-name{display:block;font-size:1rem;font-weight:400;color:#cbd5f5}.panel-meta{margin:0;color:#cbd5f5;font-size:.9rem}.panel-error{margin:0;color:#f87171;font-size:.9rem}.panel-success{margin:0;color:#34d399;font-size:.9rem}.actions{display:flex;gap:.8rem}.btn{padding:.8rem 1.2rem;border-radius:999px;background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:600;flex:1;transition:transform .2s ease,box-shadow .2s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 25px #6366f159}.btn.small{flex:0 0 auto;padding:.35rem .8rem;font-size:.78rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--border)}.hint{margin:0;font-size:.85rem;color:#94a3b8}.badge{padding:.3rem .9rem;border-radius:999px;border:1px solid rgba(148,163,184,.5);font-size:.85rem}.badge-success{color:#22c55e;border-color:#22c55e66}.badge-error{color:#ef4444;border-color:#ef444466}.badge-warning,.badge-info{color:#eab308;border-color:#eab30866}.mobile-shell{max-width:420px;margin:0 auto;min-height:100vh;padding:1rem 1.2rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.mobile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.mobile-header h1{margin:0;font-size:1.8rem}.mobile-video-wrapper{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:24px;border:2px solid rgba(99,102,241,.4);overflow:hidden;background:#000}.mobile-video{width:100%;height:100%;object-fit:cover}.mobile-overlay{inset:0;border-radius:0}.mobile-panel{background:#0f172af2;border-radius:20px;border:1px solid rgba(99,102,241,.4);padding:1.2rem;display:flex;flex-direction:column;gap:1rem}.primary-actions,.secondary-actions{display:flex;gap:.8rem}.secondary-actions{margin-top:.5rem}.btn.outline{background:transparent;border:1px solid rgba(148,163,184,.5)}.btn.outline.active{border-color:#6366f1e6;background:#6366f126}.btn.ghost.active{border-color:#22c55e66;color:#22c55e}.primary-actions .btn,.secondary-actions .btn{flex:1}.detections-list{display:flex;flex-direction:column;gap:.6rem}.detection{border-radius:14px;border:1px solid rgba(148,163,184,.3);padding:.8rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem}.detection.success{border-color:#22c55e80}.detection.error{border-color:#ef444480}.detection span{display:block;color:#94a3b8;font-size:.85rem}.detection small,.detection-alert{color:#f87171}.detection .allowed-students{color:#86efac;margin-top:.25rem;display:block}.detection-info{display:flex;flex-direction:column;gap:.2rem}.detection-photos{display:flex;gap:.6rem;align-items:center}.photo-stack{display:flex;flex-direction:column;gap:.25rem;align-items:center;font-size:.7rem;color:#94a3b8}.photo-thumb{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid rgba(148,163,184,.3)}.students-gallery{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem}.student-card{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:14px;border:1px solid rgba(148,163,184,.2);background:#0f172a66}.student-card span{display:block;font-size:.8rem;color:#94a3b8}.student-photo{width:144px;height:144px;border-radius:16px;object-fit:cover;border:1px solid rgba(148,163,184,.3)}.status-pill{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.status-meta{color:#94a3b8;font-size:.75rem}.settings-card .toggle-group{display:flex;gap:.5rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.settings-actions{display:flex;justify-content:flex-end;gap:.75rem;align-items:flex-end}.settings-panel{display:flex;flex-direction:column;gap:1.5rem}.settings-preview{border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:1rem;background:#0f172a59;display:flex;flex-direction:column;gap:.8rem}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.preview-actions{display:flex;gap:.6rem}.preview-media{display:block;width:auto;max-width:100%;height:auto;max-height:min(70vh,480px);object-fit:contain;align-self:center;border-radius:14px;border:1px solid rgba(148,163,184,.25);background:#0f172a99}.preview-placeholder{padding:2rem;border-radius:12px;border:1px dashed rgba(148,163,184,.35);color:#94a3b8;text-align:center;background:#0f172a66}.settings-grid select,.settings-grid input{width:100%;padding:.7rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:transparent;color:#f8fafc}.setting-item p{margin:0 0 .4rem;color:#cbd5f5}.admin-container,.admin-area{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;color:var(--text)}.admin-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.admin-login-card{width:min(520px,100%)}.admin-login-container{max-width:none;width:100%;min-height:100vh;min-height:100dvh;margin:0;padding:clamp(16px,4vh,32px) clamp(16px,5vw,28px);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.admin-login-brand{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#93c5fd}.admin-form{display:flex;flex-direction:column;gap:.8rem}.admin-form input,.admin-form select{width:100%;padding:.7rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:transparent;color:#f8fafc}.form-inline-split{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:.8rem;align-items:end}.form-inline-split>label{display:flex;flex-direction:column;gap:.45rem;min-width:0}.form-inline-split.phone-inline-fields{grid-column:1 / -1}@media(max-width:640px){.form-inline-split{grid-template-columns:1fr}.form-inline-split.phone-inline-fields{grid-template-columns:minmax(140px,170px) minmax(0,1fr)}}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-controls{display:flex;gap:.8rem}.switch{border-radius:999px;border:1px solid rgba(148,163,184,.4);padding:.4rem 1rem;background:#0f172a99;color:#f8fafc;cursor:pointer;font-weight:600}.switch.on{border-color:#6366f1b3;background:#6366f133}.admin-alert{background:#22c55e26;border:1px solid rgba(34,197,94,.4);padding:.8rem 1rem;border-radius:12px;margin-bottom:1rem}.grid{display:grid;gap:1rem}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.stat-card{border:1px solid rgba(148,163,184,.3);border-radius:16px;padding:1rem;background:#020617cc}.stat-card p{margin:0;color:#94a3b8;font-size:.9rem}.stat-card strong{font-size:2rem;display:block;margin-top:.5rem}.stat-card.success{border-color:#22c55e66}.stat-card.error{border-color:#ef444466}.stat-card.info{border-color:#0ea5e966}.admin-main{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1.5rem}.admin-submenu{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.admin-submenu-link{text-decoration:none;color:#cbd5f5;border:1px solid rgba(148,163,184,.3);background:#0f172a99;padding:.45rem 1rem;border-radius:999px;font-weight:600;transition:all .2s ease}.admin-submenu-link:hover{border-color:#6366f173}.admin-submenu-link.active{background:#6366f140;border-color:#6366f173;color:#f8fafc}.admin-page-card{display:flex;flex-direction:column;gap:1rem}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-page-header h3{margin:0}.responsible-container{max-width:1180px}.responsible-auth-card{max-width:460px;margin:0 auto}.responsible-login-shell{width:min(460px,100%);display:flex;flex-direction:column;gap:.8rem;margin:0 auto}.responsible-login-link{align-self:center;color:#94a3b8;font-size:.84rem;text-decoration:none;opacity:.85;transition:opacity .2s ease,color .2s ease}.responsible-login-link:hover{color:#cbd5e1;opacity:1;text-decoration:underline}.responsible-login-container{align-items:center;justify-content:center}.responsible-header-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.responsible-header-main{display:flex;flex-direction:column;gap:.4rem}.responsible-header-main h2{margin:0}.responsible-owner-meta{display:flex;align-items:center;gap:.8rem;margin-top:.4rem}.responsible-owner-meta strong{display:block}.responsible-owner-meta span{display:block;color:#94a3b8;font-size:.8rem}.responsible-owner-thumb-wrap{width:52px;height:52px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.3);background:#0f172a8c}.responsible-owner-thumb{width:100%;height:100%;object-fit:cover;display:block}.responsible-owner-thumb-wrap .table-photo-placeholder{width:100%;height:100%;border-radius:0}.responsible-section-card{display:flex;flex-direction:column;gap:1rem}.responsible-section-card h3{margin:0}.responsible-authorized-form{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.75rem;align-items:end}.responsible-authorized-form .btn{width:100%}.import-controls{display:flex;flex-direction:column;gap:.8rem}.import-form{display:flex;flex-wrap:nowrap;gap:.8rem;align-items:center}.import-form input[type=file]{flex:1;min-width:260px;padding:.55rem .7rem;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#0f172a8c;color:inherit}.import-grid{display:grid;gap:1rem}.import-status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.2rem .65rem;border:1px solid rgba(148,163,184,.35);background:#94a3b833;font-size:.78rem;font-weight:700;text-transform:uppercase}.import-status-chip.success{border-color:#22c55e8c;background:#22c55e33}.import-status-chip.partial{border-color:#f59e0b8c;background:#f59e0b33}.import-status-chip.failed,.import-status-chip.error{border-color:#ef44448c;background:#ef444433}.import-status-chip.processing{border-color:#3b82f68c;background:#3b82f633}@media(max-width:640px){.admin-page-header{flex-wrap:wrap}.responsible-header-card{flex-direction:column}.responsible-authorized-form{grid-template-columns:1fr}.import-form{flex-direction:column;align-items:stretch}}.logs{max-height:520px;min-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem}.menu-tabs{display:inline-flex;gap:.6rem;padding:.2rem;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#0f172a99}.tab-btn{border:none;background:transparent;color:#cbd5f5;padding:.4rem 1rem;border-radius:999px;cursor:pointer;font-weight:600}.tab-btn.active{background:#6366f14d;color:#f8fafc}.logs-filters{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:.8rem}.logs-filters label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:#cbd5f5}.logs-filters input,.logs-filters select{padding:.6rem .8rem;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#0f172a99;color:#f8fafc}.log-item{border-radius:16px;border:1px solid rgba(148,163,184,.2);overflow:hidden;display:flex;flex-direction:column;gap:0;flex:0 0 auto}.log-item.success{border-color:#22c55e66}.log-item.error{border-color:#ef444466}.log-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid rgba(148,163,184,.15)}.log-item.success .log-header{background:#22c55e29}.log-item.error .log-header{background:#ef444429}.log-header-info{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.log-header-info strong{font-size:1rem}.log-header-info span{color:#cbd5f5;font-size:.85rem}.log-header-info small{color:#e2e8f0;font-weight:600}.log-header-students{color:#86efac;font-size:.85rem}.log-body{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:1rem;padding:1rem;background:#0f172a59}.log-responsible{display:flex;align-items:center;gap:1rem}.log-photo-frame{position:relative;width:240px;height:170px;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.35);background:#0f172a99}.log-photo-main{width:100%;height:100%;object-fit:cover;display:block}.log-photo-avatar{position:absolute;right:10px;bottom:10px;width:68px;height:68px;border-radius:16px;object-fit:cover;border:2px solid rgba(148,163,184,.5);box-shadow:0 10px 20px #02061773;background:#0f172acc}.log-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;background:#0f172a99}.log-right{display:flex;justify-content:flex-end;align-items:center}.log-students-grid{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.log-student-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.35)}.log-photo{width:140px;height:140px;object-fit:cover;display:block}.log-student-caption{position:absolute;left:0;right:0;bottom:0;padding:.35rem .5rem;background:linear-gradient(transparent,#020617d9);color:#f8fafc;font-size:.75rem;display:flex;flex-direction:column;gap:.1rem}.log-student-caption span{color:#cbd5f5;font-size:.7rem}.log-empty{color:#94a3b8;font-size:.85rem}.table-wrapper{overflow-x:auto}.list-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.9rem}.list-field{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:#cbd5f5}.list-search{flex:1;min-width:220px}.list-size{min-width:130px}.list-field input,.list-field select{width:100%;padding:.55rem .7rem;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#0f172a8c;color:inherit}.list-meta{margin-left:auto;color:#94a3b8;font-size:.85rem;padding-bottom:.1rem}.list-footer-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:.9rem;margin-top:.15rem}.list-pagination{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;color:#cbd5f5;font-size:.8rem}.pager-btn{padding:.2rem .6rem;min-height:30px;font-size:.78rem;line-height:1}.table-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.icon-btn{border:1px solid rgba(99,102,241,.5);background:#6366f11a;color:#f8fafc;border-radius:999px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}table{width:100%;border-collapse:collapse}.table-thumb-head,.table-thumb-col{width:64px;min-width:64px}.table-photo-thumb,.table-photo-placeholder{width:42px;height:42px;border-radius:10px}.table-photo-thumb{display:block;object-fit:cover;border:1px solid rgba(148,163,184,.3);background:#0f172a73}.table-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;border:1px dashed rgba(148,163,184,.35);background:#0f172a73;color:#94a3b8;font-size:.55rem;text-transform:uppercase;letter-spacing:.04em}th,td{padding:.8rem .6rem;text-align:left;border-bottom:1px solid rgba(148,163,184,.2)}.table-head-icon{display:inline-flex;align-items:center;justify-content:center}.table-head-icon svg{width:16px;height:16px}.cell-primary{font-weight:600;line-height:1.2}.cell-secondary{display:block;color:#94a3b8;font-size:.74rem;line-height:1.2}.actions-inline{display:flex;gap:.8rem;flex-wrap:wrap}.actions-inline.icon-actions{gap:.45rem;flex-wrap:nowrap}.row-inactive td{opacity:.72}.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;text-transform:uppercase;border:1px solid rgba(148,163,184,.35);background:#94a3b833}.status-chip.active{border-color:#22c55e8c;background:#22c55e2e;color:#bbf7d0}.status-chip.inactive{border-color:#f871718c;background:#f8717129;color:#fecaca}.action-icon-btn{width:32px;height:32px;border-radius:10px;border:1px solid rgba(96,165,250,.45);background:#60a5fa1a;color:#93c5fd;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:transform .15s ease,border-color .2s ease}.action-icon-btn:hover{transform:translateY(-1px);border-color:#60a5facc}.action-icon-btn:focus-visible{outline:2px solid rgba(96,165,250,.6);outline-offset:2px}.action-icon-btn svg{width:18px;height:18px}.action-icon-btn.action-danger{border-color:#f8717180;background:#f871711f;color:#fca5a5}.action-icon-btn.action-success{border-color:#22c55e80;background:#22c55e1f;color:#86efac}.action-icon-label{position:relative}.link{background:none;border:none;color:#60a5fa;cursor:pointer;padding:0;font-size:.9rem}.link.danger{color:#f87171}.file-link input{display:none}.modal-backdrop{position:fixed;inset:0;background:#030712a6;display:flex;align-items:center;justify-content:center;z-index:30;animation:fadeIn .2s ease}.modal-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:2rem;width:min(420px,90%);display:flex;flex-direction:column;gap:1rem}.modal-toggle{display:flex;gap:.8rem}.webcam-section{display:flex;flex-direction:column;gap:.8rem}.webcam-section video,.capture-preview{width:100%;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#000}.modal-actions{display:flex;justify-content:flex-end;gap:.8rem}.link-list{display:flex;flex-direction:column;gap:.6rem;max-height:280px;overflow-y:auto;padding:.4rem 0}.checkbox-row{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:#e2e8f0}.checkbox-row input{width:16px;height:16px}body.light-theme{--bg: linear-gradient(180deg, #f8fbff 0%, #e9eef7 55%, #dfe5f1 100%);--card-bg: rgba(255, 255, 255, .95);--card-border: rgba(15, 23, 42, .08);--primary: #2563eb;--text: #0f172a;--muted: #475569;--border: rgba(15, 23, 42, .14);background:var(--bg);color:var(--text)}body.light-theme .theme-fab{background:#2563eb2e;color:#0f172a;border-color:#0f172a1f;box-shadow:0 12px 30px #0f172a2e}body.light-theme .top-nav{background:#ffffffeb;border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 12px 30px #0f172a14}body.light-theme .top-nav a,body.light-theme .logout-link{color:#0f172a}body.light-theme .panel,body.light-theme .admin-card,body.light-theme .mobile-panel,body.light-theme .modal-card,body.light-theme .stat-card,body.light-theme .admin-alert{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 18px 40px #0f172a26}body.light-theme .mobile-video-wrapper{background:#fff;border:1px solid rgba(15,23,42,.15)}body.light-theme .badge,body.light-theme .switch{background:#e2e8f0b3;border:1px solid rgba(15,23,42,.15);color:#0f172a;box-shadow:none}body.light-theme .switch.on{background:#2563eb;color:#fff;border-color:#1d4ed8}body.light-theme .btn{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 18px 30px #2563eb59}body.light-theme .btn.ghost,body.light-theme .btn.outline{background:transparent;border:1px solid rgba(37,99,235,.35);color:#1e293b}body.light-theme .icon-btn{background:#2563eb14;color:#1e293b;border-color:#2563eb59}body.light-theme .admin-submenu-link{color:#1e293b;border-color:#0f172a26;background:#ffffffeb}body.light-theme .admin-submenu-link.active{color:#fff;border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#3b82f6)}body.light-theme .import-form input[type=file],body.light-theme .list-field input,body.light-theme .list-field select{background:#ffffffeb;border-color:#0f172a26}body.light-theme .list-field{color:#334155}body.light-theme .list-meta,body.light-theme .list-pagination{color:#475569}body.light-theme .row-inactive td{opacity:.58}body.light-theme .status-chip{border-color:#0f172a29;background:#94a3b833;color:#1e293b}body.light-theme .status-chip.active{border-color:#16a34a61;background:#22c55e24;color:#166534}body.light-theme .status-chip.inactive{border-color:#dc262659;background:#f8717129;color:#991b1b}body.light-theme .action-icon-btn{border-color:#2563eb47;background:#2563eb14;color:#1d4ed8}body.light-theme .action-icon-btn.action-danger{border-color:#dc26264d;background:#f8717124;color:#b91c1c}body.light-theme .action-icon-btn.action-success{border-color:#16a34a4d;background:#22c55e1f;color:#15803d}body.light-theme .detection,body.light-theme .log-item{background:#f8fafff2;border-color:#0f172a14}body.light-theme .detection.success,body.light-theme .log-item.success{border-color:#22c55e66}body.light-theme .detection.error,body.light-theme .log-item.error{border-color:#ef444459}body.light-theme table{color:#0f172a}body.light-theme th,body.light-theme td{border-color:#0f172a14}body.glass-theme{--bg: radial-gradient(circle at top, rgba(10, 14, 28, .85), #010205 75%);--card-bg: rgba(255, 255, 255, .08);--card-border: rgba(255, 255, 255, .35);--primary: rgba(255, 255, 255, .85);--text: #f8fbff;--muted: rgba(255, 255, 255, .75);--border: rgba(255, 255, 255, .25);background:var(--bg);color:var(--text);position:relative;overflow-x:hidden}body.glass-theme .theme-fab{background:#ffffff14;color:var(--text);border-color:#ffffff4d;box-shadow:0 20px 45px #0306128c}body.glass-theme:before,body.glass-theme:after{content:"";position:fixed;width:480px;height:480px;background:radial-gradient(circle,rgba(120,162,255,.45),transparent 60%);filter:blur(20px);z-index:0;pointer-events:none}body.glass-theme:before{top:-120px;left:-80px}body.glass-theme:after{bottom:-160px;right:-120px;background:radial-gradient(circle,rgba(255,108,162,.35),transparent 60%)}body.glass-theme .top-nav{background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff14,0 20px 40px #020617a6;-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);border:1px solid rgba(255,255,255,.08);border-radius:0 0 24px 24px}body.glass-theme .nav-right a{color:var(--text);text-shadow:0 3px 12px rgba(0,0,0,.35)}body.glass-theme .container,body.glass-theme .admin-area,body.glass-theme .admin-container,body.glass-theme .scanner-shell,body.glass-theme .mobile-shell{position:relative;z-index:1}body.glass-theme .panel,body.glass-theme .admin-card,body.glass-theme .mobile-panel,body.glass-theme .modal-card,body.glass-theme .stat-card,body.glass-theme .mobile-video-wrapper,body.glass-theme .admin-alert{background:#ffffff14;border:1px solid rgba(255,255,255,.25);box-shadow:0 20px 45px #020617a6,inset 0 0 0 1px #ffffff14;-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}body.glass-theme .mobile-video-wrapper{border:1px solid rgba(255,255,255,.4);background:#030712bf}body.glass-theme .mobile-video-wrapper:after{content:"";position:absolute;inset:10px;border-radius:18px;border:1px solid rgba(255,255,255,.2);pointer-events:none}body.glass-theme .panel-status.success,body.glass-theme .stat-card.success strong,body.glass-theme .badge-success{color:#2ef4a4}body.glass-theme .panel-status.error,body.glass-theme .stat-card.error strong,body.glass-theme .badge-error{color:#ff7a7a}body.glass-theme .panel-status.info,body.glass-theme .panel-status.loading,body.glass-theme .stat-card.info strong,body.glass-theme .badge-info,body.glass-theme .badge-warning{color:#ffe278}body.glass-theme .badge,body.glass-theme .switch{border-color:#ffffff59;background:#ffffff0d;color:var(--text);box-shadow:0 10px 25px #02061759,inset 0 0 0 1px #ffffff0d}body.glass-theme .switch.on{background:#ffffff1f;border-color:#ffffffa6;color:var(--text)}body.glass-theme .btn{color:#050814;background:linear-gradient(130deg,#fffffff2,#ffffffbf);box-shadow:0 20px 40px #05081473}body.glass-theme .btn.ghost,body.glass-theme .btn.outline{background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.35)}body.glass-theme .icon-btn{background:#ffffff14;border-color:#ffffff59;color:var(--text)}body.glass-theme .detection,body.glass-theme .log-item{border-color:#ffffff38;background:#ffffff0a}body.glass-theme .detection.success,body.glass-theme .log-item.success{border-color:#2ef4a480}body.glass-theme .detection.error,body.glass-theme .log-item.error{border-color:#ff7a7a73}body.glass-theme table{color:var(--text)}body.glass-theme th,body.glass-theme td{border-color:#ffffff26}body.glass-theme-light{--bg: radial-gradient(circle at top, rgba(255, 255, 255, .9), rgba(214, 227, 255, .95) 65%);--card-bg: rgba(255, 255, 255, .55);--card-border: rgba(255, 255, 255, .65);--primary: rgba(4, 12, 36, .85);--text: #0b152d;--muted: rgba(11, 21, 45, .7);--border: rgba(11, 21, 45, .2);background:var(--bg);color:var(--text);position:relative;overflow-x:hidden}body.glass-theme-light .theme-fab{background:#ffffff59;color:var(--text);border-color:#ffffffa6;box-shadow:0 20px 45px #6076bc59}body.glass-theme-light:before,body.glass-theme-light:after{content:"";position:fixed;width:480px;height:480px;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 65%);filter:blur(30px);z-index:0;pointer-events:none}body.glass-theme-light:before{top:-140px;left:-100px}body.glass-theme-light:after{bottom:-180px;right:-140px;background:radial-gradient(circle,rgba(164,203,255,.65),transparent 60%)}body.glass-theme-light .top-nav{background:#ffffff73;border:1px solid rgba(255,255,255,.7);border-radius:0 0 24px 24px;box-shadow:inset 0 0 0 1px #ffffff80,0 20px 35px #6076bc40;-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}body.glass-theme-light .nav-right a,body.glass-theme-light .top-nav a{color:var(--text);text-shadow:0 3px 12px rgba(255,255,255,.45)}body.glass-theme-light .container,body.glass-theme-light .admin-area,body.glass-theme-light .admin-container,body.glass-theme-light .scanner-shell,body.glass-theme-light .mobile-shell{position:relative;z-index:1}body.glass-theme-light .panel,body.glass-theme-light .admin-card,body.glass-theme-light .mobile-panel,body.glass-theme-light .modal-card,body.glass-theme-light .stat-card,body.glass-theme-light .mobile-video-wrapper,body.glass-theme-light .admin-alert{background:#ffffff94;border:1px solid rgba(255,255,255,.6);box-shadow:0 25px 55px #6c80bf59,inset 0 0 0 1px #ffffff59;-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%)}body.glass-theme-light .mobile-video-wrapper{border:1px solid rgba(255,255,255,.7);background:#ffffffa6}body.glass-theme-light .mobile-video-wrapper:after{content:"";position:absolute;inset:12px;border-radius:18px;border:1px solid rgba(255,255,255,.5);pointer-events:none}body.glass-theme-light .panel-status.success,body.glass-theme-light .stat-card.success strong,body.glass-theme-light .badge-success{color:#13ad76}body.glass-theme-light .panel-status.error,body.glass-theme-light .stat-card.error strong,body.glass-theme-light .badge-error{color:#d0354b}body.glass-theme-light .panel-status.info,body.glass-theme-light .panel-status.loading,body.glass-theme-light .stat-card.info strong,body.glass-theme-light .badge-info,body.glass-theme-light .badge-warning{color:#d09815}body.glass-theme-light .badge,body.glass-theme-light .switch{border-color:#ffffff8c;background:#ffffff47;color:var(--text);box-shadow:0 12px 30px #8396cb59,inset 0 0 0 1px #fff3}body.glass-theme-light .switch.on{background:#fff6;border-color:#fffc;color:var(--text)}body.glass-theme-light .btn{color:#071022;background:linear-gradient(135deg,#fffffff2,#ffffffbf);box-shadow:0 25px 45px #4f6ba659}body.glass-theme-light .btn.ghost,body.glass-theme-light .btn.outline{background:#fff3;color:var(--text);border:1px solid rgba(255,255,255,.6)}body.glass-theme-light .icon-btn{background:#ffffff59;border-color:#ffffffb3;color:var(--text)}body.glass-theme-light .detection,body.glass-theme-light .log-item{border-color:#ffffff80;background:#ffffff59}body.glass-theme-light .detection.success,body.glass-theme-light .log-item.success{border-color:#13ad7673}body.glass-theme-light .detection.error,body.glass-theme-light .log-item.error{border-color:#d0354b73}body.glass-theme-light table{color:var(--text)}body.glass-theme-light th,body.glass-theme-light td{border-color:#ffffff73}@media(max-width:768px){.top-nav{justify-content:center}.actions-inline{flex-direction:column;align-items:flex-start}.actions-inline.icon-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.list-toolbar,.list-footer-controls{flex-direction:column;align-items:stretch}.list-meta{margin-left:0}.list-pagination{justify-content:flex-start}}@media(max-width:900px){.scanner{grid-template-columns:1fr}}.scanner-shell{max-width:1400px;margin:0 auto;padding:2rem 2rem 3rem;display:flex;flex-direction:column;gap:1.5rem}.scanner-lock-container{max-width:none;width:100%;min-height:100vh;min-height:100dvh;margin:0;padding:clamp(16px,4vh,32px) clamp(16px,5vw,28px);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.scanner-lock-card{width:min(520px,100%)}.scanner-lock-school{margin:0;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:#93c5fd}.scanner-lock-card h2{margin-bottom:.2rem}.scanner-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.scanner-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem}.scanner-left{display:flex;flex-direction:column;gap:1rem}.scanner-video-card{position:relative;border-radius:28px;border:1px solid rgba(148,163,184,.25);background:#02061799;overflow:hidden;aspect-ratio:16 / 9;min-height:360px;box-shadow:0 40px 70px #02061780}.scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border:none;border-radius:0}.scanner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#e2e8f0;background:#030712b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.video-gradient{position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#020617d9);pointer-events:none}.video-status{position:absolute;left:1.5rem;bottom:1.5rem;display:flex;flex-direction:column;gap:.4rem}.video-meta{color:#cbd5f5;font-size:.85rem}.scanner-side{display:flex;flex-direction:column;gap:1rem}.scanner-card{background:var(--card-bg);border:1px solid rgba(148,163,184,.25);border-radius:20px;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 20px 45px #02061766;animation:fadeUp .4s ease}.scanner-card h2,.scanner-card h3{margin:0}.scanner-card .muted{color:var(--muted);margin:.2rem 0 0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.card-actions{display:flex;align-items:center;gap:.6rem}.countdown{color:#cbd5f5;font-size:.8rem}.headline-names{font-size:1.3rem;margin:.4rem 0 0;color:#e2e8f0}.status-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px);gap:1rem}.status-meta-block{display:grid;grid-template-columns:1fr;gap:.3rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:#cbd5f5}.status-meta-block strong{font-size:.95rem;color:#f8fafc;text-transform:none;letter-spacing:0}.action-card .btn{width:100%;font-size:1rem;padding:.9rem 1.2rem}.camera-select-card{gap:.55rem}.camera-select-row{display:flex;flex-direction:column;gap:.4rem}.camera-select-row label{font-size:.85rem;color:#cbd5f5}.camera-select-row select{width:100%;padding:.62rem .75rem;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:transparent;color:#f8fafc}.match-card{border-color:#22d3ee59}.match-grid{display:flex;flex-direction:column;gap:.8rem}.match-divider{height:1px;background:#94a3b833;margin:.4rem 0}.match-group{display:flex;flex-direction:column;gap:1rem}.match-subcard{border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:1rem;background:#0f172a59;display:flex;flex-direction:column;gap:.8rem}.match-subhead{display:flex;justify-content:space-between;align-items:center;gap:1rem}.match-students h4{margin:0;font-size:1rem}.match-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.match-photos span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:.35rem}.photo-lg{width:100%;height:140px;object-fit:cover;border-radius:14px;border:1px solid rgba(148,163,184,.3)}.photo-lg.photo-placeholder{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.8rem;background:#0f172a99}.students-card .students-grid,.match-students .students-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.mini-log-card{border-color:#5eead459}.mini-log-list{display:flex;flex-direction:column;gap:.8rem;max-height:340px;overflow-y:auto}.mini-log-item{display:grid;grid-template-columns:160px 1fr;gap:.9rem;align-items:stretch;padding:.6rem;border-radius:14px;border:1px solid rgba(148,163,184,.2);background:#0f172a66}.mini-log-responsible{display:flex;gap:.7rem;align-items:center}.mini-log-photo{width:96px;height:72px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.25)}.mini-log-photo img{width:100%;height:100%;object-fit:cover;display:block}.mini-log-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.7rem;background:#0f172a99}.mini-log-info{display:flex;flex-direction:column;gap:.2rem}.mini-log-info span{color:#cbd5f5;font-size:.8rem}.mini-log-students{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.mini-log-student{display:flex;gap:.5rem;align-items:center;padding:.35rem .5rem;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#02061773}.mini-log-student-photo{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid rgba(148,163,184,.25)}.mini-log-student-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.75rem;color:#cbd5f5}.mini-log-student-meta span{color:#94a3b8;font-size:.7rem}.mini-log-empty{color:#94a3b8;font-size:.8rem}.scanner-history{margin-top:1.5rem}.history-card .card-head{align-items:flex-end}.history-controls{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap}.history-controls label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:#cbd5f5}.history-controls input,.history-controls select{width:180px;padding:.55rem .75rem;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:transparent;color:#f8fafc}.history-controls .btn{flex:0 0 auto;padding:.6rem 1rem}.history-list{max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:.8rem}.history-item{display:grid;grid-template-columns:90px 1fr;gap:.8rem;padding:.7rem;border-radius:14px;border:1px solid rgba(148,163,184,.2);background:#0f172a66;align-items:center}.history-item.success{border-color:#22d3ee59}.history-item.error{border-color:#ef444459}.history-photo{width:90px;height:70px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.25);background:#0f172a99}.history-photo img{width:100%;height:100%;object-fit:cover;display:block}.history-info{display:flex;flex-direction:column;gap:.2rem}.history-info span{color:#cbd5f5;font-size:.8rem}.history-info small{color:#94a3b8;font-size:.75rem}.students-alert{border:1px solid rgba(239,68,68,.5);background:#ef444426;color:#fecaca;padding:.8rem 1rem;border-radius:12px;font-weight:600}.detections-card .detections-list{max-height:220px;overflow-y:auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.scanner-grid{grid-template-columns:1fr}.scanner-video-card{min-height:360px}}@media(max-width:720px){.scanner-shell{padding:1.5rem}.scanner-header{flex-direction:column;align-items:flex-start}.status-card,.match-photos{grid-template-columns:1fr}}.top-nav{position:sticky;top:0;z-index:70;min-height:68px;padding:.85rem 1.25rem}.nav-brand{color:#e2e8f0;font-weight:700;letter-spacing:.02em;text-decoration:none;font-size:1.02rem;white-space:nowrap}.nav-brand-desktop{display:inline}.nav-brand-mobile{display:none}.nav-right{display:flex;align-items:center;gap:.55rem}.nav-link-icon{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.42rem .78rem;color:#dbe5ff;background:#0f172a57;text-decoration:none;font-weight:600;font-size:.85rem}.nav-link-icon svg{width:16px;height:16px}.nav-link-icon.active{border-color:#22d3eea6;background:#22d3ee2e}.nav-link-icon.logout-link{color:#fecaca;cursor:pointer}body.scanner-immersive{overflow:hidden}body.scanner-immersive .top-nav{position:fixed;top:calc(env(safe-area-inset-top) + clamp(6px,1vh,12px));left:calc(env(safe-area-inset-left) + clamp(10px,1.8vw,18px));right:calc(env(safe-area-inset-right) + clamp(10px,1.8vw,18px));z-index:85;min-height:clamp(58px,8vh,72px);border-radius:16px;border:1px solid rgba(148,163,184,.25);background:#03061285;box-shadow:0 14px 34px #02061773}.scanner-shell.scanner-immersive-layout{--scanner-space-x: clamp(12px, 2vw, 20px);--scanner-space-y: clamp(12px, 2.2vh, 22px);--scanner-safe-left: env(safe-area-inset-left);--scanner-safe-right: env(safe-area-inset-right);--scanner-safe-top: env(safe-area-inset-top);--scanner-safe-bottom: env(safe-area-inset-bottom);--scanner-header-height: clamp(58px, 8vh, 72px);--scanner-top-offset: calc( var(--scanner-safe-top) + var(--scanner-header-height) + clamp(16px, 2.2vh, 24px) );max-width:none;width:100%;margin:0;padding:0;height:100vh;height:100dvh;position:relative;z-index:2;isolation:isolate}.scanner-stage{position:relative;width:100%;height:100%;overflow:hidden;background:#020617}.scanner-video.scanner-video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;filter:none}.scanner-backdrop{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(2,132,199,.1),transparent 34%),radial-gradient(circle at 80% 84%,rgba(14,165,233,.06),transparent 38%),linear-gradient(165deg,#02061714,#02061742)}.scanner-overlay{z-index:6}.scanner-history-toggle{position:absolute;left:var(--scanner-safe-left);top:50%;transform:translateY(-50%);z-index:18;width:44px;height:108px;border-radius:0 14px 14px 0;border-left:0;border:1px solid rgba(148,163,184,.45);background:#030916b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2e8f0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;cursor:pointer;box-shadow:0 20px 35px #02061780}.scanner-history-toggle span{font-size:1.55rem;font-weight:700;line-height:1}.scanner-history-toggle strong{display:none}.scanner-history-toggle.open{border-color:#22d3eead;background:#22d3ee33}.scanner-history-flyout{position:absolute;top:var(--scanner-top-offset);left:calc(var(--scanner-space-x) + var(--scanner-safe-left));bottom:calc(var(--scanner-space-y) + var(--scanner-safe-bottom));width:340px;z-index:16;border-radius:20px;border:1px solid rgba(148,163,184,.35);background:#020817d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 35px 60px #02061785;transform:translate(calc(-100% - 1.6rem));transition:transform .24s ease;display:flex;flex-direction:column;overflow:hidden}.scanner-history-flyout.open{transform:translate(0)}.scanner-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid rgba(148,163,184,.25)}.scanner-panel-head h3{margin:0;font-size:1rem}.scanner-history-list{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.55rem}.scanner-history-item{display:grid;grid-template-columns:80px 1fr;gap:.6rem;padding:.5rem;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172a73;text-align:left;width:100%;cursor:pointer}.scanner-history-item:disabled{opacity:.65;cursor:default}.scanner-history-item.success{border-color:#22d3ee6b}.scanner-history-item.error{border-color:#ef44446b}.scanner-history-photo{width:80px;height:62px;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.25);background:#0206178c}.scanner-history-photo img{width:100%;height:100%;object-fit:cover}.scanner-history-meta{display:flex;flex-direction:column;gap:.18rem}.scanner-history-meta span{color:#bfcbeb;font-size:.72rem}.scanner-history-meta small{color:#94a3b8;font-size:.7rem}.scanner-identified-panel{position:absolute;right:calc(var(--scanner-space-x) + var(--scanner-safe-right));top:var(--scanner-top-offset);bottom:auto;width:min(440px,36vw);z-index:17;border-radius:20px;border:1px solid rgba(148,163,184,.25);background:#03061285;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 34px #02061773;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100% - var(--scanner-top-offset) - var(--scanner-space-y) - var(--scanner-safe-bottom));min-height:82px}.scanner-panel-head-actions{padding-block:.72rem}.scanner-panel-actions{display:flex;align-items:center;gap:.45rem}.scanner-icon-btn{width:36px;height:36px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172a9e;color:#dbeafe;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.scanner-icon-btn svg{width:18px;height:18px}.scanner-icon-btn:hover:not(:disabled){border-color:#22d3eea6;color:#99f6e4}.scanner-icon-btn.danger{color:#fecaca}.scanner-icon-btn.danger:hover:not(:disabled){border-color:#f87171b8;color:#fee2e2}.scanner-icon-btn:disabled{opacity:.45;cursor:not-allowed}.scanner-auth-content{max-height:0;opacity:0;transform:translateY(-16px);overflow:hidden;transition:max-height .32s ease,opacity .24s ease,transform .32s ease}.scanner-auth-content.visible{opacity:1;transform:translateY(0);max-height:calc(100vh - 180px);overflow-y:auto;border-top:1px solid rgba(148,163,184,.2)}.scanner-match-card{margin:.75rem;padding:.9rem;border-radius:16px;border:1px solid rgba(148,163,184,.25);background:#0f172a7a;display:flex;flex-direction:column;gap:.65rem;overflow-y:auto}.scanner-match-card h4{margin:0;font-size:.9rem}.scanner-match-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.scanner-match-photos span{display:block;margin-bottom:.25rem;color:#bdc6df;font-size:.7rem}.scanner-students-grid{display:grid;grid-template-columns:1fr;gap:.55rem}.student-card.compact{padding:.55rem;gap:.65rem}.student-card.compact .student-photo{width:60px;height:60px;border-radius:12px}.scanner-floating-status{position:absolute;left:calc(var(--scanner-space-x) + var(--scanner-safe-left));right:auto;bottom:calc(var(--scanner-space-y) + var(--scanner-safe-bottom));z-index:18;max-width:min(380px,calc(100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right)));border-radius:14px;border:1px solid rgba(148,163,184,.4);background:#030814b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.6rem .85rem;display:flex;flex-direction:column;gap:.3rem}.scanner-floating-status small{color:#d5e1ff;font-size:.76rem;line-height:1.35}.scanner-error-chip{color:#fecaca;font-size:.78rem}.scanner-floating-alert{border:1px solid rgba(239,68,68,.55);background:#ef44442e;color:#fee2e2;border-radius:10px;padding:.38rem .56rem;font-size:.78rem;font-weight:700}.scanner-center-alert{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:32;width:min(860px,calc(100% - 2rem));border-radius:18px;border:2px solid rgba(239,68,68,.85);background:#23040adb;color:#fee2e2;text-align:center;font-size:clamp(1.4rem,4vw,3rem);font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:clamp(1.1rem,2.4vw,1.9rem) clamp(.9rem,2vw,1.6rem);box-shadow:0 26px 60px #0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scanner-floating-controls{position:absolute;right:calc(var(--scanner-space-x) + var(--scanner-safe-right));bottom:calc(var(--scanner-space-y) + var(--scanner-safe-bottom));z-index:19;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem}.scanner-verify-fab{border:none;border-radius:50%;width:76px;height:76px;padding:0;background:linear-gradient(135deg,#22d3ee,#0891b2);color:#03222a;box-shadow:0 20px 38px #0891b273;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.scanner-verify-fab svg{width:34px;height:34px}.scanner-verify-fab:disabled{cursor:not-allowed;opacity:.62}.scanner-camera-modal{width:min(460px,94vw)}.scanner-camera-select{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;color:#dbeafe}.scanner-camera-select select{border-radius:10px;border:1px solid rgba(148,163,184,.38);background:#0f172a8c;color:#f8fafc;padding:.6rem .7rem}.scanner-modal-overlay{position:absolute;inset:0;z-index:30;background:#020617a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.scanner-modal-card{width:min(660px,96vw);max-height:min(86vh,760px);overflow-y:auto;border-radius:18px;border:1px solid rgba(148,163,184,.35);background:#020817f0;box-shadow:0 30px 60px #0206178c;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.scanner-modal-card-detail{position:relative;padding-top:2.2rem}.scanner-modal-close{position:absolute;top:.65rem;right:.65rem;width:34px;height:34px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172ab8;color:#e2e8f0;font-size:1.35rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.scanner-modal-close:hover{border-color:#22d3eea6;color:#99f6e4}.scanner-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.scanner-modal-head h3{margin:0}.scanner-modal-head small{color:#cbd5f5;font-size:.75rem}.scanner-modal-responsible{width:100%;max-height:220px;border-radius:14px;object-fit:cover;border:1px solid rgba(148,163,184,.25)}.scanner-modal-card h4{margin:0;font-size:.95rem}.scanner-modal-students-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.55rem}@media(max-width:1200px){.scanner-identified-panel{width:min(400px,44vw)}}@media(max-width:1024px){body.scanner-immersive .top-nav{left:calc(env(safe-area-inset-left) + 8px);right:calc(env(safe-area-inset-right) + 8px);top:calc(env(safe-area-inset-top) + 6px)}.top-nav{padding:.72rem .82rem;gap:.45rem}.nav-brand{font-size:.88rem;max-width:42vw;overflow:hidden;text-overflow:ellipsis}.nav-link-icon{padding:.34rem .56rem;font-size:.72rem}.nav-link-icon span{display:none}.scanner-shell.scanner-immersive-layout{--scanner-space-x: clamp(10px, 2.2vw, 18px);--scanner-space-y: clamp(10px, 1.8vh, 18px)}}@media(max-width:980px){.scanner-shell.scanner-immersive-layout{height:100vh;height:100dvh}.scanner-history-flyout{width:min(330px,calc(100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right)))}.scanner-identified-panel{width:min(390px,calc(100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right)))}.scanner-history-toggle{left:var(--scanner-safe-left);top:50%;transform:translateY(-50%)}.scanner-floating-status{max-width:min(340px,calc(100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right)))}.scanner-floating-controls{right:calc(var(--scanner-space-x) + var(--scanner-safe-right));bottom:calc(var(--scanner-space-y) + var(--scanner-safe-bottom))}}@media(orientation:portrait)and (max-width:980px){.scanner-history-flyout{width:min(360px,calc(100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right)))}.scanner-identified-panel{left:calc(var(--scanner-space-x) + var(--scanner-safe-left));right:calc(var(--scanner-space-x) + var(--scanner-safe-right));width:auto;max-height:min(58vh,calc(100% - var(--scanner-top-offset) - var(--scanner-space-y) - var(--scanner-safe-bottom)))}.scanner-auth-content.visible{max-height:min(44vh,calc(100% - 210px))}.scanner-floating-status{max-width:calc(100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right) - 94px)}.scanner-history-toggle{width:40px;height:94px}}@media(min-width:601px)and (max-width:979px){.scanner-identified-panel{left:auto;width:calc((100% - (2 * var(--scanner-space-x)) - var(--scanner-safe-left) - var(--scanner-safe-right)) * .5)}}@media(max-width:720px){.top-nav{padding:.7rem .8rem;gap:.5rem}.nav-brand{font-size:.86rem;max-width:44vw;overflow:hidden;text-overflow:ellipsis}.nav-link-icon{padding:.35rem .58rem;font-size:.72rem}.scanner-verify-fab{width:66px;height:66px}.scanner-verify-fab svg{width:30px;height:30px}}body.route-admin,body.route-responsible{--liquid-bg-deep: #050a14;--liquid-bg-mid: #0d1a2e;--liquid-surface: rgba(222, 236, 255, .1);--liquid-surface-strong: rgba(232, 243, 255, .16);--liquid-border: rgba(223, 236, 255, .34);--liquid-border-soft: rgba(223, 236, 255, .2);--liquid-text: #edf5ff;--liquid-muted: rgba(231, 241, 255, .78);--liquid-accent: #6dd8ff;--liquid-accent-strong: #3db3e7;--liquid-success: #59da98;--liquid-danger: #ff8696;--liquid-shadow: 0 26px 58px rgba(2, 9, 20, .5);background:radial-gradient(1200px 540px at 7% 8%,rgba(129,196,255,.22),transparent 55%),radial-gradient(840px 420px at 92% 4%,rgba(98,172,255,.16),transparent 58%),radial-gradient(760px 420px at 88% 96%,rgba(55,126,184,.2),transparent 64%),linear-gradient(170deg,var(--liquid-bg-mid) 0%,var(--liquid-bg-deep) 65%);color:var(--liquid-text);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI Variable,Trebuchet MS,sans-serif;min-height:100vh;min-height:100dvh;overflow-x:hidden}body.route-admin #root,body.route-responsible #root{min-height:100vh;min-height:100dvh}body.route-admin .top-nav,body.route-responsible .top-nav{position:sticky;top:0;z-index:90;min-height:74px;padding:.92rem clamp(1rem,2.8vw,2.1rem);border:1px solid var(--liquid-border-soft);border-top:0;border-radius:0 0 24px 24px;background:linear-gradient(135deg,#e0eeff1f,#d3e6fd0f);-webkit-backdrop-filter:blur(24px) saturate(165%);backdrop-filter:blur(24px) saturate(165%);box-shadow:0 20px 44px #02081461}body.route-admin .nav-brand,body.route-responsible .nav-brand{display:inline-flex;align-items:center;font-size:clamp(.98rem,1.2vw,1.08rem);font-weight:700;letter-spacing:.01em;color:var(--liquid-text)}body.route-admin .nav-brand-mobile,body.route-responsible .nav-brand-mobile{display:none}body.route-admin .nav-right,body.route-responsible .nav-right{display:flex;align-items:center;gap:.62rem}body.route-admin .nav-right{margin-left:auto;flex:1 1 auto;min-width:0;justify-content:flex-end}body.route-admin .nav-link-icon,body.route-responsible .nav-link-icon{border:1px solid var(--liquid-border-soft);background:linear-gradient(135deg,#e4f1ff1a,#e4f1ff0a);color:var(--liquid-text);font-weight:700;padding:.45rem .86rem;border-radius:999px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}body.route-admin .nav-link-icon:hover,body.route-responsible .nav-link-icon:hover{transform:translateY(-1px);border-color:var(--liquid-border);box-shadow:0 12px 26px #07142461}body.route-admin .nav-link-icon.active,body.route-responsible .nav-link-icon.active{border-color:#9bdbffa8;background:linear-gradient(145deg,#78c4ee52,#78c4ee1f)}body.route-admin .nav-link-icon.logout-link,body.route-responsible .nav-link-icon.logout-link{color:#ffd4db}body.route-admin .theme-fab,body.route-responsible .theme-fab{top:5.2rem;right:clamp(.55rem,1.2vw,1.1rem);border-radius:18px;border:1px solid var(--liquid-border-soft);background:linear-gradient(145deg,#ecf5ff29,#d2e6ff1a);color:var(--liquid-text);box-shadow:0 20px 38px #030a1870;-webkit-backdrop-filter:blur(20px) saturate(175%);backdrop-filter:blur(20px) saturate(175%)}body.route-admin .theme-fab:hover,body.route-responsible .theme-fab:hover{transform:translateY(-2px);box-shadow:0 24px 44px #030a1880}body.route-admin .theme-picker-overlay,body.route-responsible .theme-picker-overlay{background:#040913b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.route-admin .theme-picker-card,body.route-responsible .theme-picker-card{background:linear-gradient(155deg,#dfeeff29,#d7e8ff1a);border:1px solid var(--liquid-border);-webkit-backdrop-filter:blur(28px) saturate(175%);backdrop-filter:blur(28px) saturate(175%);box-shadow:var(--liquid-shadow)}body.route-admin .theme-option,body.route-responsible .theme-option{background:#e4f1ff1a;border-color:var(--liquid-border-soft)}body.route-admin .theme-option.active,body.route-responsible .theme-option.active{border-color:#a7dfffb3;box-shadow:0 12px 28px #0c1d3266}body.route-admin .theme-option small,body.route-admin .theme-picker-title,body.route-responsible .theme-option small,body.route-responsible .theme-picker-title{color:var(--liquid-muted)}body.route-admin .admin-area,body.route-responsible .admin-container{position:relative;z-index:1;max-width:1300px;padding:clamp(1.2rem,2vw,1.9rem) clamp(.9rem,2.2vw,1.8rem) clamp(2.1rem,4vw,3.3rem)}body.route-admin .admin-login-container,body.route-responsible .admin-login-container,body.route-responsible .responsible-login-container{max-width:none;width:100%;margin:0;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center}body.route-admin .liquid-admin-shell,body.route-responsible .liquid-responsible-shell{animation:liquid-in .45s cubic-bezier(.2,.8,.2,1)}body.route-responsible .top-nav{top:max(.5rem,env(safe-area-inset-top));width:min(calc(100% - 2rem),1120px);margin:0 auto;justify-content:space-between;border-radius:24px;border-top:1px solid var(--liquid-border-soft)}body.route-responsible .nav-brand{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#ecf6ffb3}body.route-responsible .nav-right{margin-left:auto;justify-content:flex-end}body.route-responsible .responsible-app-shell{width:min(100%,1120px);max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:0;padding:calc(max(.3rem,env(safe-area-inset-top)) + 3.45rem) 1rem calc(max(1.25rem,env(safe-area-inset-bottom)) + 1.25rem)}body.route-responsible .responsible-app-shell>*{margin:0}body.route-responsible .responsible-app-shell>*+*{margin-top:1rem}body.route-responsible .responsible-hero-card{border-radius:30px;padding:1.15rem}body.route-responsible .responsible-header-card{margin-bottom:0}body.route-responsible .responsible-hero-card,body.route-responsible .responsible-mobile-section,body.route-responsible .panel-success,body.route-responsible .panel-error{margin-top:0;margin-bottom:0}body.route-admin .floating-notice,body.route-responsible .floating-notice{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 1rem);z-index:120;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;min-width:min(420px,calc(100vw - 2rem));max-width:min(420px,calc(100vw - 2rem));padding:.92rem .98rem;border-radius:18px;border:1px solid rgba(223,236,255,.22);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 40px #040a1357;animation:floatingNoticeIn .22s ease}body.route-admin .floating-notice.success,body.route-responsible .floating-notice.success{background:linear-gradient(145deg,#3e8867e0,#235e4bcc);color:#ecfff5}body.route-admin .floating-notice.error,body.route-responsible .floating-notice.error{background:linear-gradient(145deg,#9c4a5de6,#752c3cd1);color:#fff1f4}body.route-admin .floating-notice-copy,body.route-responsible .floating-notice-copy{min-width:0;font-size:.95rem;line-height:1.45}body.route-admin .floating-notice-close,body.route-responsible .floating-notice-close{width:34px;height:34px;border:0;border-radius:999px;background:#ffffff1f;color:currentColor;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,transform .18s ease}body.route-admin .floating-notice-close:hover,body.route-responsible .floating-notice-close:hover{background:#ffffff2e;transform:translateY(-1px)}body.route-admin .floating-notice-close svg,body.route-responsible .floating-notice-close svg{width:16px;height:16px}body.route-admin .floating-notice{left:auto}body.route-responsible .floating-notice{right:max(1rem,env(safe-area-inset-right));left:auto}@keyframes floatingNoticeIn{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}body.route-responsible .responsible-section-head{display:flex;align-items:center;justify-content:space-between;gap:.9rem}body.route-responsible .responsible-section-head h3{margin:.2rem 0 0}body.route-responsible .responsible-section-tag{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(190,228,255,.4);background:#e1f0ff1a;color:#d6efff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .58rem}body.route-responsible .responsible-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.45rem}body.route-responsible .responsible-hero-stat{border-radius:18px;border:1px solid rgba(225,240,255,.16);background:linear-gradient(145deg,#e3f1ff1f,#e3f1ff0d);padding:.8rem .75rem;text-align:left}body.route-responsible .responsible-hero-stat strong{display:block;font-size:1.2rem;line-height:1;color:var(--liquid-text)}body.route-responsible .responsible-hero-stat span{display:block;margin-top:.35rem;font-size:.72rem;line-height:1.35;color:var(--liquid-muted)}body.route-responsible .responsible-mobile-section{border-radius:28px}body.route-responsible .responsible-app-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}body.route-responsible .app-inline-upload,body.route-responsible .app-row-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px}body.route-responsible .responsible-add-btn{width:42px;height:42px;font-size:1.5rem;line-height:1;font-weight:400;flex:0 0 auto}body.route-responsible .responsible-add-btn.active{border-color:#a3ddffb8;background:linear-gradient(145deg,#78c4ee52,#78c4ee24)}body.route-admin .admin-header,body.route-responsible .responsible-header-card{background:linear-gradient(140deg,#ddecff21,#e1f0ff14);border:1px solid var(--liquid-border-soft);border-radius:24px;padding:clamp(1rem,2vw,1.4rem);margin-bottom:1rem;box-shadow:0 14px 34px #030a184d;-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}body.route-admin .subtitle,body.route-responsible .subtitle,body.route-admin .muted,body.route-responsible .muted,body.route-admin .panel-label,body.route-responsible .panel-label{color:var(--liquid-muted)}body.route-admin h1,body.route-responsible h1,body.route-admin h2,body.route-responsible h2,body.route-admin h3,body.route-responsible h3,body.route-admin h4,body.route-responsible h4{letter-spacing:-.02em;color:var(--liquid-text)}body.route-admin .admin-card,body.route-responsible .admin-card,body.route-admin .stat-card,body.route-responsible .stat-card,body.route-admin .modal-card,body.route-responsible .modal-card,body.route-admin .admin-alert,body.route-responsible .admin-alert{background:linear-gradient(145deg,#e2f0ff24,#e1eeff14);border:1px solid var(--liquid-border-soft);border-radius:24px;box-shadow:var(--liquid-shadow);-webkit-backdrop-filter:blur(24px) saturate(165%);backdrop-filter:blur(24px) saturate(165%)}body.route-admin .admin-card,body.route-responsible .admin-card{padding:clamp(1rem,1.8vw,1.35rem)}body.route-admin .admin-submenu{display:flex;flex-wrap:wrap;gap:.55rem;border:1px solid var(--liquid-border-soft);border-radius:20px;padding:.5rem;background:#e1f0ff17;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:1rem}body.route-admin .admin-inline-menu{display:flex;align-items:center;gap:.55rem;min-width:0;overflow-x:auto;scrollbar-width:none}body.route-admin .admin-inline-menu::-webkit-scrollbar{display:none}body.route-admin .admin-inline-menu .admin-submenu-link{flex:0 0 auto}body.route-admin .admin-submenu-link{border-radius:999px;border:1px solid transparent;color:var(--liquid-muted);font-weight:700;letter-spacing:.01em;padding:.48rem .95rem;background:transparent}body.route-admin .admin-submenu-link:hover{border-color:var(--liquid-border-soft);color:var(--liquid-text)}body.route-admin .admin-submenu-link.active{border-color:#a3ddffa8;background:linear-gradient(145deg,#7dccfa57,#7dccfa26);color:#f8fcff}body.route-admin .admin-alert,body.route-responsible .admin-alert{color:#d9fbe6;border-color:#75e9ad73;background:linear-gradient(145deg,#59da9838,#59da9814)}body.route-admin .btn,body.route-responsible .btn{border:1px solid rgba(233,244,255,.4);background:linear-gradient(135deg,#f9fdfff7,#b4e1fbe6);color:#051426;font-weight:700;box-shadow:0 14px 28px #0715284d;flex:0 0 auto}body.route-admin .btn:hover:not(:disabled),body.route-responsible .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 32px #07152861}body.route-admin .btn.ghost,body.route-admin .btn.outline,body.route-responsible .btn.ghost,body.route-responsible .btn.outline{background:linear-gradient(140deg,#e3f1ff14,#e3f1ff0a);border-color:var(--liquid-border-soft);color:var(--liquid-text)}body.route-admin .btn.ghost:hover:not(:disabled),body.route-admin .btn.outline:hover:not(:disabled),body.route-responsible .btn.ghost:hover:not(:disabled),body.route-responsible .btn.outline:hover:not(:disabled){border-color:var(--liquid-border)}body.route-admin .switch,body.route-responsible .switch,body.route-admin .icon-btn,body.route-responsible .icon-btn{border:1px solid var(--liquid-border-soft);background:linear-gradient(140deg,#e3f1ff1f,#e3f1ff0d);color:var(--liquid-text);box-shadow:none}body.route-admin .switch.on,body.route-responsible .switch.on{border-color:#a6ddffb3;background:linear-gradient(145deg,#6ec2f061,#6ec2f029)}body.route-admin .admin-form,body.route-responsible .admin-form{gap:.9rem}body.route-admin .admin-form label,body.route-responsible .admin-form label,body.route-admin .logs-filters label,body.route-responsible .logs-filters label,body.route-admin .list-field,body.route-responsible .list-field{color:var(--liquid-muted);font-weight:600;letter-spacing:.01em}body.route-admin .form-inline-split>label,body.route-responsible .form-inline-split>label{color:var(--liquid-muted)}body.route-admin .admin-form input,body.route-admin .admin-form select,body.route-responsible .admin-form input,body.route-responsible .admin-form select,body.route-admin .logs-filters input,body.route-admin .logs-filters select,body.route-admin .list-field input,body.route-admin .list-field select,body.route-responsible .list-field input,body.route-responsible .list-field select,body.route-admin .settings-grid select,body.route-admin .settings-grid input,body.route-admin .import-form input[type=file],body.route-responsible .import-form input[type=file]{border:1px solid var(--liquid-border-soft);background:linear-gradient(150deg,#e9f4ff24,#dbecff14);color:var(--liquid-text);border-radius:14px;padding:.72rem .9rem;transition:border-color .18s ease,box-shadow .18s ease}body.route-admin input::placeholder,body.route-responsible input::placeholder{color:#dfedff8a}body.route-admin input:focus,body.route-admin select:focus,body.route-responsible input:focus,body.route-responsible select:focus{outline:none;border-color:#a3ddffbf;box-shadow:0 0 0 3px #6ec4f338}body.route-admin .stats{gap:.85rem}body.route-admin .stat-card,body.route-responsible .stat-card{border-radius:20px;border-color:var(--liquid-border-soft);background:linear-gradient(160deg,#e7f3ff29,#dcecff14)}body.route-admin .stat-card p,body.route-responsible .stat-card p{color:var(--liquid-muted)}body.route-admin .stat-card strong,body.route-responsible .stat-card strong{color:var(--liquid-text);font-size:clamp(1.5rem,2.4vw,2rem)}body.route-admin .logs,body.route-responsible .logs{border-radius:16px;padding-right:.15rem}body.route-admin .log-item,body.route-responsible .log-item{border-radius:18px;border-color:var(--liquid-border-soft);background:linear-gradient(160deg,#e7f2ff21,#dfeeff12)}body.route-admin .log-item.success,body.route-responsible .log-item.success{border-color:#5fe6a27a}body.route-admin .log-item.error,body.route-responsible .log-item.error{border-color:#ff80917a}body.route-admin .log-item .log-header,body.route-responsible .log-item .log-header{border-bottom-color:#ddecff29}body.route-admin .log-item.success .log-header,body.route-responsible .log-item.success .log-header{background:#5fe6a224}body.route-admin .log-item.error .log-header,body.route-responsible .log-item.error .log-header{background:#ff809124}body.route-admin .log-body,body.route-responsible .log-body{background:linear-gradient(160deg,#dcecff14,#d7e9ff0a)}body.route-admin .table-wrapper,body.route-responsible .table-wrapper{border-radius:18px;border:1px solid var(--liquid-border-soft);background:linear-gradient(150deg,#e7f3ff17,#deedff0d);overflow:auto}body.route-admin table,body.route-responsible table{color:var(--liquid-text)}body.route-admin thead tr,body.route-responsible thead tr{background:#e1f0ff1a}body.route-admin th,body.route-responsible th{color:#ecf6ffdb;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}body.route-admin td,body.route-responsible td{border-bottom-color:#ddecff1a;color:var(--liquid-text)}body.route-admin tbody tr,body.route-responsible tbody tr{transition:background .18s ease}body.route-admin tbody tr:hover,body.route-responsible tbody tr:hover{background:#dfedff14}body.route-admin .table-photo-thumb,body.route-responsible .table-photo-thumb,body.route-admin .table-photo-placeholder,body.route-responsible .table-photo-placeholder,body.route-admin .log-photo-frame,body.route-responsible .log-photo-frame,body.route-admin .student-photo,body.route-responsible .student-photo{border-color:var(--liquid-border-soft)}body.route-admin .table-photo-placeholder,body.route-responsible .table-photo-placeholder,body.route-admin .log-empty,body.route-responsible .log-empty,body.route-admin .cell-secondary,body.route-responsible .cell-secondary,body.route-admin .list-meta,body.route-admin .list-pagination,body.route-responsible .list-meta,body.route-responsible .list-pagination,body.route-admin .responsible-owner-meta span,body.route-responsible .responsible-owner-meta span{color:var(--liquid-muted)}body.route-admin .status-chip,body.route-responsible .status-chip,body.route-admin .import-status-chip,body.route-responsible .import-status-chip{border-color:var(--liquid-border-soft);background:#e1f0ff24;color:var(--liquid-text)}body.route-admin .status-chip.active,body.route-responsible .status-chip.active,body.route-admin .import-status-chip.success,body.route-responsible .import-status-chip.success{border-color:#5ee6a29e;background:#5ee6a233;color:#dbffe9}body.route-admin .status-chip.inactive,body.route-responsible .status-chip.inactive,body.route-admin .import-status-chip.error,body.route-admin .import-status-chip.failed,body.route-responsible .import-status-chip.error,body.route-responsible .import-status-chip.failed{border-color:#ff86969e;background:#ff869633;color:#ffe3e8}body.route-admin .import-status-chip.partial,body.route-responsible .import-status-chip.partial{border-color:#fdcf7c9e;background:#fdcf7c33;color:#fff1d7}body.route-admin .import-status-chip.processing,body.route-responsible .import-status-chip.processing{border-color:#8bcfff9e;background:#8bcfff33;color:#e3f4ff}body.route-admin .action-icon-btn,body.route-responsible .action-icon-btn{width:34px;height:34px;border-radius:11px;border-color:#b4e0ff8c;background:linear-gradient(145deg,#e0f0ff29,#e0f0ff12);color:#dff1ff}body.route-admin .action-icon-btn.action-danger,body.route-responsible .action-icon-btn.action-danger{border-color:#ff8f9dad;background:#ff8f9d29;color:#ffd9df}body.route-admin .action-icon-btn.action-success,body.route-responsible .action-icon-btn.action-success{border-color:#6ddba6ad;background:#6ddba62e;color:#dfffe9}body.route-admin .action-icon-btn:hover,body.route-responsible .action-icon-btn:hover{transform:translateY(-1px);border-color:#bee4ffc7}body.route-admin .link,body.route-responsible .link{color:#a8deff;font-weight:700}body.route-admin .link.danger,body.route-responsible .link.danger{color:#ffc0ca}body.route-admin .modal-backdrop,body.route-responsible .modal-backdrop{background:#040a13b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.route-admin .modal-card,body.route-responsible .modal-card{width:min(560px,94vw)}body.route-admin .panel-success,body.route-responsible .panel-success{color:#bff8da}body.route-admin .panel-error,body.route-responsible .panel-error{color:#ffc2cc}body.route-admin .list-toolbar,body.route-admin .list-footer-controls,body.route-responsible .list-toolbar,body.route-responsible .list-footer-controls{gap:.8rem}body.route-admin .admin-page-header,body.route-responsible .admin-page-header{margin-bottom:.3rem}body.route-admin .responsible-owner-thumb-wrap,body.route-responsible .responsible-owner-thumb-wrap{width:58px;height:58px;border-radius:16px;border-color:var(--liquid-border-soft);background:#e3f1ff14}body.route-admin .responsible-authorized-form,body.route-responsible .responsible-authorized-form{grid-template-columns:repeat(6,minmax(128px,1fr));background:#e2f0ff0f;border:1px solid var(--liquid-border-soft);border-radius:18px;padding:.9rem}body.route-responsible .responsible-authorized-form{gap:.75rem;background:linear-gradient(155deg,#e2f0ff1a,#ddecff0d)}body.route-responsible .responsible-authorized-form .phone-inline-fields{grid-column:span 2}body.route-responsible .responsible-authorized-form .btn{width:100%;grid-column:1 / -1}body.route-responsible .responsible-authorized-photo-frame{width:72px;height:72px}body.route-responsible .responsible-authorized-actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem}body.route-responsible .responsible-authorized-buttons{display:inline-flex;align-items:center;gap:.55rem}body.route-responsible .responsible-authorized-action-btn{display:inline-flex;align-items:center;gap:.42rem;min-height:36px;padding:.48rem .72rem;border-radius:999px;border:1px solid rgba(223,236,255,.18);background:#e3f0ff14;color:var(--liquid-text);font-size:.8rem;font-weight:700;cursor:pointer}body.route-responsible .responsible-authorized-action-btn svg{width:15px;height:15px}body.route-responsible .responsible-authorized-switch{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;cursor:pointer}body.route-responsible .responsible-authorized-switch-track{width:48px;height:28px;border-radius:999px;background:#ffb0b03d;border:1px solid rgba(255,193,193,.28);padding:3px;transition:background .18s ease,border-color .18s ease}body.route-responsible .responsible-authorized-switch-thumb{display:block;width:20px;height:20px;border-radius:50%;background:#fff8f8f2;box-shadow:0 4px 12px #05080f40;transform:translate(0);transition:transform .18s ease}body.route-responsible .responsible-authorized-switch.on .responsible-authorized-switch-track{background:#56cc974d;border-color:#79e5b56b}body.route-responsible .responsible-authorized-switch.on .responsible-authorized-switch-thumb{transform:translate(20px)}body.route-responsible .responsible-authorized-modal{width:min(640px,94vw)}body.route-responsible .responsible-modal-copy{display:grid;gap:.35rem}body.route-responsible .responsible-modal-copy h3{margin:0}body.route-responsible .responsible-modal-copy p{margin:0;color:#e1efffc2}body.route-responsible .responsible-authorized-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}body.route-responsible .responsible-authorized-modal-form>label,body.route-responsible .responsible-authorized-modal-form>.form-inline-split,body.route-responsible .responsible-authorized-modal-form>.responsible-upload-hint,body.route-responsible .responsible-authorized-modal-form>.modal-actions{min-width:0}body.route-responsible .responsible-authorized-modal-form .phone-inline-fields,body.route-responsible .responsible-authorized-modal-form .responsible-file-field,body.route-responsible .responsible-authorized-modal-form .responsible-upload-hint,body.route-responsible .responsible-authorized-modal-form .responsible-edit-actions{grid-column:1 / -1}body.route-responsible .responsible-file-field{display:grid;gap:.35rem}body.route-responsible .responsible-file-hint{color:#e1efff9e;font-size:.82rem;font-weight:500;line-height:1.4}body.route-responsible .responsible-edit-actions{grid-column:1 / -1}body.route-responsible .responsible-upload-hint{grid-column:1 / -1;margin-top:-.15rem;color:#e1efffc7;font-size:.92rem}body.route-responsible .photo-crop-modal{width:min(720px,94vw)}body.route-responsible .responsible-gallery-modal{width:min(860px,94vw)}body.route-responsible .responsible-gallery-copy strong{color:var(--liquid-text)}body.route-responsible .responsible-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-height:min(58vh,620px);overflow-y:auto;padding-right:.2rem;align-content:start}body.route-responsible .responsible-gallery-item{display:grid;gap:.55rem;padding:.65rem;border-radius:20px;border:1px solid rgba(214,233,255,.18);background:linear-gradient(155deg,#e6f2ff1a,#ddecff0d)}body.route-responsible .responsible-gallery-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;border:1px solid rgba(214,233,255,.16);background:#0a12208c}body.route-responsible .responsible-gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:.55rem;color:#e1efffb8;font-size:.78rem}body.route-responsible .responsible-gallery-delete{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,166,178,.34);background:linear-gradient(145deg,#ff91a029,#ff91a014);color:#ffd7de;cursor:pointer;transition:transform .18s ease,border-color .18s ease,opacity .18s ease}body.route-responsible .responsible-gallery-delete:hover:not(:disabled){transform:translateY(-1px);border-color:#ffa6b28f}body.route-responsible .responsible-gallery-delete:disabled{opacity:.5;cursor:wait}body.route-responsible .responsible-gallery-delete svg{width:16px;height:16px}body.route-responsible .responsible-gallery-empty{padding:1rem 0 .25rem;color:#e1efffb8}body.route-responsible .photo-crop-copy h3{margin:0 0 .3rem}body.route-responsible .photo-crop-copy p{margin:0;color:#e1efffc2}body.route-responsible .photo-crop-frame{position:relative;width:min(100%,360px);aspect-ratio:1;margin:0 auto;border-radius:28px;overflow:hidden;border:1px solid rgba(214,233,255,.18);background:radial-gradient(circle at top,#7ac1f22e,#080e18f0),#0a0f18f5;box-shadow:inset 0 1px #ffffff14;cursor:grab;touch-action:none}body.route-responsible .photo-crop-frame:active{cursor:grabbing}body.route-responsible .photo-crop-image{position:absolute;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}body.route-responsible .photo-crop-overlay{position:absolute;inset:0;pointer-events:none;background:transparent}body.route-responsible .photo-crop-overlay:before{content:"";position:absolute;inset:12%;border-radius:32px;box-shadow:0 0 0 999px #0207108a}body.route-responsible .photo-crop-guide{position:absolute;inset:12%;border-radius:32px;border:1.5px solid rgba(221,238,255,.88);box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 1px #63c4ff33}body.route-responsible .photo-crop-guide:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed rgba(221,238,255,.26)}body.route-responsible .photo-crop-guide:after{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px dashed rgba(221,238,255,.26)}body.route-responsible .photo-crop-controls{display:grid;gap:.6rem}body.route-responsible .photo-crop-controls label{display:grid;gap:.45rem;color:var(--liquid-muted);font-weight:600}body.route-responsible .photo-crop-controls input[type=range]{padding:0;border:0;background:transparent;box-shadow:none}body.route-responsible .responsible-data-table td{vertical-align:middle}body.route-responsible .responsible-photo-thumb-button{display:inline-flex;padding:0;border:0;background:transparent;cursor:pointer}body.route-responsible .responsible-photo-thumb-button:focus-visible{outline:none}body.route-responsible .responsible-photo-thumb-button:focus-visible .responsible-student-photo-frame{border-radius:18px;box-shadow:0 0 0 3px #6ec4f342}body.route-responsible .responsible-student-photo-frame{position:relative}body.route-responsible .responsible-photo-bullet{position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:999px;border:2px solid rgba(16,26,42,.9);box-shadow:0 0 0 1px #ffffff24}body.route-responsible .responsible-photo-bullet.active{background:#5ce3a2}body.route-responsible .responsible-photo-bullet.inactive{background:#ff8fa0}body.route-responsible .responsible-photo-action{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1px solid rgba(190,228,255,.4);background:linear-gradient(145deg,#e3f1ff24,#e3f1ff0d);color:var(--liquid-text);cursor:pointer;transition:transform .18s ease,border-color .18s ease}body.route-responsible .responsible-photo-action:hover{transform:translateY(-1px);border-color:#bee4ffad}body.route-responsible .responsible-photo-action svg{width:16px;height:16px}body.route-responsible .responsible-student-action-cell{text-align:right}body.route-responsible .responsible-student-action-cell:before{display:none}body.route-admin .responsible-login-link,body.route-responsible .responsible-login-link{color:var(--liquid-muted);text-decoration:none}body.route-admin .responsible-login-link:hover,body.route-responsible .responsible-login-link:hover{color:var(--liquid-text)}body.route-admin .liquid-auth-shell,body.route-responsible .liquid-auth-shell{width:100%;min-height:calc(100vh - 74px);min-height:calc(100dvh - 74px);position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,1.8rem);overflow:hidden;isolation:isolate}body.route-admin .liquid-resp-auth-shell,body.route-responsible .liquid-resp-auth-shell{min-height:100vh;min-height:100dvh}body.route-admin .liquid-auth-bg,body.route-responsible .liquid-auth-bg{position:absolute;inset:0;pointer-events:none}body.route-admin .liquid-auth-orb,body.route-responsible .liquid-auth-orb{position:absolute;border-radius:999px;filter:blur(0);opacity:.92;animation:liquid-float 13s ease-in-out infinite}body.route-admin .liquid-auth-orb.orb-a,body.route-responsible .liquid-auth-orb.orb-a{width:clamp(200px,30vw,360px);height:clamp(200px,30vw,360px);left:clamp(-90px,-4vw,-30px);top:clamp(-40px,8vh,70px);background:radial-gradient(circle,#83c9ff80,#83c9ff14 66%)}body.route-admin .liquid-auth-orb.orb-b,body.route-responsible .liquid-auth-orb.orb-b{width:clamp(220px,32vw,420px);height:clamp(220px,32vw,420px);right:clamp(-120px,-4vw,-20px);top:clamp(10px,20vh,160px);animation-delay:-4s;background:radial-gradient(circle,#63b1ef70,#63b1ef12 68%)}body.route-admin .liquid-auth-orb.orb-c,body.route-responsible .liquid-auth-orb.orb-c{width:clamp(180px,26vw,320px);height:clamp(180px,26vw,320px);bottom:clamp(-80px,-5vw,-20px);left:38%;animation-delay:-7s;background:radial-gradient(circle,#589be16b,#589be10d 72%)}body.route-admin .liquid-auth-card,body.route-responsible .liquid-auth-card{position:relative;z-index:1;width:min(520px,100%);border-radius:30px;padding:clamp(1.4rem,3vw,2rem);gap:1rem}body.route-admin .liquid-auth-head,body.route-responsible .liquid-auth-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}body.route-admin .liquid-auth-chip,body.route-responsible .liquid-auth-chip{border-radius:999px;border:1px solid rgba(189,228,255,.48);background:#e2f1ff1a;color:#def0ff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .62rem}body.route-admin .admin-login-brand,body.route-responsible .admin-login-brand{color:#cbebff;letter-spacing:.14em}body.route-admin .liquid-auth-card h2,body.route-responsible .liquid-auth-card h2{margin:0;font-size:clamp(1.35rem,2.2vw,1.8rem)}body.route-admin .liquid-auth-copy,body.route-responsible .liquid-auth-copy{margin:0;line-height:1.5}body.route-admin .liquid-auth-form,body.route-responsible .liquid-auth-form{margin-top:.25rem}body.route-admin .liquid-auth-form .btn,body.route-responsible .liquid-auth-form .btn{width:100%;min-height:46px;margin-top:.2rem}body.route-admin .responsible-login-shell,body.route-responsible .responsible-login-shell{position:relative;width:min(560px,100%);margin:0 auto;gap:.95rem}body.route-admin .responsible-auth-card,body.route-responsible .responsible-auth-card{max-width:none}body.route-admin .responsible-section-card,body.route-responsible .responsible-section-card{gap:1rem}@keyframes liquid-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes liquid-float{0%,to{transform:translateZ(0) scale(1)}35%{transform:translate3d(0,-10px,0) scale(1.04)}70%{transform:translate3d(0,9px,0) scale(.98)}}@media(max-width:1080px){body.route-admin .admin-main{grid-template-columns:1fr}body.route-admin .responsible-authorized-form{grid-template-columns:repeat(3,minmax(140px,1fr))}body.route-responsible .responsible-authorized-form{grid-template-columns:repeat(2,minmax(0,1fr))}body.route-responsible .responsible-authorized-form .phone-inline-fields{grid-column:1 / -1}body.route-responsible .responsible-authorized-modal-form{grid-template-columns:1fr}}@media(max-width:780px){body.route-admin .top-nav,body.route-responsible .top-nav{padding:.72rem .85rem;border-radius:0;border-left:0;border-right:0}body.route-admin .nav-brand,body.route-responsible .nav-brand{display:none}body.route-admin .nav-right,body.route-responsible .nav-right{width:100%;justify-content:space-between}body.route-responsible .nav-right{width:auto;margin-left:auto;justify-content:flex-end;flex:0 0 auto}body.route-admin .nav-link-icon,body.route-responsible .nav-link-icon{padding:.4rem .62rem;font-size:.78rem}body.route-admin .nav-link-icon span,body.route-responsible .nav-link-icon span{display:none}body.route-admin .liquid-auth-shell,body.route-responsible .liquid-auth-shell{min-height:calc(100vh - 62px);min-height:calc(100dvh - 62px)}body.route-admin .liquid-auth-card,body.route-responsible .liquid-auth-card{border-radius:24px;padding:1.2rem}body.route-admin .admin-header,body.route-responsible .responsible-header-card{border-radius:20px;padding:.92rem}body.route-admin .header-controls{width:100%;justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}body.route-admin .switch{width:100%}body.route-admin .admin-submenu{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding:.45rem}body.route-admin .nav-right{width:auto;overflow-x:auto;justify-content:flex-start}body.route-admin .admin-inline-menu{order:1}body.route-admin .logout-link{order:2;margin-left:auto}body.route-admin .table-wrapper,body.route-responsible .table-wrapper{border-radius:14px}body.route-admin .modal-card,body.route-responsible .modal-card{width:min(540px,95vw);padding:1.15rem;border-radius:20px}body.route-admin .responsible-authorized-form,body.route-responsible .responsible-authorized-form{grid-template-columns:1fr;padding:.75rem}body.route-responsible .responsible-authorized-modal,body.route-responsible .responsible-gallery-modal{width:min(560px,95vw)}body.route-responsible .responsible-authorized-modal-form{grid-template-columns:1fr;gap:.75rem}}@media(max-width:920px){body.route-responsible .responsible-mobile-table{border:0;background:transparent;overflow:visible}body.route-responsible .responsible-data-table,body.route-responsible .responsible-data-table tbody,body.route-responsible .responsible-data-table tr,body.route-responsible .responsible-data-table td{display:block;width:100%}body.route-responsible .responsible-data-table thead{display:none}body.route-responsible .responsible-data-table tbody{display:grid;gap:.8rem}body.route-responsible .responsible-data-table tr{border:1px solid rgba(223,236,255,.16);border-radius:22px;background:linear-gradient(155deg,#e6f3ff1f,#dcecff0d);box-shadow:0 16px 30px #0209143d;padding:.85rem .85rem .7rem}body.route-responsible .responsible-students-table tr{display:grid;grid-template-columns:72px minmax(0,1fr) 38px;column-gap:.85rem;row-gap:.08rem;align-items:start;position:relative}body.route-responsible .responsible-students-table .responsible-student-photo{grid-column:1;grid-row:1 / span 2;padding:0}body.route-responsible .responsible-students-table .responsible-student-photo:before{display:none}body.route-responsible .responsible-students-table .responsible-student-name{grid-column:2;grid-row:1;padding-top:0}body.route-responsible .responsible-students-table .responsible-student-class{grid-column:2;grid-row:2}body.route-responsible .responsible-students-table .responsible-student-action-cell{grid-column:3;grid-row:1 / span 2;padding:0;align-self:start}body.route-responsible .responsible-students-table .responsible-student-action-cell:before{display:none}body.route-responsible .responsible-students-table .responsible-student-enrollment{display:none}body.route-responsible .responsible-students-table .responsible-photo-action{width:38px;height:38px}body.route-responsible .responsible-data-table td{border:0;padding:.3rem 0}body.route-responsible .responsible-data-table td:before{content:attr(data-label);display:block;margin-bottom:.16rem;color:#e7f1ff94;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}body.route-responsible .responsible-data-table td.table-thumb-col{padding-top:0}body.route-responsible .responsible-data-table .table-thumb-col .table-photo-thumb,body.route-responsible .responsible-data-table .table-thumb-col .table-photo-placeholder{width:72px;height:72px;border-radius:18px}body.route-responsible .responsible-data-table td:last-child{padding-bottom:0}body.route-responsible .responsible-authorized-table tr{display:grid;grid-template-columns:72px minmax(0,1fr) auto;column-gap:.85rem;row-gap:.08rem;align-items:start;position:relative}body.route-responsible .responsible-authorized-table .responsible-authorized-photo-cell{grid-column:1;grid-row:1 / span 4;padding:0}body.route-responsible .responsible-authorized-table .responsible-authorized-photo-cell:before{display:none}body.route-responsible .responsible-authorized-table .responsible-authorized-name-cell{grid-column:2;grid-row:1;padding-top:0}body.route-responsible .responsible-authorized-table .responsible-authorized-cpf-cell{grid-column:2;grid-row:2}body.route-responsible .responsible-authorized-table .responsible-authorized-email-cell{grid-column:2;grid-row:3}body.route-responsible .responsible-authorized-table .responsible-authorized-phone-cell{grid-column:2;grid-row:4}body.route-responsible .responsible-authorized-table .responsible-authorized-actions-cell{grid-column:3;grid-row:1 / span 4;padding:0;align-self:stretch}body.route-responsible .responsible-authorized-table .responsible-authorized-actions-cell:before{display:none}body.route-responsible .responsible-authorized-table .responsible-authorized-actions{height:100%;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:.55rem}body.route-responsible .responsible-authorized-table .responsible-authorized-buttons{flex-direction:column}body.route-responsible .responsible-authorized-table .responsible-authorized-switch{margin-top:.05rem}body.route-responsible .responsible-authorized-table .responsible-authorized-action-btn{width:38px;min-width:38px;min-height:38px;padding:0;justify-content:center}body.route-responsible .responsible-authorized-table .responsible-authorized-action-btn span{display:none}}@media(max-width:640px){body.route-admin .floating-notice,body.route-responsible .floating-notice{left:max(.75rem,env(safe-area-inset-left));right:max(.75rem,env(safe-area-inset-right));bottom:calc(max(.75rem,env(safe-area-inset-bottom)) + .75rem);min-width:0;max-width:none}body.route-responsible .top-nav{width:calc(100% - 1rem);min-height:66px;padding:.74rem .82rem;justify-content:space-between}body.route-responsible .nav-brand{display:block;max-width:160px;line-height:1.15}body.route-responsible .nav-brand-desktop{display:none}body.route-responsible .nav-brand-mobile{display:grid;gap:.12rem}body.route-responsible .nav-brand-title{font-size:.88rem;font-weight:700;letter-spacing:.01em;color:#f3f9fff0}body.route-responsible .nav-brand-subtitle{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ecf6ff9e}body.route-responsible .nav-right{width:auto;flex:0 0 auto;margin-left:auto;justify-content:flex-end;gap:.45rem}body.route-responsible .nav-link-icon{min-width:42px;min-height:42px;padding:.42rem .68rem}body.route-responsible .nav-link-icon span{display:none}body.route-responsible .responsible-app-shell{padding:calc(max(.35rem,env(safe-area-inset-top)) + 3.95rem) .72rem calc(max(1rem,env(safe-area-inset-bottom)) + 1.4rem)}body.route-responsible .responsible-app-shell>*+*{margin-top:.9rem}body.route-responsible .responsible-hero-card,body.route-responsible .responsible-mobile-section{border-radius:24px}body.route-responsible .responsible-owner-meta{align-items:flex-start}body.route-responsible .responsible-hero-stats{grid-template-columns:1fr}body.route-responsible .responsible-hero-stat{padding:.85rem .8rem}body.route-responsible .responsible-app-form{grid-template-columns:1fr}}
