.analytics{display:grid;gap:1.2rem;min-width:0}.analytics h2,.analytics h3{margin-top:0}.analytics-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.analytics-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.analytics-scroll{overflow-x:auto}.analytics table{min-width:650px}.analytics th{vertical-align:top}.analytics-link{padding:0;border-radius:2px;text-align:left;color:#075e56;background:transparent;text-decoration:underline;display:inline;font:inherit}.analytics-bars{list-style:none;padding:0;display:grid;gap:1rem}.analytics-bars li>div:first-child{display:flex;justify-content:space-between;gap:1rem;align-items:start}.analytics-bars li>div:first-child>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.analytics-track{background:#eef2f1;border-radius:4px;height:12px;overflow:hidden;margin-top:.4rem}.analytics-track>span{display:block;height:100%;border-radius:4px}.analytics-bars li{padding:.55rem .65rem;border-radius:10px;transition:background .14s ease,transform .14s ease}.analytics-bars li:hover{background:#eef8fb;transform:translate(2px)}.analytics-bars li>div:first-child{font-size:.9rem}.analytics-panels>section,.analytics-panels>.card{min-height:100%}.analytics table tbody tr th{font-weight:700}.analytics svg{display:block;margin:.5rem auto}.analytics-scatter{width:100%;max-height:380px;font:12px sans-serif}.analytics-line{width:100%;max-height:340px;font:12px sans-serif}.analytics-pie-layout{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem}.analytics-pie{width:230px;max-width:100%;flex-shrink:0;font-family:Avenir Next,Segoe UI,sans-serif}.analytics-legend{list-style:none;padding:0;flex:1;min-width:200px}.analytics-legend li{display:flex;align-items:center;gap:.5rem;margin:.8rem 0}.analytics-legend strong{margin-left:auto;white-space:nowrap;font-size:.85rem}.analytics-swatch{width:14px;height:14px;border:1px solid #64748b;border-radius:3px;flex-shrink:0}.analytics summary{cursor:pointer;font-family:Avenir Next,Segoe UI,sans-serif}.analytics :focus-visible{outline:3px solid #0d9488;outline-offset:3px}.admin-main{min-width:0}@media(max-width:1000px){.analytics-panels{grid-template-columns:1fr}}.analytics>header{padding:.25rem .25rem .2rem}.analytics>header h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.25rem}.analytics>form.card{border-top:3px solid var(--teal-500)}.analytics .analytics-stats .stat{border-top:3px solid var(--teal-500);background:linear-gradient(145deg,#fff,#f4fbfd)}.analytics .analytics-stats .stat span{color:var(--muted);font:700 .75rem Avenir Next,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:.06em}.analytics .card>h3{color:var(--navy-900);padding-bottom:.55rem;border-bottom:1px solid var(--line)}.analytics .notice{border-left:4px solid var(--teal-500)}@media(max-width:800px){.analytics .filters{grid-template-columns:1fr}}:root{--navy-950: #071421;--navy-900: #0b1f33;--navy-800: #12263f;--navy-700: #1b3554;--teal-600: #1769aa;--teal-500: #2aa7d6;--teal-100: #dff4fb;--cream: #eef6fb;--cream-dark: #dcecf5;--ink: #1a2433;--muted: #5c6b7a;--danger: #b42318;--danger-soft: #fee4e2;--ok: #067647;--ok-soft: #dcfae6;--card: #ffffff;--line: #c9dce8;--shadow: 0 18px 40px rgba(11, 31, 51, .12);--radius: 16px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Times New Roman,serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);line-height:1.5;background:radial-gradient(1200px 500px at 10% -10%,rgba(42,167,214,.16),transparent 50%),linear-gradient(180deg,var(--cream) 0%,#e5f0f7 100%)}h1,h2,h3,.brand{font-family:Avenir Next,Segoe UI,sans-serif;letter-spacing:-.03em}a{color:var(--teal-600)}.shell{min-height:100vh}.topbar{background:linear-gradient(90deg,var(--navy-900),var(--navy-800));color:#f8f4ec;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px #07142129}.brand{display:flex;flex-direction:column;text-decoration:none;color:inherit}.brand small{color:var(--teal-500);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.nav{display:flex;flex-wrap:wrap;gap:.75rem}.nav a,.nav button.linkish{color:#f8f4ec;text-decoration:none;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.92rem;background:transparent;border:0;cursor:pointer}.nav a.active{color:var(--teal-500);border-bottom:2px solid var(--teal-500);padding-bottom:.25rem}.nav a:hover{color:var(--teal-500)}.page{width:min(1120px,calc(100% - 2rem));margin:2rem auto 3rem}.hero,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{padding:2rem;margin-bottom:1.25rem;background:linear-gradient(135deg,rgba(42,167,214,.12),transparent 40%),var(--card)}.hero h1{margin:0 0 .4rem;color:var(--navy-900)}.muted{color:var(--muted)}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{padding:1.25rem}label{display:block;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.85rem;margin-bottom:.35rem;color:var(--navy-800)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;font:inherit;background:#fffdf8;color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(20,184,166,.3);outline-offset:2px}input:focus,select:focus,textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #0d94881f}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}button,.button{font-family:Avenir Next,Segoe UI,sans-serif;border:0;border-radius:999px;padding:.7rem 1.15rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.primary,.button.primary{background:var(--teal-600);color:#fff}button.primary:hover:not(:disabled),.button.primary:hover{background:#0f766e}button.primary:disabled,.button.primary:disabled{opacity:.55;cursor:not-allowed}button.secondary,.button.secondary{background:var(--navy-800);color:#fff}button.ghost,.button.ghost{background:transparent;color:var(--navy-800);border:1px solid var(--line)}button.danger{background:var(--danger);color:#fff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.78rem}.badge.available{background:var(--ok-soft);color:var(--ok)}.badge.booked{background:var(--navy-800);color:#f8f4ec}.badge.confirmed{background:var(--teal-100);color:#115e59}.badge.cancelled{background:var(--danger-soft);color:var(--danger)}.badge.scheduled{background:#e2e8f0;color:#334155}.badge.in-progress{background:#fef3c7;color:#92400e}.badge.waiting{background:#ffedd5;color:#9a3412}.badge.exam-taken{background:var(--ok-soft);color:var(--ok)}.error{background:var(--danger-soft);color:var(--danger);padding:.75rem 1rem;border-radius:12px}.success{background:var(--ok-soft);color:var(--ok);padding:.75rem 1rem;border-radius:12px}.notice{background:#fff6e5;color:var(--navy-800);padding:.85rem 1rem;border-radius:12px;border:1px solid var(--line)}.steps{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.steps span{font-family:Avenir Next,Segoe UI,sans-serif;font-size:.78rem;padding:.35rem .7rem;border-radius:999px;background:var(--cream-dark);color:var(--muted)}.steps span.current{background:var(--navy-800);color:#fff}.slot-grid,.laptop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.choice{border:1px solid var(--line);background:#fffdf8;border-radius:14px;padding:.9rem;text-align:left;cursor:pointer}.choice.selected{border-color:var(--teal-600);box-shadow:inset 0 0 0 2px var(--teal-600)}table{width:100%;border-collapse:collapse;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.92rem;background:var(--card)}th,td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line)}thead th{background:#edf7f5;color:var(--navy-900);font-weight:700}tbody tr:hover{background:#f7fbfa}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.result-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.75rem 0 1.5rem;padding:.4rem;border:1px solid var(--line);border-radius:14px;background:#e8f2f7}.result-tabs a{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .85rem;border-radius:10px;color:var(--navy-800);text-decoration:none;font:700 .9rem Avenir Next,Segoe UI,sans-serif}.result-tabs a[aria-current=page]{background:#fff;color:var(--teal-600);box-shadow:0 3px 10px #0b1f331a}.result-tabs span{font-size:.72rem;font-weight:400;color:var(--muted)}.criteria-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:.75rem 0 1.5rem;padding:.4rem;border:1px solid var(--line);border-radius:14px;background:#e8f2f7}.criteria-tabs button{border-radius:10px;background:transparent;color:var(--navy-800);font-weight:700}.criteria-tabs button.active{background:#fff;color:var(--teal-600);box-shadow:0 3px 10px #0b1f331a}.stat{padding:1rem}.stat strong{display:block;font-size:1.8rem;color:var(--navy-900)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0714218c;display:grid;place-items:center;padding:1rem}.dialog{width:min(480px,100%)}.info-dialog{display:grid;grid-template-columns:auto 1fr;gap:1rem}.info-dialog h2{margin:0 0 .5rem;color:var(--navy-900)}.info-dialog-icon{width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;background:var(--teal-100);color:#115e59;font-family:Avenir Next,Segoe UI,sans-serif;font-weight:700;font-size:1.3rem}.review-list{list-style:none;padding:0;margin:0}.review-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.admin-frame{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidenav{background:var(--navy-900);color:#f8f4ec;padding:1.5rem 1rem}.sidenav a,.sidenav button.linkish{display:block;color:inherit;text-decoration:none;padding:.55rem .7rem;border-radius:10px;background:transparent;border:0;width:100%;text-align:left;cursor:pointer;font-family:Avenir Next,Segoe UI,sans-serif}.sidenav a.active{background:var(--navy-700);color:var(--teal-500)}.nav-section{margin:1.25rem 0 .35rem;padding:0 .7rem;color:var(--teal-500);font:700 .7rem/1.2 Avenir Next,Segoe UI,sans-serif;letter-spacing:.12em;text-transform:uppercase}.admin-main{padding:1.5rem;background:#f7f8f6}@media(max-width:800px){.admin-frame{grid-template-columns:1fr}.topbar,.admin-main,.page{width:auto;margin-left:1rem;margin-right:1rem}.topbar{position:static;flex-direction:column;align-items:flex-start}.nav{gap:.6rem .9rem}.nav a{font-size:.86rem}.hero{padding:1.35rem}.admin-main{padding:1rem}table{min-width:620px}.result-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.welcome-card{text-align:center;padding:3rem 2rem}.welcome-icon{width:4.5rem;height:4.5rem;margin:0 auto 1rem;display:grid;place-items:center;border-radius:1.4rem;background:var(--teal-100);font-size:2.6rem;box-shadow:0 10px 22px #1769aa29}.result-pass{background:#ecfdf3}.result-pass:hover{background:#d9fbe8}.result-fail{background:#fff1f2}.result-fail:hover{background:#ffe4e6}
