:root{--color-canvas: #f7f7f3;--color-surface: #ffffff;--color-surface-raised: #efefeb;--color-ink: #171817;--color-ink-muted: #6b6f6a;--color-ink-subtle: #4c504b;--color-line: #d5d8d2;--color-line-strong: #b9beb7;--color-action: #1746d1;--color-action-pressed: #1239ad;--color-current: #ff6b4a;--color-selected: #fff0c7;--color-danger: #a3262b;--color-danger-surface: #ffe1e1;--color-success: #24563a;--color-success-line: #2f6b48;--color-success-surface: #e9f5ed;--color-on-strong: #ffffff;--color-nav-muted: #aeb3ac;--color-nav-label: #cfd2cc;--color-nav-active: #2b2e2b;--color-overlay: rgb(23 24 23 / 55%);--shadow-dialog: 0 18px 54px rgb(23 24 23 / 20%);--radius-control: 6px;--radius-dialog: 10px;--control-height: 42px}:root{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-ink);background:var(--color-canvas)}*{box-sizing:border-box}body{margin:0;overflow-wrap:anywhere}button,input,textarea{font:inherit}button{min-height:var(--control-height);padding:9px 14px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font-weight:700;cursor:pointer}button:hover{border-color:var(--color-action);color:var(--color-action-pressed)}button:disabled{cursor:not-allowed;opacity:.5}button.primary,.invite-form .active{border-color:var(--color-action);background:var(--color-action);color:var(--color-on-strong)}button.primary:hover{background:var(--color-action-pressed);color:var(--color-on-strong)}button.danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-strong)}input,textarea{width:100%;min-height:var(--control-height);padding:10px 12px;border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}textarea{min-height:112px;resize:vertical}label{display:grid;gap:6px}label>span{color:var(--color-ink-subtle);font-size:12px;font-weight:700}:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}::selection{background:var(--color-selected);color:var(--color-ink)}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--color-current);color:var(--color-ink);font-weight:900}.login{width:min(100% - 40px,440px);margin:12vh auto}.login h1{margin:24px 0 8px;font-size:42px;letter-spacing:-.03em}.login>p{max-width:34ch;margin:0 0 32px;color:var(--color-ink-subtle);line-height:1.6}.login form{display:grid;gap:16px;padding-top:24px;border-top:1px solid var(--color-line)}.status-message{margin:12px 0;padding:12px 14px;overflow-wrap:anywhere}.status-message--error{border:1px solid var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.status-message--success{border:1px solid var(--color-success-line);background:var(--color-success-surface);color:var(--color-success)}.status-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.status-actions .status-message{flex:1 1 280px}.field-error{color:var(--color-danger);font-size:12px;font-weight:700}.field-hint{color:var(--color-ink-muted);font-size:12px}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;min-height:100dvh}.shell aside{position:sticky;top:0;height:100vh;height:100dvh;padding:28px 20px;display:flex;flex-direction:column;background:var(--color-ink);color:var(--color-on-strong)}.admin-brand{min-width:0;display:flex;align-items:center;gap:12px;margin-bottom:40px}.admin-brand h1{margin:0;font-size:20px}.admin-brand small{display:block;margin-top:2px;color:var(--color-nav-muted)}.shell nav{display:grid;gap:2px}.shell aside button{border:0;background:transparent;color:var(--color-nav-label);text-align:left}.shell aside button:hover,.shell aside button.active{background:var(--color-nav-active);color:var(--color-on-strong)}.shell aside button.active{box-shadow:inset 3px 0 var(--color-current)}.shell .logout{margin-top:auto;justify-self:end;color:var(--color-nav-muted)}.shell>section{width:min(100%,1320px);min-width:0;padding:clamp(32px,5vw,72px)}header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;padding-bottom:22px;border-bottom:1px solid var(--color-line)}header h2{margin:0;font-size:clamp(34px,4vw,54px);letter-spacing:-.025em}header p{margin:8px 0 0;color:var(--color-ink-subtle)}.count{color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.tools{display:grid;grid-template-columns:minmax(240px,460px) auto;align-items:end;gap:10px;margin-bottom:24px}.detail{margin-bottom:20px;padding:20px;border:1px solid var(--color-line);background:var(--color-surface)}.detail button{float:right}.detail p,.detail small{display:block;margin:4px 0 0;color:var(--color-ink-subtle)}.table{min-width:0;border-top:1px solid var(--color-line)}.table>p{margin:0;padding:20px 0;color:var(--color-ink-muted)}.table article{min-height:76px;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--color-line)}.table strong,.table span,.table small{display:block}.table article>div{min-width:0}.table article>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table small,.table article>div>span{margin-top:4px;color:var(--color-ink-muted);overflow-wrap:anywhere}.row-id{color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;padding:24px;display:grid;place-items:center;background:var(--color-overlay)}.dialog{width:min(100%,560px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border-radius:var(--radius-dialog);background:var(--color-surface);box-shadow:var(--shadow-dialog)}.dialog header{align-items:flex-start;margin-bottom:22px}.dialog header h2{font-size:28px}.dialog header>div{min-width:0}.dialog header p,.dialog header strong{overflow-wrap:anywhere}.dialog form{display:grid;gap:18px}.dialog-note{margin:0;padding:12px 14px;background:var(--color-selected);color:var(--color-ink-subtle)}.invite-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;padding:24px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);margin-bottom:24px}.muted{font-style:normal;font-size:12px;color:var(--color-danger);margin-left:6px}@media (max-width: 840px){.shell{grid-template-columns:1fr}.shell aside{position:static;height:auto;padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center}.admin-brand{margin:0}.shell nav{display:flex;overflow-x:auto}.shell .logout{margin:0}.shell>section{padding:32px 20px}.table article{grid-template-columns:54px minmax(0,1fr)}.table article>button{grid-column:2;justify-self:start}.invite-form{grid-template-columns:1fr}}@media (max-width: 560px){.shell aside{grid-template-columns:1fr auto}.shell nav{grid-column:1 / -1;order:3}header{align-items:flex-start;flex-wrap:wrap}.tools{grid-template-columns:1fr}.table article{grid-template-columns:1fr}.table article>button{grid-column:1}.dialog-backdrop{padding:12px;align-items:end}.dialog{max-height:calc(100dvh - 24px);padding:22px}.row-actions{justify-content:stretch}.row-actions button{flex:1 1 140px}.status-actions{align-items:stretch;flex-direction:column}.status-actions .status-message{flex-basis:auto;width:100%}.status-actions>button{width:100%}}@media (forced-colors: active){button,input,textarea,.detail,.status-message{forced-color-adjust:auto}.shell aside button.active{outline:2px solid CanvasText;outline-offset:-2px}}
