:root {
 color-scheme: light;
 --ink:#172b28; --muted:#586b67; --canvas:#f3f6f5; --surface:#fff; --surface-strong:#e9efec; --line:#d8e2dd;
 --brand:#0f766e; --brand-strong:#095c55; --brand-soft:#e1f3ef; --nav:#102d29;
 --danger:#a9241b; --danger-soft:#fff0ee; --success:#176b42; --success-soft:#e7f5ec; --warning:#805008;
 --radius:12px; --radius-sm:7px;
 font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-synthesis:none;
}
* {box-sizing:border-box}
html {min-width:320px;background:var(--canvas)}
body {margin:0;color:var(--ink);background:var(--canvas);line-height:1.5}
::selection {color:white;background:var(--brand)}
a {color:var(--brand-strong);text-underline-offset:.2em}
a:hover {color:var(--brand)}
button,input,select {font:inherit}
input {caret-color:var(--brand)}
button,.button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--brand);color:white;font-weight:650;line-height:1.25;text-decoration:none;cursor:pointer;transition:background-color 150ms ease}
button:hover,.button:hover {background:var(--brand-strong);color:white}
button:active,.button:active {background:#074b45}
button.secondary,.button.secondary {color:var(--ink);background:var(--surface-strong)}
button.secondary:hover,.button.secondary:hover {background:#dce7e1}
button.danger,.button.danger {color:var(--danger);background:transparent}
button.danger:hover,.button.danger:hover {background:var(--danger-soft)}
button.compact,.button.compact {padding:7px 12px;min-height:38px;font-size:.875rem}
button:disabled {opacity:.6;cursor:not-allowed}
button[aria-busy=true] {cursor:progress}
:focus-visible {outline:3px solid var(--brand);outline-offset:3px}
.topbar :focus-visible {outline-color:#7de2d2}
[hidden] {display:none!important}
.sr-only,.skip-link:not(:focus) {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus {display:block;padding:12px;background:white}
.topbar {background:var(--nav);color:#eef7f4}
.topbar-inner {max-width:1240px;margin:0 auto;min-height:76px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand {display:inline-flex;align-items:center;gap:11px;color:white;text-decoration:none;font-weight:750;letter-spacing:-.02em;white-space:nowrap}
.brand:hover {color:#c4f1e7}
.brand-mark {width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:var(--nav);background:#7de2d2;font-size:.8rem;font-weight:800;letter-spacing:0}
.nav-links {display:flex;align-items:center;gap:6px}
.nav-links>a,.nav-button {display:inline-flex;align-items:center;min-height:44px;padding:10px 12px;color:#c3d9d2;border:0;border-radius:7px;background:transparent;text-decoration:none;font-size:.875rem;font-weight:600}
.nav-links>a:hover,.nav-button:hover,.nav-links>a[aria-current=page] {color:white;background:#234a42}
.nav-user {margin-left:14px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b1cbc2;font-size:.8125rem}
.nav-form,.inline-form {display:inline;margin:0}
.nav-toggle {display:none}
.shell {width:min(1180px,calc(100% - 48px));margin:40px auto 64px}
.shell-form {max-width:760px}
.back-link {display:inline-block;margin-bottom:18px;font-size:.875rem}
.page-header {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.page-header h1 {margin:0;font-size:2rem;line-height:1.2;letter-spacing:-.03em;font-weight:720;overflow-wrap:anywhere}
.page-header p {max-width:65ch;margin:8px 0 0;color:var(--muted);overflow-wrap:anywhere}
.page-header>.button {flex-shrink:0}
.page-actions {display:flex;flex-wrap:wrap;gap:10px}
.surface {padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.surface+.surface {margin-top:24px}
.surface-header {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.surface h2,.surface h3 {margin:0;font-size:1.125rem;line-height:1.4;font-weight:700;letter-spacing:-.015em}
.section-copy {margin:6px 0 0;color:var(--muted);max-width:65ch;font-size:.9375rem}
.divider {height:1px;margin:28px 0;background:var(--line);border:0}
form {margin:0}
.form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
fieldset {display:grid;gap:20px;grid-column:1/-1;min-width:0;border:0;padding:0;margin:0}
fieldset+fieldset {border-top:1px solid var(--line);padding-top:24px;margin-top:4px}
legend {padding:0;margin:0 0 18px;font-size:1.125rem;font-weight:700}
.form-field {display:grid;align-content:start;gap:7px;min-width:0}
.full,.form-field.full {grid-column:1/-1}
label {color:var(--ink);font-size:.875rem;font-weight:650}
.field-help {margin:0;color:var(--muted);font-size:.8125rem;max-width:70ch}
.field-error {color:var(--danger);font-size:.875rem}
.field-error:empty {display:none}
input:not([type=checkbox]):not([type=hidden]),select {width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #aebfb7;border-radius:var(--radius-sm);color:var(--ink);background:white}
input::placeholder {color:#65766f;opacity:1}
input:hover,select:hover {border-color:#778f84}
input:focus-visible,select:focus-visible {outline:2px solid var(--brand);outline-offset:2px}
input[aria-invalid=true],select[aria-invalid=true] {border-color:var(--danger)}
input[readonly] {background:var(--canvas);color:var(--muted)}
.check-row {display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1}
.check {display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px 8px 0}
.check input {width:18px;height:18px;margin:0;accent-color:var(--brand)}
.form-actions {display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1;margin-top:6px}
.notice {margin:0 0 24px;padding:14px 16px;border-radius:var(--radius-sm);font-size:.9375rem}
.notice p {margin:5px 0 0}
.notice.error {color:var(--danger);background:var(--danger-soft)}
.notice.success {color:var(--success);background:var(--success-soft)}
.notice.info {color:var(--brand-strong);background:var(--brand-soft)}
.filters {display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding-bottom:24px}
.filters>.form-field {flex:1 1 125px}
.filters>.search-field {flex:2 1 230px}
.filter-actions {display:flex;align-items:center;gap:14px;min-height:46px}
.filter-actions>a {font-size:.875rem;padding:10px 0}
.table-wrap {overflow-x:auto}
table {width:100%;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums}
th {padding:12px 14px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--canvas);text-align:left;font-size:.8125rem;font-weight:650;white-space:nowrap}
td {padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
tbody tr:last-child td {border-bottom:0}
tbody tr:hover {background:#f7faf8}
td strong {font-weight:650}
.identity-cell {max-width:360px}
.cell-actions {display:flex;align-items:center;gap:4px;white-space:nowrap}
.status {display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:5px;background:var(--surface-strong);color:var(--muted);font-size:.75rem;font-weight:650;white-space:nowrap}
.status.active {color:var(--success);background:var(--success-soft)}
.status.warning {color:var(--warning);background:#fff3d9}
.you-label {display:inline-block;margin-left:8px;color:var(--muted);font-size:.75rem;font-weight:400}
.pagination {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.empty {padding:38px 12px;text-align:center;color:var(--muted)}
.empty h2 {color:var(--ink)}
.empty p {margin:8px auto 16px;max-width:55ch}
.empty-inline {color:var(--muted);margin:12px 0}
.login-shell {min-height:100svh;display:grid;place-items:center;padding:40px 20px;background:var(--nav)}
.login-card {width:min(440px,100%);padding:36px;border-radius:var(--radius);background:var(--surface);box-shadow:0 20px 60px -30px #031915}
.login-brand {margin-bottom:30px}
.brand-ink {color:var(--ink)}
.login-card h1 {margin:0;font-size:1.875rem;line-height:1.2;letter-spacing:-.03em}
.login-card>p {color:var(--muted)}
.login-card form {display:grid;gap:18px;margin-top:24px}
.login-card button,.login-card .button {width:100%}
.or {display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:.8125rem}
.or::before,.or::after {content:"";flex:1;height:1px;background:var(--line)}
#passkey-status:empty {display:none}
#passkey-status {margin-top:18px}
.account-summary {display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:18px}
.summary-label {display:block;color:var(--muted);font-size:.8125rem}
.summary-value {display:block;margin-top:5px;font-weight:650;overflow-wrap:anywhere}
.footer {width:min(1180px,calc(100% - 40px));margin:0 auto 28px;color:var(--muted);font-size:.75rem}
.space-top {margin-top:12px}
@media (max-width:1000px) {.nav-user{display:none}}
@media (max-width:760px) {
 .topbar-inner {min-height:68px;padding:12px 18px;flex-wrap:wrap;gap:10px}
 .nav-toggle {display:inline-flex;margin-left:auto}
 .nav-links {width:100%;flex-wrap:wrap;padding-top:8px}
 .nav-links.collapsible:not(.is-open) {display:none}
 .nav-links>a {flex:1 1 auto}
 .nav-form {margin-left:auto}
 .shell {width:calc(100% - 28px);margin-top:26px}
 .page-header,.surface-header {align-items:stretch;flex-direction:column;gap:18px}
 .page-header h1 {font-size:1.75rem}
 .surface {padding:20px 16px}
 .form-grid,.account-summary {grid-template-columns:1fr}
 .filters>.form-field {flex-basis:calc(50% - 14px)}
 .filters>.search-field {flex-basis:100%}
 .filter-actions {width:100%}
 .filter-actions button {flex:1}
 .responsive-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .responsive-table,.responsive-table tbody {display:block}
 .responsive-table tr {display:block;padding:16px 0;border-bottom:1px solid var(--line)}
 .responsive-table tr:last-child {border-bottom:0}
 .responsive-table td {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:6px 0;border:0;text-align:right;max-width:none}
 .responsive-table td::before {content:attr(data-label);color:var(--muted);font-size:.8125rem;flex-shrink:0}
 .responsive-table .identity-cell {display:block;text-align:left;padding:0 0 12px;font-size:1rem}
 .responsive-table .identity-cell::before {display:none}
 button.compact,.button.compact {min-height:44px}
 .pagination {align-items:flex-start;flex-direction:column}
 .pagination .page-actions {width:100%;justify-content:space-between}
 .login-card {padding:28px 24px}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
