#customworksheet { max-width:none; }
.cw-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:14px; }
.cw-heading h2 { margin:4px 0; }.cw-heading p { margin:0; max-width:700px; color:var(--muted); }
.cw-controls { display:flex; align-items:end; gap:8px; flex-wrap:wrap; }.cw-controls label { font-size:11px; font-weight:800; display:grid; gap:3px; color:var(--muted); }
.cw-controls select,.cw-tile select { color:var(--ink); background:var(--paper2); border:1px solid var(--line); border-radius:5px; padding:5px; font-weight:700; }
.cw-grid { display:grid; grid-template-columns:repeat(var(--cw-cols),minmax(0,1fr)); gap:8px; align-items:stretch; grid-auto-rows:310px; }
.cw-tile { min-width:0; min-height:0; background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.cw-tile>header { padding:6px 8px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:7px; }.cw-tile>header span { white-space:nowrap; color:var(--muted); font-size:10px; font-weight:800; }.cw-tile>header select { min-width:0; width:100%; font-size:11px; }
.cw-chart { padding:4px; flex:1; min-height:0; }.cw-chart .northchart { width:100%; height:100%; min-height:0; max-height:none; }
.cw-dasha,.cw-feature,.cw-empty { flex:1; padding:13px; display:flex; flex-direction:column; justify-content:center; }.cw-dasha span,.cw-feature span { font-size:10px; font-weight:900; color:var(--gold); letter-spacing:.07em; }.cw-dasha h3,.cw-feature h3 { margin:5px 0; font-size:15px; }.cw-dasha b { font-size:16px; }.cw-dasha i { color:var(--gold); font-style:normal; }.cw-dasha p,.cw-feature p { font-size:11px; color:var(--muted); margin:6px 0 12px; }.cw-dasha .btn,.cw-feature .btn { align-self:flex-start; margin-top:auto; }.cw-empty { color:var(--muted); font-size:12px; text-align:center; align-items:center; }

/* A Dasha System panel is normally full-page width.  These overrides turn it
   into a clean cell-sized navigator without clipped titles or controls. */
.cw-dasha-full { flex:1; min-width:0; padding:5px; overflow-x:auto; overflow-y:hidden; }
.cw-dasha-full .dasha-card { min-width:0; width:100%; margin:0; border-radius:7px; }
.cw-dasha-full .dasha-card-header { min-width:0; height:auto; min-height:30px; padding:3px 1px; gap:4px; }
.cw-dasha-full .dasha-header-info { min-width:0; gap:5px; }.cw-dasha-full .dasha-header-icon { width:24px; height:24px; flex:0 0 24px; }.cw-dasha-full .dasha-header-icon svg { width:17px; height:17px; }
.cw-dasha-full .dasha-header-titles { min-width:0; flex:1; }.cw-dasha-full .dasha-title-row { min-width:0; gap:4px; }.cw-dasha-full .dasha-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }.cw-dasha-full .dasha-depth-pill { font-size:10px; padding:3px 5px; white-space:nowrap; }
.cw-dasha-full .dasha-controls { gap:3px; flex:0 0 auto; }.cw-dasha-full .dasha-controls button { width:22px; height:22px; padding:0; }
.cw-dasha-full .dasha-table-wrap { overflow-x:visible; }.cw-dasha-full .dasha-table { width:100%; table-layout:fixed; min-width:310px; font-size:11px; }.cw-dasha-full .dasha-table th,.cw-dasha-full .dasha-table td { padding:7px 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.cw-dasha-full .dasha-col-period { width:41%; }.cw-dasha-full .dasha-col-weekday { width:15%; }.cw-dasha-full .dasha-col-date { width:27%; }.cw-dasha-full .dasha-col-action { width:17%; }.cw-dasha-full .dasha-col-action .dasha-running-label { font-size:9px; }
/* Dense dashboard rhythm, similar to a traditional multi-panel worksheet. */
.cw-cols-1 { grid-auto-rows:520px; }.cw-cols-2 { grid-auto-rows:420px; }.cw-cols-4 { grid-auto-rows:360px; }.cw-cols-5 { grid-auto-rows:300px; }
.cw-dasha-full .dasha-card { height:100%; max-height:none; padding:5px 7px; }.cw-cols-4 .cw-dasha-full .dasha-card,.cw-cols-5 .cw-dasha-full .dasha-card { padding:4px; }
.cw-cols-4 .cw-dasha-full .dasha-table th,.cw-cols-4 .cw-dasha-full .dasha-table td,.cw-cols-5 .cw-dasha-full .dasha-table th,.cw-cols-5 .cw-dasha-full .dasha-table td { padding:4px 3px; font-size:10px; }.cw-cols-4 .cw-dasha-full .dasha-row,.cw-cols-5 .cw-dasha-full .dasha-row { height:21px; max-height:21px; }
.cw-cols-4 .cw-feature,.cw-cols-5 .cw-feature { padding:10px; }.cw-cols-4 .cw-feature h3,.cw-cols-5 .cw-feature h3 { font-size:13px; }.cw-cols-4 .cw-feature p,.cw-cols-5 .cw-feature p { font-size:10px; }
/* Per-cell chart controls stay in the card; the SVG scales into the remaining
   space instead of overflowing below the cell. */
.cw-chart .astro-chart-wrapper { height:100%; min-height:0; overflow:hidden; }.cw-chart .chart-action-bar { flex:0 0 27px; max-width:none; margin:0; padding:2px 0; }.cw-chart .chart-svg-box { flex:1; height:auto; min-height:0; overflow:hidden; }.cw-chart .northchart,.cw-chart .southchart { width:100%; height:100%; min-width:0; min-height:0; max-width:none; max-height:none; aspect-ratio:auto; border:0; border-radius:0; filter:none; }.cw-chart .chart-note { display:none; }
@media(max-width:900px) { .cw-heading { align-items:flex-start; flex-direction:column; }.cw-grid { grid-template-columns:repeat(min(2,var(--cw-cols)),minmax(0,1fr)); } }
@media(max-width:560px) { .cw-grid { grid-template-columns:1fr; } }

/* Grouped cell picker: each category opens independently. */
.cw-picker { position:relative; flex:1; min-width:0; }.cw-picker>summary { list-style:none; cursor:pointer; color:var(--ink); background:var(--paper2); border:1px solid var(--line); border-radius:5px; padding:5px 25px 5px 7px; font-size:11px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; position:relative; }.cw-picker>summary::-webkit-details-marker,.cw-picker details>summary::-webkit-details-marker { display:none; }.cw-picker>summary:after { content:'⌄'; position:absolute; right:8px; top:3px; font-size:16px; }.cw-picker[open]>summary:after { transform:rotate(180deg); }.cw-picker-menu { position:absolute; z-index:30; top:calc(100% + 3px); left:0; right:0; max-height:330px; overflow:auto; padding:5px; background:var(--paper); border:1px solid var(--line); border-radius:7px; box-shadow:0 10px 24px rgba(15,23,42,.2); }.cw-picker-item { display:block; width:100%; border:0; background:transparent; color:var(--ink); text-align:left; padding:6px 8px; border-radius:4px; font-size:11px; cursor:pointer; }.cw-picker-item:hover,.cw-picker-item.selected { background:var(--gold-subtle); font-weight:800; }.cw-picker-menu details { border-top:1px solid var(--line); }.cw-picker-menu details>summary { cursor:pointer; padding:7px 8px; color:var(--gold); font-weight:900; font-size:11px; list-style:none; }.cw-picker-menu details>summary:before { content:'›'; display:inline-block; margin-right:6px; transition:transform .15s; }.cw-picker-menu details[open]>summary:before { transform:rotate(90deg); }.cw-picker-menu details>div { padding:0 3px 4px; }.cw-picker-empty { display:block; padding:6px 8px; color:var(--muted); font-size:11px; }

/* Cell-sized dasha table: no horizontal scrollbar. */
.cw-dasha-full { overflow:hidden; }.cw-dasha-full .dasha-table-wrap { overflow:hidden; }.cw-dasha-full .dasha-table { min-width:0!important; width:100%!important; }.cw-dasha-full .dasha-table th,.cw-dasha-full .dasha-table td { min-width:0; }.cw-dasha-full .dasha-table th:nth-child(4),.cw-dasha-full .dasha-table td:nth-child(4) { display:none; }.cw-dasha-full .dasha-table th:nth-child(1),.cw-dasha-full .dasha-table td:nth-child(1) { width:42%; }.cw-dasha-full .dasha-table th:nth-child(2),.cw-dasha-full .dasha-table td:nth-child(2) { width:18%; }.cw-dasha-full .dasha-table th:nth-child(3),.cw-dasha-full .dasha-table td:nth-child(3) { width:40%; }
