/* Common component rules. Domain-specific layout and behavior remain local. */
.wpu-hub-theme :is(.card,.rp-card,.wpu-r-card,.wpu-r-panel,.wpu-unified-card,.wpu-unified-panel,.inst-panel,.inst-card,.ia-card,.collection-directory-card,.library-service-card,.library-resource-card,.research-tool-card){border:1px solid var(--hub-line)!important;border-radius:var(--hub-radius)!important;box-shadow:var(--hub-shadow)!important;background:#fff;color:var(--hub-ink)}
.wpu-hub-theme :is(.card-header,.card-footer){background:#fafbfd;border-color:var(--hub-line)}.wpu-hub-theme :is(.card-body,.rp-card,.wpu-r-card,.inst-card,.wpu-unified-card){padding:22px}.wpu-hub-theme :is(.card p,.rp-card p,.ia-card p,.inst-card p,.wpu-r-card p,.wpu-unified-card p){color:var(--hub-muted);font-size:14px}.wpu-hub-theme :is(.ia-card,.collection-directory-card,.inst-info-card,.wpu-r-card,.wpu-unified-tool){transition:border-color .16s,box-shadow .16s}.wpu-hub-theme :is(a.ia-card,a.collection-directory-card,a.inst-info-card,a.wpu-r-card):hover{border-color:#a6bbd2!important;box-shadow:0 5px 18px rgba(20,55,89,.08)!important;transform:none!important}.wpu-hub-theme :is(.ia-card h2,.collection-directory-card h2,.inst-card h3){font-size:18px}.wpu-hub-theme .wpu-fluent-icon img{filter:saturate(.45);max-width:52px;max-height:52px}.wpu-hub-theme .wpu-fluent-icon{width:52px;height:52px;background:none!important}
.wpu-hub-theme :is(.btn,.inst-button,.library-primary-button,.library-secondary-button,.library-light-button,.wpu-r-btn,.discovery-button,.wpu-unified-btn){border-radius:7px!important;font-weight:600;box-shadow:none!important;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;line-height:1.4;padding:9px 16px;text-decoration:none!important;white-space:normal}.wpu-hub-theme :is(.btn-primary,.rp-btn-primary,.library-primary-button,.wpu-r-btn:not(.alt),.inst-button:not(.inst-button-light),.discovery-button.is-primary,.wpu-unified-btn.primary){background:var(--hub-blue)!important;border:1px solid var(--hub-blue)!important;color:white!important}.wpu-hub-theme :is(.btn-primary,.rp-btn-primary,.library-primary-button,.wpu-r-btn:not(.alt),.inst-button:not(.inst-button-light),.discovery-button.is-primary):hover{background:var(--hub-blue-dark)!important}.wpu-hub-theme :is(.btn-outline-primary,.library-secondary-button,.wpu-r-btn.alt,.inst-button-light,.discovery-button:not(.is-primary)){background:#fff!important;border:1px solid #bfccd9!important;color:var(--hub-blue)!important}.wpu-hub-theme .btn-sm{padding:6px 11px;min-height:32px;font-size:12px}.wpu-hub-theme .btn-danger{background:var(--hub-danger);border-color:var(--hub-danger)}.wpu-hub-theme :is(.btn:disabled,button:disabled){opacity:.55;cursor:not-allowed}
.wpu-hub-theme :is(.form-control,.form-select,.library-catalog-search input,.discovery-refinements select,.discovery-refinements input){border:1px solid #c8d3df;border-radius:7px;background:#fff;color:var(--hub-ink);min-height:41px;font-size:14px;padding:9px 11px}.wpu-hub-theme :is(.form-control,.form-select):focus{border-color:#658bad;box-shadow:0 0 0 3px #163f6b1a}.wpu-hub-theme :is(.form-label,.discovery-refinements label){font-size:12px;color:#3d536a;font-weight:650}.wpu-hub-theme .form-text{font-size:12px;color:var(--hub-muted)}
.wpu-hub-theme :is(.table,table:not([role=presentation])){--bs-table-bg:transparent;--bs-table-color:var(--hub-ink);--bs-table-border-color:var(--hub-line);width:100%;font-size:13px;border-collapse:collapse}.wpu-hub-theme :is(.table,table:not([role=presentation])) th{background:#eff3f8!important;color:#455a70;font-size:11px;font-weight:700;text-align:left;letter-spacing:.03em;padding:13px 14px;border-bottom:1px solid #ccd7e2}.wpu-hub-theme :is(.table,table:not([role=presentation])) td{padding:13px 14px;vertical-align:middle;border-bottom:1px solid var(--hub-line)}.wpu-hub-theme .table-hover tbody tr:hover{background:#f8fafc}.wpu-hub-theme .table-responsive,.hub-table-scroll{width:100%;max-width:100%;overflow-x:auto;border-radius:8px}.hub-table-scroll:focus-visible{outline-offset:-3px}
.wpu-hub-theme :is(.library-page-hero,.library-workspace-hero,.ia-hero,.v13-collection-hero,.rp-page-head,.wpu-r-hero,.wpu-unified-hero){background:var(--hub-blue-soft)!important;background-image:none!important;border:0;border-bottom:1px solid #d7e2ee;box-shadow:none;color:var(--hub-ink)!important}.wpu-hub-theme :is(.library-page-hero,.library-workspace-hero,.ia-hero,.v13-collection-hero){padding:32px 0!important}.wpu-hub-theme :is(.library-page-hero,.library-workspace-hero,.ia-hero,.v13-collection-hero,.wpu-r-hero,.wpu-unified-hero,.rp-page-head) :is(h1,h2){color:var(--hub-blue-dark)!important;background:none!important;-webkit-text-fill-color:var(--hub-blue-dark)!important}.wpu-hub-theme :is(.library-page-hero,.library-workspace-hero,.ia-hero,.v13-collection-hero,.wpu-r-hero,.wpu-unified-hero,.rp-page-head) p{color:#4b6278!important;max-width:70ch;font-size:15px}.wpu-hub-theme :is(.library-kicker,.wpu-unified-eyebrow,.wpu-r-eyebrow,.rp-eyebrow,.discovery-eyebrow){color:#77602f!important;background:transparent!important;font-size:10px!important;letter-spacing:.12em;font-weight:750}.wpu-hub-theme :is(.ia-hero-mark,.catalog-search-workflow){display:none}.wpu-hub-theme .ia-hero-inner{display:block}.wpu-hub-theme .library-section-soft,.wpu-hub-theme .wpu-unified-section.alt{background:transparent!important}.wpu-hub-theme .ia-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}.wpu-hub-theme .ia-card{padding:22px!important}.wpu-hub-theme .ia-callout{background:#eaf0f7!important;border:1px solid #d2deeb!important;border-left:4px solid var(--hub-gold)!important;color:var(--hub-ink)!important;border-radius:10px;box-shadow:none}.wpu-hub-theme .ia-callout :is(h2,p){color:var(--hub-ink)!important}
.wpu-hub-theme .inst-content-layout{grid-template-columns:210px minmax(0,1fr);gap:26px}.wpu-hub-theme .inst-prose{padding:28px 30px}.wpu-hub-theme .inst-prose p,.wpu-hub-theme .inst-prose li{max-width:78ch;line-height:1.8;color:#45586b;font-size:15px}.wpu-hub-theme .inst-content-nav{top:105px;max-height:calc(100vh - 125px);overflow-y:auto}.wpu-hub-theme .inst-content-nav h2{font-size:13px}.wpu-hub-theme .inst-content-nav a{font-size:12px}.hub-page-description{color:var(--hub-muted);font-size:14px;max-width:78ch;margin:8px 0 20px}.hub-page-heading{margin:0 0 10px}.hub-section-title{margin-bottom:22px}.hub-section-title p{color:var(--hub-muted);margin:8px 0 0}.hub-eyebrow{display:block;font-size:10px;letter-spacing:.13em;color:#856c34;font-weight:750;margin-bottom:10px}.hub-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hub-button{display:inline-flex;align-items:center;gap:8px;background:var(--hub-blue);border:1px solid var(--hub-blue);color:white!important;padding:10px 16px;border-radius:7px;text-decoration:none!important;font-size:13px;font-weight:650}.hub-button.secondary{background:#fff;color:var(--hub-blue)!important;border-color:#bfccd9}.hub-empty{background:#fff;border:1px dashed #c3ceda;border-radius:10px;text-align:center;padding:36px 25px;color:var(--hub-muted)}.hub-empty h2{font-size:20px}.hub-notice{padding:18px 20px;border:1px solid #dbd4bc;background:#fbf7ed;color:#705726;border-radius:8px;margin:18px 0}.hub-cms-source{font-size:12px;color:var(--hub-muted)}
@media(max-width:1100px){.wpu-hub-theme .inst-content-layout{grid-template-columns:1fr}.wpu-hub-theme .inst-content-nav{position:static;max-height:none;display:flex;gap:24px;flex-wrap:wrap}.wpu-hub-theme .inst-content-nav ul{display:flex;flex-wrap:wrap;gap:8px 16px}.wpu-hub-theme .inst-content-nav li{list-style:none}}
@media(max-width:600px){.wpu-hub-theme :is(.library-page-hero,.ia-hero){padding:24px 0!important}.wpu-hub-theme :is(.card-body,.rp-card,.inst-prose,.inst-card){padding:20px}.wpu-hub-theme .ia-card-grid{grid-template-columns:1fr}.wpu-hub-theme :is(.library-page-hero,.wpu-r-hero,.wpu-unified-hero) p{font-size:14px}}
.wpu-hub-theme :is(.aira-metric-card,.aira-section-card,.aira-domain-card,.aira-module-card,.aira-control-nav){border-color:var(--hub-line)!important;border-radius:var(--hub-radius)!important;background:#fff!important;box-shadow:var(--hub-shadow)!important}.wpu-hub-theme .aira-hero{background:var(--hub-blue-soft)!important;border-color:var(--hub-line)!important;border-radius:12px!important}.wpu-hub-theme :is(.aira-eyebrow,.aira-control-nav__link.is-active,.aira-domain-card__icon){color:var(--hub-blue)!important}.wpu-hub-theme .wpu-auth-context{background:var(--hub-blue-soft)!important;border:1px solid #d5e0ed!important;box-shadow:var(--hub-shadow)!important;border-radius:12px}.wpu-hub-theme .wpu-auth-panel{border-radius:12px;box-shadow:var(--hub-shadow)}.wpu-hub-theme.wpu-auth-shell:before{display:none}.wpu-hub-theme .wpu-auth-identity-bar{background:#fff;border-bottom:1px solid var(--hub-line)}.wpu-hub-theme .wpu-auth-brand strong{color:var(--hub-blue)}

/* Account and policy screens inherit the institutional shell. */
.wpu-hub-theme .hub-auth-return{padding:4px 22px 0}.wpu-hub-theme .wpu-auth-layout{margin:0 auto;gap:28px}.wpu-hub-theme .wpu-auth-panel-head h1{margin:0;font-size:clamp(25px,3vw,32px);line-height:1.2}.wpu-hub-theme .wpu-auth-context h2{margin:0;font-size:clamp(24px,3vw,36px);line-height:1.15}.wpu-hub-theme .wpu-auth-submit{background:var(--hub-blue);border-color:var(--hub-blue);box-shadow:none;border-radius:7px}.wpu-hub-theme .wpu-auth-submit:hover{background:var(--hub-blue-dark);box-shadow:none}.wpu-hub-theme .wpu-auth-footer{padding-block:18px}.wpu-hub-theme .wpu-legal-hero{padding:32px 34px;background:var(--hub-blue-soft)!important;background-image:none!important;border-bottom:1px solid var(--hub-line);color:var(--hub-ink)}.wpu-hub-theme .wpu-legal-hero :is(h1,p){color:var(--hub-blue-dark)!important}.wpu-hub-theme .wpu-legal-main{width:100%;max-width:1000px;margin:0 auto;padding:28px 34px}.wpu-hub-theme .wpu-legal-card{padding:26px;border:1px solid var(--hub-line);border-radius:var(--hub-radius);background:#fff;box-shadow:var(--hub-shadow);margin-bottom:20px}.wpu-hub-theme .wpu-legal-card :is(p,li){max-width:78ch;line-height:1.8}
@media(max-width:1100px){.wpu-hub-theme .wpu-auth-layout:not(.is-focused){grid-template-columns:1fr;max-width:560px}.wpu-hub-theme .wpu-auth-layout:not(.is-focused) .wpu-auth-context{display:none}}
@media(max-width:800px){.wpu-hub-theme .hub-auth-return{padding-inline:10px}.wpu-hub-theme .wpu-legal-hero{padding:24px 18px}.wpu-hub-theme .wpu-legal-main{padding:22px 18px}.wpu-hub-theme .wpu-legal-card{padding:20px}}
