:root{--bg:oklch(99% 0 0);--surface:oklch(100% 0 0);--surface-2:oklch(97.5% .003 285);--border:oklch(92% .005 250);--border-strong:oklch(86% .006 250);--text:oklch(18% .01 250);--text-2:oklch(46% .01 250);--text-3:oklch(62% .008 250);--accent:oklch(54% .19 285);--accent-hover:oklch(48% .19 285);--accent-weak:oklch(96% .025 285);--accent-border:oklch(88% .06 285);--ok:oklch(58% .14 150);--ok-weak:oklch(96% .03 150);--warn:oklch(70% .13 70);--warn-weak:oklch(97% .04 85);--err:oklch(55% .19 25);--err-weak:oklch(96.5% .02 25);--sp-1:.25rem;--sp-2:.5rem;--sp-3:1rem;--sp-4:1.5rem;--sp-5:2rem;--sp-6:3rem;--sp-7:4rem;--r-input:6px;--r-card:8px;--r-modal:12px;--shadow-float:0 10px 15px rgba(20,20,43,.08), 0 4px 6px rgba(20,20,43,.04);--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}body{margin:0;font-family:var(--font);font-size:.9375rem;line-height:1.55;color:var(--text);background:var(--bg)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em;text-wrap:balance;line-height:1.15}h1{font-size:1.75rem}h2{font-size:1.125rem}p{margin:0;text-wrap:pretty}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:2.5rem;padding:0 .875rem;border-radius:var(--r-input);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .13s ease,background-color .13s ease,color .13s ease}.btn:hover:not(:disabled){border-color:var(--text-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger:hover:not(:disabled){border-color:var(--err);color:var(--err)}.btn-sm{min-height:2rem;padding:0 .625rem;font-size:.8125rem}.btn-link{border:none;background:none;padding:0;min-height:0;color:var(--accent);font-weight:500;cursor:pointer}.btn-link:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field+.field{margin-top:var(--sp-3)}label{font-size:.8125rem;font-weight:500;color:var(--text-2)}input,select,textarea{font:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-input);padding:.5rem .75rem;transition:border-color .13s ease}input:hover,select:hover,textarea:hover{border-color:var(--text-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea{resize:vertical;min-height:5rem}.hint{color:var(--text-3)}.error-text,.hint{font-size:.8125rem}.error-text{color:var(--err)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--text-3);padding:0 var(--sp-3) var(--sp-2)}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:.75rem var(--sp-3);vertical-align:middle}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:var(--surface-2)}.num{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:var(--text-2)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:#13161a59;display:grid;place-items:center;padding:var(--sp-4);z-index:40}.modal{width:100%;max-width:30rem;max-height:calc(100vh - 4rem);overflow-y:auto;background:var(--surface);border-radius:var(--r-modal);box-shadow:var(--shadow-float);padding:var(--sp-4);animation:modal-in .2s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.row{gap:var(--sp-2)}.row,.spread{display:flex;align-items:center}.spread{justify-content:space-between;gap:var(--sp-3)}.muted{color:var(--text-2)}.small{font-size:.8125rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
