:root{--primary:#7a1f2b;--secondary:#111827;--bg:#f5f7fb;--card:#fff;--muted:#667085;--line:#e5e7eb;--green:#027a48;--red:#b42318;--amber:#b54708;--blue:#175cd3}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:#101828}.app{display:flex;min-height:100vh}.sidebar{width:292px;background:#101828;color:white;padding:18px;display:flex;flex-direction:column;gap:16px;position:fixed;top:0;bottom:0;left:0;overflow:auto}.brand{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px}.logo{width:44px;height:44px;border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--primary);font-weight:800;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain}.brand h1{font-size:18px;margin:0}.brand p{font-size:12px;margin:2px 0 0;color:#cbd5e1}.side-section{font-size:12px;color:#98a2b3;text-transform:uppercase;letter-spacing:.04em;margin-top:8px}.nav-item,.dash-item{padding:10px 12px;border-radius:10px;cursor:pointer;color:#e5e7eb;display:flex;justify-content:space-between;gap:8px}.nav-item:hover,.dash-item:hover,.dash-item.active{background:rgba(255,255,255,.1)}.create-btn{border:0;background:var(--primary);color:#fff;border-radius:10px;padding:12px;cursor:pointer;font-weight:700}.main{margin-left:292px;width:calc(100% - 292px);padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.topbar h2{margin:0;font-size:26px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.05)}.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:30px;font-weight:800;margin-top:8px}.welcome{height:calc(100vh - 80px);display:grid;place-items:center;text-align:center}.welcome-box{max-width:640px}.welcome-mark{margin:auto;width:96px;height:96px;border-radius:24px;background:white;display:grid;place-items:center;font-size:42px;color:var(--primary);border:1px solid var(--line);overflow:hidden}.welcome-mark img{width:100%;height:100%;object-fit:contain}.btn{border:0;border-radius:10px;padding:11px 14px;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);color:white}.btn.secondary{background:#f2f4f7;color:#344054}.btn.danger{background:#fee4e2;color:#b42318}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:700;color:#344054}.field input,.field select,.field textarea{border:1px solid #d0d5dd;border-radius:10px;padding:11px;background:white;font:inherit}.field textarea{min-height:88px}.modal-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.55);display:grid;place-items:center;z-index:20;padding:20px}.modal{background:#fff;width:min(780px,100%);max-height:92vh;overflow:auto;border-radius:18px;padding:22px;border:1px solid var(--line)}.modal h3{margin:0 0 14px}.table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table th{background:#f9fafb;color:#344054}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#f2f4f7;color:#344054}.badge.green{background:#dcfae6;color:#027a48}.badge.red{background:#fee4e2;color:#b42318}.badge.amber{background:#fef0c7;color:#b54708}.badge.blue{background:#d1e9ff;color:#175cd3}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab{padding:10px 12px;border-radius:10px;background:white;border:1px solid var(--line);cursor:pointer}.tab.active{background:var(--secondary);color:white}.section{display:none}.section.active{display:block}.chart-placeholder{height:230px;border:1px dashed #cbd5e1;border-radius:14px;display:grid;place-items:center;color:var(--muted);background:#f8fafc}.setup-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.setup-card{width:min(940px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:24px}.steps{display:flex;gap:8px;margin-bottom:20px}.step{height:8px;flex:1;border-radius:999px;background:#eaecf0}.step.active{background:var(--primary)}.hidden{display:none!important}@media(max-width:980px){.sidebar{position:relative;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}@media(max-width:640px){.grid{grid-template-columns:1fr}.topbar{display:block}}

.landing{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#eef2f7);color:#111827}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:22px 40px}.brand-mini{display:flex;gap:12px;align-items:center}.logo.small{width:34px;height:34px;font-size:13px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;max-width:1180px;margin:60px auto;padding:0 30px}.hero-card,.hero-preview{background:white;border:1px solid #e5e7eb;border-radius:28px;padding:42px;box-shadow:0 20px 60px rgba(17,24,39,.08)}.hero h1{font-size:54px;line-height:1.05;margin:12px 0;color:#111827}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#7a1f2b;font-weight:800}.big{font-size:18px;line-height:1.6}.hero-actions{display:flex;gap:14px;margin-top:26px}.large{padding:14px 22px;font-size:16px}.preview-bar{height:10px;width:70%;border-radius:99px;background:#7a1f2b;margin-bottom:50px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.preview-grid span{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:14px;padding:18px;font-weight:700}.user-box{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;margin:12px 0;color:white}.user-box small{display:block;color:#9ca3af;margin-top:4px}.narrow{max-width:480px}.table-wrap{overflow:auto}.welcome .cards-row,.cards-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.stat{background:white;border:1px solid #e5e7eb;border-radius:18px;padding:20px}.stat b{display:block;font-size:28px;color:#7a1f2b}.stat span{color:#6b7280}.card{background:white;border:1px solid #e5e7eb;border-radius:18px;padding:22px;margin:18px 0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}@media(max-width:800px){.hero{grid-template-columns:1fr}.hero h1{font-size:38px}.welcome .cards-row,.cards-row{grid-template-columns:1fr}}

/* v6 visual dashboard additions */
.kpi-tile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:20px 0}
.kpi-tile{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(16,24,40,.06)}
.kpi-tile b{display:block;font-size:30px;line-height:1;color:#7a1f2b}.kpi-tile span{display:block;color:#475467;margin-top:6px;font-weight:700}.kpi-tile small{display:block;color:#98a2b3;margin-top:4px}.kpi-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f2f4f7;color:#7a1f2b;font-weight:900;font-size:20px;flex:0 0 42px}.kpi-tile.primary .kpi-icon{background:#f9e7eb}.kpi-tile.danger .kpi-icon{background:#fee4e2;color:#b42318}.kpi-tile.warning .kpi-icon{background:#fef0c7;color:#b54708}.kpi-tile.info .kpi-icon{background:#d1e9ff;color:#175cd3}.kpi-tile.neutral .kpi-icon{background:#eef2f7;color:#344054}
.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.chart-card{background:white;border:1px solid #e5e7eb;border-radius:20px;padding:20px;box-shadow:0 10px 26px rgba(16,24,40,.05)}.chart-card h3{margin-top:0}.donut-wrap{display:flex;gap:22px;align-items:center}.donut{width:160px;height:160px;transform:rotate(-90deg)}.donut text{transform:rotate(90deg);transform-origin:21px 21px;font-size:6px;fill:#111827;font-weight:800}.donut-bg{fill:none;stroke:#eef2f7;stroke-width:7}.donut-seg{fill:none;stroke-width:7}.donut-seg.green{stroke:#12b76a}.donut-seg.blue{stroke:#2e90fa}.donut-seg.amber{stroke:#f79009}.donut-seg.red{stroke:#f04438}.legend{display:flex;flex-direction:column;gap:9px;color:#475467}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:8px;background:#98a2b3}.legend-dot.green{background:#12b76a}.legend-dot.blue{background:#2e90fa}.legend-dot.amber{background:#f79009}.legend-dot.red{background:#f04438}.gauge{width:100%;max-width:280px}.gauge-bg,.gauge-fill{fill:none;stroke-linecap:round;stroke-width:14}.gauge-bg{stroke:#eef2f7}.gauge-fill{stroke:#7a1f2b}.gauge text{font-size:22px;font-weight:800;fill:#111827}.gauge-wrap{text-align:center}.bar-row{display:grid;grid-template-columns:80px 1fr 48px;gap:12px;align-items:center;margin:12px 0}.bar-track{height:12px;border-radius:999px;background:#eef2f7;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7a1f2b,#b54708)}
.project-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.project-mini-card{border:1px solid #e5e7eb;border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#fbfcfe)}.project-mini-top{display:flex;justify-content:space-between;align-items:center}.project-mini-card h4{min-height:45px;margin:12px 0;color:#111827}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#667085;font-size:13px}.mini-metrics b{color:#111827}.risk.red{color:#b42318}.risk.amber{color:#b54708}.risk.blue{color:#175cd3}.risk.green{color:#027a48}.progress-line{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden;margin-top:14px}.progress-line i{display:block;height:100%;background:#7a1f2b;border-radius:999px}.highlight-card{border-left:5px solid #7a1f2b}.ai-config-card{background:linear-gradient(135deg,#fff,#fbf7f8)}.code-block{background:#111827;color:#e5e7eb;padding:16px;border-radius:14px;overflow:auto;white-space:pre-wrap}.instruction-list{line-height:1.8;color:#344054}.badge.gray{background:#f2f4f7;color:#344054}
@media(max-width:1280px){.kpi-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kpi-tile-grid,.visual-grid,.project-card-grid{grid-template-columns:1fr}.donut-wrap{display:block}.bar-row{grid-template-columns:60px 1fr 40px}}
