/* Shared component foundations. Page CSS must not redefine global toolbars. */
:root{--surface-radius:10px;--space-section:28px;--font-heading:26px;--font-body:14px;}
.page-heading h1{font-size:var(--font-heading);line-height:1.4;font-weight:600;}
.page-heading>div>p{color:var(--muted);font-size:13px;line-height:1.7;}
.section-heading h2{font-size:17px;font-weight:600;line-height:1.5;}
.main-menu [data-icon] svg{width:20px;height:20px;display:block;}
.main-menu .nav-lock svg{width:13px;height:13px;}
.main-menu .nav-lock{color:var(--muted);opacity:.75;}
.primary-button,.secondary-button{border-radius:8px;min-height:38px;font-size:14px;font-weight:500;}
.back-link,.text-action{color:var(--muted);font-size:13px;line-height:1.8;}
.back-link:hover,.text-action:hover{color:var(--blue-dark);}
.tool-resource-bar{font-size:13px;}.tool-resource-bar a{color:var(--blue-dark);}
.reader-article,.project-card,.pt-settings,.ft-settings,.task-summary,.tax-summary,.pt-summary{border-radius:var(--surface-radius);}
.empty-state{border-radius:var(--surface-radius);padding:44px 22px;gap:12px;}
.empty-state h2{font-size:17px;color:var(--text);line-height:1.5;margin:0;}
.empty-state p{max-width:48em;line-height:1.8;margin:0;color:var(--muted);font-size:14px;}
.empty-state>svg{width:26px;height:26px;color:var(--blue-dark);}
.load-status{color:var(--muted);line-height:1.8;font-size:14px;}
/* Catalogue statistics and the one-row search/filter surface. */
.catalogue-toolbar,.guide-filter,.policy-filters{border:1px solid var(--line);border-radius:var(--surface-radius);background:var(--panel);padding:16px;}
.guide-filter,.policy-filters{margin-bottom:18px;}
.catalogue-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 20px;width:100%;}
#topicCategories.catalogue-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 20px;}
.catalogue-stats>.topic-category{border:0;border-radius:0;padding:18px 20px;text-align:left;background:var(--panel);min-width:0;display:flex;flex-direction:column;gap:8px;color:var(--text);cursor:pointer;box-shadow:none;}
.catalogue-stats .topic-category span{font-size:13px;color:var(--text-muted,#64748b);}
.catalogue-stats .topic-category[aria-pressed=true]{background:#edf3ff;color:#285bb5;}
.catalogue-stats>.topic-category:hover{background:var(--content-group-hover,#f5f8fd);}
.catalogue-stats>.topic-category:focus-visible{outline:2px solid var(--blue-dark,#255cb4);outline-offset:-3px;}
#topicsView .info-note{margin:0 0 18px;font-size:13px;}
#topicResults small{display:block;margin-top:14px;color:var(--muted);font-size:13px;}
.catalogue-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;margin-bottom:16px;}
.catalogue-toolbar input{background:var(--panel);}
.catalogue-toolbar .inline-search{grid-column:1;grid-row:1;margin:0;width:100%;max-width:none;min-width:0;}
.catalogue-filter-toggle{grid-column:2;grid-row:1;justify-self:end;align-self:center;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;padding:0!important;color:var(--text-muted,#64748b);font:inherit;cursor:pointer;line-height:44px;}
.catalogue-filter-toggle:hover,.catalogue-filter-toggle[aria-expanded=true]{color:var(--primary,#2563ab);}
.catalogue-toolbar .catalogue-filter-panel{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:4px 0 0;padding:16px 0 0;border:0;border-top:1px solid var(--border,#dce1e8);border-radius:0;background:transparent;box-shadow:none;width:100%;}
.catalogue-toolbar .catalogue-filter-panel[hidden]{display:none!important;}
.catalogue-filter-panel label{width:auto;min-width:0;display:flex;flex-direction:column;gap:6px;}
.catalogue-filter-panel :is(select,input){width:100%;min-width:0;box-sizing:border-box;}
.catalogue-filter-panel .catalogue-reset{justify-self:start;align-self:end;}
/* Shared search clear action. */
.search-input-shell{position:relative;display:flex;flex:1;min-width:0;width:100%;align-items:center;}
.search-input-shell input[type=search]{width:100%;min-width:0;padding-right:60px!important;}
.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);height:36px;padding:0 4px;border:0;background:transparent;box-shadow:none;color:var(--muted,#64748b);font:inherit;font-size:13px;line-height:36px;cursor:pointer;white-space:nowrap;}
.search-clear[hidden]{display:none!important;}.search-clear:hover{color:var(--blue-dark,#255cb4);}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none;}
.inline-search .search-glyph{z-index:1;}
.search-dialog-top{align-items:center;gap:12px;}.search-dialog-top .search-input-shell{align-self:center;}
.search-dialog-top #globalSearch{min-height:44px;line-height:24px;}
.search-dialog-top #closeSearch{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;line-height:1;margin:0;}
.list-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 24px;color:var(--muted);font-size:13px;}
/* Private views use the same controls before and after report code loads. */
.internal-toolbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;gap:16px;margin-bottom:18px;}
.internal-toolbar>.secondary-button{flex-shrink:0;}.internal-toolbar>.secondary-button:last-child{margin-left:auto;width:auto;min-width:0;}
.internal-toolbar>.back-link{margin:0;flex:1;}
.report-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;}
.task-toolbar{display:block;position:relative;padding-top:0;gap:16px;}
.task-search>span,.thirdparty-search>span{font-size:13px;color:var(--muted);}
.task-search>.search-input-shell,.thirdparty-search>.search-input-shell{display:flex;margin-bottom:0;font:inherit;}
.project-categories .entry-card{align-items:center;padding:24px;}.project-categories .entry-icon{flex-shrink:0;}
.project-category-count{margin-left:auto;color:var(--muted);font-size:13px;}
#projectsView .project-categories,#tasksView .task-search,#tasksView .internal-search-card,#thirdpartyShell .internal-search-card{width:100%;max-width:none;box-sizing:border-box;}
#projectsView .project-categories>.entry-card{width:100%;max-width:none;box-sizing:border-box;}
#projectsView .entry-copy{flex:1;min-width:0;}#projectsView .entry-arrow{margin-inline-start:auto;}#projectsView .project-categories{display:block;}
.internal-search-card{margin-bottom:20px;}.internal-search-card .inline-search{max-width:none;}.internal-search-card .inline-search input{padding-left:12px!important;}
.internal-search-card .inline-search>span:not(.search-input-shell):first-child{display:none;}
.internal-search-card .catalogue-filter-panel>.thirdparty-filter-row{grid-column:1/-1;margin:0;}
.internal-row-arrow{float:right;margin-left:16px;color:var(--muted);font-weight:400;}
.business-task h2{margin-top:0;}.business-task .search-snippet{margin-top:12px;}
.task-summary,.thirdparty-status,.report-metrics{border-radius:10px;overflow:hidden;}
.task-summary strong,.thirdparty-status strong,.report-metrics strong{font-size:25px;font-weight:600;font-variant-numeric:tabular-nums;}
.task-summary span,.thirdparty-status span,.report-metrics article>span{font-size:13px;color:var(--muted);}
.thirdparty-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;background:var(--line);border:1px solid var(--line);}
.thirdparty-status>div{border:0;border-radius:0;background:var(--panel,#fff);padding:16px;min-width:0;}
.thirdparty-toolbar,.thirdparty-search-row{display:contents;}
.internal-bulk-actions{position:fixed;left:calc(var(--sidebar-width,260px) + 28px);right:28px;bottom:12px;z-index:8;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel,#fff);display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
#thirdpartyShell{padding-bottom:100px;}#tasksView .internal-toolbar{margin-bottom:24px;}#usageView .internal-toolbar{align-items:end;}
#tasksView .loading-state,#tasksView>.empty-state{padding:28px;border:1px solid var(--line);border-radius:10px;background:var(--panel,#fff);}
#pageHeading.internal-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:nowrap;}
#pageHeading.internal-page-heading>div{min-width:0;flex:1;}#internalHeadingLock{flex:none;width:auto;white-space:nowrap;margin:0;}
@media(max-width:760px){
 :root{--font-heading:23px;}.primary-button,.secondary-button{min-height:44px;}.catalogue-toolbar,.guide-filter,.policy-filters{padding:14px;}.section-heading h2{font-size:16px;}
 .project-categories .entry-card{padding:20px;}.internal-toolbar{gap:12px;flex-wrap:wrap;}.report-controls{flex-wrap:wrap;}
 .internal-bulk-actions{left:16px;right:16px;bottom:max(8px,env(safe-area-inset-bottom));gap:8px;padding:10px;}.internal-bulk-actions button{font-size:12px;padding:6px 10px;}.internal-bulk-actions #internalSelectedCount{width:100%;}
 .thirdparty-status{grid-template-columns:repeat(2,minmax(0,1fr));}#thirdpartyShell{padding-bottom:200px;}#internalHeadingLock{font-size:12px;padding:8px 10px;}
}
@media(max-width:700px){
 .catalogue-stats,#topicCategories.catalogue-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.catalogue-stats .topic-category{padding:16px;}
 .catalogue-toolbar .catalogue-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));}#topicCategories.catalogue-stats .topic-category:last-child{grid-column:1/-1;}
}
