:root{--brand:#cb2531;--brand-dark:#a81d28;--brand-tint:#fdecee;--ink:#1f2328;--muted:#6b7280;--line:#e5e7eb;--surface:#ffffff;--bg:#f4f5f7;--side:#1b1d21;--side-ink:#c9ccd1;--ok:#16a34a;--warn:#d97706;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,0.05),0 4px 14px rgba(16,24,40,0.05);--shadow-lift:0 2px 4px rgba(16,24,40,0.08),0 10px 26px rgba(16,24,40,0.12)}@media (prefers-color-scheme:dark){:root{--brand-tint:#3a1a1d;--ink:#e9ecef;--muted:#9aa1ab;--line:#2f3338;--surface:#1d2024;--bg:#131518;--side:#0e0f11;--shadow:0 1px 2px rgba(0,0,0,0.4);--shadow-lift:0 8px 24px rgba(0,0,0,0.5)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}h1{font-size:1.6rem;font-weight:650;letter-spacing:-.01em;margin:0 0 4px}h2{font-size:1.05rem;margin:0 0 12px}h2,h3{font-weight:600}h3{font-size:.95rem;margin:0 0 10px}a{color:inherit}.sub{color:var(--muted);margin:0 0 20px}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;padding:18px 12px;z-index:30;transition:transform .25s ease}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 20px;color:#fff}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--brand);display:grid;place-items:center;font-weight:800;letter-spacing:.03em;box-shadow:0 4px 14px rgba(203,37,49,.45)}.brand strong{display:block;font-size:.95rem;line-height:1.2}.brand small{color:var(--side-ink);font-size:.75rem;opacity:.8}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.sidebar nav a,.signout button{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--side-ink);text-decoration:none;font-size:.92rem;transition:background .15s,color .15s,transform .15s;position:relative}.sidebar nav a:hover,.signout button:hover{background:rgba(255,255,255,.07);color:#fff}.sidebar nav a.active{background:rgba(203,37,49,.18);color:#fff}.sidebar nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--brand)}.signout{margin:0;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.signout button{width:100%;background:none;border:0;font:inherit;cursor:pointer}.content{margin-left:248px;padding:28px 32px 48px;max-width:1400px;animation:fadeUp .35s ease both}.menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:40;width:42px;height:42px;border-radius:10px;border:0;background:var(--side);color:#fff;cursor:pointer;place-items:center;box-shadow:var(--shadow-lift)}.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:20}@media (max-width:860px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.menu-btn{display:grid}.content{margin-left:0;padding:64px 16px 40px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.btn,.formrow button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brand);background:transparent;color:var(--brand);padding:8px 16px;border-radius:10px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,transform .1s,box-shadow .15s}.btn:hover{background:var(--brand-tint)}.btn.primary,.formrow button{background:var(--brand);color:#fff}.btn.primary:hover,.formrow button:hover{background:var(--brand-dark);box-shadow:0 4px 12px rgba(203,37,49,.35)}.btn:active{transform:scale(.97)}.btn.small{padding:4px 10px;font-size:.75rem}input,select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--surface);color:var(--ink);min-width:0;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(203,37,49,.15)}.formrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.formrow input[name=name],.formrow input[name=title]{flex:1 1 200px}details.add{margin-bottom:16px}details.add>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;background:var(--brand);color:#fff;font-weight:600;font-size:.88rem;transition:background .15s,box-shadow .15s}details.add>summary::-webkit-details-marker{display:none}details.add>summary:hover{background:var(--brand-dark);box-shadow:0 4px 12px rgba(203,37,49,.35)}details.add[open]>summary{margin-bottom:12px}.pagehead{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.pagehead,.toolbar{display:flex;flex-wrap:wrap}.toolbar{gap:12px;margin-bottom:14px}.search,.toolbar{align-items:center}.search{display:flex;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0 12px;flex:1 1 280px;max-width:460px;color:var(--muted);transition:border-color .15s,box-shadow .15s}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(203,37,49,.15)}.search input{border:0;box-shadow:none!important;flex:1 1;padding:10px 0;background:transparent}.search.busy:after{content:"";width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.search .clear{background:none;border:0;color:var(--muted);font-size:1.2rem;cursor:pointer;line-height:1}.kpis{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:20px}.kpi{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;animation:fadeUp .45s ease both}.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.kpi:nth-child(2){animation-delay:.06s}.kpi:nth-child(3){animation-delay:.12s}.kpi:nth-child(4){animation-delay:.18s}.kpi .label{color:var(--muted);font-size:.82rem;font-weight:500}.kpi .value{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;margin-top:4px}.kpi .hint{color:var(--muted);font-size:.78rem}.kpi .glow{position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:var(--brand-tint)}.kpi.green .glow{background:rgba(22,163,74,.12)}.kpi.green .value{color:var(--ok)}.kpi.red .value{color:var(--brand)}.cols{display:grid;grid-gap:16px;gap:16px;grid-template-columns:3fr 2fr;margin-bottom:16px}@media (max-width:1000px){.cols{grid-template-columns:1fr}}.funnel{grid-gap:12px}.frow,.funnel{display:grid;gap:12px}.frow{grid-template-columns:110px 1fr 88px;grid-gap:12px;align-items:center;font-size:.88rem}.ftrack{background:var(--bg);height:14px;overflow:hidden}.fbar,.ftrack{border-radius:999px}.fbar{height:100%;background:linear-gradient(90deg,var(--brand),#e5545f);transform-origin:left;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}.fval{text-align:right;font-weight:600}.fcount{color:var(--muted);font-size:.78rem}.list{display:grid}.item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line);border-radius:8px;transition:background .15s}.item:last-child{border-bottom:0}.item:hover{background:var(--bg)}.item .t{font-weight:500}.item .s{color:var(--muted);font-size:.8rem}.empty-note{color:var(--muted);padding:12px 0}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:600;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}td,th{padding:12px 14px;border-bottom:1px solid var(--line)}tbody tr{transition:background .12s}tbody tr:hover{background:var(--bg)}tbody tr:last-child td{border-bottom:0}.tablecard{padding:4px 6px;overflow-x:auto}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;margin-right:12px;background:var(--brand-tint);color:var(--brand);font-weight:700;font-size:.78rem;vertical-align:middle}.avatar.person{background:rgba(37,99,235,.12);color:#2563eb}.badge{background:var(--brand-tint);color:var(--brand);border-radius:999px;padding:2px 10px;font-size:.74rem;font-weight:600}.badge.person{background:rgba(37,99,235,.12);color:#2563eb}.margin-good{color:var(--ok);font-weight:600}.margin-low{color:var(--warn);font-weight:600}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,1fr);grid-gap:14px;gap:14px;overflow-x:auto;padding-bottom:14px}.column{background:rgba(127,127,127,.08);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:10px;min-height:260px;border:2px dashed transparent;transition:background .15s,border-color .15s}.column.over{background:var(--brand-tint);border-color:var(--brand)}.colhead{display:flex;align-items:center;gap:8px;padding:4px 4px 8px;border-bottom:3px solid var(--brand)}.colhead .pill{background:var(--brand);color:#fff;border-radius:999px;padding:0 8px;font-size:.75rem;font-weight:700}.colhead .colsum{margin-left:auto;font-weight:600}.colhead .colsum,.empty{color:var(--muted);font-size:.82rem}.empty{text-align:center;padding:22px 0}.deal{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;animation:fadeUp .3s ease both}.deal:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.deal.dragging{opacity:.4;transform:rotate(2deg)}.deal-party{color:var(--muted);font-size:.82rem}.deal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.deal-value{color:var(--brand);font-weight:700}.deal-actions{display:flex;gap:4px;opacity:.35;transition:opacity .15s}.deal:hover .deal-actions{opacity:1}.deal-actions button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-size:.85rem;transition:background .12s,color .12s}.deal-actions button:hover{background:var(--bg)}.deal-actions .won:hover{background:var(--ok);color:#fff;border-color:var(--ok)}.deal-actions .lost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.back{color:var(--muted);text-decoration:none;font-size:.88rem}.back:hover,.bigvalue{color:var(--brand)}.bigvalue{font-size:2rem;font-weight:700;letter-spacing:-.02em}.dealgrid{display:grid;grid-template-columns:3fr 2fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:1000px){.dealgrid{grid-template-columns:1fr}}.stack{display:grid;grid-gap:16px;gap:16px}textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--surface);color:var(--ink);resize:vertical;transition:border-color .15s,box-shadow .15s}textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(203,37,49,.15)}.noteform{display:grid;grid-gap:8px;gap:8px;justify-items:start;margin-bottom:16px}.timeline{display:grid;grid-gap:0;gap:0}.tl{display:grid;grid-template-columns:18px 1fr;grid-gap:10px;gap:10px;padding:10px 0;position:relative}.tl:before{content:"";position:absolute;left:4px;top:22px;bottom:-10px;width:2px;background:var(--line)}.tl:last-child:before{display:none}.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);margin-top:6px}.tl.system .tl-dot{background:var(--muted)}.tl-body{white-space:pre-wrap}.tl.system .tl-body{color:var(--muted);font-size:.9rem}.tl-meta{color:var(--muted);font-size:.78rem}.detailform{display:grid;grid-gap:12px;gap:12px}.detailform label{display:grid;grid-gap:4px;gap:4px;font-size:.82rem;color:var(--muted);font-weight:500}.detailform input,.detailform select{color:var(--ink);font-weight:400}.detailform button{justify-self:start}.badge.won{background:rgba(22,163,74,.14);color:var(--ok)}.badge.lostb{background:rgba(107,114,128,.18);color:var(--muted)}a.item.link{cursor:pointer}.deal-name,a.item.link{text-decoration:none;color:inherit}.deal-name{font-weight:600}.deal-name:hover{color:var(--brand);text-decoration:underline}a.kpi.clickable{display:block;text-decoration:none;color:inherit;cursor:pointer}a.kpi.clickable:hover .hint{color:var(--brand)}a.kpi.clickable:focus-visible{outline:3px solid rgba(203,37,49,.35);outline-offset:2px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tabs a{padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-size:.85rem;font-weight:500;color:var(--muted);transition:background .15s,color .15s}.tabs a:hover{color:var(--ink)}.tabs a.active{background:var(--brand);border-color:var(--brand);color:#fff}a.rowa{text-decoration:none;color:inherit}a.rowa:hover{color:var(--brand)}.itemtable input.num{width:82px;padding:6px 8px}.itemtable tfoot td{border-top:2px solid var(--line);border-bottom:0}.picker{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.picker-search{position:relative}.picker-search input{width:100%}.picker-results{position:absolute;z-index:10;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lift);max-height:300px;overflow-y:auto}.picker-results button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:10px 12px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer}.picker-results button:last-child{border-bottom:0}.picker-results button:hover{background:var(--brand-tint)}.picker-results small{color:var(--muted)}.picker-results .pr{color:var(--muted);font-size:.8rem;white-space:nowrap}.picker-nums{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.picker-nums label{display:grid;grid-gap:4px;gap:4px;font-size:.78rem;color:var(--muted)}.picker-nums input{width:110px}.picker-sum{font-weight:600;padding-bottom:8px}.picker-sum small{color:var(--muted);font-weight:400}.linkbtn{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:.8rem;justify-self:start;text-decoration:underline}