.dashboard-page{width:100%;margin:0}.dashboard-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:118px;margin:0 0 16px;padding:22px 28px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface) 70%)}.dashboard-banner .eyebrow{color:var(--accent)}.dashboard-banner h1{margin:7px 0 4px;font-size:clamp(22px,2.3vw,32px);line-height:1.16;letter-spacing:-.04em}.dashboard-banner p{margin:0;color:var(--muted);font-size:12px}.dashboard-banner-mark{align-self:flex-end;color:color-mix(in srgb,var(--accent) 17%,transparent);font-size:clamp(36px,6vw,82px);font-weight:850;line-height:.8;letter-spacing:-.08em;user-select:none}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:18px}.dashboard-stat{display:grid;gap:5px;min-height:108px;padding:16px 19px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.dashboard-stat span{color:var(--muted);font-size:11px;font-weight:750}.dashboard-stat strong{font-size:26px;line-height:1;letter-spacing:-.04em}.dashboard-stat small{color:var(--muted);font-size:10px}.dashboard-sections{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:12px}.dashboard-side-panels{display:grid;align-content:start;gap:12px}.dashboard-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.dashboard-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:13px}.dashboard-panel-heading .eyebrow{color:var(--accent)}.dashboard-panel h2{margin:5px 0 0;font-size:17px;letter-spacing:-.025em}.dashboard-text-button{padding:4px 0;border:0;color:var(--accent);background:transparent;font-size:11px;font-weight:750;white-space:nowrap}.dashboard-text-button:hover{text-decoration:underline}.dashboard-rows{display:grid}.dashboard-row{display:flex;align-items:center;gap:12px;width:100%;min-height:55px;padding:9px 2px;border:0;border-top:1px solid var(--line);color:var(--text);background:transparent;text-align:left}.dashboard-row:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.dashboard-row-date{flex:0 0 75px;color:var(--muted);font-size:10px;font-weight:700}.dashboard-row-main{display:grid;min-width:0;gap:3px;flex:1}.dashboard-row-main strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dashboard-row-main small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dashboard-kind{max-width:112px;padding:5px 8px;overflow:hidden;border-radius:99px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.dashboard-empty{margin:4px 0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1100px){.dashboard-sections{grid-template-columns:1fr}.dashboard-side-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dashboard-banner{min-height:105px;padding:19px}.dashboard-banner-mark{display:none}.dashboard-stats{gap:7px}.dashboard-stat{min-height:93px;padding:12px}.dashboard-stat strong{font-size:23px}.dashboard-stat small{line-height:1.3}.dashboard-side-panels{grid-template-columns:1fr}.dashboard-row-date{flex-basis:70px}.dashboard-kind{max-width:88px}}@media(max-width:390px){.dashboard-stats{grid-template-columns:1fr}.dashboard-stat{min-height:66px;grid-template-columns:1fr auto;align-items:center}.dashboard-stat strong{grid-column:2;grid-row:1 / span 2}.dashboard-stat small{grid-column:1}}
.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-sections{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.dashboard-main-panels{display:grid;align-content:start;gap:12px}.dashboard-panel{padding:0;overflow:hidden}.dashboard-panel-heading{align-items:center;margin:0;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,var(--panel))}.dashboard-panel h2{margin:0;font-size:13px}.dashboard-rows,.dashboard-empty{margin:0 16px}.dashboard-empty{padding:14px 0}.dashboard-row-date:last-child{text-align:right}.dashboard-banner{min-height:100px}.dashboard-banner .control-button{align-self:flex-start}
@media(max-width:1100px){.dashboard-sections{grid-template-columns:1fr}.dashboard-side-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-side-panels{grid-template-columns:1fr}.dashboard-banner{min-height:88px}}
@media(max-width:390px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stat{display:grid;min-height:93px;grid-template-columns:1fr}.dashboard-stat strong{grid-column:auto;grid-row:auto}}
.dashboard-stat{text-align:left;color:var(--text);font:inherit;cursor:pointer}.dashboard-stat:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.dashboard-page .dashboard-banner{height:184px;min-height:184px;padding:19px 24px 39px;border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background-color:#35251f;background-image:linear-gradient(90deg,rgba(31,23,20,.78),rgba(31,23,20,.38) 54%,rgba(31,23,20,.12)),url("assets/dashboard-banner.png");background-repeat:no-repeat;background-size:cover;background-position:center 59%}
.dashboard-page .dashboard-banner h1{color:#fff9f1;font-size:clamp(23px,2vw,30px);text-shadow:0 1px 6px rgba(0,0,0,.28)}
.dashboard-page .dashboard-banner p{color:#f3e7db;text-shadow:0 1px 5px rgba(0,0,0,.35)}
.dashboard-page .dashboard-banner .eyebrow{color:#f3c193}
.dashboard-page .dashboard-banner .control-button{border-color:rgba(255,255,255,.42);color:#fff9f1;background:rgba(31,23,20,.45);backdrop-filter:blur(3px)}
.dashboard-page .dashboard-banner .control-button:hover{background:rgba(31,23,20,.7)}
@media(max-width:700px){.dashboard-page .dashboard-banner{height:114px;min-height:114px;padding:14px 17px 34px;background-position:57% 59%}.dashboard-page .dashboard-banner h1{font-size:22px}.dashboard-page .dashboard-banner p{font-size:11px}}
.dashboard-page .dashboard-stats{position:relative;z-index:1;margin-top:-51px;padding:0 15px}
@media(max-width:700px){.dashboard-page .dashboard-stats{margin-top:-22px;padding:0 8px}}
:root:not(.dark) .dashboard-page .dashboard-banner{border-color:#d8c2ae;background-image:linear-gradient(90deg,rgba(248,239,225,.91),rgba(248,239,225,.64) 46%,rgba(248,239,225,.3)),url("assets/dashboard-banner.png")}
:root:not(.dark) .dashboard-page .dashboard-banner h1{color:#332a24;text-shadow:none}
:root:not(.dark) .dashboard-page .dashboard-banner p{color:#5d4a3f;text-shadow:none}
:root:not(.dark) .dashboard-page .dashboard-banner .eyebrow{color:#9b613d}
:root:not(.dark) .dashboard-page .dashboard-banner .control-button{border-color:rgba(99,64,43,.3);color:#332a24;background:rgba(251,247,240,.7)}
:root:not(.dark) .dashboard-page .dashboard-banner .control-button:hover{background:rgba(251,247,240,.95)}

.dashboard-main-panels,.dashboard-side-panels,.dashboard-sections,.dashboard-stats{min-width:0}.dashboard-stat{min-width:0}.dashboard-stat span,.dashboard-stat small{overflow-wrap:anywhere}@media(max-width:700px){.dashboard-sections,.dashboard-side-panels{grid-template-columns:minmax(0,1fr)}.dashboard-panel-heading{flex-wrap:wrap;gap:7px}.dashboard-row{gap:7px;flex-wrap:wrap}.dashboard-row-main{min-width:90px}.dashboard-kind{max-width:85px}.dashboard-row-date{flex-basis:65px}.dashboard-stats{gap:7px}.dashboard-stat{padding:11px;min-height:88px}.dashboard-stat strong{font-size:23px}.dashboard-page .dashboard-banner{padding-inline:14px;gap:8px}.dashboard-banner>div{min-width:0}.dashboard-page .dashboard-banner h1{font-size:21px}.dashboard-page .dashboard-banner p{max-width:220px}.dashboard-page{max-width:100%}}

.dashboard-page{max-width:1440px;margin-left:0;margin-right:auto}.todo-count{color:var(--muted);font-size:11px;font-weight:500;margin-left:5px}.todo-quick-add{display:flex;gap:8px;padding:12px 16px}.todo-quick-add input{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12px}.dashboard-todo-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.dashboard-todos,.todo-completed{margin:0 16px}.dashboard-todo-row input{margin:3px 0 0;accent-color:var(--accent);width:15px;height:15px;flex-shrink:0}.dashboard-todo-row>div{display:grid;gap:3px;min-width:0}.todo-title{padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:12px;text-align:left;overflow-wrap:anywhere;line-height:1.5}.completed .todo-title{text-decoration:line-through;color:var(--muted)}.todo-project{font-size:10px;text-align:left;white-space:normal}.todo-completed{padding:10px 0;color:var(--muted);font-size:11px}.todo-completed summary{cursor:pointer}.todo-status{font-size:11px;padding:0 16px;color:var(--accent)}
/* Shared checklist rows in Studio and Project Overview. */
.dashboard-todo-row{align-items:flex-start;gap:10px;padding:12px 0;min-height:43px}.dashboard-todo-row>div{flex:1;gap:4px}.dashboard-todo-row input{margin-top:2px;width:14px;height:14px}.todo-title{font-family:inherit;font-size:12px;font-weight:650;line-height:1.45;letter-spacing:0;color:var(--text)}.todo-title:hover{color:var(--accent)}.todo-project{padding:0;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.dashboard-todo-row.completed .todo-title{font-weight:500;color:var(--muted);text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.dashboard-todo-row.completed{opacity:.8}.overview-side [data-todo-panel] .dashboard-panel-heading{padding:12px 16px}.overview-side [data-todo-panel] h2{font-size:13px;font-weight:700}

.todo-quick-add{border-top:1px solid var(--line);margin-top:2px}.dashboard-todos:has(.dashboard-empty) .dashboard-empty{padding:12px 0}.overview-side [data-todo-panel] .dashboard-panel-heading{padding-block:10px}

/* Approved Option A: compact centred KPIs, preserving the existing hero and overlap. */
.dashboard-stat{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:112px;padding:10px 9px;text-align:center;color:var(--text)}
.dashboard-stat .section-icon{flex:0 0 18px;width:18px;height:18px;border-radius:0;background:transparent;color:var(--kpi-accent);margin-bottom:1px}.dashboard-stat .section-icon svg{width:18px;height:18px}
.dashboard-stat .dashboard-stat-label{font-size:10px;line-height:1.3;font-weight:650;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);overflow-wrap:normal}
.dashboard-stat strong{font-size:32px;line-height:1.05;font-weight:750;letter-spacing:-.04em;color:var(--text)}.dashboard-stat small{font-size:11px;line-height:1.35;max-width:100%;margin-top:auto}
.kpi-active{--kpi-accent:var(--category-production)}.kpi-deadlines{--kpi-accent:var(--category-feedback)}.kpi-feedback{--kpi-accent:var(--category-artwork-review)}.kpi-invoices{--kpi-accent:var(--status-outstanding)}
.dashboard-kind{color:color-mix(in srgb,var(--schedule-type,var(--accent)) 58%,var(--text));background:color-mix(in srgb,var(--schedule-type,var(--accent)) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--schedule-type,var(--accent)) 17%,var(--surface));padding:4px 7px;line-height:1.25}
.dashboard-project-status{display:flex;align-items:center;gap:5px}.dashboard-project-status::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--stage,var(--status-neutral))}
.dashboard-panel-heading{background:color-mix(in srgb,var(--panel) 60%,var(--surface))}
@media(max-width:1100px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-stat{min-height:112px;padding:10px 8px}.dashboard-stat strong{font-size:30px}}
@media(max-width:350px){.dashboard-stats{grid-template-columns:minmax(0,1fr)}}
/* Balance supporting-copy wrapping across both rows of the compact KPI grid. */
@media(max-width:1100px){.dashboard-stats{grid-auto-rows:1fr}}

.dashboard-page .dashboard-stats.dashboard-stats-projects{grid-template-columns:repeat(3,minmax(0,1fr))}
