:root{--bg: #f4f6f9;--panel: #ffffff;--ink: #1c2530;--muted: #7b8794;--line: #e3e8ef;--brand: #0b6cf0;--brand-ink: #0a4fb0;--ok: #16a34a;--warn: #d97706;--danger: #dc2626;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--brand);color:#fff;border:0;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600}button:hover{background:var(--brand-ink)}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;color:var(--muted);padding:0;font-weight:500}button.link:hover{color:var(--ink)}input,select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff;color:var(--ink)}.app{display:flex;min-height:100vh}.sidebar{width:210px;background:#0f1b2d;color:#cbd5e1;padding:18px 14px;display:flex;flex-direction:column;gap:22px}.brand{font-weight:800;font-size:19px;letter-spacing:-.02em;color:#fff}.brand span{color:#6fa8ff}.brand.big{font-size:26px;margin-bottom:8px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#cbd5e1;padding:9px 12px;border-radius:8px;font-weight:600}.sidebar nav a:hover{background:#1c2a40;text-decoration:none}.sidebar nav a.active{background:var(--brand);color:#fff}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.who{font-size:13px;color:#e2e8f0}.who small{color:#94a3b8;text-transform:capitalize}.content{flex:1;padding:26px 30px;overflow:auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-head h1{font-size:22px;margin:0}.muted{color:var(--muted)}.error{color:var(--danger);background:#fef2f2;padding:8px 12px;border-radius:8px;margin:8px 0}.back{display:inline-block;margin-bottom:10px;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.search{width:320px;margin-bottom:14px}.filters{margin-bottom:12px}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}.table th{background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:12px;font-weight:600;margin-right:6px}.badge.primary,.amc-active{background:#dcfce7;color:var(--ok)}.amc-expiring{background:#fef3c7;color:var(--warn)}.amc-expired{background:#fee2e2;color:var(--danger)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kv{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}.address{padding:6px 0;border-bottom:1px dashed var(--line)}.notes{margin-top:12px;color:var(--muted);font-style:italic}.login-wrap{min-height:100vh;display:grid;place-items:center;background:#0f1b2d}.login{width:320px;display:flex;flex-direction:column;gap:12px}.login label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}.login input{font-weight:400}.board{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}.col{flex:0 0 240px;background:#eef1f6;border-radius:var(--radius);padding:10px;min-height:120px}.col-over{outline:2px dashed var(--brand);background:#e3edfd}.col-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:10px;padding:0 4px}.col-head .count{background:#cdd6e3;color:#475569;border-radius:999px;padding:1px 8px;font-size:12px}.col-empty{color:var(--muted);text-align:center;padding:18px 0;font-size:13px;border:1px dashed var(--line);border-radius:8px}.deal{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px;cursor:grab;box-shadow:0 1px 2px #0000000a}.deal:active{cursor:grabbing}.deal-title{font-weight:600;margin-bottom:6px}.deal-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.deal-meta .prob{background:#eef2f7;border-radius:999px;padding:0 7px}.deal-close{margin-top:4px;font-size:12px;color:var(--muted)}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button.secondary:hover{background:#f8fafc}.actions{display:flex;gap:8px}textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px}.totals{margin-left:auto;margin-top:12px;max-width:320px}.totals>div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line)}.totals .grand{border-bottom:0;border-top:2px solid var(--ink);font-weight:800;font-size:16px;margin-top:4px;padding-top:8px}.table.borderless td{border:0;padding:6px 4px}.status-draft{background:#eef2f7;color:#475569}.status-sent{background:#dbeafe;color:#1d4ed8}.status-accepted,.status-confirmed,.status-completed{background:#dcfce7;color:var(--ok)}.status-rejected,.status-cancelled,.status-expired{background:#fee2e2;color:var(--danger)}.status-pending{background:#fef3c7;color:var(--warn)}.status-delivered,.status-installed{background:#e0e7ff;color:#4338ca}.pay-paid{background:#dcfce7;color:var(--ok)}.pay-partial{background:#fef3c7;color:var(--warn)}.pay-unpaid{background:#fee2e2;color:var(--danger)}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:12px 12px 2px}.sidebar nav{gap:2px}.prio-low{background:#eef2f7;color:#64748b}.prio-medium{background:#dbeafe;color:#1d4ed8}.prio-high{background:#fef3c7;color:var(--warn)}.prio-urgent{background:#fee2e2;color:var(--danger)}.status-in_progress,.status-waiting_parts{background:#e0e7ff;color:#4338ca}.status-assigned{background:#dbeafe;color:#1d4ed8}.status-open{background:#fef3c7;color:var(--warn)}.field{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px;margin-bottom:14px}.field select{font-weight:400}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;border-left:4px solid var(--line)}.tile-brand{border-left-color:var(--brand)}.tile-ok{border-left-color:var(--ok)}.tile-warn{border-left-color:var(--warn)}.tile-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tile-value{font-size:26px;font-weight:800;margin:6px 0 2px;letter-spacing:-.02em}.tile-sub{font-size:12px;color:var(--muted)}.barlist{display:flex;flex-direction:column;gap:8px;margin-top:10px}.barrow{display:grid;grid-template-columns:110px 1fr 34px;align-items:center;gap:8px}.barlabel{font-size:13px;text-transform:capitalize;color:var(--ink)}.bartrack{height:10px;background:#eef1f6;border-radius:999px;overflow:hidden}.barfill{display:block;height:100%;background:var(--brand);border-radius:999px}.barval{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.bartotal{margin-top:6px;font-size:12px}.gallery{display:flex;flex-wrap:wrap;gap:10px}.thumb{position:relative;width:96px;text-align:center}.thumb img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#f8fafc}.thumb .badge.primary{position:absolute;top:4px;left:4px;font-size:10px}.thumb .link{display:block;font-size:12px}.switch{display:inline-flex;align-items:center;gap:6px;font-size:13px}.switch input{width:auto}.snippet{background:#0f1b2d;color:#d6e2f5;padding:12px;border-radius:8px;font-size:12px;overflow-x:auto;margin-top:8px}code{background:#eef2f7;padding:1px 5px;border-radius:4px;font-size:12px}.scorepill{display:inline-block;min-width:26px;text-align:center;padding:1px 7px;border-radius:999px;background:#eef2f7;font-weight:700;font-variant-numeric:tabular-nums}.scorepill+.link{margin-left:6px}.run-completed{background:#dcfce7;color:var(--ok)}.run-skipped{background:#eef2f7;color:#64748b}.run-failed{background:#fee2e2;color:var(--danger)}.timeline{list-style:none;margin:12px 0 0;padding:0}.timeline li{position:relative;padding:0 0 14px 20px;border-left:2px solid var(--line)}.timeline li:last-child{border-left-color:transparent}.tl-dot{position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--brand)}.tl-status_change .tl-dot{background:var(--warn)}.tl-assignment .tl-dot{background:#4338ca}.tl-created .tl-dot{background:var(--ok)}.tl-head{display:flex;justify-content:space-between;gap:10px;font-size:13px}.tl-body{font-size:14px}
