:root{color-scheme:light;--bg:oklch(100% 0 0);--surface:oklch(97.2% .004 70);--surface-strong:oklch(94% .008 70);--ink:oklch(20.5% .018 65);--muted:oklch(47.5% .018 65);--border:oklch(89% .009 70);--primary:oklch(57% .145 70);--primary-strong:oklch(47% .135 66);--accent:oklch(42% .12 245);--success:oklch(49% .12 150);--danger:oklch(52% .18 27);--focus:oklch(62% .15 245);--sidebar:16rem;--radius:10px;--font:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{font-family:var(--font);color:var(--ink);background:var(--bg)}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}:focus-visible{outline:3px solid color-mix(in oklch, var(--focus) 60%, transparent);outline-offset:2px}.skip-link{z-index:50;background:var(--ink);color:#fff;border-radius:8px;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.app-shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:.75rem;padding:.5rem;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--primary-strong);border-radius:8px;place-items:center;width:2.15rem;height:2.15rem;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:.15rem;font-size:.75rem}nav{gap:.3rem;margin-top:2rem;display:grid}.nav-item{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:.72rem .75rem;display:flex}.nav-item:hover{color:var(--ink);background:var(--surface-strong)}.nav-item.is-active{color:var(--ink);background:var(--bg);box-shadow:0 1px 4px color-mix(in oklch, var(--ink) 10%, transparent);font-weight:650}kbd{color:var(--muted);font:600 .68rem var(--font)}.sidebar-foot{color:var(--muted);align-items:center;gap:.55rem;margin-top:auto;padding:.65rem;font-size:.75rem;display:flex}.health-dot{background:var(--success);border-radius:50%;width:.5rem;height:.5rem}main{min-width:0;padding:2rem clamp(1rem,4vw,4rem) 4rem}.topbar{justify-content:space-between;align-items:start;gap:2rem;min-height:5rem;margin-bottom:2rem;display:flex}.topbar p,.dialog-heading p{color:var(--muted);margin:0 0 .35rem;font-size:.82rem}h1{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:1.8rem}h2{letter-spacing:-.01em;margin:0;font-size:1.1rem}h3{margin:0;font-size:.95rem}p{text-wrap:pretty}.view{display:none}.view.is-active{display:block}.button{border:1px solid #0000;border-radius:8px;min-height:2.5rem;padding:.55rem .9rem;font-weight:650}.button.primary{color:#fff;background:var(--primary-strong)}.button.primary:hover{background:color-mix(in oklch, var(--primary-strong) 88%, black)}.button.secondary{color:var(--ink);background:var(--bg);border-color:var(--border)}.button.secondary:hover{background:var(--surface)}.button.danger{color:#fff;background:var(--danger)}.text-button{color:var(--accent);background:0 0;border:0;padding:.35rem;font-weight:650}.icon-button{width:2.25rem;height:2.25rem;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:1.5rem}.icon-button:hover{color:var(--ink);background:var(--surface)}.metrics{border-block:1px solid var(--border);flex-wrap:wrap;margin-bottom:2.5rem;display:flex}.metric{border-right:1px solid var(--border);flex:10rem;padding:1.25rem 1rem}.metric:last-child{border-right:0}.metric strong{font-variant-numeric:tabular-nums;font-size:1.7rem;display:block}.metric span{color:var(--muted);font-size:.8rem}.work-section{margin-top:1.5rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading p,.field-builder-heading p{color:var(--muted);margin:.3rem 0 0;font-size:.85rem}.table-region{border-block:1px solid var(--border);width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th{color:var(--muted);text-align:left;font-size:.72rem;font-weight:650}th,td{border-bottom:1px solid var(--border);vertical-align:top;padding:.78rem .7rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface)}.cell-primary{font-weight:650}.cell-secondary{color:var(--muted);margin-top:.2rem;font-size:.76rem;display:block}.actions{white-space:nowrap;text-align:right}.actions button{margin-left:.25rem}.inline-button{color:var(--accent);background:0 0;border:0;padding:.3rem;font-weight:650}.inline-button.danger-text{color:var(--danger)}.status{background:var(--surface-strong);border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.72rem;font-weight:650;display:inline-flex}.status.active,.status.won,.status.qualified{color:oklch(31% .11 150);background:oklch(93% .05 150)}.status.new{color:oklch(33% .11 245);background:oklch(93% .04 245)}.status.spam,.status.lost,.status.inactive{color:oklch(35% .12 27);background:oklch(94% .04 27)}.empty{text-align:center;color:var(--muted);border-block:1px solid var(--border);padding:3rem 1rem}.empty strong{color:var(--ink);margin-bottom:.35rem;display:block}.notice{color:oklch(30% .1 150);background:oklch(95% .035 150);border-radius:8px;margin:-1rem 0 1.25rem;padding:.8rem 1rem}.notice.error{color:oklch(34% .14 27);background:oklch(95% .035 27)}.filters{background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}label{color:var(--ink);gap:.4rem;font-size:.8rem;font-weight:620;display:grid}input,select,textarea{border:1px solid var(--border);width:100%;min-height:2.45rem;color:var(--ink);background:var(--bg);border-radius:8px;padding:.55rem .65rem}textarea{resize:vertical}label small{color:var(--muted);font-weight:450}.filters label{min-width:12rem}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;font-size:.8rem;display:flex}dialog{width:min(34rem,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--ink);background:var(--bg);box-shadow:0 8px 24px color-mix(in oklch, var(--ink) 20%, transparent);border:0;border-radius:14px;padding:0}dialog::backdrop{background:color-mix(in oklch, var(--ink) 54%, transparent)}.dialog-form{gap:1rem;padding:1.25rem;display:grid}.dialog-form.wide{width:min(50rem,100vw - 2rem)}.dialog-heading{justify-content:space-between;align-items:start;display:flex}.dialog-actions{justify-content:flex-end;gap:.6rem;padding-top:.4rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.toggles{border:1px solid var(--border);border-radius:8px;gap:1.25rem;padding:.85rem;display:flex}.toggles legend{color:var(--muted);padding:0 .35rem;font-size:.75rem}.toggles label{align-items:center;gap:.5rem;display:flex}.toggles input{width:1rem;min-height:1rem}.field-builder-heading{justify-content:space-between;align-items:end;display:flex}.field-builder{gap:.5rem;display:grid}.field-row{background:var(--surface);border-radius:8px;grid-template-columns:1fr 1.2fr 1fr .7fr auto;align-items:end;gap:.5rem;padding:.65rem;display:grid}.field-row label{font-size:.7rem}.field-options{grid-column:1/-1}.detail-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.detail-item{background:var(--bg);padding:.75rem}.detail-item dt{color:var(--muted);font-size:.72rem}.detail-item dd{overflow-wrap:anywhere;margin:.25rem 0 0}.payload{background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:1rem;font:.8rem ui-monospace,SFMono-Regular,Menlo,monospace}@media (width<=760px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;padding:.75rem;position:static}.brand{padding:.25rem}.sidebar nav{margin-top:.75rem;display:flex;overflow-x:auto}.nav-item{flex:none;gap:.5rem;width:auto}.sidebar-foot,kbd{display:none}main{padding:1.25rem 1rem 3rem}.topbar{min-height:4rem}h1{font-size:1.45rem}.metric{border-bottom:1px solid var(--border)}.form-grid,.detail-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr 1fr}.field-row .remove-field{grid-column:2;justify-self:end}}@media (prefers-reduced-motion:no-preference){.nav-item,.button,.icon-button{transition:background-color .18s ease-out,color .18s ease-out}dialog[open]{animation:.18s ease-out dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}}}
