/* Cross-page foundations: preserve specialized calculator/table geometry. */
: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; }
.catalogue-toolbar,.guide-filter,.policy-filters { border:1px solid var(--line);border-radius:var(--surface-radius);background:var(--panel);padding:16px; }
.catalogue-toolbar { gap:12px;margin-bottom:16px; }
.guide-filter,.policy-filters { margin-bottom:18px; }
.catalogue-toolbar input { background:var(--panel); }
.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; }
.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); }
.task-toolbar,.thirdparty-toolbar { gap:16px; }
.task-search > span,.thirdparty-search > span { font-size:13px;color:var(--muted); }
.project-categories { max-width:900px; }
.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; }
.internal-toolbar > .secondary-button { flex-shrink:0; }
@media(max-width:760px){:root{--font-heading:23px}.primary-button,.secondary-button{min-height:44px}.catalogue-toolbar,.guide-filter,.policy-filters{padding:14px}.project-categories .entry-card{padding:20px}.internal-toolbar{gap:12px}.section-heading h2{font-size:16px}}

/* Topic directory shares the same continuous list/grid boundary. */
#topicCategories{margin:18px 0;grid-template-columns:repeat(5,minmax(0,1fr))}
.catalogue-stats>.topic-category{border:0;border-radius:0;padding:18px;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(--muted)}
.catalogue-stats .topic-category[aria-pressed="true"]{background:#edf3ff;color:#285bb5}
#topicsView .info-note{margin:0 0 18px;font-size:13px}
#topicResults small{display:block;margin-top:14px;color:var(--muted);font-size:13px}
@media(max-width:1100px){#topicCategories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#topicCategories{grid-template-columns:repeat(2,minmax(0,1fr))}#topicCategories>.topic-category{padding:16px}}

.topic-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.topic-filters>label{display:flex;flex-direction:column;gap:8px;min-width:0}
.topic-filters :is(select,input){width:100%;min-width:0;box-sizing:border-box}

@media(max-width:600px){.topic-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.topic-filters :is(select,input){min-height:44px}#topicCategories>.topic-category:last-child{grid-column:1/-1}}

/* Catalogue pages share counts and a single collapsible search/filter surface. */
.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));}
.catalogue-stats .topic-category {min-width:0;text-align:left;padding:18px 20px;display:flex;flex-direction:column;gap:8px;}
.catalogue-stats .topic-category span {color:var(--text-muted,#64748b);font-size:13px;}
.catalogue-toolbar {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:start;}
.catalogue-toolbar .inline-search {grid-column:1/-1;grid-row:2;margin:0;width:100%;max-width:none;}
.catalogue-filter-toggle {grid-column:2;grid-row:1;justify-self:end;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:24px;}
.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:3;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 select,.catalogue-filter-panel input {width:100%;min-width:0;box-sizing:border-box;}
@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;}}

.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}
#topicCategories.catalogue-stats{margin:0 0 20px}

/* Search and filters share one horizontal baseline on every catalogue page. */
.catalogue-toolbar {grid-template-columns:minmax(0,1fr) auto;align-items:center;}
.catalogue-toolbar .inline-search {grid-column:1;grid-row:1;min-width:0;}
.catalogue-filter-toggle {grid-column:2;grid-row:1;align-self:center;line-height:44px;}
.catalogue-toolbar .catalogue-filter-panel {grid-row:2;}
.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;}
.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;}
.catalogue-filter-panel .catalogue-reset{justify-self:start;align-self:end;}
.inline-search .search-glyph {z-index:1;}
.task-search > .search-input-shell,.thirdparty-search > .search-input-shell {display:flex;margin-bottom:0;font:inherit;}
