:root{--navy:#10263f;--navy-2:#1a3a5c;--paper:#eef1f4;--card:#fff;--tint:#e9eef4;--tint-hover:#f3f7fb;--ink:#14212e;--ink-soft:#3a4856;--ink-faint:#54626f;--line:#d5dae0;--line-strong:#7d8996;--amber:#e0962f;--amber-light:#eba94b;--amber-dark:#8a5300;--amber-bg:#fcf1e0;--amber-focus:#f2b45c;--blue:#1a5ca8;--blue-dark:#123e73;--blue-bg:#e6eff9;--green:#0b7a5f;--green-dark:#0a5f4b;--green-bg:#e2f4ee;--red:#b3261e;--red-dark:#8c1d18;--red-bg:#fcebe9;--grey:#5b6773;--disabled-bg:#e3e7ec;--disabled-ink:#56626e;--on-navy:#fff;--on-navy-soft:#d8e3ef;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--radius-sm:10px;--radius:16px;--radius-pill:999px;--shadow-sm:0 2px 6px -2px #10263f29;--shadow:0 10px 24px -14px #10263f4d;--control-height:40px;--fast:.15s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;font-family:Poppins,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}body{background:var(--paper);margin:0}.app{min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.app *,.app :before,.app :after{box-sizing:border-box}.app-header{align-items:center;gap:var(--s3) var(--s4);padding:var(--s3) var(--s6);background:var(--navy);color:var(--on-navy);box-shadow:var(--shadow);flex-wrap:wrap;display:flex}.app-header h1{letter-spacing:.01em;color:var(--on-navy);margin:0;font-size:1.25rem;font-weight:600}.target-badge{padding:var(--s1) var(--s3);border:2px solid var(--on-navy);border-radius:var(--radius-pill);letter-spacing:.08em;white-space:nowrap;color:var(--on-navy);font-size:.8rem;font-weight:700;line-height:1.3;display:inline-block}.target-local{background:#2f6db5}.target-testing{color:var(--navy);background:#e0962f}.target-live{background:#b3261e}.target-none{background:#5b6773}.app-header nav{gap:var(--s1);flex-wrap:wrap;flex:100%;order:3;min-width:0;display:flex}.app-header nav a{min-height:var(--control-height);padding:0 var(--s3);border-radius:var(--radius-pill);white-space:nowrap;color:var(--on-navy-soft);transition:background-color var(--fast), color var(--fast);align-items:center;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.app-header nav a:hover,.app-header nav a[aria-current=page]{background:var(--navy-2);color:var(--on-navy)}.app-header nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--amber)}.app-user{align-items:center;gap:var(--s3);color:var(--on-navy-soft);order:2;margin-left:auto;font-size:.9rem;display:flex}.app-main{width:100%;max-width:1400px;padding:var(--s6);flex:1;margin:0 auto}.app-footer{padding:var(--s3) var(--s6);border-top:1px solid var(--line);text-align:center;color:var(--ink-faint);font-size:.8rem}.app h2{margin:0 0 var(--s4);letter-spacing:-.01em;color:var(--navy);font-size:1.6rem;font-weight:600;line-height:1.25}.app h3{margin:var(--s8) 0 var(--s3);color:var(--navy);font-size:1.15rem;font-weight:600;line-height:1.3}.app p{margin:0 0 var(--s3)}.app-main a{color:var(--blue);text-underline-offset:3px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}.app-main a:hover{color:var(--blue-dark);text-decoration-thickness:2px}.app code{background:var(--tint);color:var(--navy);border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.88em}.app-footer code{border:1px solid var(--line);background:var(--card)}.app small{color:var(--ink-soft);font-size:.85em}.app .hint{color:var(--ink-faint);font-size:.85rem}.app .note{padding:var(--s3) var(--s4);border-left:4px solid var(--blue);border-radius:var(--radius-sm);background:var(--blue-bg);color:var(--blue-dark)}.app .inactive{color:var(--disabled-ink);font-style:italic}.app [role=alert]:not(.app-main),.app [role=status]{padding:var(--s3) var(--s4);border-left:4px solid var(--red);border-radius:var(--radius-sm);background:var(--red-bg);color:var(--red-dark);font-weight:500}.app [role=status]{border-left-color:var(--blue);background:var(--blue-bg);color:var(--blue-dark)}.app span[role=alert]{padding:var(--s1) var(--s3);font-size:.85rem;display:inline-block}.app [role=alert] h2{color:var(--red-dark)}.app [role=alert]>:last-child,.app [role=status]>:last-child{margin-bottom:0}.app-main[role=alert]{border-top:4px solid var(--red)}.app button{min-height:var(--control-height);padding:0 var(--s5);border:2px solid var(--navy);border-radius:var(--radius-pill);font:inherit;background:var(--card);color:var(--navy);cursor:pointer;transition:background-color var(--fast), border-color var(--fast), box-shadow var(--fast);justify-content:center;align-items:center;font-size:.9rem;font-weight:600;line-height:1.2;display:inline-flex}.app button:hover{background:var(--tint)}.app button[type=submit]{border-color:var(--amber);background:var(--amber);color:var(--navy);box-shadow:var(--shadow-sm)}.app button[type=submit]:hover{border-color:var(--amber-light);background:var(--amber-light)}.app button[aria-pressed=true]{border-color:var(--navy-2);background:var(--navy-2);color:var(--on-navy)}.app-header button{border-color:var(--on-navy-soft);color:var(--on-navy);background:0 0}.app-header button:hover{background:var(--navy-2)}.app button:disabled,.app button[type=submit]:disabled{border-color:var(--line-strong);background:var(--disabled-bg);color:var(--disabled-ink);box-shadow:none;cursor:not-allowed;border-style:dashed}.app [role=group]{align-items:center;gap:var(--s2);margin:0 0 var(--s4);flex-wrap:wrap;display:flex}.app-main nav{align-items:center;gap:var(--s3);margin:var(--s4) 0;color:var(--ink-soft);flex-wrap:wrap;font-weight:500;display:flex}.app form{align-items:flex-end;gap:var(--s3) var(--s4);margin:0 0 var(--s4);flex-wrap:wrap;display:flex}.app-main section>form,.app-main>form{padding:var(--s5);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.app form>h2,.app form>h3,.app form>p,.app form>[role=alert],.app form>[role=status]{flex:0 0 100%;margin:0}.app label{align-items:center;gap:var(--s2);min-height:var(--control-height);color:var(--ink-soft);font-size:.85rem;font-weight:600;display:inline-flex}.app label:has(input,select,textarea){align-items:stretch;gap:var(--s1);flex-direction:column;min-width:200px}.app label:has(input[type=checkbox],input[type=radio]){align-items:center;gap:var(--s2);flex-direction:row;min-width:0;font-weight:500}.app .field{gap:var(--s1);flex-direction:column;display:flex}.app input,.app select,.app textarea{width:100%;min-width:0;min-height:var(--control-height);padding:var(--s2) var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;background:var(--card);color:var(--ink);transition:border-color var(--fast), box-shadow var(--fast);font-size:.95rem;font-weight:400}.app form>input,.app form>select,.app section>select{width:auto}.app input:hover,.app select:hover,.app textarea:hover{border-color:var(--navy)}.app input[type=checkbox],.app input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--navy);padding:0}.app input:disabled,.app select:disabled,.app textarea:disabled{background:var(--disabled-bg);color:var(--disabled-ink);cursor:not-allowed;border-style:dashed}.app fieldset{min-width:0;margin:0 0 var(--s4);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius-sm)}.app legend{padding:0 var(--s2);color:var(--navy);font-weight:600}.app .sign-in{align-items:stretch;gap:var(--s4);width:100%;max-width:420px;margin:var(--s8) auto;padding:var(--s8);border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);flex-flow:column}.app .sign-in>*{flex:none;margin:0}.app a:focus-visible,.app button:focus-visible,.app input:focus-visible,.app select:focus-visible,.app textarea:focus-visible,.app summary:focus-visible,.app [tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.app-header a:focus-visible,.app-header button:focus-visible{outline-color:var(--amber-focus)}.app-main table{width:max-content;max-width:100%;margin:0 0 var(--s5);border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;border-spacing:0;background:var(--card);box-shadow:var(--shadow);font-size:.9rem;display:block;overflow-x:auto}.app caption{padding:var(--s3) var(--s4);text-align:left;color:var(--navy);font-weight:600}.app th,.app td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.app thead th{letter-spacing:.03em;white-space:nowrap;vertical-align:bottom;background:var(--tint);color:var(--navy);font-size:.8rem;font-weight:600}.app tbody th{color:var(--navy);font-weight:600}.app tbody tr:last-child>th,.app tbody tr:last-child>td{border-bottom:0}.app tbody tr{transition:background-color var(--fast)}.app tbody tr:hover{background:var(--tint-hover)}.app td ul{padding-left:var(--s4);margin:0}.app td form{margin:0}.app tr.failed,.app tr.failed:hover{background:var(--red-bg)}.app tr.failed>th{color:var(--red-dark);box-shadow:inset 4px 0 0 var(--red)}.app td[data-level]{border-left:4px solid var(--line)}.app td[data-level=recent]{border-left-color:var(--green)}.app td[data-level=amber]{border-left-color:var(--amber);background:var(--amber-bg)}.app td[data-level=red]{border-left-color:var(--red);background:var(--red-bg)}.app td[data-level=recent] strong,.app td[data-level=recent][data-indicator=overall]{color:var(--green-dark)}.app td[data-level=amber] strong,.app td[data-level=amber][data-indicator=overall]{color:var(--amber-dark)}.app td[data-level=red] strong,.app td[data-level=red][data-indicator=overall]{color:var(--red-dark)}.app td[data-indicator=overall]{font-weight:600}.app-main [aria-label="Map of last recorded locations"]{margin:0 0 var(--s5);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.app-main ul{margin:0 0 var(--s4);padding-left:var(--s5)}.app-main li{margin:var(--s1) 0}.app-main ul[aria-label]{padding:0;list-style:none}.app-main ul[aria-label]>li{margin:0 0 var(--s2);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm)}.app-main ul[aria-label]>li>h3{margin-top:0}.app-main ul[aria-label]>li>form{margin:var(--s2) 0 0}.app-main ul[aria-label]>li>button{margin-left:var(--s3)}.app-main .catalog-tree ul{margin:var(--s3) 0 0;padding:0 0 0 var(--s4);border-left:3px solid var(--tint);list-style:none}.app-main .catalog-tree ul>li{padding:var(--s2) 0;margin:0}.app-main .catalog-tree ul>li+li{border-top:1px solid var(--line)}.app .row-actions{align-items:center;gap:var(--s2);margin-left:var(--s3);vertical-align:middle;flex-wrap:wrap;display:inline-flex}.app .row-actions>form{margin:var(--s2) 0 0;flex:0 0 100%}.app .row-actions:has(>form){margin:var(--s2) 0 0;display:flex}.app dl{gap:var(--s1) var(--s4);margin:0 0 var(--s4);grid-template-columns:max-content 1fr;display:grid}.app dt{color:var(--ink-soft);font-size:.85rem;font-weight:600}.app dd{margin:0}.app .session-time-measures dl{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.app .time-measure{padding:var(--s4);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm)}.app .time-measure dd{color:var(--navy);font-size:1.25rem;font-weight:600}.app .time-measure dd small{font-size:.8rem;font-weight:400;display:block}.app details{margin:0 0 var(--s3)}.app summary{min-height:var(--control-height);padding:var(--s2) 0;color:var(--blue);cursor:pointer;font-weight:500}@media (width<=640px){.app-header{padding:var(--s3) var(--s4)}.app-header nav{margin:0 calc(-1 * var(--s4));padding:var(--s2) var(--s4);flex-wrap:wrap}.app-main{padding:var(--s4)}.app h2{font-size:1.35rem}.app form{flex-flow:column;align-items:stretch}.app form>*{flex:none}.app form>input,.app form>select,.app section>select{width:100%}.app label:has(input,select,textarea){min-width:0}.app label:not(:has(input,select,textarea)){min-height:0;margin-bottom:calc(-1 * var(--s2))}.app .sign-in{margin:var(--s4) auto;padding:var(--s5)}.app .row-actions{margin:var(--s2) 0 0;display:flex}.app th,.app td{min-width:7.5em;padding:var(--s2) var(--s3)}.app dl{grid-template-columns:1fr}.app dd{margin-bottom:var(--s2)}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.app-header nav,.app-user,.app button{display:none}.app-main table{width:100%;box-shadow:none;display:table}.app *{box-shadow:none!important}.app-header{color:var(--navy);background:0 0}.app-header h1,.target-badge{color:var(--navy);border-color:var(--navy)}}
