.sites-page{min-height:100vh;color:var(--color-ink);background:var(--color-canvas)}
.sites-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 64px);border-top:1px solid var(--color-border);background:var(--color-canvas)}
.sites-sidebar{padding:24px 16px;border-right:1px solid var(--color-border);background:var(--color-surface)}
.sites-sidebar-heading,.section-heading,.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.sites-sidebar h1,.site-header h2,.section-heading h3{margin:0;color:var(--color-ink);text-wrap:balance}.sites-sidebar h1{font-size:22px;letter-spacing:-.025em}
.sites-context{margin:0 0 5px;color:var(--color-accent);font:600 11px var(--font-code)}.section-description{max-width:65ch;margin:4px 0 0;color:var(--color-muted);font-size:12px}
.sites-icon-button{width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-control);color:#fff;background:var(--color-ink);font-size:20px;cursor:pointer}.sites-icon-button:hover{background:#1e293b}
.sites-compact-form{display:grid;gap:10px;margin:16px 0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas)}
.sites-compact-form label,.sites-form label,.member-add-form label{display:grid;gap:5px;color:var(--color-ink);font-size:11px;font-weight:700}
.sites-compact-form input,.sites-form input,.member-add-form input,.member-add-form select,.member-table select{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;color:var(--color-ink);background:var(--color-canvas);font:12px var(--font-ui)}
.sites-compact-form input:hover,.sites-form input:hover,.member-add-form input:hover{border-color:#94a3b8}.sites-compact-form>div{display:flex;gap:7px}
.sites-button{min-height:36px;border:1px solid #cbd5e1;border-radius:6px;padding:0 12px;color:#334155;background:var(--color-canvas);font:600 12px var(--font-ui);cursor:pointer}.sites-button:hover:not(:disabled){border-color:#94a3b8;background:var(--color-surface)}
.sites-button--primary{border-color:var(--color-accent);color:#fff;background:var(--color-accent)}.sites-button--primary:hover:not(:disabled){border-color:#166534;background:#166534}.sites-button:disabled{cursor:wait;opacity:.55}
.sites-list{display:grid;gap:4px;margin-top:16px}.sites-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;width:100%;padding:10px;border:1px solid transparent;border-radius:7px;color:#334155;background:transparent;text-align:left;cursor:pointer}
.sites-list button:hover{color:var(--color-ink);background:#eef2f7}.sites-list button:active,.sites-icon-button:active,.sites-button:active{transform:translateY(1px)}.sites-list button[aria-current=true]{border-color:#bbd8c4;color:#14532d;background:#edf8f0}
.sites-list strong{overflow:hidden;text-overflow:ellipsis}.sites-list small{grid-column:1;color:var(--color-muted)}.sites-list em{grid-column:2;grid-row:1/3;align-self:center;color:#166534;font:normal 9px var(--font-code)}
.sites-loading{display:flex;gap:5px;padding:22px 10px}.sites-loading span{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:site-pulse 900ms infinite alternate}.sites-loading span:nth-child(2){animation-delay:150ms}.sites-loading span:nth-child(3){animation-delay:300ms}@keyframes site-pulse{to{opacity:.25}}
.sites-empty{display:grid;gap:4px;padding:18px 10px;color:var(--color-muted);font-size:12px}.sites-empty strong{color:var(--color-ink)}
.sites-workspace{min-width:0;padding:28px;background:var(--color-canvas)}.site-placeholder{display:grid;place-content:center;min-height:65vh;text-align:center}.site-placeholder h2{margin:0;color:var(--color-ink);font-size:24px;letter-spacing:-.025em}.site-placeholder p{max-width:65ch;color:var(--color-muted)}
.sites-error{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px;padding:10px 12px;border:1px solid #fecaca;border-radius:7px;color:#991b1b;background:#fef2f2;font-size:12px}.sites-error button{border:0;color:inherit;background:transparent;font-weight:700;cursor:pointer}
.site-header{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.site-header h2{font-size:25px;letter-spacing:-.025em}.site-header p:last-child{margin:5px 0 0;color:var(--color-muted);font:11px var(--font-code)}
.site-header-actions{display:flex;align-items:center;gap:8px}.public-site-link{border:1px solid #bbd8c4;border-radius:6px;padding:7px 10px;color:#14532d;background:#edf8f0;font-size:11px;font-weight:700;text-decoration:none}.public-site-link:hover{border-color:#86b995;background:#e3f3e8}.public-site-link[hidden]{display:none}
.site-role,.site-count{border:1px solid #bbd8c4;border-radius:999px;padding:5px 8px;color:#14532d;background:#edf8f0;font:10px var(--font-code)}
.app-switcher,.site-panel{padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas)}.app-switcher{margin-bottom:16px;background:var(--color-surface)}.section-heading{margin-bottom:13px}.section-heading h3{font-size:16px}
.app-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.app-mode{display:grid;gap:7px;min-height:142px;padding:15px;border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-canvas);text-decoration:none;transition:border-color 160ms ease-out,background-color 160ms ease-out}.app-mode:hover{border-color:#94a3b8;background:#fbfdff}.app-mode--public:hover{border-color:#86b995;background:#f4faf6}.app-mode--admin:hover{background:var(--color-surface)}
.app-mode-kicker{color:var(--color-muted);font:10px var(--font-code);text-transform:uppercase}.app-mode--public .app-mode-kicker,.app-mode--public .app-mode-action{color:#166534}.app-mode strong{font-size:15px}.app-mode small{color:var(--color-muted);line-height:1.45}.app-mode-action{align-self:end;color:var(--color-ink);font-size:12px;font-weight:700}
.site-columns{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(420px,1.3fr);gap:16px}.sites-form{display:grid;gap:12px}.member-add-form{display:grid;grid-template-columns:minmax(150px,1fr) 145px auto;align-items:end;gap:8px;margin-bottom:12px}
.member-table-wrap{overflow:auto}.member-table{width:100%;border-collapse:collapse;font-size:11px}.member-table th{padding:7px 8px;border-bottom:1px solid #cbd5e1;color:var(--color-muted);text-align:left;text-transform:uppercase}.member-table td{padding:8px;border-bottom:1px solid var(--color-border)}.member-table td:first-child strong,.member-table td:first-child small{display:block}.member-table td:first-child small{margin-top:3px;color:var(--color-muted);font:9px var(--font-code)}.member-table select{min-width:135px;height:34px}.member-remove{border:0;color:#b91c1c;background:transparent;cursor:pointer}
.sites-notice{padding:10px;border:1px solid var(--color-border);border-radius:6px;color:#334155;background:var(--color-surface);font-size:12px}.sites-page :focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 42%,transparent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.sites-page *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:900px){.sites-shell{grid-template-columns:220px minmax(0,1fr)}.sites-workspace{padding:18px}.site-columns,.app-mode-grid{grid-template-columns:1fr}}
@media(max-width:640px){.sites-shell{display:block}.sites-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.sites-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sites-workspace{padding:16px}.member-add-form{grid-template-columns:1fr}.site-header{align-items:center}}
