/* Same accent-ladder surfaces as the workspace. Two equal columns close the grid:
   at 1144px content width, 2 × 562px panels + 20px gutter = 1144px. */
.hub-ui{font-size:16px;line-height:1.65;color:var(--workspace-text)}
.hub-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px}
.hub-tabs button{background:transparent;border-color:transparent;min-height:42px;padding:8px 14px}
.hub-tabs button.active{background:var(--workspace-selected);border-color:#afc4d8;color:#153d63;font-weight:600}
.hub-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:18px 22px;margin-bottom:20px;background:var(--workspace-frame);border:1px solid var(--line);border-radius:10px;gap:20px}
.hub-summary>div{display:flex;flex-direction:column;gap:3px}.hub-summary span{font-size:14px;color:var(--workspace-muted)}
.hub-summary strong{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35}
.hub-panel{overflow:hidden;margin-bottom:20px}.hub-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hub-panel h2,.hub-section-heading h2{font-size:18px;margin:0;font-weight:600}.hub-panel .panel-head small{display:block;margin-top:4px}
.hub-overview-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.hub-overview-grid>.hub-panel{margin-bottom:0}.hub-lines{padding:0 20px}.hub-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--workspace-rule)}
.hub-line:last-child{border-bottom:0}.hub-line>div{min-width:0}.hub-line small{display:block;color:var(--workspace-muted);font-size:14px}
.hub-source{padding:14px 0;border-bottom:1px solid var(--workspace-rule)}.hub-source:last-child{border-bottom:0}
.hub-source>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.hub-source b{font-size:15px;font-weight:600}
.hub-source p{margin:4px 0;color:var(--workspace-muted);font-size:14px}.hub-source small{font-size:13px;color:var(--workspace-muted)}
.hub-empty{padding:24px 20px;background:var(--workspace-well);border-radius:8px}.hub-empty b{font-size:17px;font-weight:600}
.hub-empty p{margin:5px 0 12px;max-width:64ch;color:var(--workspace-muted);font-size:15px}.hub-empty p:last-child{margin-bottom:0}
.hub-loading,.hub-error{padding:24px;background:var(--workspace-surface);border:1px solid var(--line);border-radius:10px}
.hub-error p{color:var(--workspace-negative)}.hub-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.hub-section-heading p{margin:4px 0 0;color:var(--workspace-muted);font-size:15px}.hub-section-heading>button{flex:none}
.hub-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:var(--workspace-well);padding:16px;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}
.hub-filters>label{display:flex;flex-direction:column;gap:5px;font-size:14px;flex:1 1 150px;min-width:0}.hub-filters>label:first-child{flex:2 1 230px}
.hub-filters input,.hub-filters select{width:100%;min-width:0;min-height:42px;font-size:15px}.hub-filters>.actions{padding-bottom:1px;flex:none}
.hub-table-wrap{overflow-x:auto;max-width:100%}.hub-table-wrap table{width:100%;min-width:680px;border-collapse:collapse;font-size:15px}
.hub-table-wrap th,.hub-table-wrap td{padding:13px 16px;vertical-align:top;white-space:normal;text-align:left;border-bottom:1px solid var(--workspace-rule)}
.hub-table-wrap th{font-size:14px;font-weight:500;color:var(--workspace-muted);background:transparent}
.hub-table-wrap td:first-child{min-width:210px;max-width:420px}.hub-table-wrap td small{display:block;font-size:13px;color:var(--workspace-muted);margin-top:3px}
.hub-table-wrap .hub-numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.hub-table-wrap .hub-numeric small{display:inline}
.hub-table-wrap tbody tr:last-child td{border-bottom:0}.hub-table-wrap .title-link,.hub-line .title-link{font-size:15px;text-align:left;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:0;min-height:0;line-height:1.65;border:0;background:transparent}
.hub-legacy{margin-top:20px;padding:16px 20px}.hub-legacy summary{cursor:pointer;font-weight:600}.hub-legacy .help{margin-top:12px}
.hub-dialog{width:min(900px,calc(100vw - 32px));max-width:900px}.hub-dialog .form-grid{gap:16px}.hub-dialog .field{font-size:15px;margin-bottom:16px}
.hub-dialog .field input,.hub-dialog .field select,.hub-dialog .field textarea{font-size:16px;line-height:1.5;width:100%;min-width:0}
.hub-dialog textarea{min-height:92px;resize:vertical}.hub-dialog .form-grid .field{margin-bottom:0}.hub-dialog .form-grid{margin-bottom:16px}
.hub-dialog .help{font-size:14px;line-height:1.7;color:var(--workspace-muted)}.hub-dialog .error-text:empty{display:none}
.hub-detail-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.hub-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px;padding:18px;background:var(--workspace-well);border:1px solid var(--line);border-radius:8px}
.hub-details dt{font-size:13px;color:var(--workspace-muted);margin-bottom:5px}.hub-details dd{font-size:15px;margin:0;overflow-wrap:anywhere}
.hub-goal-values{grid-template-columns:repeat(4,minmax(0,1fr));background:var(--workspace-frame)}.hub-goal-values dd{font-size:22px;font-variant-numeric:tabular-nums}.hub-goal-values>div:last-child dd{font-size:14px}
.hub-detail-section{margin:20px 0}.hub-detail-section h3{margin:0 0 8px;font-size:17px}.hub-detail-section p{margin:0;color:var(--workspace-text);font-size:15px;overflow-wrap:anywhere}
.hub-history{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.hub-history summary{cursor:pointer;color:var(--workspace-muted)}.hub-history>div{padding:12px 0;border-bottom:1px solid var(--line)}.hub-history small{color:var(--workspace-muted);font-size:13px}.hub-history p{margin:2px 0;font-size:14px}
@media(max-width:1000px){.hub-overview-grid{grid-template-columns:1fr}.hub-summary{gap:12px;padding:16px}.hub-summary span{font-size:13px}}
@media(max-width:600px){.hub-tabs{gap:4px}.hub-tabs button{padding:8px 10px;font-size:14px}.hub-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hub-summary>div:last-child{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.hub-summary strong{font-size:25px}.hub-section-heading{align-items:flex-start;flex-wrap:wrap}.hub-filters{padding:12px;gap:10px}.hub-filters>label{flex-basis:calc(50% - 5px)}.hub-filters>label:first-child{flex-basis:100%}.hub-filters>.actions{width:100%}.hub-details{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:14px}.hub-goal-values{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-dialog .form-grid{grid-template-columns:1fr}.hub-panel .panel-head{padding:16px;align-items:flex-start}.hub-lines{padding:0 16px}.hub-dialog{width:calc(100vw - 16px)}.hub-legacy{padding:16px}.hub-source>div{align-items:flex-start}.hub-source .badge{flex:none}}

/* Source health has three peer facts; it is a compact strip below the actionable queue. */
.hub-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hub-source-grid .hub-source{border-bottom:0}
.hub-filter-panel{margin-bottom:18px}.hub-filter-panel summary{display:none}.hub-filter-panel .hub-filters{margin-bottom:0}
@media(max-width:600px){
 .hub-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:10px}.hub-tabs button{flex:none}
 .hub-filter-panel{border:1px solid var(--line);border-radius:8px;background:var(--workspace-well)}.hub-filter-panel summary{display:list-item;padding:12px 16px;cursor:pointer;font-size:15px}.hub-filter-panel .hub-filters{border:0;border-top:1px solid var(--line);border-radius:0 0 8px 8px}
 .hub-source-grid{grid-template-columns:1fr;gap:0}.hub-source-grid .hub-source{border-bottom:1px solid var(--line)}.hub-source-grid .hub-source:last-child{border-bottom:0}
 .hub-table-wrap .hub-goal-table{display:block;min-width:0;width:100%}.hub-goal-table thead{display:none}.hub-goal-table tbody{display:block}
 .hub-goal-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 16px;gap:10px;border-bottom:1px solid var(--line)}.hub-goal-table tbody tr:last-child{border-bottom:0}
 .hub-goal-table tbody td{display:block;min-width:0!important;max-width:none!important;padding:0;border:0;text-align:left!important;white-space:normal!important;font-size:17px}
 .hub-goal-table tbody td:first-child,.hub-goal-table tbody td:nth-child(2),.hub-goal-table tbody td:last-child{grid-column:1/-1}.hub-goal-table tbody td:first-child .title-link{font-size:16px}
 .hub-goal-table td[data-label]:before{content:attr(data-label);display:block;font-size:12px;color:var(--workspace-muted);margin-bottom:3px}.hub-goal-table td:nth-child(2){display:flex;align-items:center;gap:10px}.hub-goal-table td:nth-child(2):before{margin:0}.hub-goal-table td:last-child{font-size:14px}.hub-goal-table td:last-child:before{display:inline;margin-right:10px}
}
