
:root{
 --bg:#eef3f9;--surface:#fff;--surface2:#f7f9fc;--ink:#172033;--muted:#718096;
 --line:#dfe6ef;--primary:#2864e8;--primary2:#1748b7;--green:#079669;--green-bg:#e8f8f1;
 --amber:#c47b13;--amber-bg:#fff6df;--red:#c92b3b;--red-bg:#fdebed;--purple:#7657d8;
 --nav:#0b1324;--nav2:#111c31;--shadow:0 12px 35px rgba(22,36,61,.08);--shadow2:0 3px 12px rgba(22,36,61,.06)
}
html[data-theme="dark"]{
 --bg:#0b1220;--surface:#111a2b;--surface2:#0e1726;--ink:#eef4ff;--muted:#9aabc3;--line:#26354b;
 --nav:#070d18;--nav2:#101a2c;--shadow:0 12px 35px rgba(0,0,0,.22);--shadow2:0 3px 12px rgba(0,0,0,.2)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none}.muted{color:var(--muted)}.hidden{display:none!important}
.topbar{height:70px;background:linear-gradient(110deg,var(--nav),var(--nav2));color:#fff;display:flex;align-items:center;padding:0 22px;gap:18px;position:sticky;top:0;z-index:50;box-shadow:0 5px 22px rgba(0,0,0,.15)}
.logo{font-size:16px;font-weight:850;color:#fff;white-space:nowrap}.logo span{display:inline-grid;place-items:center;width:38px;height:38px;background:linear-gradient(135deg,#3678ff,#1f55d1);border-radius:11px;margin-right:7px;box-shadow:0 5px 15px rgba(38,100,232,.35)}.logo em{font-style:normal;font-size:10px;background:#263653;padding:4px 6px;border-radius:6px;margin-left:5px;color:#cfe0ff}
.topbar nav{display:flex;gap:5px;overflow:auto;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{color:#cbd7e9;white-space:nowrap;padding:8px 9px;border-radius:8px;font-weight:650}.topbar nav a:hover,.topbar nav a.active{color:#fff;background:rgba(255,255,255,.08)}
.user-menu{margin-left:auto;white-space:nowrap;color:#cbd7e9;display:flex;align-items:center;gap:8px}.user-avatar{width:32px;height:32px;border-radius:50%;background:#2d68e9;display:grid;place-items:center;color:#fff;font-weight:800}
.icon-btn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:9px;padding:8px 10px;cursor:pointer}.icon-btn:hover{background:rgba(255,255,255,.12)}
.container{max-width:1500px;margin:auto;padding:28px}.container.wide{max-width:1850px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{font-size:32px;letter-spacing:-.025em;margin:2px 0 5px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:850;color:var(--primary)}.actions{display:flex;gap:8px;flex-wrap:wrap}
.card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.card.compact{padding:14px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-title h2,.card h2{margin:0 0 12px}.card h3{margin:0 0 8px}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin-bottom:18px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow2);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-28px;top:-28px;width:80px;height:80px;border-radius:50%;background:rgba(40,100,232,.07)}.stat-card span{display:block;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.stat-card strong{font-size:25px;display:block;margin:5px 0;letter-spacing:-.02em}.stat-card small{color:var(--muted)}.stat-card.accent{border-top:3px solid var(--green)}.danger-card{border-top:3px solid var(--red)}.amber-card{border-top:3px solid var(--amber)}
.stage-strip{display:grid;grid-template-columns:repeat(13,minmax(120px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.stage-mini{padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);min-height:128px;background:var(--surface2);transition:.18s}.stage-mini:hover{border-color:#94b2ee;transform:translateY(-2px);box-shadow:var(--shadow2)}.stage-mini.work-stage{border-color:#6dd1ae;background:var(--green-bg)}.stage-mini.complete-stage{background:#f3f7ff}.stage-number{font-size:10px;color:var(--muted)}.stage-name{font-weight:780;font-size:12px;min-height:40px;margin-top:3px}.stage-mini strong{font-size:23px;display:block}.stage-mini span{font-size:11px;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.feature-grid>div{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface2)}.activity-list{display:flex;flex-direction:column}.activity-item{padding:10px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item b,.activity-item span,.activity-item small{display:block}.activity-item small{color:var(--muted);font-size:11px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 13px;border-radius:10px;cursor:pointer;font-weight:750;font:inherit}.btn:hover{background:var(--surface2);text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.small{padding:6px 9px;font-size:12px}.btn.full{width:100%;margin-top:7px}
.alert{padding:12px 14px;border-radius:11px;margin-bottom:14px;transition:opacity .4s}.alert.success{background:var(--green-bg);color:#076e4a}.alert.danger{background:var(--red-bg);color:#a41d2b}.alert.fade{opacity:0}
.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.toolbar input{flex:1;min-width:220px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .wide{grid-column:1/-1}.inline-form{display:flex;gap:8px}label{font-weight:700;display:block}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface);color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#82a7f2;box-shadow:0 0 0 3px rgba(40,100,232,.1)}textarea{min-height:105px;resize:vertical}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}tbody tr:hover{background:var(--surface2)}.table-wrap{overflow-x:auto}
.badge{display:inline-block;background:#edf1f6;color:#354052;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;margin:2px}.badge.green{background:var(--green-bg);color:#06754d}.badge.amber{background:var(--amber-bg);color:#8a5b0b}.badge.red{background:var(--red-bg);color:#a41d2b}.badge.big{font-size:13px;padding:8px 12px}
.pipeline-kpis{display:grid;grid-template-columns:repeat(13,minmax(125px,1fr));gap:8px;margin-bottom:18px;overflow-x:auto;padding-bottom:4px}.kpi-stage{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:11px;color:var(--ink)}.kpi-stage:hover{border-color:#91afea}.kpi-stage span,.kpi-stage small{display:block;color:var(--muted);font-size:10px}.kpi-stage b{font-size:22px;display:block;margin:2px 0}.kpi-stage.work-stage{border-color:#6dd1ae;background:var(--green-bg)}
.kanban{display:grid;grid-template-columns:repeat(13,minmax(260px,1fr));gap:10px;overflow-x:auto;padding-bottom:10px;align-items:start}.stage-column{background:var(--surface2);border:1px solid var(--line);border-radius:16px;min-height:260px;scroll-margin-top:90px}.stage-column-work{border-color:#66caa7;background:linear-gradient(180deg,var(--green-bg),var(--surface2) 180px)}.stage-column>header{padding:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;position:sticky;top:70px;background:color-mix(in srgb,var(--surface2) 94%,transparent);backdrop-filter:blur(8px);z-index:5}.stage-column header h2{font-size:13px;margin:0;display:inline-block;vertical-align:middle}.stage-index{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--primary);color:#fff;font-size:10px;font-weight:800;margin-right:6px}.col-total{text-align:right}.col-total b{display:block;font-size:19px}.col-total small{color:var(--muted);font-size:10px}.aging{padding:8px 12px;font-size:10px;color:var(--muted)}.cards{padding:0 8px 10px}.lead-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px;box-shadow:var(--shadow2)}.lead-top{display:flex;justify-content:space-between;gap:6px}.lead-top>a{font-weight:800;color:var(--ink)}.company{font-size:11px;color:var(--muted);margin:2px 0}.money{font-size:16px;font-weight:850;margin:7px 0}.card-meta{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--muted)}.active-pill{display:inline-block;margin-top:7px;background:var(--green-bg);color:#08724d;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850}.quick-stage{display:block;margin-top:8px;font-size:11px;font-weight:750}
.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin:15px 0}.progress div{height:100%;background:linear-gradient(90deg,var(--primary),#55a4ff);border-radius:99px}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.facts span{border:1px solid var(--line);border-radius:9px;padding:9px;font-size:11px}.facts b{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}
.timeline{display:flex;flex-direction:column}.timeline-row{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-row .dot{width:10px;height:10px;background:var(--primary);border-radius:50%;margin-top:5px}.timeline-row b,.timeline-row span,.timeline-row small{display:block}.timeline-row span{color:var(--muted);font-size:11px}.timeline-row small{color:var(--muted);font-size:10px}
.metric-row{display:grid;grid-template-columns:145px 1fr 70px;align-items:center;gap:10px;margin:9px 0;font-size:12px}.bar{height:9px;background:var(--line);border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#64a5ff);border-radius:99px}.spark{display:flex;gap:4px;height:65px;align-items:flex-end}.spark i{flex:1;background:var(--primary);opacity:.8;border-radius:4px 4px 0 0;min-width:8px}
.command-palette{position:fixed;inset:0;background:rgba(4,10,20,.58);display:none;align-items:flex-start;justify-content:center;padding-top:90px;z-index:100}.command-palette.open{display:flex}.command-box{width:min(680px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 30px 80px rgba(0,0,0,.25);overflow:hidden}.command-box input{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:17px;font-size:16px}.command-list a{display:block;padding:12px 17px;color:var(--ink);border-bottom:1px solid var(--line)}.command-list a:hover{background:var(--surface2)}.kbd{font-size:10px;border:1px solid var(--line);padding:2px 5px;border-radius:5px;color:var(--muted)}
.global-search{position:relative;flex:1;max-width:340px}.global-search input{margin:0;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff;padding:9px 12px}.global-search input::placeholder{color:#9eabc0}.search-results{position:absolute;top:45px;left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:none;z-index:70}.search-results.show{display:block}.search-results a{display:block;padding:9px;color:var(--ink);border-radius:8px}.search-results a:hover{background:var(--surface2)}.search-results small{display:block;color:var(--muted)}
.risk{border-left:3px solid var(--amber);padding-left:10px}.risk.high{border-left-color:var(--red)}.health-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--green);margin-right:5px}.health-dot.warn{background:var(--amber)}.health-dot.bad{background:var(--red)}
.print-only{display:none}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#dce9ff 0,transparent 32%),linear-gradient(135deg,#eef4ff,#f7f9fc)}.login-card{width:min(530px,92vw);background:#fff;border:1px solid #dfe7f2;border-radius:25px;padding:48px;box-shadow:0 30px 70px rgba(36,62,105,.13)}.brand-mark{width:72px;height:72px;border-radius:20px;background:#2b65e8;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900;margin-bottom:25px}.login-card h1{font-size:38px;letter-spacing:-.04em;margin:0 0 8px}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.topbar nav{max-width:42vw}.global-search{max-width:220px}}
@media(max-width:850px){.topbar{padding:0 12px;gap:8px}.logo em{display:none}.topbar nav{display:none}.global-search{max-width:none}.user-menu span{display:none}.container{padding:18px}.page-head{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col,.three-col{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.facts{grid-template-columns:repeat(2,1fr)}.toolbar{align-items:stretch}.toolbar>*{width:100%}.pipeline-kpis{grid-template-columns:repeat(13,145px)}.kanban{grid-template-columns:repeat(13,270px)}}
@media(max-width:500px){.stats-grid{grid-template-columns:1fr}.login-card{padding:30px 22px}.login-card h1{font-size:30px}.container{padding:12px}.card{padding:14px}.facts{grid-template-columns:1fr 1fr}}
@media print{.topbar,.actions,.toolbar,.btn,.global-search,.command-palette{display:none!important}.container{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid}.print-only{display:block}}

/* V4 */
.stage-note{margin-top:10px;padding:9px 10px;border-radius:10px;background:rgba(37,99,235,.07);font-size:12px;line-height:1.45;max-height:68px;overflow:hidden}
.single-stage-head{background:var(--surface,#fff);border:1px solid var(--border,#dde3ed);border-radius:14px;padding:16px}
