:root{--bg:#f7f2ff;--panel:rgba(255,255,255,0.88);--panel-strong:#ffffff;--ink:#170f2f;--muted:#6d6384;--line:#dfd3f6;--line-strong:#c9b6ee;--brand:#7c3aed;--brand-dark:#4c1d95;--brand-soft:#efe7ff;--accent:#c026d3;--danger:#dc2626;--ok:#15803d;--blue:#5b5ce2;--warn:#b45309;--shadow:0 22px 60px rgba(76,29,149,0.13);--shadow-soft:0 10px 30px rgba(76,29,149,0.09);--radius:8px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:linear-gradient(135deg,#fbf9ff,#f3edff 46%,#eef2ff);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.shell.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#221046,#32145f 54%,#180a31);color:#fbf8ff;padding:24px 18px;display:flex;flex-direction:column;gap:20px;box-shadow:18px 0 60px rgba(52,22,105,.2);min-width:0}.brand{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.13)}.brand>div{display:grid;grid-gap:5px;gap:5px;min-width:0}.brand strong{font-size:18px}.brand span,.session small{color:#d8c8ff}.sidebar-toggle{width:32px;height:32px;border-radius:var(--radius);background:rgba(255,255,255,.13);color:#ffffff}.nav{display:grid;grid-gap:8px;gap:8px}.nav button{display:grid;grid-template-columns:1fr auto;width:100%;align-items:center;padding:11px 10px;border-radius:var(--radius);background:transparent;color:#f3edff;text-align:left;transition:background .16s ease,transform .16s ease,color .16s ease}.nav button.active,.nav button:hover{background:rgba(255,255,255,.14);color:#ffffff;transform:translateX(2px)}.shell.sidebar-collapsed .sidebar{padding:18px 12px}.shell.sidebar-collapsed .brand{justify-content:center;padding-inline:0}.shell.sidebar-collapsed .brand>div,.shell.sidebar-collapsed .nav-label,.shell.sidebar-collapsed .session select,.shell.sidebar-collapsed .session small,.shell.sidebar-collapsed .session strong{display:none}.shell.sidebar-collapsed .nav button{justify-content:center;grid-template-columns:1fr;min-height:42px}.shell.sidebar-collapsed .nav button span:last-child{justify-self:center}.shell.sidebar-collapsed .session{padding:10px}.shell.sidebar-collapsed .session .btn{min-width:0;padding:0;font-size:0}.shell.sidebar-collapsed .session .btn:after{content:"...";font-size:16px}.session{margin-top:auto;display:grid;grid-gap:10px;gap:10px;padding:13px;border-radius:var(--radius);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.main{min-width:0;padding:30px}.section-head,.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar{margin-bottom:20px}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.08}h2{font-size:19px}h3{font-size:16px}.muted{color:var(--muted)}.grid{display:grid;grid-gap:16px;gap:16px}.two{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:var(--panel);border:1px solid rgba(201,182,238,.78);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:19px}.metric{position:relative;overflow:hidden;padding:17px}.metric:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand),var(--accent))}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:30px;margin-top:6px}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.btn,.toolbar{align-items:center}.btn{min-height:40px;padding:0 14px;border-radius:var(--radius);background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;display:inline-flex;justify-content:center;gap:8px;white-space:nowrap;box-shadow:0 10px 22px rgba(124,58,237,.22);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px rgba(124,58,237,.26);filter:saturate(1.05)}.btn.secondary{background:#f0e9ff;color:var(--brand-dark);box-shadow:none}.btn.secondary:hover:not(:disabled){box-shadow:0 10px 22px rgba(76,29,149,.12)}.btn.danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn.danger-soft{background:#fff1f2;color:#be123c}.pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;background:var(--brand-soft);color:var(--brand-dark);border:1px solid rgba(124,58,237,.1)}.pill.ok{color:var(--ok);background:#dcfce7}.pill.warn{color:var(--warn);background:#fff7ed}.pill.danger{color:var(--danger);background:#fee2e2}.pill.blue{color:var(--blue);background:#e8e7ff}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.92);color:var(--ink);min-height:41px;padding:9px 10px;width:100%;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--brand);background:#ffffff;box-shadow:0 0 0 4px rgba(124,58,237,.12)}textarea{min-height:104px;resize:vertical}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:12px;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.customer-edit{grid-template-columns:1fr}.wide{grid-column:1/-1}table{width:100%;border-collapse:collapse}.table-wrap{width:100%;overflow-x:auto}.customer-table{min-width:840px;table-layout:fixed}.customer-table .col-customer{width:30%}.customer-table .col-stage{width:20%}.customer-table .col-status{width:112px}.customer-table .col-progress{width:142px}.customer-table .col-forecast{width:116px}.customer-table .col-risk{width:104px}td,th{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}tr[data-customer]{cursor:pointer}tr[data-customer]:hover{background:rgba(124,58,237,.06)}.customer-table td{height:62px}.customer-table .pill{justify-content:center;min-width:82px;min-height:28px;padding:0 10px;line-height:1.05;white-space:normal;text-align:center}.stack-panel{max-width:1080px;margin:24px auto 0;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,244,255,.9))}.stack-table-wrap{margin-top:16px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.76)}.stack-table{min-width:760px;table-layout:fixed}.stack-table th{background:rgba(240,233,255,.72);color:var(--brand-dark)}.stack-table th:first-child{width:160px}.stack-table th:nth-child(2){width:230px}.stack-table td{color:var(--ink)}.audit-table code{display:block;max-width:520px;white-space:pre-wrap;word-break:break-word;color:var(--muted);font-size:12px}.tech-layer{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f0e9ff;color:var(--brand-dark);font-size:12px;font-weight:700;text-transform:uppercase}.cell-risk,.cell-status,.forecast-cell{white-space:nowrap}.progress-cell{display:grid;grid-template-columns:minmax(62px,1fr) auto;align-items:center;grid-gap:8px;gap:8px;max-width:128px}.progress-value{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:34px}.progress{height:9px;border-radius:999px;overflow:hidden;background:#e8ddfb}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent))}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tabs button{padding:9px 12px;border-radius:var(--radius);background:#f0e9ff;color:var(--brand-dark)}.tabs button.active{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;box-shadow:0 10px 24px rgba(124,58,237,.2)}.email-preview,.note,.stage,.task{border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-soft)}.task{transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.task:hover{border-color:var(--line-strong);transform:translateY(-1px)}.task.selected{border-color:var(--brand);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,244,255,.98));box-shadow:0 0 0 4px rgba(124,58,237,.11),var(--shadow)}.focus-label{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;color:#ffffff;background:linear-gradient(135deg,var(--brand),var(--accent));font-size:12px}.task-ticket{grid-template-columns:minmax(220px,1fr) auto;align-items:end;padding:13px;background:rgba(240,233,255,.62)}.task-brief,.task-builder,.task-ticket{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:var(--radius)}.task-brief,.task-builder{margin-top:14px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,244,255,.86));box-shadow:var(--shadow-soft)}.task-builder{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr)}.task-brief .btn,.task-brief .field,.task-builder .wide{grid-column:1/-1}.task-builder textarea{min-height:110px}.settings-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(249,245,255,.88));box-shadow:var(--shadow-soft)}.settings-card .field,.settings-card .wide{grid-column:1/-1}.settings-card textarea{min-height:170px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.task-brief textarea{min-height:76px}.task-assign,.task-filters{display:grid;grid-gap:10px;gap:10px}.task-assign{grid-template-columns:auto minmax(220px,320px);align-items:center;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(240,233,255,.48)}.task-assign label{color:var(--muted);font-size:12px;text-transform:uppercase}.task-filters{grid-template-columns:minmax(260px,1fr) minmax(160px,220px) minmax(180px,260px)}.task-actions{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.68)}.task-step{display:grid;grid-gap:12px;gap:12px}.task-step.complete{border-color:rgba(21,128,61,.28);background:rgba(240,253,244,.74)}.task-step-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;grid-gap:12px;gap:12px}.task-step-complete-actions{display:grid;grid-gap:10px;gap:10px}.task-step-label{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,auto);grid-gap:10px;gap:10px;align-items:center}.task-step-label.add-step{padding:12px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:rgba(255,255,255,.58)}.task-step-form textarea{min-height:74px}.compact-field{min-width:220px}.stage{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:12px;gap:12px}.marker{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#f0e9ff;color:var(--brand-dark);font-weight:700}.stage.complete .marker{background:var(--ok);color:#fff}.stage.blocked{border-color:rgba(220,38,38,.24);background:rgba(255,241,242,.6)}.stage.blocked .marker{background:linear-gradient(135deg,#ef4444,#be123c);color:#fff}.stage.in_progress .marker{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff}.meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}.empty,.meta{color:var(--muted)}.empty{border:1px dashed var(--line-strong);padding:22px;text-align:center;background:rgba(255,255,255,.68)}.banner,.empty{border-radius:var(--radius)}.banner{border-left:4px solid var(--accent);background:#fff7ed;padding:12px 14px;margin-bottom:16px;box-shadow:var(--shadow-soft)}pre{white-space:pre-wrap;font:inherit;margin:0}@media (max-width:980px){.shell,.shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:14px}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.nav button{justify-content:center;text-align:center}.form-grid,.four,.three,.two{grid-template-columns:1fr}.main{padding:18px}.task-assign,.task-builder,.task-filters,.task-step-form,.task-step-label,.task-ticket{grid-template-columns:1fr}}@media (max-width:640px){.main{padding:14px}.sidebar{position:static}.brand{align-items:center}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head,.topbar{align-items:stretch;flex-direction:column}.btn,.toolbar,.toolbar .btn{width:100%}.panel{padding:14px}h1{font-size:24px}}