*{box-sizing:border-box}body{margin:0;background:#f4f7f8;color:#183139;font:16px/1.55 "Segoe UI",Arial,sans-serif}.site-header{padding:20px 4vw;background:#123e48;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.brand{font-size:26px;font-weight:700;text-decoration:none;letter-spacing:-.5px}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:1px;color:#c0d8dc}nav{display:flex;gap:20px;flex-wrap:wrap}nav a,.brand{color:#fff}nav a{text-decoration:none;font-size:14px}nav a:hover{text-decoration:underline}main{max-width:1440px;margin:40px auto;padding:0 4vw}h1{font-size:32px;line-height:1.2;margin:8px 0 16px;letter-spacing:-.7px}h2{font-size:20px}a{color:#075e70}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:700;color:#52717b}.hero{padding:60px 0;max-width:650px}.hero h1{font-size:46px}.hero p{font-size:20px}.card,.login-card,.analysis-card{background:#fff;border:1px solid #dbe5e8;border-radius:10px;padding:24px;margin:24px 0}.login-card{max-width:480px;margin:60px auto}.analysis-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.analysis-card{text-decoration:none;display:block;margin:0}.analysis-card:hover{border-color:#1a7b89}.analysis-card span{font-size:13px;color:#52717b}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:7px;padding:10px 12px;border:1px solid #bacbd0;border-radius:5px;background:#fff;color:#183139;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #398a98;outline-offset:1px}input:disabled{background:#f0f4f5;color:#52676d}.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}.captcha{display:block;margin:12px 0}.button,button{background:#086b7c;color:#fff;padding:11px 18px;border:0;border-radius:5px;font:600 14px "Segoe UI",sans-serif;text-decoration:none;display:inline-block;cursor:pointer}.button:hover,button:hover{background:#045665}.secondary{background:#e7f0f2;color:#145464}.secondary:hover{background:#d4e4e8}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid #e0e8eb;text-align:left}th{font-weight:600}td{font-variant-numeric:tabular-nums}thead{background:#e7eff2}.worksheet-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.state{border:1px solid #acccd2;color:#235867;border-radius:30px;padding:6px 14px;font-size:13px;white-space:nowrap}.fixture-notice{border-left:3px solid #c59a44;padding:12px 18px;background:#fbf7ed;font-size:14px}.table-scroll{overflow:auto;border:1px solid #dbe5e8;background:#fff;border-radius:8px}.worksheet{min-width:720px}.worksheet caption{text-align:left;padding:14px 18px;font-size:13px;color:#54717b;background:#fff}.worksheet thead th{position:sticky;top:0;background:#123e48;color:#fff}.worksheet td{min-width:170px;vertical-align:top}.worksheet th:first-child{min-width:275px}.worksheet input{margin:0;font-size:14px;padding:9px}.worksheet small{display:block;font-size:11px;font-weight:400;color:#637b84;margin-top:4px}.section-row th{background:#eaf1f3;text-transform:uppercase;letter-spacing:1px;font-size:12px;color:#486875}.salary-row{background:#f4f9fa}.salary-real{background:#edf8f2;color:#126341}.salary-real output{font-size:20px;font-weight:700}.muted{color:#7b9199;font-size:13px}.provenance{font-size:11px;font-weight:400;color:#607b83}.formula-panel{background:#fff;border:1px solid #dbe5e8;border-radius:8px;padding:18px;margin:24px 0}summary{cursor:pointer;font-weight:600}.formula-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}textarea{font-family:Consolas,monospace;font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.inline-form{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin-top:24px}.inline-form label{flex:1;min-width:150px}.inline-form button{margin-bottom:18px}.remove-form{display:flex;gap:18px;justify-content:space-between;align-items:center;padding-top:12px}.message{padding:14px 18px;border-radius:6px;background:#e8eff3}.success{background:#e6f3ec;color:#1b6941}.error{background:#f9e9e6;color:#8a3028}footer{color:#6b838c;font-size:12px;padding:24px 4vw;border-top:1px solid #dbe5e8}@media(max-width:700px){main{margin-top:24px}h1{font-size:26px}.hero h1{font-size:36px}.site-header{padding:18px}.worksheet-heading{display:block}.state{display:inline-block;margin-bottom:12px}nav{gap:12px}.card{padding:18px}}


.fsr-navigation{gap:8px;margin:0 0 24px;align-items:center}.fsr-navigation a{color:#075e70;background:#fff;border:1px solid #dbe5e8;border-radius:5px;padding:7px 12px}.fsr-navigation a[aria-current="page"]{background:#e7f0f2;border-color:#7caeb8;font-weight:600}.fsr-navigation a:focus-visible{outline:2px solid #398a98;outline-offset:2px}

.fsr-variables{table-layout:fixed}.fsr-variables th,.fsr-variables td{vertical-align:top;overflow-wrap:anywhere}.fsr-variables .variable-meaning{display:block;margin-top:4px;font-size:12px;line-height:1.45;font-weight:400;color:#607b83}.fsr-variables .variable-definition{text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#9db6bc}.fsr-variables .variable-definition:hover{text-decoration-color:currentColor}.fsr-variables .variable-definition:focus-visible,.fsr-variables-scroll:focus-visible{outline:2px solid #398a98;outline-offset:2px}

.fsr-variables{min-width:640px}.fsr-variables th:first-child{width:43%}.fsr-variables th:nth-child(2){width:12%}.fsr-variables th:nth-child(3){width:auto}.fsr-variables th:nth-child(4){width:72px;white-space:nowrap}
.formula-edit{display:inline-flex;min-width:44px;min-height:44px;justify-content:center;align-items:center;font-size:22px;text-decoration:none;border-radius:5px}.formula-edit:hover{background:#e7f0f2}.formula-edit:focus-visible{outline:2px solid #398a98;outline-offset:2px}
.factor-worksheet{min-width:560px}.factor-worksheet th:first-child{width:65%}.factor-worksheet td{width:35%}.reference-salary{max-width:360px}.profile-history{margin:12px 0 24px}.profile-selector{max-width:700px}
.fsr-salaries{min-width:1160px}.fsr-salaries th,.fsr-salaries td{vertical-align:top}.fsr-salaries th:first-child{width:14%}.fsr-salaries th:nth-child(2){width:14%}.fsr-salaries th:nth-child(3){width:27%}.fsr-salaries th:nth-child(4){width:12%}.fsr-salaries th:nth-child(5){width:12%}.fsr-salaries th:nth-child(6){width:21%}.fsr-salaries small{display:block;color:#607b83;font-size:12px;font-weight:400;margin-top:5px}.salary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .65rem}.salary-actions form{margin:0}.fsr-salaries input,.fsr-salaries select{font-size:14px;margin:0}.fsr-salaries a{display:block;font-size:13px;margin-top:6px}.table-scroll:focus-visible{outline:2px solid #398a98;outline-offset:2px}

.contribution-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 22px}.contribution-table{min-width:1050px}.contribution-table th,.contribution-table td{vertical-align:top}.contribution-table small{display:block;font-weight:400;font-size:12px;color:#607b83}.contribution-table td:last-child a{display:block;margin-bottom:5px;font-size:12px}.contribution-table caption{text-align:left;padding:14px;font-size:13px;color:#52717b}.legal-literal{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.7 "Segoe UI",Arial,sans-serif}
.legal-identity{overflow-wrap:anywhere}

.company-data{display:grid;grid-template-columns:clamp(180px,24vw,260px) minmax(0,1fr);gap:12px 24px;align-items:start}.company-data>*{min-width:0;overflow-wrap:anywhere}.company-data dt,.company-fields>label{font-size:14px;font-weight:600;margin:0}.company-data dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.company-fields>label{padding-top:10px}.company-fields input,.company-fields select,.company-fields textarea{margin-top:0;min-width:0}.company-fields textarea{font:inherit}.company-fields .muted{display:block;margin-top:6px}.company-search{max-width:760px;margin:20px 0}.company-suggestions{list-style:none;padding:0;margin:0;border:1px solid #bacbd0;border-radius:5px;max-height:340px;overflow:auto;background:#fff}.company-suggestions a{display:block;padding:10px 14px;text-decoration:none}.company-suggestions a:hover,.company-suggestions a:focus{background:#e7f0f2}.pagination{margin-top:24px}@media(max-width:600px){.company-data{grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:12px}.company-data dt,.company-fields>label{font-size:13px}.company-fields input,.company-fields select,.company-fields textarea{padding:9px 8px}}

/* Public access keeps the existing application palette and internal layouts. */
.public-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f4f7f8;background-image:linear-gradient(120deg,transparent 60%,rgba(18,62,72,.035) 60%,rgba(18,62,72,.035) 60.15%,transparent 60.15%),linear-gradient(rgba(18,62,72,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,62,72,.035) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px}
.public-page .site-header{background:transparent;padding:36px max(6vw,24px);border-bottom:1px solid #dbe5e8}
.public-page .brand{color:#123e48;font-size:25px;letter-spacing:3px}
.public-page main{display:flex;align-items:center;flex:1;width:100%;max-width:1360px;margin:0 auto;padding:64px max(6vw,24px)}
.public-access{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:clamp(40px,7vw,112px);align-items:center;width:100%}
.public-intro{max-width:620px;min-width:0}
.public-intro h1{font-size:clamp(40px,4.6vw,64px);font-weight:600;line-height:1.1;letter-spacing:-2px;margin:0 0 24px;color:#123e48}
.public-description{font-size:22px;color:#395b65;margin:0 0 40px}
.public-status{display:flex;align-items:center;gap:10px;font-size:13px;color:#486670;margin:0}
.public-status::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#527c72}
.public-access .login-card{width:100%;max-width:440px;margin:0 0 0 auto;padding:36px;border-radius:12px;box-shadow:0 12px 40px rgba(18,62,72,.055)}
.public-access .login-card h2{font-size:25px;line-height:1.2;letter-spacing:-.5px;margin:0 0 28px;color:#123e48}
.public-access label:not(.check){margin:0;font-size:14px}
.public-access input:not([type=hidden]):not([type=checkbox]){min-height:46px;margin:8px 0 22px}
.public-access .check{margin:4px 0 24px;font-weight:400;min-height:28px}
.public-access .check input{width:18px;height:18px;accent-color:#086b7c}
.public-access button{width:100%;min-height:48px;font-size:16px}
.public-access .message{font-size:14px;overflow-wrap:anywhere}
.public-page footer{padding:22px max(6vw,24px);font-size:12px;color:#486670;background:rgba(244,247,248,.85)}
.public-page a:focus-visible,.public-page button:focus-visible{outline:3px solid #086b7c;outline-offset:4px}
.public-page input:focus-visible{outline:2px solid #086b7c;outline-offset:2px}
.skip-link{position:fixed;top:12px;left:24px;padding:12px 18px;background:#fff;color:#123e48;transform:translateY(-180%);z-index:10}
.skip-link:focus{transform:translateY(0)}
@media(max-width:760px){.public-page .site-header{padding:24px}.public-page main{padding:36px 24px 40px;align-items:flex-start}.public-access{grid-template-columns:minmax(0,1fr);gap:28px}.public-intro h1{font-size:40px;letter-spacing:-1.2px;margin-bottom:16px;max-width:520px}.public-description{font-size:19px;margin-bottom:18px}.public-access .login-card{max-width:none;padding:26px;margin:0}.public-access .login-card h2{font-size:23px;margin-bottom:24px}.public-page footer{padding:20px 24px}}
@media(max-width:360px){.public-page main{padding:28px 18px}.public-page .site-header{padding:22px 18px}.public-intro h1{font-size:34px}.public-status{font-size:12px}.public-access .login-card{padding:22px}}

/* Compact summary cards reuse the existing cards, forms and navigation. */
.budget-context{overflow-wrap:anywhere}.budget-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.budget-summary>.card{min-width:0;margin:0;padding:18px;overflow-wrap:anywhere}.budget-summary h2{margin:0 0 12px}.budget-summary ul{margin:0;padding-left:20px}.budget-summary .inline-form{margin-top:16px;gap:12px}.budget-summary .inline-form label{min-width:0;flex-basis:200px}.budget-summary .inline-form button{max-width:100%}@media(max-width:760px){.budget-summary{grid-template-columns:minmax(0,1fr);gap:16px}}

/* Component capture keeps the search and percentage fields within the available width. */
.matrix-editor .company-search{max-width:none;margin:24px 0}.matrix-editor .company-search form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.matrix-editor .company-search label{margin:0}.matrix-editor .company-search button{margin:0;min-height:44px}.matrix-editor .company-suggestions,.matrix-editor [data-search-status]{grid-column:1/-1}.matrix-editor [data-search-status]{margin:0}.matrix-editor #component-editor{margin:28px 0 20px;padding-bottom:14px;border-bottom:1px solid #dbe5e8;scroll-margin-top:24px}.matrix-editor .matrix-percentage-fields{grid-template-columns:minmax(240px,1fr) minmax(0,2fr);grid-template-areas:"base base" "percentage-label notes-label" "percentage-control notes-control";gap:10px 28px}.matrix-percentage-fields>p{grid-area:base;margin:0 0 14px;padding:16px 20px;border-left:3px solid #086b7c;border-radius:6px;background:#f0f7f8}.matrix-percentage-fields>label{padding-top:0}.matrix-percentage-fields>label[for="matrix-percentage"]{grid-area:percentage-label}.matrix-percentage-fields>label[for="matrix-percentage"]+div{grid-area:percentage-control}.matrix-percentage-fields>label[for="matrix-notes"]{grid-area:notes-label}.matrix-percentage-fields>label[for="matrix-notes"]+div{grid-area:notes-control}.matrix-percentage-fields #matrix-percentage{font-variant-numeric:tabular-nums}.matrix-percentage-fields #matrix-notes{min-height:156px;resize:vertical}.matrix-editor .actions{padding-top:20px;border-top:1px solid #e5edef;align-items:center}.matrix-editor .actions button,.matrix-editor .actions .button{min-height:44px}
@media(max-width:700px){.matrix-editor .matrix-percentage-fields{grid-template-columns:minmax(0,1fr);grid-template-areas:"base" "percentage-label" "percentage-control" "notes-label" "notes-control";gap:10px}.matrix-percentage-fields>label[for="matrix-notes"]{margin-top:12px}.matrix-percentage-fields>p{padding:14px 16px}.matrix-percentage-fields #matrix-notes{min-height:144px}.matrix-editor .company-search form{grid-template-columns:minmax(0,1fr)}.matrix-editor .company-search button{justify-self:start}.matrix-editor .actions{gap:10px}}

/* The signed-in home introduces the workspace and reuses the existing linked cards. */
.home-start{max-width:1200px;margin:0 auto}.home-intro{max-width:850px;margin:0 0 36px;padding:8px 0}.home-intro h1{font-size:clamp(30px,3.4vw,44px);line-height:1.15;margin:10px 0 18px}.home-intro>p:last-child{font-size:18px;line-height:1.65;color:#486670;margin:0;max-width:760px}.home-section{margin:0 0 32px}.home-section>h2{font-size:18px;margin:0 0 16px}.home-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-links .analysis-card{display:flex;flex-direction:column;min-width:0;gap:12px;color:#183139;overflow-wrap:anywhere}.home-links h3{font-size:20px;line-height:1.3;margin:0;letter-spacing:-.3px}.home-links p{margin:0;color:#486670;font-size:15px}.home-links .analysis-card>span{margin-top:auto;padding-top:8px;color:#075e70;font-weight:600;font-size:14px}.home-links .analysis-card:hover{background:#f8fcfc}.home-links .analysis-card:focus-visible{outline:3px solid #398a98;outline-offset:3px}
@media(max-width:1000px){.home-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.home-intro{margin-bottom:28px;padding-top:0}.home-intro>p:last-child{font-size:16px}.home-links{grid-template-columns:minmax(0,1fr);gap:14px}.home-links .analysis-card{padding:20px}.home-section{margin-bottom:28px}}

/* Native save and removal forms share one responsive action row. */
.matrix-actions .matrix-remove-action{margin-left:auto}.matrix-actions button,.matrix-actions .button{min-height:44px}@media(max-width:600px){.matrix-actions .matrix-remove-action{margin-left:0;flex-basis:100%}.matrix-actions>button,.matrix-actions>.button{max-width:100%;white-space:normal}}

.matrix-historical-price{grid-column:1/-1;margin:0}

/* Bounded catalogue selection shares the native search and responsive form patterns. */
.catalogue-search{max-width:none}.catalogue-selection{margin-top:24px;padding-top:16px;border-top:1px solid #dbe5e8}.catalogue-add-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto;gap:16px;align-items:end}.catalogue-add-form label{margin:0}.catalogue-add-form button{min-height:44px}@media(max-width:760px){.catalogue-add-form{grid-template-columns:minmax(0,1fr);gap:14px}.catalogue-add-form button{justify-self:start}}

/* Secondary photograph gallery, below the native matrix and definition. */
.photograph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.5rem}.photograph{margin:0;min-width:0;max-width:480px}.photograph img{display:block;width:100%;height:220px;object-fit:contain;background:#f3f7f8;border-radius:8px}.photograph figcaption p{margin:.6rem 0;overflow-wrap:anywhere}.photograph details{margin-top:.8rem}.photograph .actions{flex-wrap:wrap}.photograph-section>details{margin-top:1.5rem}.photograph-upload{max-width:760px}.photograph-upload input[type=file]{max-width:100%;min-width:0}
@media(max-width:760px){.photograph-grid{grid-template-columns:1fr}.photograph{max-width:none}.photograph .actions>*{flex:1 1 100%}}

/* Details retain their full width unless an ordered gallery image is available. */
.record-details.has-photograph{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}.record-data{min-width:0}.has-photograph .company-data{grid-template-columns:clamp(110px,12vw,180px) minmax(0,1fr)}.photograph-featured{max-width:none}.photograph-featured a{display:block}.photograph-featured img{width:100%;height:auto;max-height:none;object-fit:contain;background:none}
@media(max-width:760px){.record-details.has-photograph{grid-template-columns:minmax(0,1fr);gap:24px}.has-photograph .company-data{grid-template-columns:minmax(0,38%) minmax(0,1fr)}}

/* Keep the derived basic summary within the native responsive editor grid. */
.matrix-basic-fields{grid-column:1/-1;min-width:0}

/* Preserve prose line endings once, after escaping at the rendering boundary. */
.record-prose{white-space:pre-wrap;overflow-wrap:anywhere}

/* Keep native table scrolling readable instead of squeezing every mobile column. */
.matrix-components,.matrix-explosion{min-width:720px}.matrix-components td,.matrix-explosion td{vertical-align:top}

/* Main navigation uses native disclosures and preserves visible focus. */
.main-navigation{align-items:center;gap:4px}.nav-item{display:flex;align-items:center;position:relative;border-radius:5px;min-height:44px}.nav-item>a,.nav-disclosure>summary{display:block;padding:10px 12px;color:#fff;font-size:14px;font-weight:600;min-height:44px}.nav-item.is-active{background:#28616d;box-shadow:inset 0 -3px #a5dce1}.nav-disclosure>summary{cursor:pointer;list-style:none}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-disclosure>summary::after{content:' ▾'}.nav-item>a+.nav-disclosure>summary::after{content:none}.nav-disclosure ul{position:absolute;right:0;top:100%;z-index:20;min-width:250px;max-width:calc(100vw - 36px);list-style:none;margin:0;padding:6px;background:#fff;border:1px solid #bacbd0;border-radius:6px;box-shadow:0 8px 20px #123e4826}.nav-disclosure li a{display:block;color:#145464;padding:12px;min-height:44px}.nav-disclosure a[aria-current=page]{background:#e7f0f2;font-weight:700}.main-navigation a:focus-visible,.main-navigation summary:focus-visible{outline:3px solid #65bdcc;outline-offset:2px;border-radius:3px}.nav-disclosure li a:hover{background:#e7f0f2}.price-search{max-width:none}.price-search .company-suggestions{max-height:480px}.price-search [data-search-more]{margin-top:12px}.price-search [hidden]{display:none}
@media(max-width:900px){.main-navigation{width:100%;gap:6px}.nav-item{flex-wrap:wrap;max-width:100%}.nav-disclosure ul{left:0;right:auto}.nav-disclosure>summary{padding:10px}.nav-item>a{padding:10px}}
@media(max-width:560px){.main-navigation{display:block}.nav-item{margin-bottom:4px}.nav-disclosure{flex:1}.nav-disclosure ul{position:static;width:100%;min-width:0;box-shadow:none}.nav-item:has(>a) .nav-disclosure ul{position:absolute;left:0;right:0;top:100%;width:auto}.nav-item>a{flex:1}}

/* Technical library and the shared bounded grouping selector. */
.library-families{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem}
.library-families a{display:block;font-weight:700;text-decoration:none}
.group-picker{min-width:0;grid-column:1/-1;margin:1rem 0;padding:1rem;border:1px solid #c7d3dc;border-radius:.5rem}
.group-picker legend{font-weight:700}.group-picker label{display:block}.group-picker input[type=search]{width:100%;max-width:40rem}
.group-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.group-tag{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #b9cfd3;background:#edf6f5;color:#193e44;padding:.25rem .6rem;border-radius:1rem;max-width:100%;overflow-wrap:anywhere}
.group-tag button{padding:.25rem .6rem;min-width:2.75rem;min-height:2.75rem;margin:0;border:0;background:transparent;color:inherit}
.group-results{list-style:none;margin:.5rem 0;padding:0;max-height:20rem;overflow:auto}.group-results button{display:block;text-align:left;width:100%;margin:.2rem 0;white-space:normal;overflow-wrap:anywhere}
.nav-resources{position:relative}.nav-resources>summary{font-size:.9em}.main-navigation .nav-resources>ul{position:static;box-shadow:none;padding-left:.6rem;border:0}
@media(max-width:700px){.main-navigation .nav-resources{display:none}.group-picker{padding:.6rem}.group-tag{font-size:.95rem}}

/* Keep native hidden state authoritative in shared search controls. */
.company-search [hidden],.group-picker [hidden]{display:none}

/* Budget resource quantities, traceability and read-only reconciliation. */
.explosion-filters { align-items: end; }
.explosion-filters label { min-width: 10rem; flex: 1 1 10rem; }
.explosion-filters label:first-of-type { flex-basis: 18rem; }
.explosion-family { margin-top: 1.8rem; }
.explosion-family h3 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
.explosion-table { min-width: 48rem; }
.explosion-table th, .explosion-table td { vertical-align: top; }
.explosion-table td:first-child { min-width: 15rem; }
.explosion-table small { display: block; }
.explosion-detail-row > td { padding-top: 0; }
.explosion-detail-row details { margin: .25rem 0 .7rem; }
.explosion-origins { min-width: 45rem; }
.explosion-origins p { max-width: 36rem; }
.explosion-paths li { margin-bottom: .8rem; overflow-wrap: anywhere; }
.explosion-warnings { margin: 1rem 0; }
.explosion-reconciliation { max-width: 52rem; }
.explosion-reconciliation td { white-space: nowrap; }
.explosion-reconciliation small { display: block; white-space: normal; overflow-wrap: anywhere; }
.budget-explosion [aria-busy="true"] { opacity: .6; }
@media (max-width: 600px) {
    .explosion-filters { display: grid; grid-template-columns: minmax(0, 1fr); }
    .explosion-filters label { min-width: 0; }
    .explosion-reconciliation small { display: block; }
}
/* Native paged concept searches keep filters and compact results within the card. */
.concept-directory-search>form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.concept-directory-search .concept-query{min-width:0;margin:0}.concept-directory-search .group-picker{width:100%;box-sizing:border-box;margin:0}.concept-directory-search .group-picker input[type=search]{max-width:none}.concept-directory-search .group-tag>span{min-width:0;overflow-wrap:anywhere}.concept-directory-search .group-tag button{flex-shrink:0}.concept-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.concept-search-actions button{margin:0;min-height:44px}
.concept-results{table-layout:fixed;width:100%;font-size:14px}.concept-results th:first-child{width:62%}.concept-results.has-actions th:first-child{width:58%}.concept-results th,.concept-results td{padding:7px 12px;vertical-align:middle}.concept-results .concept-actions{width:70px;text-align:right;white-space:nowrap}.concept-result-link,.concept-result-groups{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:44px}.concept-group-values{position:relative;padding-right:44px;min-width:0}.concept-result-details{position:absolute;right:0;top:0}.concept-result-details>summary{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:4px;cursor:pointer;list-style:none;color:#075e70;font-size:22px}.concept-result-details>summary::-webkit-details-marker{display:none}.concept-result-details>summary:hover,.concept-result-details[open]>summary{background:#e7f0f2}.concept-result-full{position:absolute;right:0;top:46px;z-index:10;box-sizing:border-box;width:min(34rem,calc(100vw - 100px));max-height:60vh;overflow:auto;white-space:normal;overflow-wrap:anywhere;padding:18px;background:#fff;border:1px solid #bacbd0;border-radius:6px;box-shadow:0 6px 18px #123e4826;line-height:1.6;font-weight:400}.concept-result-full p{margin:10px 0}.concept-result-full ul{padding-left:20px}.concept-result-link:focus-visible,.concept-result-details>summary:focus-visible{outline:2px solid #398a98;outline-offset:2px}.concept-results .concept-actions a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){.concept-results{font-size:13px}.concept-results th,.concept-results td{padding:6px}.concept-results th:first-child,.concept-results.has-actions th:first-child{width:52%}.concept-results .concept-actions{width:48px}.concept-group-values{padding-right:44px}.concept-result-details>summary{min-width:44px}.concept-results tbody tr{position:relative}.concept-group-values,.concept-result-details{position:static}.concept-result-details>summary{position:absolute;right:6px;top:6px}.concept-results.has-actions .concept-result-details>summary{right:66px}.concept-result-full{right:0;top:52px;width:100%;padding:14px}}

/* Keep the library family disclosure in the Insumos row. */
.main-navigation .nav-library-resources{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.main-navigation .nav-library-resources>.nav-resources>summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:46px;padding:10px;list-style:none;color:#145464}.main-navigation .nav-library-resources>.nav-resources>summary::-webkit-details-marker{display:none}.main-navigation .nav-library-resources>.nav-resources>ul{position:absolute;right:0;top:100%;padding:6px;border:1px solid #bacbd0;box-shadow:0 8px 20px #123e4826}
#catalogo .concept-actions{width:110px}#catalogo .catalogue-selection{scroll-margin-top:24px}@media(max-width:600px){#catalogo .concept-results.has-actions th:first-child{width:42%}#catalogo .concept-results.has-actions .concept-result-details>summary{right:116px}}

/* Native occurrence editing keeps movement controls at the right edge. */
.budget-parts td{vertical-align:top}.budget-parts td:first-child{min-width:220px}.budget-parts tr[id]{scroll-margin-top:24px}.budget-parts button{font-size:13px;min-height:36px;margin:0;padding:6px 9px}.part-quantity{display:flex;align-items:center;gap:5px}.part-quantity input{width:8rem;min-width:0;margin:0;padding:7px;font-variant-numeric:tabular-nums}.part-order,.part-order-heading{width:76px;white-space:nowrap}.part-order form{display:flex;gap:4px;margin:0}.part-order button{width:34px;font-size:18px;padding:3px}.part-order button:disabled{opacity:.35;cursor:default}.budget-parts button:focus-visible{outline:2px solid #398a98;outline-offset:2px}@media(max-width:600px){.budget-parts td,.budget-parts th{padding:8px}.part-order button{width:40px;min-height:44px}.part-quantity button{min-height:44px}}

#organizacion{scroll-margin-top:24px}#organizacion select{max-width:100%}.selected-part{border-top:1px solid #dce6e9;margin:18px 0;padding-top:12px}.budget-concept-list{display:block}.budget-concept-list h3{margin:18px 0 8px}.budget-concept-list ul{margin:0;padding-left:24px}.budget-concept-list li{margin:6px 0}.budget-concept-list a{color:#075e70;font-size:inherit;text-decoration:underline;overflow-wrap:anywhere}.budget-concept-list a[aria-current]{font-weight:700}.budget-concept-list a:focus-visible{outline:2px solid #398a98;outline-offset:3px}#concepto-seleccionado{scroll-margin-top:24px}
.selected-part-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.selected-part-fields>.inline-form{margin-top:0;min-width:0}.selected-part-fields label{min-width:0}@media(max-width:800px){.selected-part-fields{grid-template-columns:minmax(0,1fr);gap:0}}

/* Compact terminal rows retain full names in their origin consultation. */
.compact-explosion{font-size:14px}.compact-explosion th,.compact-explosion td{padding:8px 10px}.explosion-resource{display:block;max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-explosion td:last-child a{display:inline-flex;align-items:center;min-height:44px}.selected-part-fields{grid-template-columns:minmax(0,1fr)}

/* Keep explicit classification choices legible within the native scrolling table. */
.consolidation-groups{min-width:44rem}.consolidation-groups td:last-child{min-width:17rem}
