:root{--bg: oklch(.985 .008 75);--bg-soft: oklch(.97 .01 75);--surface: #ffffff;--surface-2: oklch(.98 .008 75);--surface-hover: oklch(.96 .01 70);--border: oklch(.92 .01 75);--border-strong: oklch(.86 .012 70);--divider: oklch(.94 .008 75);--ink: oklch(.22 .015 60);--ink-2: oklch(.36 .014 60);--muted: oklch(.52 .012 60);--muted-2: oklch(.68 .01 60);--brand: oklch(.55 .13 45);--brand-hover: oklch(.5 .13 45);--brand-soft: oklch(.95 .025 55);--brand-ink: oklch(.42 .13 45);--ok: oklch(.62 .12 150);--ok-soft: oklch(.95 .04 150);--warn: oklch(.72 .13 75);--warn-soft: oklch(.96 .06 85);--err: oklch(.58 .18 25);--err-soft: oklch(.96 .04 30);--info: oklch(.6 .1 230);--info-soft: oklch(.96 .03 230);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--shadow-xs: 0 1px 2px rgba(60, 40, 25, .04);--shadow-sm: 0 1px 3px rgba(60, 40, 25, .06), 0 1px 2px rgba(60, 40, 25, .04);--shadow-md: 0 4px 12px rgba(60, 40, 25, .08), 0 1px 3px rgba(60, 40, 25, .04);--shadow-lg: 0 12px 32px rgba(60, 40, 25, .1), 0 4px 8px rgba(60, 40, 25, .06);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","ss03"}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-sm);font-size:13px;font-weight:500;background:var(--surface);color:var(--ink);border:1px solid var(--border);transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--surface-hover)}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surface-hover)}.btn-sm{height:26px;padding:0 10px;font-size:12px}.btn-lg{height:38px;padding:0 16px;font-size:14px}.input,.select{height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:13px;color:var(--ink);transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input::placeholder{color:var(--muted-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-soft);color:var(--ink-2);border:1px solid var(--border)}.badge-ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge-warn{background:var(--warn-soft);color:#6c4300;color:oklch(.42 .1 70);border-color:transparent}.badge-err{background:var(--err-soft);color:var(--err);border-color:transparent}.badge-info{background:var(--info-soft);color:var(--info);border-color:transparent}.badge-brand{background:var(--brand-soft);color:var(--brand-ink);border-color:transparent}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot-warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.dot-err{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}.dot-muted{background:var(--muted-2)}.kbd{display:inline-flex;align-items:center;height:18px;min-width:18px;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;font-family:var(--font-mono);font-size:11px;color:var(--muted);background:var(--surface)}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.rl-team{transition:background .1s}.rl-team:hover{background:var(--surface-2)}.rl-team .rl-edit{opacity:0;transition:opacity .1s}.rl-team:hover .rl-edit{opacity:1}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table td{padding:14px;border-bottom:1px solid var(--divider);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr.row-hover:hover td{background:var(--surface-2)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#dbd7d0;border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#c3bdb6}.h-full{height:100%}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.page-pad{padding:32px 40px;max-width:1280px}.page-head{margin-bottom:28px}.page-title{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.page-sub{color:var(--muted);font-size:13px;margin:0}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500;margin:0 0 12px}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}@keyframes blink-rec{0%,to{opacity:1}50%{opacity:.3}}@keyframes slide-in-row{0%{opacity:0;transform:translateY(-4px);background:var(--brand-soft)}to{opacity:1;transform:translateY(0)}}@keyframes bar-grow{0%{height:0}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}
