/* Shared web typography: legible labels across all application routes. */
:root{--ui-title-size:26px;--ui-section-size:20px;--ui-table-size:15px;--ui-heading-ink:#23476d;--goal-met:#08755c;--goal-unmet:#b3263e;--goal-partial:#9a510c;--goal-unknown:#51647c}
#workspace #content h1{font-size:var(--ui-title-size)!important;line-height:1.45}
#workspace #content h2,body dialog h2{font-size:var(--ui-section-size)!important;line-height:1.5}
#workspace #content h3{font-size:18px!important;line-height:1.5}
#workspace #content th,body #dialog th{font-size:16px!important;font-weight:650!important;color:var(--ui-heading-ink)!important;line-height:1.6}
#workspace #content th button,body #dialog th button{font-size:16px!important;font-weight:650!important}
#workspace #content td,body #dialog td,#workspace #content td .link,body #dialog td .link{font-size:var(--ui-table-size)!important;line-height:1.65}
#workspace #content td small,body #dialog td small{font-size:14px!important;line-height:1.65}
#workspace #content label,body #dialog label{font-size:15px!important}
#workspace #content input,#workspace #content select,#workspace #content textarea,body #dialog input,body #dialog select,body #dialog textarea{font-size:16px!important;min-height:44px}
#workspace #content .muted,#workspace #content .chart-footnote,#workspace #content .notice,#workspace #content .kw-filter-note,#workspace #content .rw-range-note{font-size:14px!important;line-height:1.65}
#workspace #content .kw-core-card>span,#workspace #content .stat>span,#workspace #content .kw-channel-metric{font-size:15px!important}
#workspace #content .rw-local-controls label,#workspace #content summary{font-size:15px!important}
#workspace #content .badge,body #dialog .badge{font-size:14px!important}
#workspace #nav button{font-size:16px}#workspace #nav .group-title{font-size:13px}
/* The outer dialog never scrolls. Its title is outside the body's scrollport. */
body #dialog[open]{display:flex;flex-direction:column;padding:0!important;overflow:hidden!important;max-height:90vh;gap:0}
body #dialog>.panel-head{position:relative!important;top:auto!important;flex:0 0 auto;margin:0!important;padding:12px 24px!important;z-index:30;background:#fff!important;min-height:69px;border-radius:0;align-items:center!important}
body #dialog>.dialog-scroll-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 24px 24px;overscroll-behavior:contain;scroll-padding-top:12px}
body #dialog>.dialog-scroll-body>:first-child{margin-top:0}body #dialog .dialog-scroll-body>form{margin-top:0}
@media(max-width:600px){body #dialog>.panel-head{padding:10px 16px!important}body #dialog>.dialog-scroll-body{padding:14px 16px 20px}}
/* Project settings share one continuous surface: no white header strip. */
body #dialog.project-settings-flow{background:#f0f7ff!important}body #dialog.project-settings-flow>.panel-head{background:#f0f7ff!important;border-bottom:1px solid #d2e4f8}
body #dialog.project-settings-flow h1{font-size:22px!important}body #dialog.project-settings-flow h2{font-size:20px!important}body #dialog.project-settings-flow .panel{padding:16px}body #dialog.project-settings-flow .page-head{margin-bottom:16px}
.report-cycle{padding:16px;border:1px solid #cee0f6;border-radius:10px}.report-cycle-toggle{display:flex!important;align-items:center;gap:10px;font-weight:650}.report-cycle input[type=checkbox]{width:20px!important;min-height:20px!important;margin:0;accent-color:#1762ed}.report-cycle fieldset{border:0;padding:12px 0 0;margin:10px 0 0;min-width:0}.report-cycle legend{font-size:14px;color:#51647c}.report-day-options{display:flex;flex-wrap:wrap;gap:10px}.report-day-options>label{display:flex!important;gap:8px;align-items:center;border:1px solid #d2e4f8;border-radius:6px;min-height:44px;padding:10px;background:#fff;white-space:nowrap}.report-month-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.report-cycle fieldset:disabled{opacity:.55}
@media(max-width:600px){.report-month-days{grid-template-columns:repeat(2,minmax(0,1fr))}.report-month-days>label:last-child{grid-column:1/-1}}
/* Industry cards grow with content. Never add a nested vertical scrollbar. */
.project-hub .hub-industry-overview{display:block;padding:18px}
.project-hub .hub-industry-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:none;overflow:visible}
.project-hub .hub-industry-list>button{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px 10px;align-items:center;min-height:96px;padding:14px;text-align:left;white-space:normal;font-size:16px;line-height:1.5;border-radius:10px}
.hub-industry-icon{width:24px;height:24px;color:#2861d5}.project-hub .hub-industry-list>button>b{grid-column:2;font-size:16px;font-weight:650}.project-hub .hub-industry-list>button>span{overflow-wrap:anywhere}
.project-hub .hub-target-number{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin-top:12px;padding-top:10px;border-top:1px solid #dce5f0;min-width:150px}
.project-hub .hub-target-number>b{font-size:24px;line-height:1.3;font-variant-numeric:tabular-nums}.project-hub .hub-target-number>small{grid-column:1/-1}.project-hub .hub-target-number .ai-platform{font-size:14px;display:flex;margin:4px 0}.project-hub .hub-target-number .ai-platform-logo{width:18px;height:18px;flex-basis:18px}
.project-hub .hub-goal-met>strong,.project-hub .hub-goal-met .hub-target-number>b,.project-hub b.hub-goal-met{color:var(--goal-met)}
.project-hub .hub-goal-unmet>strong,.project-hub .hub-goal-unmet .hub-target-number>b,.project-hub b.hub-goal-unmet{color:var(--goal-unmet)}
.project-hub .hub-goal-partial>strong,.project-hub .hub-goal-partial .hub-target-number>b{color:var(--goal-partial)}
.project-hub .hub-goal-unknown>strong,.project-hub .hub-goal-unset>strong,.project-hub b.hub-goal-unknown{color:var(--goal-unknown)}
.project-hub .hub-ai-result{min-width:220px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #dce5f0}.project-hub .hub-ai-result:last-child{margin-bottom:0}.project-hub .hub-ai-result>.ai-platform{font-weight:600}.project-hub .hub-monitor-count{color:var(--goal-unknown);margin:7px 0}.project-hub .hub-ai-metric{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:8px}.project-hub .hub-ai-metric>b{font-size:24px;font-variant-numeric:tabular-nums;line-height:1.4}.project-hub .hub-ai-metric>small{margin:0}.project-hub td:first-child{min-width:200px}.project-hub td:nth-child(3){white-space:nowrap}.project-hub th{white-space:normal}.project-hub th:last-child{min-width:80px}
.hub-settings-button{min-width:72px;min-height:44px}.hub-settings-dialog>p{color:var(--goal-unknown);margin:0 0 20px}.hub-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hub-settings-grid button{min-height:56px;font-size:16px;text-align:left;white-space:normal;padding:14px 18px}.hub-settings-grid .danger{grid-column:1/-1;margin-top:12px}
@media(max-width:600px){:root{--ui-title-size:24px;--ui-section-size:20px}.project-hub .hub-industry-overview{padding:12px}.project-hub .hub-industry-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-hub .hub-industry-list>button{padding:12px;grid-template-columns:22px minmax(0,1fr)}.hub-industry-icon{width:22px;height:22px}.hub-settings-grid{grid-template-columns:1fr}}
