:root{--bg:#fbfaf8;--panel:#fff;--subtle:#f2f0eb;--border:#e4e0d8;--ink:#171513;--muted:#6b655d;--faint:#9a948a;--accent:#c0603e;--on-accent:#fff;--pos:#3e7a52;--neg:#b0492e;--radius:8px;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}input,textarea,select,button{font:inherit}.mono{font-family:var(--mono)}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--subtle);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:22px 16px;display:flex}.brand{letter-spacing:-.01em;padding:4px 10px 18px;font-size:16px;font-weight:600}.brand span{color:var(--accent)}.navItem{color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:13.5px;display:flex}.navItem:hover{background:var(--border);color:var(--ink)}.navItem.active{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--border)}.navCount{font-family:var(--mono);color:var(--muted);font-size:11px}.sidebarFoot{border-top:1px solid var(--border);color:var(--muted);margin-top:auto;padding-top:12px;font-size:12px}.main{max-width:1100px;padding:28px 34px 60px}.pageHead{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.pageTitle{letter-spacing:-.01em;font-size:22px;font-weight:600}.pageSub{color:var(--muted);margin-top:2px}.cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.statLabel{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.statValue{letter-spacing:-.02em;margin-top:6px;font-size:30px;font-weight:600}.cardFoot{font-family:var(--mono);color:var(--muted);margin-top:6px;font-size:11.5px}.tableWrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table{border-collapse:collapse;width:100%}th{text-align:left;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);background:var(--subtle);padding:12px 16px;font-size:10.5px}td{border-bottom:1px solid var(--border);vertical-align:top;padding:13px 16px}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--subtle)}.rowMain{font-weight:500}.rowSub{color:var(--muted);margin-top:2px;font-size:12.5px}.badge{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--border);color:var(--muted);background:var(--panel);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;display:inline-block}.badge.new,.badge.won{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.badge.lost{color:var(--faint);border-color:var(--border)}.badge.live{color:var(--pos)}.badge.src-booking{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.badge.src-oam-agent{color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--panel));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.badge.src-poursum,.badge.src-poursum-chat,.badge.src-poursum-audit,.badge.src-poursum-enquiry,.badge.src-poursum-booking{color:var(--ink);background:var(--subtle);border-color:color-mix(in srgb, var(--ink) 18%, var(--border))}.badge.src-unknown{color:var(--faint);border-style:dashed}.btn{background:var(--accent);height:38px;color:var(--on-accent);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:500;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.9}.btnGhost{background:var(--panel);color:var(--ink);border:1px solid var(--border)}.btnGhost:hover{background:var(--subtle);opacity:1}.btnDanger{background:var(--panel);color:var(--neg);border:1px solid color-mix(in srgb, var(--neg) 35%, var(--border))}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field>label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.input,.textarea,.select{background:var(--panel);border:1px solid var(--border);color:var(--ink);border-radius:6px;width:100%;padding:10px 12px;font-size:14px}.textarea{resize:vertical;min-height:90px}.input:focus,.textarea:focus,.select:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:1px}.row2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detailGrid{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.kv{grid-template-columns:130px 1fr;gap:8px 14px;font-size:13.5px;display:grid}.kv dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:2px;font-size:10.5px}.kv dd{word-break:break-word}.backlink{font-family:var(--mono);color:var(--muted);margin-bottom:14px;font-size:12px;display:inline-block}.backlink:hover{color:var(--ink)}.empty{color:var(--muted);text-align:center;padding:40px 16px}.techTag{font-family:var(--mono);border:1px solid var(--border);border-radius:4px;margin:0 5px 5px 0;padding:3px 7px;font-size:11px;display:inline-block}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.meetingList{flex-direction:column;gap:10px;margin-top:10px;display:flex}.meeting{border:1px solid var(--border);border-radius:6px;padding:12px 14px}.meeting.upcoming{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--panel))}.meeting.past{color:var(--muted)}.meetingWhen{font-size:13.5px;font-weight:500}.meetingWho{color:var(--muted);margin-top:2px;font-size:12.5px}.meetingMeta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-size:11.5px;display:flex}.meetingLink{color:var(--accent)}.chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:130px;display:flex}.chart i{background:var(--accent);opacity:.8;border-radius:2px 2px 0 0;flex:1 1 0;min-width:2px}.chart i:hover{opacity:1}.chartAxis{font-family:var(--mono);color:var(--faint);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.breakdownRow{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.breakdownRow:last-child{border-bottom:none}.breakdownKey{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breakdownN{font-family:var(--mono);flex:none;font-size:12px;font-weight:600}.breakdownEmpty{color:var(--faint);padding:6px 0;font-size:12.5px}.viewToggle{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.viewToggle a{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel);padding:7px 14px;font-size:11px}.viewToggle a+a{border-left:1px solid var(--border)}.viewToggle a.active{background:var(--subtle);color:var(--ink)}.filterBar{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px;display:flex}.filterLabel{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:2px;font-size:10.5px}a.badge:hover{border-color:var(--faint)}.badge.filterOn{background:var(--ink);border-color:var(--ink);color:var(--bg)}.filterCount{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:11px}.cardLink{transition:border-color .12s;display:block}.cardLink:hover{border-color:var(--faint)}.boardTotals{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:22px;margin-bottom:16px;padding:14px 18px;display:flex}.boardTotal .statLabel{font-size:10px}.boardTotalValue{letter-spacing:-.01em;margin-top:3px;font-size:19px;font-weight:600}.board{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:12px;padding-bottom:8px;display:grid}.main:has(.board){max-width:none}.boardCol{background:var(--subtle);border:1px solid var(--border);border-radius:var(--radius);min-height:120px;padding:10px;transition:background .12s,border-color .12s}.boardCol.over{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--subtle))}.boardColHead{justify-content:space-between;align-items:baseline;gap:8px;padding:2px 4px 10px;display:flex}.boardColName{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.boardColCount{font-family:var(--mono);color:var(--faint);font-size:11px}.boardColSum{font-family:var(--mono);color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:10px;padding:0 4px 8px;font-size:11px}.boardCards{flex-direction:column;gap:8px;display:flex}.dealCard{background:var(--panel);border:1px solid var(--border);cursor:grab;overflow-wrap:anywhere;border-radius:6px;min-width:0;padding:10px}.dealCard:active{cursor:grabbing}.dealCard.dragging{opacity:.45}.dealName{font-size:13.5px;font-weight:500}.dealOrg{color:var(--muted);margin-top:1px;font-size:12px}.dealBadges{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.dealSnippet{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.dealFoot{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:9px;padding-top:9px;display:flex}.dealValue{font-family:var(--mono);width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px;font-size:12px}.dealValue:hover{border-color:var(--border)}.dealValue:focus{border-color:var(--border);background:var(--panel);outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:1px}.dealValue::placeholder{color:var(--faint)}.dealNotes{width:100%;color:var(--ink);resize:vertical;min-height:46px;font-size:12px;font-family:var(--sans);background:0 0;border:1px solid #0000;border-radius:4px;margin-top:7px;padding:5px 6px}.dealNotes:hover{border-color:var(--border)}.dealNotes:focus{border-color:var(--border);background:var(--panel);outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:1px}.dealNotes::placeholder{color:var(--faint)}.dealLink{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.dealLink:hover{color:var(--accent)}.boardEmpty{color:var(--faint);text-align:center;padding:14px 0;font-size:12px}.savingDot{font-family:var(--mono);color:var(--faint);white-space:nowrap;margin-left:auto;font-size:10.5px}.loginWrap{place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;padding:32px}.loginBrand{margin-bottom:4px;font-size:20px;font-weight:600}.loginBrand span{color:var(--accent)}.loginSub{color:var(--muted);margin-bottom:24px;font-size:13px}.error{color:var(--neg);margin-top:8px;font-size:13px}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;min-height:auto}.sidebarFoot{display:none}.main{padding:20px}.detailGrid,.row2{grid-template-columns:1fr}.board{grid-template-columns:repeat(6,minmax(180px,1fr));overflow-x:auto}.boardTotals{gap:16px}}.planList{flex-direction:column;gap:8px;display:flex}.planItem{border:1px solid var(--border);background:var(--panel);border-radius:6px;grid-template-columns:116px 1fr auto;align-items:start;gap:14px;padding:12px 14px;display:grid}.planItem.today{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--panel))}.planItem.overdue{border-left:2px solid var(--accent)}.planWhen{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.planWhenDay{font-family:var(--mono);color:var(--muted);font-size:12px}.planItem.today .planWhenDay{color:var(--accent)}.planTitle{font-size:14px;line-height:1.45}.planMeta{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;display:flex}.planSource{color:var(--muted);font-size:12px}.planResult{color:var(--muted);border-left:2px solid var(--border);margin-top:6px;padding-left:8px;font-size:12.5px}.planActions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.planNote{width:230px;height:30px;padding:0 8px;font-size:12.5px}.planBtns{gap:6px;display:flex}.planBtn{height:28px;font-size:11.5px;font-family:var(--mono);padding:0 10px}.planBtn.on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--panel))}.planUndo{color:var(--faint)}.badge.brand-waite{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.badge.brand-upskiller{color:var(--ink);background:var(--subtle)}.badge.brand-both{color:var(--muted);border-style:dashed}@media (max-width:780px){.planItem{grid-template-columns:1fr}.planActions{align-items:flex-start}.planNote{width:100%}}.portalShell{flex-direction:column;min-height:100vh;display:flex}.portalHead{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex}.portalBrand{align-items:center;gap:12px;min-width:0;display:flex}.portalBrand img{object-fit:contain;width:auto;max-width:180px;height:30px}.portalName{font-size:17px;font-weight:600}.portalSub{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--border);padding-left:12px;font-size:12px}.portalUser{align-items:center;gap:12px;display:flex}.portalUser .mono{color:var(--muted);font-size:11px}.portalMain{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:32px 28px}.portalFoot{color:var(--faint);text-align:center;border-top:1px solid var(--border);padding:16px 28px;font-size:12px}@media (max-width:600px){.portalHead{padding:12px 16px}.portalMain{padding:20px 16px}.portalUser .mono{display:none}}.portalStats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.portalMain .tableWrap{overflow-x:auto}@media (max-width:600px){.portalStats{grid-template-columns:1fr}}.loginBox{width:100%;max-width:360px}.loginBox .loginCard{max-width:none}
