:root{
  --ink:#2f2430;
  --cream:#fffaf2;
  --paper:#fffdf9;
  --coral:#e96d5f;
  --plum:#76405f;
  --sage:#8aa27b;
  --gold:#e3ad45;
  --blue:#718ca5;
  --line:#eadfd2;
  --muted:#766d73;
  --shadow:0 18px 45px rgba(74,48,58,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--ink)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}
.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;background:var(--ink);color:white;display:flex;flex-direction:column}
.brand-lockup{display:flex;gap:14px;align-items:center;padding:0 6px 28px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-mark{width:48px;height:48px;border-radius:50% 45% 50% 38%;background:var(--coral);display:grid;place-items:center;font-family:"Fraunces";font-weight:700}
.brand-lockup h1{font:600 24px/1 "Fraunces";margin:5px 0 0}
.eyebrow,.small-label{letter-spacing:.12em;font-size:11px;font-weight:700;margin:0;color:var(--coral)}
.sidebar .eyebrow,.sidebar .small-label{color:#eac66e}
.nav{display:grid;gap:6px;margin-top:26px}
.nav-item{border:0;background:transparent;color:#e9e3e6;text-align:left;padding:12px 14px;border-radius:12px;font-weight:600;display:flex;gap:12px}
.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.11);color:white}
.nav-item span{width:18px;color:#f0c761}
.sidebar-footer{margin-top:auto;padding:18px 10px 0}
.sidebar-footer strong{display:block;margin:7px 0 12px}
.progress-track{height:7px;background:rgba(255,255,255,.13);border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:var(--coral)}
.muted{color:#bdb4b8;font-size:12px}
.main{padding:0 42px 60px;min-width:0}
.topbar{padding:30px 0 22px;display:flex;justify-content:space-between;align-items:center}
.topbar h2{font:600 34px/1.1 "Fraunces";margin:6px 0}
.top-actions{display:flex;align-items:center;gap:12px}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--plum);color:white;display:grid;place-items:center;font-weight:700}
.ghost-button,.text-button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:10px 15px;color:var(--ink)}
.text-button{border:0;padding:4px;background:transparent;color:var(--plum)}
.view{display:none}
.view.active{display:block}
.hero-card{background:linear-gradient(130deg,#f4c65d,#e97667 48%,#8d5372);color:#2e2130;border-radius:28px;padding:34px;display:flex;justify-content:space-between;gap:30px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero-card:after{content:"";position:absolute;width:220px;height:220px;border:2px solid rgba(255,255,255,.25);border-radius:44% 56% 55% 45%;right:-70px;top:-90px;transform:rotate(20deg)}
.hero-card h3{font:600 38px/1.05 "Fraunces";max-width:680px;margin:8px 0 12px}
.hero-card p{max-width:690px}
.hero-note{align-self:flex-end;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);padding:18px;border-radius:18px;min-width:220px;z-index:1}
.hero-note span{display:block;font-size:10px;letter-spacing:.12em;font-weight:800}
.hero-note strong{display:block;margin-top:6px}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}
.metric-card,.panel,.product-card,.calendar-grid article,.research-grid article,.finance-summary article{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 20px rgba(75,49,58,.035)}
.metric-card p{margin:0;color:var(--muted);font-size:13px}
.metric-card h4{font:600 30px "Fraunces";margin:8px 0 4px;outline:none}
.metric-card span{font-size:12px;color:var(--sage)}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}
.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.panel h3,.section-intro h3{font:600 28px/1.15 "Fraunces";margin:6px 0}
.priority-row{display:grid;grid-template-columns:auto 38px 1fr;gap:12px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.priority-row input{margin-top:6px}
.priority-row small{display:block;color:var(--muted);margin-top:5px}
.priority-number{font-family:"Fraunces";color:var(--coral)}
.decision-panel{background:#f4eee8}
.choice-row{display:flex;gap:8px;margin:20px 0}
.choice{padding:10px 12px;border:1px solid var(--line);background:white;border-radius:999px}
.choice.active{background:var(--plum);color:white}
.primary-button{border:0;background:var(--ink);color:white;padding:12px 17px;border-radius:999px;font-weight:700}
.health-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.status.strong{background:#e6f0df;color:#48623b}
.status.building{background:#fff0c7;color:#805f15}
.status.attention{background:#f7dddd;color:#8b3b38}
.inspiration-panel{background:var(--plum);color:white}
.inspiration-panel blockquote{font:600 31px/1.2 "Fraunces";margin:12px 0}
.section-intro{margin:10px 0 26px}
.section-intro p{max-width:720px;color:var(--muted)}
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kanban-column{background:#f5ede4;border-radius:22px;padding:16px}
.kanban-column h4{display:flex;justify-content:space-between;margin:2px 2px 14px}
.kanban-column h4 span{background:white;padding:2px 8px;border-radius:999px}
.task-card{background:white;border-radius:16px;padding:17px;margin-bottom:12px;border:1px solid var(--line)}
.task-card h5{font:600 20px "Fraunces";margin:10px 0 7px}
.task-card p,.task-card small{color:var(--muted)}
.tag{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px}
.tag.coral{background:#ffe2dd;color:#a24036}.tag.plum{background:#eadce6;color:#683953}.tag.gold{background:#fff0c5;color:#7f5d11}.tag.sage{background:#e2ebdb;color:#4e6343}.tag.blue{background:#e0e8ef;color:#4f687f}
.muted-card{opacity:.67}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.product-card h3{font:600 30px "Fraunces";margin:10px 0}
.feature-product{background:linear-gradient(145deg,#efe1e9,#fffaf2)}
.stage{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--coral)}
.product-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.product-meta span{font-size:12px;background:#f1e9df;border-radius:999px;padding:6px 9px}
.launch-layout{display:grid;grid-template-columns:320px 1fr;gap:18px}
.score-ring{width:170px;height:170px;margin:24px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--coral) 42%,#eee2d6 0)}
.score-ring:before{content:"";position:absolute;width:128px;height:128px;border-radius:50%;background:var(--paper)}
.score-ring span{z-index:1;font:600 34px "Fraunces"}
#launch-checklist{display:grid;gap:12px}
#launch-checklist label{padding:12px;border:1px solid var(--line);border-radius:12px}
.calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.calendar-grid article span,.research-grid article span{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--coral)}
.calendar-grid .wide{grid-column:1/-1;background:#f2e7ed}
.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.finance-summary h3{font:600 30px "Fraunces";margin:8px 0}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:13px}
th{color:var(--muted)}
.empty-row td{text-align:center;color:var(--muted);padding:30px}
.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.research-grid h4{font:600 24px "Fraunces";margin:8px 0}
.meeting-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.meeting-number{font:600 32px "Fraunces";color:var(--coral)}
.meeting-grid textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:14px;padding:12px;resize:vertical;background:#fffdf9}
.wide-panel{grid-column:1/-1}
.wide-panel .primary-button{margin-top:14px}
dialog{border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.25);width:min(520px,92vw)}
dialog::backdrop{background:rgba(34,25,32,.55)}
#expense-form{padding:24px;display:grid;gap:13px}
#expense-form label{display:grid;gap:6px;font-size:13px;font-weight:700}
#expense-form input,#expense-form select{padding:11px;border:1px solid var(--line);border-radius:10px}
.dialog-heading{display:flex;justify-content:space-between;align-items:center}
.close-button{border:0;background:transparent;font-size:26px}
.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}
@media(max-width:1050px){.app-shell{grid-template-columns:88px 1fr}.brand-lockup>div:not(.brand-mark),.nav-item{font-size:0}.nav-item span{font-size:18px}.sidebar-footer{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;flex-direction:row;overflow:auto;padding:14px}.brand-lockup{display:none}.nav{display:flex;margin:0}.nav-item{font-size:12px;white-space:nowrap}.nav-item span{display:none}.main{padding:0 16px 40px}.topbar h2{font-size:26px}.hero-card{display:block}.hero-card h3{font-size:31px}.hero-note{margin-top:20px}.metrics-grid,.dashboard-grid,.kanban,.product-grid,.launch-layout,.calendar-grid,.finance-summary,.research-grid,.meeting-grid{grid-template-columns:1fr}.calendar-grid .wide,.wide-panel{grid-column:auto}}
