:root{--bg:#f7f7f5;--surface:#fff;--ink:#1a1a1a;--ink-2:#44443f;--muted:#5f5e5a;--line:#e4e2dc;--line-2:#f0eee8;--input:#d3d1c7;--accent:#0f6e56;--accent-ink:#085041;--accent-soft:#e1f5ee;--chart:#1d9e75;--blue-bg:#e6f1fb;--blue-ink:#0c447c;--amber-bg:#faeeda;--amber-ink:#633806;--red-bg:#fdebdd;--red-ink:#9a3412;--gray-bg:#f1efe8;--gray-ink:#44443f;--radius:8px;--font:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Space Grotesk", var(--font)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 14px/1.5 var(--font);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-ink)}h1,h2,h3{margin:0;font-weight:600}h1{font-family:var(--display);font-size:28px}h2{font-size:16px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--input);border-radius:var(--radius);background:var(--surface);width:100%;min-height:40px;padding:8px 12px}textarea{resize:vertical}input[type=checkbox]{width:auto;min-height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,.code{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.code{background:var(--gray-bg);white-space:pre;border-radius:6px;padding:8px 10px;display:block;overflow-x:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:12px}.cap{text-transform:capitalize}.center{place-items:center;min-height:60vh;display:grid}.fatal{background:var(--red-bg);color:var(--red-ink);border-radius:var(--radius);white-space:pre-wrap;margin:40px;padding:16px}.app{flex-wrap:wrap;min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:220px;gap:4px;min-width:200px;max-width:260px;padding:24px 16px;display:flex}.brand{font-family:var(--display);padding:0 12px 16px;font-size:18px;font-weight:600}.nav-link{border-radius:var(--radius);min-height:44px;color:var(--ink-2);align-items:center;padding:0 12px;text-decoration:none;display:flex}.nav-link:hover{background:var(--bg);color:var(--ink)}.nav-link.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.nav-section{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:20px 12px 6px;font-size:12px}.sidebar-foot{flex-direction:column;gap:12px;margin-top:auto;padding:16px 12px 0;display:flex}.user{flex-direction:column;font-size:13px;display:flex}.user small{color:var(--muted)}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.main{flex-direction:column;flex:999 560px;gap:20px;min-width:0;max-width:1200px;padding:28px 40px 56px;display:flex}.banner{background:var(--amber-bg);color:var(--amber-ink);border-radius:var(--radius);padding:8px 14px;font-size:13px}@media (width<=720px){.sidebar{border-right:none;border-bottom:1px solid var(--line);max-width:none}.main{padding:20px 16px 40px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header p{margin:4px 0 0}.page-actions,.row-actions{flex-wrap:wrap;gap:8px;display:flex}.meta-row{flex-wrap:wrap;align-items:center;gap:6px 16px;display:inline-flex}.back{align-self:flex-start;align-items:center;min-height:32px;text-decoration:none;display:inline-flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;min-width:0;padding:20px 24px;display:flex}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section{flex-direction:column;gap:12px;display:flex}.two-col{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.col-wide{flex:3 440px}.col-narrow{flex:2 300px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stack{flex-direction:column;gap:12px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar .search{flex:320px}.toolbar select{width:auto}.empty{text-align:center;color:var(--muted);padding:28px 16px}.spinner{color:var(--muted);align-items:center;gap:10px;padding:16px 0;display:flex}.spinner-dot{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner-dot{animation:none}}.error-box{background:var(--red-bg);color:var(--red-ink);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.error-box ul,.warn-box ul{margin:4px 0 0;padding-left:18px}.error-text{color:var(--red-ink);font-size:13px}.warn-box{background:var(--amber-bg);color:var(--amber-ink);border-radius:var(--radius);margin:0;padding:10px 14px}.info{background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius);margin:0;padding:10px 14px}.btn{border:1px solid var(--input);border-radius:var(--radius);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-2);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);color:#fff}.btn-primary:disabled,.btn-primary:disabled:hover{color:#fff;opacity:1;background:#c4c7c5;border-color:#c4c7c5}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;min-height:32px;padding:0}.btn-small{min-height:34px;padding:0 12px;font-size:13px}.btn-block{width:100%}.segmented{flex-wrap:wrap;gap:4px;display:inline-flex}.segmented button{border:1px solid var(--input);background:var(--surface);min-height:36px;color:var(--ink-2);cursor:pointer;border-radius:18px;padding:0 14px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.badge{white-space:nowrap;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-green{background:var(--accent-soft);color:var(--accent-ink)}.badge-blue{background:var(--blue-bg);color:var(--blue-ink)}.badge-amber{background:var(--amber-bg);color:var(--amber-ink)}.badge-red{background:var(--red-bg);color:var(--red-ink)}.badge-gray{background:var(--gray-bg);color:var(--gray-ink)}.score{align-items:center;gap:10px;display:inline-flex}.score-num{font-family:var(--display);min-width:28px;font-size:18px;font-weight:600}.score-bar{background:#eeede8;border-radius:3px;width:90px;height:6px;overflow:hidden}.score-bar span{background:var(--chart);height:6px;display:block}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:16px;display:flex}.kpi-label{color:var(--muted);font-size:13px}.kpi-value{font-family:var(--display);font-size:26px;font-weight:600}.kpi-hint{color:var(--muted);font-size:12px}.score-hero{flex-flow:wrap;align-self:flex-start;align-items:center;gap:20px;padding:14px 20px}.hero-num{font-family:var(--display);font-size:34px;font-weight:600;line-height:1.1}.hero-num span{color:var(--muted);font-size:16px}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.card .table-wrap{border:none;border-radius:0}.table{border-collapse:collapse;width:100%;min-width:640px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:12px 16px}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover{background:#fbfbf9}.row-link{color:var(--ink);font-weight:500;text-decoration:none}.table.prompts td{vertical-align:top}.w-id{width:80px}.w-lang{width:56px}.progress{background:var(--gray-bg);border-radius:11px;height:22px;position:relative;overflow:hidden}.progress span{background:var(--accent-soft);position:absolute;inset:0 auto 0 0}.progress small{text-align:center;color:var(--accent-ink);font-size:12px;line-height:22px;display:block;position:relative}.chart svg{width:100%;height:240px;display:block}.chart .grid{stroke:#eeede8;stroke-width:1px}.chart .axis{stroke:var(--input);stroke-width:1px}.chart .area{fill:var(--chart);fill-opacity:.1}.chart .line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart .line.dashed{stroke-dasharray:6 6;stroke:#ba7517}.chart .dot{fill:var(--surface);stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke}.chart .dot-draft{stroke:#ba7517}.chart-labels{text-align:center;gap:8px;margin-top:8px;display:grid}.chart-labels div{flex-direction:column;display:flex}.chart-labels strong{font-family:var(--display);font-size:16px}.chart-labels span{color:var(--muted);font-size:12px}.chart-labels small{color:var(--muted);font-size:11px}.timeline,.tasks,.runs,.plain,.plain-list,.errors,.bars{margin:0;padding:0;list-style:none}.timeline li{border-top:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 0;display:flex}.tl-month{flex-direction:column;flex:0 0 120px;align-items:flex-start;gap:4px;display:flex}.tl-score{font-family:var(--display);flex:0 0 60px;font-size:22px;font-weight:600}.tl-body{flex-direction:column;flex:300px;gap:2px;min-width:0;display:flex}.tl-actions{gap:8px;display:flex}.tasks li{border-top:1px solid var(--line-2);align-items:center;gap:12px;padding:10px 0;display:flex}.tasks select{width:auto;min-height:34px;padding:4px 8px}.tasks li{flex-wrap:wrap}.task-body{flex-direction:column;flex:220px;gap:2px;min-width:0;display:flex}.inline-form{gap:8px;display:flex}.runs li{border-top:1px solid var(--line-2);flex-direction:column;gap:8px;padding:14px 0;display:flex}.run-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.run-score{font-family:var(--display);margin-left:auto;font-size:20px;font-weight:600}.plain li{padding:2px 0}.plain-list li{border-top:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.errors li{border-top:1px solid var(--line-2);padding:8px 0}.bars li{grid-template-columns:minmax(120px,1.2fr) 2fr 32px;align-items:center;gap:10px;padding:4px 0;display:grid}.bars .bar{background:#eeede8;border-radius:4px;height:8px;overflow:hidden}.bars .bar span{background:#b4b2a9;height:8px;display:block}.bars .is-brand{font-weight:600}.bars .is-brand .bar span{background:var(--accent)}.num{text-align:right;font-variant-numeric:tabular-nums}.facts{grid-template-columns:130px 1fr;gap:10px 12px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.facts ul{margin:0;padding-left:18px}.form{flex-direction:column;gap:20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:13px;font-weight:500}.field-hint{color:var(--muted);font-size:12px}.checks{border:none;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;display:flex}.checks legend{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:500}.checks label{align-items:center;gap:6px;display:inline-flex}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:28px;display:flex}.login-top{justify-content:space-between;align-items:center;display:flex}.login-top .brand{padding:0}.login h1{font-size:22px}
