/* Planner21 dashboard: action queue first, scheduling is secondary. */
#plannerView .tenant-planner-board.is-dashboard { display:block; min-width:0; overflow:visible; padding:0; }
.p21-dashboard { --p21-muted:#536777; --p21-line:#dce4eb; }
.p21d-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:10px 0 20px; }
.p21d-heading h3 { font-size:1.5rem; letter-spacing:-.03em; margin:0 0 6px; }
.p21d-heading p { font-size:.8125rem; color:var(--p21-muted); margin:0; }
.p21d-heading button,.p21d-filters button,.p21d-filters select { min-height:42px; padding:9px 12px; background:#fff; color:#233d50; border:1px solid #c7d3de; border-radius:9px; font-size:.875rem; }
.p21d-filters { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-bottom:18px; }
.p21d-filters label { display:grid; gap:5px; font-size:.875rem; color:var(--p21-muted); }
.p21d-filters>span { font-size:.8125rem; color:var(--p21-muted); margin:auto 0 auto auto; }
.p21d-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(210px,1.3fr); gap:12px; margin-bottom:20px; }
.p21d-kpi { display:flex; flex-direction:column; align-items:start; gap:12px; min-width:0; padding:20px; border:1px solid var(--p21-line); border-radius:14px; background:#fff; color:#223c50; text-align:left; }
.p21d-kpi>span { font-size:.875rem; font-weight:600; }
.p21d-kpi>strong { font-size:2rem; letter-spacing:-.04em; line-height:1.1; font-variant-numeric:tabular-nums; }
.p21d-kpi>small { font-size:.75rem; color:#536777; line-height:1.4; margin-top:auto; }
.p21d-kpi.is-primary { color:#fff; background:#1c3d56; border-color:#1c3d56; }
.p21d-kpi.is-primary>small { color:#d3e1eb; }
.p21d-kpi.is-teal>strong { color:#177260; }
.p21d-kpi.is-amber>strong { color:#956313; }
.p21d-kpi.is-red { background:#fff7f4; border-color:#edc4b7; }
.p21d-kpi.is-red>strong { color:#b24428; }
.p21d-kpi[aria-pressed=true] { box-shadow:0 0 0 2px #4a88b6; }
.p21d-kpi:not(.is-primary):hover { border-color:#6995b6; }
.p21d-roe>strong { font-size:1.8rem; overflow-wrap:anywhere; }
.p21d-main { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,1fr); gap:18px; align-items:start; }
.p21d-card { min-width:0; overflow:hidden; background:#fff; border:1px solid var(--p21-line); border-radius:15px; }
.p21d-card>header { display:flex; justify-content:space-between; gap:12px; padding:20px; border-bottom:1px solid #e5ebf0; }
.p21d-card h3 { margin:0 0 6px; font-size:1.075rem; letter-spacing:-.02em; }
.p21d-card h3>span { display:inline-block; margin-left:5px; padding:3px 7px; border-radius:7px; font-size:.8125rem; background:#eaf0f5; color:#446175; }
.p21d-card header p { margin:0; color:var(--p21-muted); font-size:.8125rem; line-height:1.45; }
.p21d-focus { display:flex; flex-wrap:wrap; gap:7px; padding:15px 20px; border-bottom:1px solid #e5ebf0; }
.p21d-focus button { padding:7px 10px; border:1px solid #dbe3e9; border-radius:7px; background:#f7f9fb; color:#445d70; font-size:.8125rem; }
.p21d-focus button[aria-pressed=true] { background:#e7f1fa; border-color:#99bad5; color:#1d547d; font-weight:700; }
.p21d-order { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(155px,1fr); gap:20px; width:100%; padding:18px 20px; text-align:left; background:#fff; color:#223c50; border:0; border-bottom:1px solid #e5ebf0; border-left:3px solid transparent; }
.p21d-order:hover { background:#f3f8fc; }
.p21d-order.is-overdue { border-left-color:#c15b3b; }
.p21d-order-identity,.p21d-order-meta { display:grid; align-content:start; gap:7px; min-width:0; overflow-wrap:anywhere; }
.p21d-order-label { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.p21d-order-label>b { font-size:.8125rem; }
.p21d-order-label i { font-style:normal; }
.p21d-order-identity>strong { font-size:1rem; }
.p21d-order-identity>span:not(.p21d-order-label):not(.p21d-reasons) { font-size:.875rem; color:#496174; }
.p21d-order-meta { font-size:.875rem; }
.p21d-order-meta>small { font-size:.8125rem; color:var(--p21-muted); line-height:1.4; }
.p21d-reasons { display:flex; flex-wrap:wrap; gap:5px; }
.p21d-reasons em { font-size:.75rem; font-style:normal; line-height:1.4; padding:3px 6px; border-radius:4px; color:#8b541c; background:#fff4e3; }
.is-overdue .p21d-reasons em:first-child { color:#a34125; background:#fff0e9; }
.p21d-side { display:grid; gap:18px; }
.p21d-upcoming { padding:0 20px; }
.p21d-upcoming button { display:grid; gap:5px; width:100%; text-align:left; background:transparent; border:0; border-bottom:1px solid #e5ebf0; padding:15px 0; color:#223c50; }
.p21d-upcoming time { font-size:.875rem; font-weight:700; color:#237769; }
.p21d-upcoming strong { font-size:.875rem; overflow-wrap:anywhere; }
.p21d-upcoming span { font-size:.8125rem; color:var(--p21-muted); }
.p21d-bars { display:grid; gap:15px; padding:20px; }
.p21d-bars button { display:grid; gap:8px; background:transparent; border:0; padding:0; color:#304e64; text-align:left; font-size:.875rem; }
.p21d-bars button>span { display:flex; justify-content:space-between; gap:10px; }
.p21d-bars i,.p21d-departments i { display:block; width:100%; height:8px; border-radius:4px; background:#ecf0f4; overflow:hidden; }
.p21d-bars b,.p21d-departments b { display:block; height:100%; border-radius:4px; background:#3d78b7; }
.p21d-departments { margin-top:18px; }
.p21d-departments>div { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; padding:20px; }
.p21d-departments button { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; border:1px solid #dce5ed; border-radius:10px; background:#f8fafc; color:#28485f; text-align:left; }
.p21d-departments button>span { font-size:.875rem; overflow-wrap:anywhere; }
.p21d-departments strong { font-size:1.4rem; }
.p21d-departments i { grid-column:1/-1; }
.p21d-empty { margin:0; padding:20px; color:var(--p21-muted); font-size:.875rem; line-height:1.6; }
.p21d-note { color:var(--p21-muted); font-size:.8125rem; line-height:1.6; margin:15px 0; }
.p21d-card>.p21d-note { padding:0 20px; }
.p21d-more { display:block; width:calc(100% - 40px); margin:16px 20px; padding:12px; background:#edf4fa; border:1px solid #c7dbea; border-radius:8px; color:#265b83; font-size:.875rem; }
@media(max-width:1250px) { .p21d-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } .p21d-main { grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); } .p21d-order { grid-template-columns:1fr; gap:12px; } }
@media(max-width:950px) { .p21d-main { grid-template-columns:1fr; } .p21d-side { grid-template-columns:repeat(2,minmax(0,1fr)); } .p21d-order { grid-template-columns:minmax(0,1.8fr) minmax(155px,1fr); } }
@media(max-width:600px) { .p21d-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .p21d-roe { grid-column:1/-1; } .p21d-kpi { padding:15px; } .p21d-side,.p21d-order { grid-template-columns:1fr; } .p21d-filters label { flex:1 1 130px; min-width:0; } .p21d-filters select { max-width:100%; } .p21d-filters>span { width:100%; margin:0; } .p21d-card>header,.p21d-order { padding:16px; } .p21d-focus { padding:12px 16px; } }
