
:root{color-scheme:light dark;--bg:#f4f7f6;--surface:#fff;--surface-soft:#edf3f0;--text:#14251d;--muted:#5a6c63;--border:#d7e2dc;--border-strong:#b9c9c1;--brand:#087a52;--brand-hover:#066743;--on-brand:#fff;--brand-soft:#dff5eb;--success:#087a52;--success-soft:#e4f7ef;--warning:#9a5b00;--warning-soft:#fff0cf;--danger:#b42318;--danger-soft:#ffebe9;--focus:#e67e00;--shadow:0 1px 2px rgba(13,42,29,.06),0 12px 32px rgba(13,42,29,.07);--radius:18px}
@media(prefers-color-scheme:dark){:root{--bg:#0c1511;--surface:#13201a;--surface-soft:#1a2b23;--text:#f1f7f3;--muted:#a9bbb2;--border:#31463b;--border-strong:#4a6256;--brand:#55d6a0;--brand-hover:#73e3b4;--on-brand:#06251a;--brand-soft:#153c2d;--success:#62daa7;--success-soft:#143b2d;--warning:#ffc766;--warning-soft:#493713;--danger:#ff8d85;--danger-soft:#4a211f;--focus:#ffbd59;--shadow:0 1px 2px rgba(0,0,0,.2),0 16px 38px rgba(0,0,0,.24)}}
html[data-theme="light"]{--bg:#f4f7f6;--surface:#fff;--surface-soft:#edf3f0;--text:#14251d;--muted:#5a6c63;--border:#d7e2dc;--border-strong:#b9c9c1;--brand:#087a52;--brand-hover:#066743;--on-brand:#fff;--brand-soft:#dff5eb;--success:#087a52;--success-soft:#e4f7ef;--warning:#9a5b00;--warning-soft:#fff0cf;--danger:#b42318;--danger-soft:#ffebe9;--focus:#e67e00;--shadow:0 1px 2px rgba(13,42,29,.06),0 12px 32px rgba(13,42,29,.07)}
html[data-theme="dark"]{--bg:#0c1511;--surface:#13201a;--surface-soft:#1a2b23;--text:#f1f7f3;--muted:#a9bbb2;--border:#31463b;--border-strong:#4a6256;--brand:#55d6a0;--brand-hover:#73e3b4;--on-brand:#06251a;--brand-soft:#153c2d;--success:#62daa7;--success-soft:#143b2d;--warning:#ffc766;--warning-soft:#493713;--danger:#ff8d85;--danger-soft:#4a211f;--focus:#ffbd59;--shadow:0 1px 2px rgba(0,0,0,.2),0 16px 38px rgba(0,0,0,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,summary{font:inherit}button,input{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}a{color:var(--brand)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--surface);color:var(--text);padding:.7rem 1rem;border-radius:10px;border:1px solid var(--border)}.skip-link:focus{top:1rem}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.eyebrow{margin:0 0 .35rem;color:var(--brand);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.12;letter-spacing:-.035em;margin-bottom:.65rem}h2{font-size:1.25rem;line-height:1.25;letter-spacing:-.015em;margin-bottom:.35rem}h3{font-size:1.05rem;margin-bottom:.35rem}p{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;padding:.15rem .35rem}
.brand-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:18px;background:var(--brand);color:var(--on-brand);font-size:1.45rem;font-weight:900;box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 25%,transparent)}.brand-mark-small{width:2.35rem;height:2.35rem;border-radius:12px;font-size:1rem;box-shadow:none}
.button,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;border-radius:12px;border:1px solid transparent;padding:.65rem 1rem;font-weight:750;transition:background-color .18s,border-color .18s,transform .18s}.button:hover,.theme-toggle:hover{transform:translateY(-1px)}.button-primary{background:var(--brand);color:var(--on-brand)}.button-primary:hover{background:var(--brand-hover)}.button-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.button-secondary:hover,.button-quiet:hover,.theme-toggle:hover{background:var(--surface-soft)}.button-quiet,.theme-toggle{background:transparent;border-color:var(--border);color:var(--text)}.button-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger)}.button-block{width:100%}.theme-toggle{padding:.55rem .75rem;min-width:6.5rem}
input{width:100%;min-height:46px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);padding:.72rem .85rem}input::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}input:hover{border-color:var(--brand)}label{font-weight:700;color:var(--text)}label>input{display:block;margin-top:.4rem;font-weight:500}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;position:relative;background:radial-gradient(circle at 15% 5%,var(--brand-soft),transparent 30rem),var(--bg)}.login-theme{position:absolute;right:clamp(1rem,4vw,2.5rem);top:clamp(1rem,4vw,2rem)}.login-card{width:min(100%,28rem);background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:clamp(1.5rem,5vw,2.5rem);box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:1.5rem}.login-intro{font-size:1.05rem;margin-bottom:1.5rem}.form-stack{display:grid;gap:.65rem}.pin-input{text-align:center;font-size:1.55rem;font-weight:800;letter-spacing:.45em;padding-left:1.3em}.form-message{min-height:1.3rem;margin:.55rem 0 0;font-size:.9rem}.form-message.is-error{color:var(--danger)}.form-message.is-success{color:var(--success)}.privacy-note{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.privacy-note>span{color:var(--brand);font-size:.7rem;margin-top:.35rem}.privacy-note p{font-size:.85rem;margin:0}
.dashboard{min-height:100vh}.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,3vw,2rem);background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}.brand,.header-actions{display:flex;align-items:center;gap:.75rem}.brand>div:last-child{display:grid;line-height:1.2}.brand strong{font-size:1rem}.brand span{font-size:.75rem;color:var(--muted)}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:72px;height:calc(100vh - 72px);background:var(--surface)}.main-nav{display:grid;gap:.35rem}.main-nav button{display:flex;align-items:center;gap:.75rem;min-height:46px;border:0;border-radius:12px;padding:.7rem .85rem;background:transparent;color:var(--muted);font-weight:700;text-align:left}.main-nav button>span{width:1.35rem;text-align:center;font-size:1.1rem}.main-nav button:hover{background:var(--surface-soft);color:var(--text)}.main-nav button[aria-current="page"]{background:var(--brand-soft);color:var(--brand)}.sidebar-note{display:flex;align-items:center;gap:.7rem;padding:.8rem;border-radius:12px;background:var(--surface-soft)}.sidebar-note>div{display:grid}.sidebar-note strong{font-size:.82rem}.sidebar-note span:last-child{font-size:.72rem;color:var(--muted)}.status-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 14%,transparent)}
.content{width:100%;max-width:1500px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.content-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.view-description{margin:0;max-width:42rem}.view{display:grid;gap:1.25rem;scroll-margin-top:92px}.system-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.system-banner.is-ok{border-color:color-mix(in srgb,var(--success) 40%,var(--border));background:linear-gradient(135deg,var(--success-soft),var(--surface) 72%)}.system-banner.is-alert{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:linear-gradient(135deg,var(--warning-soft),var(--surface) 72%)}.system-icon{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:900}.system-banner p{margin:0;font-size:.9rem}.system-time{font-size:.78rem;color:var(--muted);text-align:right}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}.metric-card>span{display:block;color:var(--muted);font-size:.84rem;font-weight:700}.metric-card>strong{display:block;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.1;letter-spacing:-.035em;margin:.5rem 0 .25rem}.metric-card>small{display:block;color:var(--muted);font-size:.74rem}.overview-grid,.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,2vw,1.35rem);box-shadow:0 1px 2px rgba(0,0,0,.025);min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading p{margin:0;font-size:.86rem}.panel-heading-wrap{align-items:center}.subtle-badge{padding:.28rem .55rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.75rem;font-weight:700;white-space:nowrap}.mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.mini-metrics>div{padding:.8rem;background:var(--surface-soft);border-radius:12px}.mini-metrics span{display:block;color:var(--muted);font-size:.72rem}.mini-metrics strong{display:block;margin-top:.2rem;font-size:1rem}.alert-list{margin-top:.8rem}.inline-success,.inline-alert,.safety-banner{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border-radius:12px}.inline-success{background:var(--success-soft);color:var(--success)}.inline-alert,.safety-banner{background:var(--warning-soft);color:var(--warning)}.inline-success span,.inline-alert span,.safety-banner>span{font-weight:900}.inline-success p,.inline-alert p,.safety-banner p{margin:0;color:inherit;font-size:.84rem}
.table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.85rem}th{color:var(--muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-soft)}th,td{text-align:left;padding:.72rem .8rem;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--surface-soft) 60%,transparent)}.primary-cell{display:grid;gap:.12rem;min-width:10rem}.primary-cell small{color:var(--muted);font-size:.72rem}.badge-row{display:flex;gap:.35rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;min-height:25px;padding:.18rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.badge-neutral{background:var(--surface-soft);color:var(--muted)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.empty-state{text-align:center;padding:2rem 1rem;border:1px dashed var(--border-strong);border-radius:12px}.empty-state strong{display:block}.empty-state p{margin:.3rem 0 0;font-size:.85rem}
.search-field{display:flex;align-items:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:12px;padding:0 .75rem;background:var(--surface)}.search-field input{border:0;min-height:42px;padding:.5rem 0;outline:0}.compact-field{width:min(100%,20rem)}.search-hero{padding:clamp(1.25rem,4vw,2.5rem);border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at 85% 10%,var(--brand-soft),transparent 24rem),var(--surface);text-align:center}.search-hero>p{max-width:42rem;margin-left:auto;margin-right:auto}.search-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:min(100%,48rem);margin:1.5rem auto 0;padding:.45rem .45rem .45rem .9rem;border:1px solid var(--border-strong);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);text-align:left}.search-box input{border:0;padding:.6rem .2rem;outline:0;background:transparent}.search-meta{color:var(--muted);font-size:.85rem;font-weight:650}.result-list{display:grid;gap:1rem}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;box-shadow:0 1px 2px rgba(0,0,0,.025)}.result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.result-top h3{margin-bottom:.1rem}.result-top p{font-size:.78rem;margin:0}.result-summary{font-size:1rem;color:var(--text);margin:1rem 0;padding-left:1rem;border-left:3px solid var(--brand)}.result-section{margin-top:.9rem}.result-section h4{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.result-section ul{margin:.25rem 0;padding-left:1.25rem}.result-section li{margin:.2rem 0}
.section-intro{display:flex;justify-content:space-between;align-items:flex-end}.section-intro p{margin-bottom:0}.disclosure{padding:0;overflow:hidden}.disclosure summary{min-height:52px;display:flex;align-items:center;padding:1rem 1.25rem;font-weight:800;cursor:pointer;list-style:none}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary::after{content:"＋";margin-left:auto;color:var(--brand);font-size:1.2rem}.disclosure[open] summary::after{content:"−"}.disclosure[open] summary{border-bottom:1px solid var(--border)}.disclosure-body{padding:1.25rem}.form-card{display:grid;gap:.8rem;align-content:start}.form-card h3,.form-card p{margin-bottom:0}.preview-region{padding:0 1.25rem 1.25rem}.preview-heading{margin-bottom:.75rem}.preview-heading p{margin:0}#phonebook-commit{margin:0 1.25rem 1.25rem}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.check-option{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.check-option input{width:1.15rem;height:1.15rem;min-height:auto;margin:.2rem 0 0;accent-color:var(--brand)}.check-option span{display:grid}.check-option small{font-weight:500;color:var(--muted)}.danger-actions{display:flex;gap:.7rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.toast-region{position:fixed;z-index:50;right:1.25rem;bottom:1.25rem;max-width:min(26rem,calc(100vw - 2rem));padding:.8rem 1rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);transform:translateY(1rem);opacity:0;pointer-events:none;transition:.2s}.toast-region.is-visible{transform:none;opacity:1}.toast-region.is-success{border-color:var(--success);color:var(--success)}.toast-region.is-error{border-color:var(--danger);color:var(--danger)}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:72px;z-index:20;height:auto;display:block;padding:.55rem 1rem;border-right:0;border-bottom:1px solid var(--border);overflow:auto}.main-nav{display:flex;min-width:max-content}.main-nav button{padding:.6rem .75rem}.sidebar-note{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.app-header{height:64px}.brand span,.theme-toggle [data-theme-label]{display:none}.theme-toggle{min-width:44px}.app-shell{min-height:calc(100vh - 64px)}.sidebar{top:64px}.content{padding:1rem}.content-heading{align-items:center}.content-heading .view-description,.content-heading .eyebrow{display:none}.content-heading h1{font-size:1.55rem;margin:0}.system-banner{grid-template-columns:auto 1fr}.system-time{grid-column:2;text-align:left}.overview-grid,.split-grid{grid-template-columns:1fr}.panel-heading-wrap{display:grid}.compact-field{width:100%}.search-box{grid-template-columns:auto minmax(0,1fr);padding:.45rem .65rem}.search-box .button{grid-column:1/-1;width:100%}.check-grid{grid-template-columns:1fr}}
@media(max-width:520px){.login-shell{align-items:start;padding-top:5.5rem}.login-card{border-radius:20px}.metric-grid{grid-template-columns:1fr 1fr;gap:.65rem}.metric-card{padding:.9rem}.metric-card>strong{font-size:1.6rem}.panel{border-radius:15px;padding:.9rem}.header-actions{gap:.4rem}.app-header{padding:0 .75rem}.main-nav button{font-size:.78rem;display:grid;place-items:center;gap:.15rem;min-width:4.5rem}.main-nav button>span{font-size:1rem}.table-wrap{border:0;overflow:visible}table,thead,tbody,tr,th,td{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}tbody{display:grid;gap:.7rem}tr{border:1px solid var(--border);border-radius:12px;padding:.35rem .75rem;background:var(--surface)}td{display:grid;grid-template-columns:minmax(7rem,40%) minmax(0,1fr);gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border)}td:last-child{border-bottom:0}td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.danger-actions{display:grid}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
