/* BUILD 24.10.27 — workflow-aware Library Services & Policy CMS public surfaces. */
.library-preview-banner{position:sticky;top:0;z-index:1000;padding:.65rem 1rem;text-align:center;font-weight:800;letter-spacing:.06em;background:#fff3cd;color:#664d03;border-bottom:1px solid #ffecb5}
.library-page-hero.compact{padding-bottom:2rem}.library-page-hero .library-shell>p{max-width:72ch}
.library-service-filter,.library-policy-filter{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(10rem,1fr)) auto;gap:.75rem;align-items:end;margin:1.25rem 0 2rem;padding:1rem;border:1px solid var(--wpu-border,#dfe5ec);border-radius:1rem;background:var(--wpu-surface,#fff)}
.library-service-filter label,.library-policy-filter label{display:grid;gap:.35rem;font-weight:700}.library-service-filter input,.library-service-filter select,.library-policy-filter input,.library-policy-filter select{min-height:2.8rem;width:100%;padding:.65rem .75rem;border:1px solid #b9c4d0;border-radius:.65rem;background:#fff;color:#14213d}
.library-service-filter button,.library-policy-filter button{min-height:2.8rem}
.modern-services,.policy-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.service-card-v27,.policy-card-v27{display:flex;flex-direction:column;gap:.8rem;min-height:100%;padding:1.15rem;border:1px solid #dfe5ec;border-radius:1rem;background:#fff;box-shadow:0 .2rem .8rem rgba(20,33,61,.05)}
.service-card-v27 h2,.policy-card-v27 h2{font-size:1.15rem;margin:0}.service-card-v27 p,.policy-card-v27 p{margin:0;color:#4b5b6b}.service-card-v27 a,.policy-card-v27 a{margin-top:auto;font-weight:800}
.service-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.service-chip,.service-state-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.3rem .55rem;border:1px solid #cad5df;border-radius:999px;font-size:.78rem;font-weight:750;background:#f7f9fb;color:#25364a}
.service-card-meta,.policy-card-meta{display:flex;flex-wrap:wrap;gap:.45rem .8rem;font-size:.88rem;color:#536273}
.service-detail-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(15rem,.8fr);gap:2rem;align-items:center}.service-primary-action{display:grid;gap:.6rem;justify-items:start;padding:1rem;border:1px solid #dce4eb;border-radius:1rem;background:#fff}.service-primary-action p{margin:0;color:#4b5b6b}
.library-disabled-button{display:inline-flex;padding:.72rem 1rem;border-radius:.7rem;background:#e9ecef;color:#5c636a;font-weight:750;cursor:not-allowed}.service-detail-layout,.policy-detail-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(17rem,.8fr);gap:2rem;align-items:start}.service-detail-main,.policy-document{display:grid;gap:1.25rem}.service-detail-aside{display:grid;gap:1rem;position:sticky;top:1rem}
.service-info-section,.service-fact-card,.service-source-card{padding:1.15rem;border:1px solid #dde5ec;border-radius:1rem;background:#fff}.service-info-section h2,.service-fact-card h2{font-size:1.05rem;margin:0 0 .8rem}.service-fact-card dl{margin:0}.service-fact-card dl>div{display:grid;gap:.15rem;padding:.6rem 0;border-top:1px solid #edf1f4}.service-fact-card dl>div:first-child{padding-top:0;border-top:0}.service-fact-card dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#667584}.service-fact-card dd{margin:0;font-weight:650}
.service-source-card{display:grid;gap:.2rem}.service-source-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#657384}.service-source-card strong{font-size:.98rem}.service-source-card small{color:#657384}
.state-message{padding:.8rem .9rem;border-radius:.75rem;border-left:4px solid #6c757d;background:#f8f9fa}.state-message.success{border-left-color:#198754}.state-message.warning{border-left-color:#b58105}.state-message.neutral{border-left-color:#6c757d}
.service-check-list,.service-workflow-list,.document-link-list{display:grid;gap:.7rem;margin:0;padding-left:1.2rem}.service-check-list li span,.service-workflow-list li span{display:block;color:#5a6877;margin-top:.15rem}.service-footnote{font-size:.87rem;color:#5b6977;margin:.85rem 0 0}
.related-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.related-link-list a{display:grid;gap:.15rem;padding:.8rem;border:1px solid #dfe6ec;border-radius:.75rem;text-decoration:none}.related-link-list span{color:#607080;font-size:.86rem}
.library-faq-list{display:grid;gap:.6rem}.library-faq-list details{padding:.75rem .85rem;border:1px solid #dfe6ec;border-radius:.75rem}.library-faq-list summary{cursor:pointer;font-weight:750}.library-faq-list p{margin:.65rem 0 0}
.policy-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.policy-facts>div{display:grid;gap:.2rem;padding:.9rem;border:1px solid #dde5ec;border-radius:.85rem;background:#fff}.policy-facts span{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#627181}.policy-body{line-height:1.75;white-space:normal;overflow-wrap:anywhere}
.request-status-card,.request-current-card,.request-action-required,.request-review-note{padding:1rem;border:1px solid #dce4eb;border-radius:.9rem;background:#fff}.request-action-required{border-left:4px solid #b58105}.request-timeline{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.request-timeline li{position:relative;padding:0 0 .8rem 1.4rem;border-left:2px solid #d9e1e8}.request-timeline li::before{content:"";position:absolute;left:-.42rem;top:.15rem;width:.7rem;height:.7rem;border-radius:50%;background:#234f87;border:2px solid #fff;box-shadow:0 0 0 1px #234f87}.request-timeline li:last-child{border-left-color:transparent}.request-timeline time{display:block;color:#687785;font-size:.85rem}
.library-empty-state.compact{padding:1rem;text-align:left}
.library-service-filter :focus-visible,.library-policy-filter :focus-visible,.service-card-v27 a:focus-visible,.policy-card-v27 a:focus-visible,.related-link-list a:focus-visible,.library-faq-list summary:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (max-width:980px){.library-service-filter,.library-policy-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-services,.policy-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-layout,.policy-detail-layout,.service-detail-hero{grid-template-columns:1fr}.service-detail-aside{position:static}.policy-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.library-service-filter,.library-policy-filter,.modern-services,.policy-card-grid,.policy-facts,.related-link-list{grid-template-columns:1fr}.service-primary-action{width:100%}.service-card-top{align-items:flex-start;flex-direction:column}.library-page-hero{padding-top:1.5rem}}
@media (prefers-reduced-motion:reduce){.service-card-v27,.policy-card-v27{scroll-behavior:auto}}
