:root{font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-size:var(--text-base)}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{outline-offset:3px}
:where(button,a,input,textarea,select,summary):focus-visible{outline:2px solid var(--accent)}
button,input,textarea,select{transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
.ui-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
button{border:1px solid var(--line);border-radius:var(--radius-control);padding:9px 14px;background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}
button:hover{background:var(--soft)}
button:disabled{opacity:.48;cursor:not-allowed}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
input,textarea,select{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px 12px;background:var(--surface);color:var(--ink);max-width:100%}
input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}
input:focus,textarea:focus,select:focus{border-color:var(--accent)}
textarea{resize:vertical}
label{display:block;margin:18px 0;font-size:var(--text-md)}
label>input:not([type=checkbox]),label>textarea,label>select{display:block;margin-top:8px;width:100%}
h1,h2,h3,p{margin-top:0}
h1{font-size:32px;font-weight:var(--weight-semibold);letter-spacing:-1px}
h2{font-size:var(--text-xl);font-weight:var(--weight-semibold)}
p{line-height:var(--line-height)}
.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.primary:hover{background:var(--accent-hover)}
.secondary{background:var(--soft);border-color:transparent}
.danger{color:var(--danger)}
.muted{color:var(--muted);font-size:var(--text-md)}
.error{color:var(--danger);min-height:0;white-space:pre-wrap}
.eyebrow{font-size:var(--text-xs);letter-spacing:2px;color:var(--accent);display:block;margin-bottom:20px}
.card{padding:28px;border:0;border-radius:0;background:transparent;margin-bottom:24px}
.input-row{display:flex;gap:var(--space-2);align-items:center}
.input-row>input{min-width:0;flex:1}
.toggle{display:flex;align-items:center;gap:7px;margin:8px 0;white-space:nowrap}
.icon-btn{padding:7px 10px;background:transparent;border-color:transparent;font-size:18px;min-width:34px}
.text-btn{border:0;background:transparent;padding:0;color:var(--muted);text-align:left}
.tabs{display:flex;gap:6px;margin:20px 0}
.tabs button{border:0;background:transparent;color:var(--muted)}
.tabs .selected{background:var(--soft);color:var(--accent)}
.site-header{height:80px;padding:0 max(var(--page-gutter),calc((100% - var(--site-width) + 2 * var(--page-gutter))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface)}
.site-header nav{display:flex;gap:22px}
.page-content{max-width:var(--site-width);margin:auto;padding:45px var(--page-gutter)}
.page-heading{margin-bottom:30px}
.page-heading .eyebrow{margin-bottom:12px}
.page-heading p{color:var(--muted)}
.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:20px}
.section-heading h2{margin:0}
.big-number{font-size:48px;letter-spacing:-2px;margin:14px 0}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;font-size:var(--text-md)}
th{text-align:left;color:var(--muted);font-weight:var(--weight-medium)}
td,th{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}
td .input-row{flex-wrap:wrap}
td button{font-size:var(--text-sm);padding:5px 8px}
.badge{padding:3px 8px;border-radius:var(--radius-sm);background:var(--soft);white-space:nowrap;font-size:var(--text-sm)}
.empty{padding:30px 0;text-align:center;color:var(--muted)}
.pager{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px}
.list-row{display:flex;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--line);padding:16px 0}
.list-row p{margin:5px 0 0}
.list-row:last-child{border:0}
#notice{position:fixed;z-index:1000;top:20px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:var(--radius-control);background:var(--tooltip-bg);color:var(--on-accent);max-width:90vw;box-shadow:var(--shadow-menu);display:none}
#impersonation{padding:10px 18px;background:var(--warning-soft);color:var(--warning);text-align:center;position:sticky;top:0;z-index:200}
#impersonation button{margin-left:16px;font-size:var(--text-sm)}
dialog{border:1px solid var(--line);border-radius:var(--radius-dialog);box-shadow:var(--shadow-dialog);padding:var(--space-6);width:min(620px,94vw);max-height:90dvh;background:var(--surface);color:var(--ink)}
dialog::backdrop{background:var(--overlay)}
dialog textarea{min-height:210px;line-height:1.7}
dialog h2{margin:0}
dialog form>button{width:100%}
[hidden]{display:none!important}
@media(max-width:760px){.page-content{padding:28px 16px}
.two-columns{grid-template-columns:1fr;gap:0}
.card{padding:20px}
.site-header{padding:0 18px;height:65px}
.site-header nav{gap:var(--space-3);font-size:var(--text-sm)}
.section-heading{flex-wrap:wrap}
.section-heading .input-row{flex-wrap:wrap}
h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){button,input,textarea,select{transition:none}}
