/* Page compositions. Shared shell, section, form and disclosure rules belong to styles.css.
   Round 2: one definition per component; reference-sheet colors remain categorical. */

/* Metrics and their immediately adjacent interpretation. */
.kpi-zone{display:grid;gap:var(--gap-section);min-width:0}
.kpi-zone.grid{gap:var(--gap-page)}
.kpi-row .lbl .kpi-open{font-weight:500;color:var(--fg-soft)}
.kpi-row .val .tag{margin-left:var(--s-2);vertical-align:middle}
.kpi-row .m .tgt-word{font-size:inherit}
.kpi-rows .kpi-ctx-slot{padding:var(--s-2) 0 var(--s-3)}
.grid-note{margin:0;font-size:var(--fs-xs);color:var(--fg-mute);line-height:1.6}
.kpi .lbl .tag.sm{flex:0 0 auto;margin-left:0;font-size:var(--fs-xs);height:auto;min-height:20px;padding:2px 6px;white-space:normal}
.kpi .lbl .dq,.kpi-row .lbl .dq{flex:none}
.data-caption{margin:0;padding:var(--s-3) var(--s-4);background:var(--bg-elev);border-left:2px solid var(--line);border-radius:0 var(--r-xs) var(--r-xs) 0;color:var(--fg-soft);font-size:var(--fs-sm);line-height:1.6;overflow-wrap:anywhere;max-width:none}
.grid-note.data-caption{font-size:var(--fs-xs)}
.method-note{margin:0;border-block:1px solid var(--line);background:transparent;font-size:var(--fs-sm);color:var(--fg-soft)}
.method-note>summary{padding:var(--s-3) 0;min-height:44px;font-weight:500}
.method-note[open]>summary{border-bottom:1px solid var(--line-soft)}
.method-note-body{padding:var(--s-3) 0 var(--s-4)}
.method-note-body ul{margin:0;padding-left:var(--s-5);display:grid;gap:var(--s-2);line-height:1.6}
.method-note-body li,.method-note-body p{max-width:80ch}
.method-note-body p{margin:0}

/* Secondary navigation sits below the title, not inside a separate card. */
.area-nav{display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap;border-bottom:1px solid var(--line);min-width:0}
.area-nav a,.area-nav button{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-2) var(--s-3);border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--fg-soft);font:500 var(--fs-sm)/1.4 var(--font-sans);text-decoration:none;white-space:normal;text-align:left}
.area-nav a:hover,.area-nav button:hover{background:var(--accent-soft);color:var(--fg)}
.area-nav a[aria-current="page"],.area-nav a.on,.area-nav button[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--fg);font-weight:600}
.content>.area-nav{margin-top:calc(-1 * var(--s-3))}
.page-detail-control{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;border:0;background:transparent;font-size:var(--fs-sm);color:var(--fg-soft)}
.page-actions .page-detail-control .btn{min-height:40px;white-space:normal;text-align:left}

