:root{--bg:#f4f5f7;--panel:#fff;--border:#e1e4e8;--border-strong:#c9ced6;--text:#1d2129;--muted:#69717d;--accent:#1f6feb;--accent-soft:#e8f0fe;--danger:#c62828;--won:#2e8b57;--lost:#c0392b;--flag:#e5484d;--flag-soft:#fff1f1;--radius:8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0;font-size:20px}h2{margin:18px 0 8px;font-size:15px}p{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);margin:0;font-size:14px}.banner{border-radius:var(--radius);background:#fdecea;border:1px solid #f5c2c0;margin-bottom:12px;padding:8px 12px}input,select,textarea{font:inherit;border:1px solid var(--border-strong);color:var(--text);background:#fff;border-radius:6px;padding:7px 10px}button{font:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:default}.btn,.form button[type=submit]{border:1px solid var(--border-strong);color:var(--text);background:#fff;border-radius:6px;padding:7px 14px}.btn:hover:not(:disabled){background:#f0f2f5}.form button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}.btn-won{background:var(--won);border-color:var(--won);color:#fff}.btn-won:hover:not(:disabled){background:#26754a}.btn-lost,.form button.btn-lost{background:var(--lost);border-color:var(--lost);color:#fff}.btn-lost:hover:not(:disabled){background:#a33024}.btn-danger{color:var(--danger)}.btn-link{color:var(--accent);background:0 0;border:0;padding:0}.btn-link.danger{color:var(--danger)}button.link{color:var(--accent);text-align:left;background:0 0;border:0;padding:0}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;padding:32px}.center h1{margin-bottom:20px}.form{flex-direction:column;gap:10px;display:flex}.form label{font-size:13px;font-weight:600}.topbar{color:#fff;z-index:10;background:#1d2129;align-items:center;gap:24px;height:48px;padding:0 20px;display:flex;position:sticky;top:0}.brand{color:#fff;letter-spacing:.3px;font-weight:700}.nav{flex:1;gap:16px;display:flex}.nav a{color:#cfd5de}.nav a:hover{color:#fff;text-decoration:none}.me{color:#cfd5de;align-items:center;gap:12px;display:flex}.me .btn-link{color:#9fc2ff}.content{padding:16px 20px}.kanban{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:stretch;gap:12px;display:grid}.column{border-radius:var(--radius);background:#e9ebef;flex-direction:column;min-height:calc(100vh - 90px);display:flex}.column.over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.column-head{border-bottom:1px solid #d8dce2;padding:10px 12px 8px}.column-head h2{margin:0 0 2px;font-size:14px}.column-meta{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.column-body{flex-direction:column;gap:8px;padding:8px;display:flex}.card{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;border-radius:6px;padding:8px 10px;display:block}.card:hover{border-color:var(--border-strong);text-decoration:none}.card.flagged{border-left-color:var(--flag);background:var(--flag-soft)}.card.dragging{cursor:grabbing;box-shadow:0 8px 20px #0000002e}.card-title{font-weight:600;line-height:1.3}.card-org{color:var(--muted);margin-top:2px;font-size:12px}.card-value{margin-top:4px;font-weight:600}.card-dates{gap:14px;margin:4px 0 0;font-size:12px;display:flex}.card-dates div{gap:4px;display:flex}.card-dates dt{color:var(--muted)}.card-dates dd{margin:0}.card-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.card-flag{color:var(--flag);margin-top:6px;font-size:12px;font-weight:600}.pill{color:#4a515b;background:#eef0f3;border-radius:10px;padding:1px 6px;font-size:11px}.pill.pay-paid{color:#1f6b41;background:#e3f4ea}.pill.pay-deposit_paid{color:#8a5a00;background:#fff3dc}.pill.tr-us{color:#1a4fa8;background:#e8f0fe}.label{color:#fff;border-radius:10px;margin-right:4px;padding:1px 6px;font-size:11px}.crumbs{margin-bottom:8px}.detail-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.detail-title{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.detail-title .field{flex:1;margin:0}.detail-title .field-label{display:none}.detail-title .field-edit input{width:100%;font-size:18px}.actions{flex-wrap:wrap;gap:8px;display:flex}.status{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px}.status-open{background:var(--accent-soft);color:#1a4fa8}.status-won{color:#1f6b41;background:#e3f4ea}.status-lost{color:#a33024;background:#fdecea}.detail-grid{grid-template-columns:minmax(340px,420px) 1fr;align-items:start;gap:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:4px 16px 16px}.field{border-bottom:1px solid #f0f2f5;padding:6px 0}.field-label{color:var(--muted);margin-bottom:2px;font-size:12px}.field-value{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;flex-wrap:wrap;align-items:center;gap:4px;min-height:28px;margin-left:-5px;padding:3px 4px;display:flex}.field-value:hover:not(:disabled){border-color:var(--border);background:#fafbfc}.field-value:disabled{opacity:1;cursor:default}.field-edit input,.field-edit select{width:100%}.combo{flex-direction:column;gap:6px;display:flex}.combo-list{border:1px solid var(--border);border-radius:6px;max-height:240px;margin:0;padding:0;list-style:none;overflow:auto}.combo-list button{text-align:left;background:0 0;border:0;width:100%;padding:6px 10px}.combo-list button:hover,.combo-list button.selected{background:var(--accent-soft)}.combo-list .hint{color:var(--muted);font-size:12px}.combo-list .muted{padding:6px 10px}.combo-clear{color:var(--danger)}.labels-edit{flex-direction:column;gap:6px;display:flex}.check{align-items:center;gap:6px;display:flex}.facts{grid-template-columns:auto 1fr;gap:4px 12px;margin:12px 0 0;font-size:13px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.arrivals ul{margin:0 0 8px;padding:0;list-style:none}.arrivals li{flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0;display:flex}.arrivals li.past .arrival-date{color:var(--muted);text-decoration:line-through}.arrival-date{font-weight:600}.row-actions{gap:10px;margin-left:auto;font-size:12px;display:flex}.arrival-form{flex-wrap:wrap;gap:6px;display:flex}.arrival-form input[name=note]{flex:1;min-width:140px}.emails{margin:0;padding:0;list-style:none}.emails li{border-bottom:1px solid #f0f2f5;padding:6px 0}.email-subject{font-weight:500}.timeline{margin:0;padding:0;list-style:none}.tl{border-left:3px solid var(--border);margin-bottom:6px;padding:8px 0 8px 12px}.tl-note{background:#fffbea;border-left-color:#e0b400}.tl-file{border-left-color:#8b4fc9}.tl-task{border-left-color:var(--won)}.tl-change{border-left-color:var(--border-strong);font-size:13px}.tl-meta{color:var(--muted);margin-bottom:2px;font-size:12px}.tl-text{white-space:pre-wrap}.dialog{border:1px solid var(--border);border-radius:var(--radius);width:420px;padding:20px}.dialog::backdrop{background:#00000059}.dialog h2{margin-top:0}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#1a5fd0}.toolbar{margin-bottom:12px}.toolbar-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.toolbar-row h1{margin-right:8px}.toolbar-row .btn-primary{margin-left:auto}.seg{border:1px solid var(--border-strong);background:#fff;border-radius:6px;display:inline-flex;overflow:hidden}.seg a{color:var(--text);padding:6px 14px}.seg a:hover{background:#f0f2f5;text-decoration:none}.seg a.on{background:var(--accent);color:#fff}.filters{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:10px 12px;display:flex}.flt{color:var(--muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.flt select{min-width:130px;max-width:220px;padding:5px 8px}.flt-range{color:var(--muted);align-items:center;gap:4px;display:flex}.flt-range input{width:140px;padding:4px 6px}.flt-clear{align-self:center}.list-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.list-search{flex:1;max-width:420px}.list-summary{color:var(--muted);margin-bottom:8px}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;padding:6px 8px;font-weight:600}.table th button{font:inherit;color:var(--text);background:0 0;border:0;padding:0;font-weight:600}.table td{vertical-align:top;border-bottom:1px solid #f0f2f5;padding:6px 8px}.table tr:hover td{background:#fafbfc}.table .num{text-align:right;white-space:nowrap}.title-cell{min-width:240px;font-weight:500}.pad{padding:12px}.related{margin:0;padding:0;list-style:none}.related li{border-bottom:1px solid #f0f2f5;padding:5px 0}.contacts{flex-direction:column;align-items:flex-start}.contact{display:block}.contacts-edit{flex-direction:column;gap:6px;display:flex}.contact-row{align-items:center;gap:6px;display:flex}.contact-row input[type=email],.contact-row input[type=tel]{flex:1;min-width:0}.search{width:340px;position:relative}.search input{color:#fff;background:#2d333d;border-color:#3d4450;width:100%;padding:6px 10px}.search input::placeholder{color:#9aa3ae}.search-results{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);z-index:20;background:#fff;max-height:70vh;position:absolute;top:38px;left:0;right:0;overflow:auto;box-shadow:0 10px 30px #0000002e}.search-group{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:8px 12px 4px;font-size:11px}.search-results button{text-align:left;background:0 0;border:0;width:100%;padding:6px 12px;display:block}.search-results button.active,.search-results button:hover{background:var(--accent-soft)}