/* A portfolio is one full-width list, never a grid of project cards. */
.project-list{display:grid;grid-template-columns:minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.project-row{display:grid;grid-template-columns:220px 110px minmax(0,1fr) 150px 24px;align-items:center;gap:var(--s-4);min-width:0;min-height:92px;padding:var(--s-4) var(--s-5);border-top:1px solid var(--line-soft);color:inherit;text-decoration:none}
.project-row:first-child{border-top:0;border-radius:var(--r-lg) var(--r-lg) 0 0}
.project-row:last-child{border-radius:0 0 var(--r-lg) var(--r-lg)}
.project-row:hover{background:var(--bg-elev)}
.project-row:focus-visible{outline:2px solid var(--brand);outline-offset:3px;background:var(--bg-elev)}
.project-row>*{min-width:0;overflow-wrap:anywhere}
.project-identity{display:grid;gap:var(--s-1)}
.project-identity strong,.project-identity h2{font-size:var(--fs-md);font-weight:600;color:var(--fg)}
.project-identity .small,.project-freshness{font-size:var(--fs-xs);color:var(--fg-mute);line-height:1.5}
.project-status{font-size:var(--fs-sm)}
.project-status .tag,.project-status .pill{white-space:normal;height:auto;min-height:24px;padding-block:var(--s-1);line-height:1.3}
.project-context{font-size:var(--fs-sm);color:var(--fg-soft);line-height:1.5}
.project-chevron{color:var(--fg-mute);justify-self:end}
@media (min-width:641px) and (max-width:1279px){
  .project-row{grid-template-columns:180px minmax(90px,auto) minmax(0,1fr) 20px;gap:var(--s-3)}
  .project-freshness{grid-column:3;grid-row:2}
  .project-chevron{grid-column:4;grid-row:1/3}
  .project-identity,.project-status{grid-row:1/3}
}

/* Attention is a coherent list; critical rows retain a visible severity marker. */
.act-list.compact{gap:0;border:1px solid var(--line);padding:0 var(--s-4);background:var(--surface)}
.act-list.compact>.act.compact{border:0;border-top:1px solid var(--line-soft);border-radius:0;background:transparent;padding:var(--s-4) 0}
.act-list.compact>.act.compact:first-child{border-top:0}
.act-list.compact>.act.compact[data-tone="neg"]{padding-inline:var(--s-3);background:color-mix(in oklab,var(--neg) 3%,var(--surface))}
.act-list.compact>.act.compact[data-tone="neg"]::before{display:block}
.act.compact .act-meta a{white-space:nowrap}
#dnes-hot .act-detail{display:block;overflow:visible}
.act-title .act-link{color:inherit;text-decoration:none}
.act-title .act-link:hover{text-decoration:underline;text-decoration-color:var(--fg-mute)}
.calm-row .btn{margin-left:auto;flex:none}
.calm-row .tag{flex:none}
.restate-card{display:grid;gap:var(--s-2)}
.restate-card p{margin:0}
.rec-hint{display:flex;align-items:center;gap:var(--s-2);margin:0}
.copy-area{width:100%;min-height:12em;height:auto;padding:var(--s-2) var(--s-3);font-family:var(--font-mono)}

/* Kept for historical deep-link layouts; these do not define the new workflow. */
.to-close{margin-left:auto;white-space:nowrap}
.uz-wait{display:grid;gap:var(--s-3)}
.uz-wait .calm-list{background:transparent;border:0;box-shadow:none;padding:0}
.uz-prep{gap:var(--gap-page)}
.uz-foot{margin:0;font-size:var(--fs-sm)}
[data-close-wizard]{display:grid;gap:var(--s-6);min-width:0}
[data-close-wizard] [data-step][hidden]{display:none!important}
.close-wizard-controls,[data-close-controls]{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding-top:var(--s-4);border-top:1px solid var(--line)}
.matrix-wrap{width:fit-content;max-width:100%}
.matrix-wrap .matrix{width:auto}
.matrix th[scope="row"]{font-weight:500}
.matrix th[scope="row"] a{color:inherit;text-decoration:none}
.matrix th[scope="row"] a:hover{text-decoration:underline}
.matrix td.mx-open{text-align:left;color:var(--fg-mute)}

/* Reference-led reporting sheet: stable labels, grouped rows and month/country bands. */
.rt-toolbar,.page-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s-3) var(--s-4);margin:0;padding:0 0 var(--s-3);border:0;border-bottom:1px solid var(--line);background:transparent}
.rt-toolbar label{display:grid;gap:var(--s-2);font-size:var(--fs-xs);color:var(--fg-soft)}
.rt-toolbar input{min-width:220px}.rt-toolbar select{max-width:260px}
.rt-toolbar [data-rt-mode]{min-height:36px;padding:8px 14px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:7px;font:inherit;font-size:14px;cursor:pointer}
.rt-toolbar [data-rt-mode][aria-pressed=true]{background:var(--surface-hi);border-color:var(--line-strong);color:var(--fg);font-weight:600}
.rt-toolbar [data-rt-mode]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.rt-scroll{overflow:auto;max-height:72vh;min-height:240px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overscroll-behavior:contain;scrollbar-gutter:stable;isolation:isolate}
.rt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}
.rt-table th,.rt-table td{padding:9px 14px;min-width:108px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);background:var(--surface);height:36px}
.rt-table thead th{position:sticky;top:0;z-index:4;background:var(--bg-elev-2);font-weight:600;color:var(--fg);height:38px;border-bottom:1px solid var(--line)}
.rt-table thead tr+tr th{top:38px;height:38px;font-weight:500;color:var(--fg-soft)}
.rt-table thead th:first-child[rowspan],.rt-table tbody th[scope=row]{position:sticky;left:0;text-align:left;min-width:250px;max-width:300px;white-space:normal;border-right:2px solid var(--line);z-index:2;font-weight:400;box-shadow:3px 0 5px rgb(0 0 0 / .025)}
.rt-table thead th:first-child[rowspan]{z-index:6;font-weight:600;top:0}
.rt-table .rt-total{background:color-mix(in srgb,var(--fg) 5%,var(--surface));font-weight:600;border-right:2px solid var(--line)}
.rt-table .rt-delta{font-size:12px;color:var(--fg-soft);min-width:96px;border-right:2px solid var(--line)}
.rt-table .rt-current{background:color-mix(in srgb,var(--accent) 5%,var(--surface));font-weight:600}
.rt-table tbody tr[data-rt-row]:hover>td,.rt-table tbody tr[data-rt-row]:hover>th{background:var(--surface-hi)}
.rt-table .rt-group{--rt-color:#6a7487;--rt-fill:color-mix(in srgb,var(--rt-color) 16%,var(--surface))}
.rt-table .rt-group[data-tone=amber]{--rt-color:#bf8126}.rt-table .rt-group[data-tone=yellow]{--rt-color:#b99c25}
.rt-table .rt-group[data-tone=green]{--rt-color:#45865e}.rt-table .rt-group[data-tone=blue]{--rt-color:#477fae}
.rt-table .rt-group[data-tone=plum]{--rt-color:#986781}.rt-table .rt-group[data-tone=red]{--rt-color:#ae5c57}
.rt-table .rt-group-head th{position:static;height:42px;padding:0;text-align:left;background:var(--rt-fill);border-top:8px solid var(--surface);border-bottom:1px solid var(--line);border-left:4px solid var(--rt-color)}
.rt-group-head button{position:sticky;left:8px;display:inline-flex;align-items:center;gap:10px;border:0;padding:12px 14px;background:transparent;color:var(--fg);font:600 14px/1.3 var(--font-sans);cursor:pointer;text-align:left;max-width:min(90vw,620px);white-space:normal}
.rt-group-head button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.rt-table td .small,.rt-table th .small{display:block;font-size:var(--fs-xs);font-weight:400;margin-top:3px;color:var(--fg-mute)}
.rt-table [hidden]{display:none!important}
@media(max-width:700px){.rt-toolbar{padding:0 0 var(--s-3);gap:var(--s-3)}.rt-toolbar label{flex:1 1 160px}.rt-toolbar input,.rt-toolbar select{width:100%;min-width:0;max-width:100%}.rt-table tbody th[scope=row],.rt-table thead th:first-child[rowspan]{min-width:170px;max-width:190px}.rt-table th,.rt-table td{padding:8px 10px;min-width:96px}.rt-scroll{max-height:70vh}.rt-group-head button{max-width:80vw}}
.rt-table thead th[scope=colgroup]{text-align:left}
.rt-month-band{position:sticky;left:264px}
.rt-toolbar label[hidden]{display:none}
@media(max-width:700px){.rt-month-band{left:184px}}
.rt-scroll{position:relative}
.rt-group{scroll-margin-top:76px}

/* Optional table controls are subordinate, without a second full toolbar. */
.rt-options{flex:1 1 100%;font-size:var(--fs-sm);border-top:1px solid var(--line-soft)}
.rt-options>summary{min-height:40px;color:var(--fg-soft)}
.rt-options[open]{padding-bottom:var(--s-2)}
.rt-options>div{display:flex;gap:var(--s-3) var(--s-4);flex-wrap:wrap;align-items:end;border:0;padding-bottom:0}
.rt-group-actions{position:sticky;left:8px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);width:max-content;max-width:min(90vw,680px);min-width:min(100%,360px)}
.rt-group-actions [data-rt-group]{position:static;min-width:0;flex:1}
.rt-group-head .rt-comment-action{position:static;flex:none;border:0;background:transparent;display:inline-flex;align-items:center;min-height:40px;padding:var(--s-2) var(--s-3);color:var(--fg-soft);font-size:var(--fs-xs);font-weight:500;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.rt-group-head .rt-comment-action:hover{color:var(--fg)}
.rt-status{display:block;font-size:var(--fs-xs);font-weight:400;white-space:normal;max-width:18ch;line-height:1.4;color:var(--fg-mute)}
.rt-held .rt-status{color:var(--warn-ink)}
.rt-failed .rt-status{color:var(--neg-ink)}
.rt-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:3px}

@media (max-width:640px){
  .page-head-main{flex-basis:100%}
  .page-actions{width:100%;gap:var(--s-2)}
  .page-actions .btn{flex:0 1 auto;max-width:100%}
  .area-nav{gap:0}
  .area-nav a,.area-nav button{padding-inline:var(--s-2);max-width:100%;font-size:var(--fs-sm)}
  .project-row{grid-template-columns:minmax(0,1fr) auto 16px;gap:var(--s-2) var(--s-3);padding:var(--s-4);min-height:0}
  .project-identity{grid-column:1;grid-row:1}
  .project-status{grid-column:2;grid-row:1}
  .project-chevron{grid-column:3;grid-row:1}
  .project-context{grid-column:1/3;grid-row:2}
  .project-freshness{grid-column:1/3;grid-row:3}
  .act-list.compact{padding-inline:var(--s-3)}
  .to-close{margin-left:0}
  .rt-group-actions{max-width:calc(100vw - 56px);min-width:0}
  .rt-group-actions button{padding-inline:var(--s-2)}
  .rt-comment-action{padding-inline:var(--s-2)}
}
@media (pointer:coarse){
  .area-nav a,.area-nav button,.page-detail-control button,.rt-comment-action{min-height:44px}
}
@media print{
  .area-nav,.page-detail-control,.close-wizard-controls,[data-close-controls],.to-close,.rt-comment-action{display:none!important}
  [data-close-wizard] [data-step][hidden]{display:grid!important}
  .act-list,.act-list.compact{background:transparent}
  .act-list>.act,.uz-prep>details,.sec-fold{break-inside:avoid}
}

/* Today is a triage list; diagnostic narratives belong to the destination. */
.daily-issues{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.daily-issue{display:grid;grid-template-columns:160px minmax(0,1fr) 112px 82px;gap:20px;align-items:center;padding:18px 20px;min-height:72px;text-decoration:none;color:var(--fg);border-top:1px solid var(--line-soft)}
.daily-issue:first-child{border-top:0}
.daily-issue:hover{background:var(--surface-hi)}
.daily-issue:focus-visible{outline-offset:-3px}
.daily-client{font-size:14px;font-weight:600}
.daily-problem{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.daily-when{font-size:12px;color:var(--fg-mute)}
.daily-open{font-size:13px;text-align:right;white-space:nowrap;color:var(--fg-soft)}
.daily-watch{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.daily-client-group{border-top:1px solid var(--line-soft)}
.daily-client-group:first-child{border-top:0}
.daily-client-group>summary{display:flex;gap:16px;align-items:center;padding:16px 20px;min-height:56px;cursor:pointer;list-style:none}
.daily-client-group>summary::-webkit-details-marker{display:none}
.daily-client-group>summary::before{content:'›';font-size:20px;color:var(--fg-mute);width:12px}
.daily-client-group[open]>summary::before{transform:rotate(90deg)}
.daily-client-group>summary strong{font-size:14px;flex:1}
.daily-client-group>summary>span{font-size:13px;color:var(--fg-mute)}
.daily-client-group .daily-issues{border:0;border-top:1px solid var(--line-soft);border-radius:0;background:var(--bg-elev)}
.daily-client-group .daily-client{display:none}
.daily-client-group .daily-issue{grid-template-columns:minmax(0,1fr) 112px 82px;padding-left:48px;min-height:60px}
@media(max-width:700px){
.daily-issue{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:16px}
.daily-client{grid-column:1}.daily-problem{grid-column:1;grid-row:2}.daily-when{grid-column:1;grid-row:3}.daily-open{grid-column:2;grid-row:1/4}
.daily-client-group .daily-issue{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px 14px 32px}
.daily-client-group .daily-problem{grid-row:1}.daily-client-group .daily-when{grid-row:2}
}
