/* UX2 — presentation scoped to new views. No global input/table resets. */
.ux2-filter-grid,.ux2-form-grid{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.ux2-filter-grid>label,.ux2-form-grid>label,.ux2-period-row>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;min-width:140px;flex:1}.ux2-filter-grid input,.ux2-filter-grid select,.ux2-form-grid input,.ux2-form-grid select,.ux2-period-row input{min-height:40px;border:1px solid #c9d4df;border-radius:7px;background:#fff;padding:8px;color:#233547;width:100%;box-sizing:border-box}.ux2-filter-grid label:first-child{min-width:260px}.ux2-form-grid{padding:14px 0}.ux2-issues{max-width:420px;min-width:240px;line-height:1.65}.ux2-pagination{display:flex;gap:8px;margin:20px 0}.ux2-summary-strip{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.ux2-summary-strip>div{display:flex;flex-direction:column;gap:5px;background:#f0f5fa;padding:14px 18px;border-radius:9px}.ux2-period-row{display:flex;gap:12px;align-items:end;max-width:680px;margin:10px 0}.ux2-combobox{display:block;position:relative;min-width:190px;max-width:100%}.ux2-combobox>input{width:100%;min-height:40px;border:1px solid #bdcad7;border-radius:7px;background:#fff;color:#24364a;padding:9px 11px;box-sizing:border-box;font:inherit}.ux2-options{position:absolute;z-index:50;top:100%;left:0;min-width:100%;max-width:480px;max-height:260px;overflow:auto;border:1px solid #c4cfdb;border-radius:7px;background:#fff;box-shadow:0 8px 22px #24364a22;padding:5px;box-sizing:border-box}.ux2-options[hidden]{display:none}.ux2-options>button{display:block;text-align:left;width:100%;background:none;border:0;padding:9px;border-radius:4px;color:#24364a;font:inherit;white-space:normal}.ux2-options>button:hover,.ux2-options>button.active,.ux2-options>button[aria-selected=true]{background:#e8f2fb;color:#095a95}.ux2-options>span{display:block;padding:12px;color:#657488}.ux2-combobox:focus-within{z-index:51}.ux2-eyebrow{color:#40647f;font-size:11px;letter-spacing:.08em;font-weight:700}.ux2-hours-overview .ux2-selected{background:#eef6fd;box-shadow:inset 3px 0 #1973a4}.ux2-hours-overview table{width:100%;border-collapse:collapse}.ux2-hours-overview td,.ux2-hours-overview th{padding:14px 12px;text-align:left;border-bottom:1px solid #e2eaf1}.ux2-hours-overview td small{display:block;color:#597084;margin-top:5px}.ux2-hours-editor{scroll-margin-top:90px;grid-template-columns:minmax(380px,1.05fr) minmax(320px,1fr);margin-bottom:22px}.ux2-hours-editor .bs-step{border-top:1px solid #e6ecf1;padding-top:16px}.ux2-hours-editor h2{margin-bottom:4px}.ux2-legacy-staffing{border:1px solid #dce4ec;border-radius:10px;padding:16px;background:#fff;margin:18px 0}.ux2-legacy-staffing>summary,.ux2-reuse>summary{font-weight:650;cursor:pointer}.ux2-team-scroll{overflow:auto;border:1px solid #dbe4ed;border-radius:9px;margin:12px 0}.ux2-team-calendar{min-width:calc(220px + var(--ux2-days)*62px)}.ux2-calendar-row{display:grid;grid-template-columns:220px repeat(var(--ux2-days),minmax(62px,1fr));align-items:stretch;min-height:68px;border-bottom:1px solid #e3eaf0}.ux2-calendar-row:last-child{border-bottom:0}.ux2-calendar-row>strong,.ux2-calendar-label{position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid #dbe4ed;box-sizing:border-box;padding:12px;color:#20384d}.ux2-calendar-row small{display:block;font-size:12px;font-weight:400;margin-top:4px;line-height:1.35}.ux2-calendar-head{min-height:42px;background:#f4f7fb;color:#4e657a;position:sticky;top:0;z-index:4}.ux2-calendar-head>span{text-align:center;padding:12px 4px}.ux2-calendar-head>strong{background:#f4f7fb}.ux2-calendar-track{grid-column:2/-1;display:grid;grid-template-columns:repeat(var(--ux2-days),minmax(62px,1fr));gap:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/var(--ux2-days) - 1px),#e9eef3 calc(100%/var(--ux2-days) - 1px),#e9eef3 calc(100%/var(--ux2-days)));padding:5px 0}.ux2-calendar-bar{padding:7px 10px;margin:0 3px;background:#f1eaff;color:#4f3589;border:1px solid #ddcdf8;border-radius:7px;min-width:0;overflow:hidden;line-height:1.25;text-decoration:none}.ux2-calendar-bar strong{font-size:13px}.ux2-calendar-bar.confirmed,.ux2-calendar-bar.running{background:#e4f5ed;color:#1f6950;border-color:#a9d8c5}.ux2-calendar-bar.reservation{background:#e5effc;color:#1b568c;border-color:#a3c6e9}.ux2-calendar-bar.backup{background:#f0f2f5;color:#536276;border-color:#cbd4dc}.ux2-calendar-bar.vacancy{border:1px dashed #ce9d53;background:#fff7e8;color:#8a5b19}.ux2-vacancies{border-top:1px solid #e0e7ee;margin-top:18px;padding-top:14px}.ux2-vacancies>summary{font-weight:700;cursor:pointer;color:#8b5d22;padding:8px 0}.ux2-reuse form{align-items:end}.ux2-reuse label{display:flex;flex-direction:column;gap:7px;min-width:360px}.ux2-rate-preview{border-left:4px solid #1674ad}.ux2-rate-preview table{width:100%;margin:16px 0}.ux2-rate-preview td,.ux2-rate-preview th{padding:10px;border-bottom:1px solid #e6ebf0;text-align:left}.mp-role-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.mp-role-list>.btn{display:flex;align-items:flex-start;flex-direction:column;text-align:left;padding:18px;gap:7px;min-height:82px}.mp-role-list>.btn>span{font-size:12px;font-weight:400;color:#5b7186}.ux2-preferred{border-left:4px solid #35836d!important}.ux2-preferred-tag{color:#267257;font-size:12px;font-weight:650}.ux2-form-grid [hidden],select[data-ux2-searchable][hidden]{display:none!important}
@media(max-width:900px){.ux2-hours-editor{grid-template-columns:1fr}.ux2-calendar-row{grid-template-columns:180px repeat(var(--ux2-days),minmax(62px,1fr))}.ux2-team-calendar{min-width:calc(180px + var(--ux2-days)*62px)}.ux2-reuse label{min-width:240px}.ux2-filter-grid>label{min-width:calc(50% - 12px)}.ux2-period-row{flex-wrap:wrap}.ux2-hours-overview .table-wrap{overflow:auto}.ux2-hours-overview table{min-width:780px}}
/* Production: one persistent person/day row; existing controls and permissions preserved. */
[data-ux2-view] .production-list{overflow-x:auto;display:block;border:1px solid #d9e3ed;border-radius:10px;background:#fff;padding:0}
[data-ux2-view] .production-person-card{display:grid;grid-template-columns:220px 140px 245px 100px 180px 160px 125px 120px 120px;min-width:1410px;width:max-content;max-width:none;border:0;border-bottom:1px solid #dbe4ec;border-radius:0;margin:0;box-shadow:none;padding:0;align-items:stretch;gap:0}
[data-ux2-view] .production-person-card[hidden]{display:none!important}
[data-ux2-view] .production-core-row,[data-ux2-view] .production-detail-panel{display:contents!important}
[data-ux2-view] .production-core-field,[data-ux2-view] .production-detail-field,[data-ux2-view] .production-work-hours,[data-ux2-view] .production-core-state,[data-ux2-view] .eco-production-pay{padding:12px 9px;box-sizing:border-box;border-left:1px solid #edf1f5;min-width:0;grid-row:1;flex-direction:column;gap:5px}
[data-ux2-view] .production-person{grid-column:1;grid-row:1;position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid #d3dfe9;padding:12px;min-width:0;font-size:13px}
[data-ux2-view] .production-person .crew-compliance-pill{font-size:10px;padding:3px 6px;margin-top:3px}
[data-ux2-view] .production-person .ux-production-states{gap:3px;margin-top:5px}
[data-ux2-view] .production-person .state-pill{font-size:10px;padding:3px 5px}
[data-ux2-view] .production-core-field{grid-column:2;grid-row:1}
[data-ux2-view] .production-work-hours{grid-column:3;grid-row:1;font-size:12px;background:#f7fafc;display:flex;margin:0;border-top:0}
[data-ux2-view] .ux2-rdv{grid-column:4}
[data-ux2-view] .ux2-location{grid-column:5}
[data-ux2-view] .ux2-transport{grid-column:6}
[data-ux2-view] .ux2-hotel{grid-column:7}
[data-ux2-view] .ux2-catering{grid-column:8}
[data-ux2-view] .production-core-state{grid-column:9;display:flex;align-items:flex-start}
[data-ux2-view] .production-detail-field>span:first-child,[data-ux2-view] .production-core-field>span:first-child{font-size:10px;letter-spacing:.02em;color:#62758a;text-transform:uppercase;display:block;margin-bottom:7px}
[data-ux2-view] .compact-input,[data-ux2-view] .compact-select{min-width:0;width:100%;box-sizing:border-box;font-size:12px;min-height:34px}
[data-ux2-view] .production-apply-box,[data-ux2-view] .production-detail-field.statuses{display:none}
[data-ux2-view=terrain] .payroll-reference-field,[data-ux2-view=terrain] .ux2-coef,[data-ux2-view=terrain] .ux2-admin,[data-ux2-view=terrain] .supplier-field,[data-ux2-view=terrain] .ux2-admin-ok,[data-ux2-view=terrain] .admin-circuit-field,[data-ux2-view=terrain] .production-detail-field.contact,[data-ux2-view=terrain] .eco-production-pay{display:none!important}
[data-ux2-view=all] .production-person-card{grid-template-columns:220px 140px 245px 100px 180px 160px 125px 120px 120px 130px 75px 165px 180px 55px 220px 190px 190px}
[data-ux2-view=all] .payroll-reference-field{grid-column:10}
[data-ux2-view=all] .ux2-coef{grid-column:11}
[data-ux2-view=all] .ux2-admin{grid-column:12}
[data-ux2-view=all] .supplier-field{grid-column:13;display:block!important}
[data-ux2-view=all] .supplier-field.is-hidden>*{visibility:hidden}
[data-ux2-view=all] .ux2-admin-ok{grid-column:14}
[data-ux2-view=all] .eco-production-pay{grid-column:15}
[data-ux2-view=all] .admin-circuit-field{grid-column:16}
[data-ux2-view=all] .production-detail-field.contact{grid-column:17;overflow-wrap:anywhere}
.ux2-row-selector{float:left;margin-right:6px;cursor:pointer}.ux2-row-selector input{width:17px;height:17px;margin:0}
.ux2-production-bulk>summary{cursor:pointer;font-weight:650}.ux2-production-bulk [hidden]{display:none!important}.ux2-bulk-table{width:100%;font-size:13px;margin:18px 0}.ux2-bulk-table td,.ux2-bulk-table th{padding:10px;text-align:left;border-bottom:1px solid #dfe6ed}.production-view-switch [aria-pressed=true]{background:#e5f0fa;color:#155b89;border-color:#8cbadd}


/* UX2-HF1: isolated layout repairs. Legacy app.css contains !important rules;
   the overrides below are limited to the revised screens. */
.ux2-search-form{margin:12px 0 8px;padding:12px 14px;border:1px solid #d9e3ee;border-radius:10px;background:#fff}
.ux2-search-main{display:grid;grid-template-columns:minmax(220px,2fr) minmax(210px,1.35fr) 115px auto;align-items:end;gap:10px}
.ux2-search-form label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:650;color:#40556b}
.ux2-search-form input,.ux2-search-form select,.ux2-search-form .ux2-combobox>input{display:block;width:100%;min-width:0!important;max-width:100%;height:36px;min-height:36px;box-sizing:border-box;padding:7px 9px;border:1px solid #c7d3e0;border-radius:6px;background:#fff;color:#23394e;font:inherit;font-size:13px}
.ux2-search-form .ux2-combobox{min-width:0;width:100%}
.ux2-search-form select[hidden]{display:none!important}
.ux2-search-actions{display:flex;align-items:end;gap:6px;flex-wrap:wrap;min-width:0}
.ux2-search-form .btn{font-size:12px;min-height:36px;padding:7px 11px;border-radius:6px;white-space:nowrap}
.ux2-search-more{margin-top:10px;border-top:1px solid #e5ebf2;padding-top:8px}
.ux2-search-more>summary{cursor:pointer;color:#305f8c;font-size:12px;font-weight:700;line-height:1.5}
.ux2-search-more>summary>span{font-weight:400;color:#62758a;margin-left:6px}
.ux2-search-extra{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:10px;padding-top:10px}
.ux2-search-extra .ux2-search-actions{grid-column:1/-1}
.ux2-search-form .ux2-options{min-width:100%;max-width:100%;font-size:13px}
.ux2-search-form .ux2-options>button{padding:8px;overflow-wrap:anywhere}
.ux2-result-count{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;margin:8px 0;color:#3f5870}
.ux2-result-count>span{color:#65788c;font-size:11px}
.resources-directory .resource-body{min-width:0}
.resources-directory .resource-contact-line{overflow-wrap:anywhere}
.resources-directory .crew-directory-card{padding:11px;gap:9px}
.resources-directory .crew-directory-skills,.resources-directory .muted{margin:4px 0;line-height:1.35}
.resources-directory .chips{gap:4px}

.ux2-job-page .staffing-hero{padding:12px 14px;margin:8px 0}
.ux2-job-page .staffing-kpis{margin:8px 0}
.ux2-job-page .staffing-tabs{margin:8px 0}
.ux2-team-card.card{padding:12px 14px;margin:8px 0}
.ux2-team-card .section-title{margin-bottom:6px;gap:10px}
.ux2-team-card .section-title p{margin:4px 0;font-size:12px;color:#5c7287}
.ux2-team-card .bs-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;font-size:12px}
.ux2-team-card .ux-team-legend{margin:6px 0;gap:12px}
.ux2-team-scroll{height:auto;max-height:min(54vh,460px);overflow:auto;margin:8px 0;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.ux2-team-calendar{min-width:calc(185px + var(--ux2-days)*52px)}
.ux2-calendar-row{grid-template-columns:185px repeat(var(--ux2-days),minmax(52px,1fr));min-height:44px}
.ux2-calendar-row>strong,.ux2-calendar-label{padding:7px 9px;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.ux2-calendar-row small{font-size:11px;margin-top:2px;line-height:1.25}
.ux2-calendar-head{min-height:32px}
.ux2-calendar-head>span{padding:8px 3px;font-size:11px}
.ux2-calendar-track{grid-template-columns:repeat(var(--ux2-days),minmax(52px,1fr));padding:3px 0}
.ux2-calendar-bar{padding:5px 7px;border-radius:5px}
.ux2-calendar-bar strong{font-size:12px}
.ux2-vacancies{margin-top:8px;padding-top:4px}
.ux2-vacancies>summary{padding:7px 0;font-size:13px}
.ux2-reuse.card,.ux2-legacy-staffing{padding:10px 14px;margin:8px 0;font-size:13px;border-radius:9px}
.ux2-reuse p{font-size:12px;line-height:1.4}
.ux2-reuse label{min-width:0;max-width:100%;flex:1}
.ux2-reuse .ux2-combobox{min-width:0}

/* Production keeps each editable field and its autosave handler in the DOM. */
.ux2-job-page .ux2-production-document{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:8px 0;border-radius:9px}
.ux2-production-document p{margin:3px 0 0;font-size:12px;color:#5f7388}
.ux2-production-document strong{font-size:13px}
.ux2-job-page .ux2-production-bulk{padding:10px 14px;margin:8px 0;border-radius:9px;font-size:13px}
.ux2-production-bulk>p{font-size:12px;margin:8px 0}
.ux2-production-bulk .bs-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}
[data-ux2-view] .production-list{width:100%;max-width:100%;min-width:0;height:auto;max-height:min(68vh,680px);overflow:auto!important;scrollbar-gutter:stable;overscroll-behavior-x:contain}
[data-ux2-view] .production-person-card{grid-template-columns:minmax(166px,1.5fr) minmax(104px,1fr) minmax(174px,1.5fr) 90px minmax(126px,1.1fr) minmax(118px,1fr) 96px 82px 102px;min-width:1058px;width:100%;max-width:none;margin:0;padding:0;overflow:visible}
[data-ux2-view] .production-core-field,[data-ux2-view] .production-detail-field,[data-ux2-view] .production-work-hours,[data-ux2-view] .production-core-state,[data-ux2-view] .eco-production-pay{padding:7px;min-width:0;max-width:none;gap:4px;align-self:stretch;font-size:12px;border-radius:0}
[data-ux2-view] .production-person{padding:7px 8px;min-width:0;line-height:1.25}
[data-ux2-view] .production-person>strong{font-size:12px!important;line-height:1.25;overflow-wrap:anywhere}
[data-ux2-view] .production-person small{font-size:11px!important;line-height:1.25}
[data-ux2-view] .production-person .crew-compliance-pill{font-size:10px;padding:2px 5px;white-space:normal;margin-top:3px}
[data-ux2-view] .production-person .ux-production-states{margin-top:3px;gap:3px}
[data-ux2-view] .production-core-field>span:first-child,[data-ux2-view] .production-detail-field>span:first-child{font-size:10px!important;line-height:1.25;margin-bottom:4px;letter-spacing:0;text-transform:none}
[data-ux2-view] .production-work-hours{align-items:flex-start;gap:4px;line-height:1.3}
[data-ux2-view] .production-work-hours>strong{font-size:10px}
[data-ux2-view] .production-work-hours>div{font-size:11px;width:100%;overflow-wrap:anywhere}
[data-ux2-view] .production-core-state{justify-content:flex-start;gap:5px;align-items:flex-start}
[data-ux2-view] .production-complete-pill{font-size:10px!important;white-space:normal}
[data-ux2-view] .compact-input,[data-ux2-view] .compact-select{height:32px;min-height:32px;font-size:12px!important;padding:5px 6px}
[data-ux2-view] .production-apply-box,[data-ux2-view] .production-detail-field.statuses{display:none!important}
[data-ux2-view] .production-detail-field.contact a{font-size:11px;line-height:1.3}
[data-ux2-view=all] .production-person-card{grid-template-columns:185px 120px 190px 90px 145px 130px 96px 82px 102px 140px 65px 145px 160px 48px 240px 210px 185px;min-width:2438px}
[data-ux2-view] .eco-production-pay .eco-pay-amounts{font-size:11px;gap:4px}
[data-ux2-view] .eco-production-pay .eco-pay-amounts b{font-size:12px}
[data-ux2-view] .eco-production-pay>.eco-resource-offer{font-size:11px;line-height:1.3}
[data-ux2-view] .eco-production-pay .btn{font-size:11px;padding:5px 7px}

/* The economics stylesheet is loaded later; explicit scope keeps these rules stable. */
.ux2-job-page #eco-production{padding:8px 14px;margin:8px 0;border-radius:9px}
.ux2-job-page #eco-production>summary{padding:4px 0;font-size:13px}
#eco-costs .ux2-cost-help{margin:8px 0;font-size:12px;color:#516a82}
#eco-costs .ux2-cost-help>summary{cursor:pointer;font-weight:600}
#eco-costs .ux2-cost-days{margin:10px 0;max-height:min(60vh,600px);overflow:auto;border:1px solid #d4dfed;border-radius:8px;scrollbar-gutter:stable}
#eco-costs .eco-day{margin:0;border:0;border-bottom:1px solid #e0e7f0;border-radius:0}
#eco-costs .eco-day:last-child{border-bottom:0}
#eco-costs .eco-day>summary{position:relative;display:grid;grid-template-columns:minmax(130px,1fr) minmax(165px,1.4fr) minmax(210px,1.25fr) minmax(155px,1fr);align-items:center;gap:6px 12px;min-height:50px;padding:8px 12px 8px 27px;font-size:12px;list-style:none;line-height:1.35}
#eco-costs .eco-day>summary::-webkit-details-marker{display:none}
#eco-costs .eco-day>summary:before{content:'›';position:absolute;left:10px;top:14px;font-size:17px;color:#35658f}
#eco-costs .eco-day[open]>summary:before{transform:rotate(90deg)}
#eco-costs .eco-day>summary>small{grid-column:4;grid-row:1;font-size:11px;line-height:1.35}
#eco-costs .eco-day>summary>.eco-pay-amounts{grid-column:3;grid-row:1;text-align:left;font-size:11px;gap:1px}
#eco-costs .eco-day>summary>.eco-pay-amounts b{font-size:12px;white-space:nowrap}
#eco-costs .eco-day[open]>summary{background:#eef5fc}
#eco-costs .eco-form{gap:8px;padding:10px 12px}

.ux2-hours-page>.page-title{align-items:center;margin:0 0 10px;gap:12px}
.ux2-hours-page>.page-title h1{font-size:23px;margin:3px 0}
.ux2-hours-page>.page-title p{font-size:12px;line-height:1.4}
.ux2-hours-page .card{padding:12px 14px;margin:10px 0;border-radius:10px}
.ux2-hours-page .card h2{font-size:17px;margin:0 0 5px}
.ux2-hours-page .card p{font-size:12px;line-height:1.45;margin:6px 0}
.ux2-hours-page .section-title{margin-bottom:8px;gap:12px}
.ux2-hours-overview .table-wrap{max-height:420px;height:auto;overflow:auto;scrollbar-gutter:stable}
.ux2-hours-overview table{min-width:780px;table-layout:fixed}
.ux2-hours-overview th:nth-child(1){width:18%}.ux2-hours-overview th:nth-child(2){width:18%}.ux2-hours-overview th:nth-child(3){width:19%}.ux2-hours-overview th:nth-child(4){width:25%}.ux2-hours-overview th:nth-child(5){width:10%}.ux2-hours-overview th:nth-child(6){width:10%}
.ux2-hours-overview th{position:sticky;top:0;z-index:1}
.ux2-hours-overview td,.ux2-hours-overview th{padding:8px 10px;font-size:12px;line-height:1.35;vertical-align:middle;overflow-wrap:break-word}
.ux2-hours-overview th{font-size:10px}
.ux2-hours-overview td small{margin-top:2px;font-size:11px}
.ux2-hours-overview .btn.small{padding:6px 8px;font-size:12px}
.ux2-phase-roles>summary{cursor:pointer;color:#305f8c}
.ux2-phase-roles>span{display:block;font-size:11px;margin-top:4px;line-height:1.4}
.ux2-schedule-label{display:block;font-size:12px;color:#654d20}
.ux2-schedule-label.is-fixed{color:#196746}
.ux2-hours-page .bs-layout{gap:12px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}
.ux2-hours-page .bs-layout>.card{margin:0;min-width:0}
.ux2-hours-page .bs-layout .table-wrap{max-height:440px;overflow:auto}
.ux2-hours-page .bs-layout th,.ux2-hours-page .bs-layout td{padding:7px 9px;font-size:12px;line-height:1.35}
.ux2-hours-page .bs-layout th{position:sticky;top:0;z-index:1;font-size:10px}
.ux2-hours-page .bs-step{margin:12px 0 6px;padding-top:10px;font-size:13px}
.ux2-hours-page .bs-days{gap:5px;max-height:140px;overflow:auto}
.ux2-hours-page .bs-days span{padding:7px 9px;font-size:12px;border-radius:6px}
.ux2-hours-page .bs-layout label{font-size:12px;margin:8px 0;min-width:0;gap:5px}
.ux2-hours-page .bs-days label{margin:0}
.ux2-hours-page .bs-layout select,.ux2-hours-page .bs-layout input[type=time]{min-height:36px;padding:7px;font-size:13px}
.ux2-hours-page .bs-preview{padding:9px 11px;margin:10px 0;line-height:1.45;font-size:12px}
.ux2-hours-page .bs-actions{gap:7px;margin:10px 0}
.ux2-hours-page .btn{font-size:12px;padding:8px 10px}
.ux2-hours-page .bs-exceptions{padding:9px;margin-top:8px;font-size:12px}
.ux2-hours-page .bs-hint,.ux2-hours-page .bs-layout small{font-size:11px;line-height:1.4}
.ux2-hours-page .bs-review-all{margin:10px 0}
@media(max-width:1050px){
 .ux2-search-main{grid-template-columns:minmax(200px,1.5fr) minmax(180px,1fr) 100px}
 .ux2-search-actions{grid-column:1/-1}
 #eco-costs .eco-day>summary{grid-template-columns:minmax(130px,1fr) minmax(160px,1.3fr) minmax(200px,1.2fr)}
 #eco-costs .eco-day>summary>small{grid-column:1/3;grid-row:2}
 #eco-costs .eco-day>summary>.eco-pay-amounts{grid-row:1/3}
}
@media(max-width:760px){
 .ux2-search-main,.ux2-search-extra{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ux2-search-query{grid-column:1/-1}
 .ux2-search-form .ux2-search-actions{grid-column:1/-1}
 .ux2-search-form input,.ux2-search-form select,.ux2-search-form .ux2-combobox>input{font-size:16px;height:40px}
 .ux2-search-more>summary>span{display:block;margin-left:14px;font-size:11px}
 .ux2-job-page .ux2-production-document{align-items:flex-start;flex-wrap:wrap}
 .ux2-team-card .section-title{align-items:flex-start;flex-wrap:wrap}
 .ux2-hours-page .bs-layout{grid-template-columns:minmax(0,1fr)}
 .ux2-hours-page .section-title{flex-wrap:wrap}
 #eco-costs .eco-day>summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px}
 #eco-costs .eco-day>summary>strong{grid-column:1;grid-row:1}
 #eco-costs .eco-day>summary>span:not(.eco-pay-amounts){grid-column:1;grid-row:2}
 #eco-costs .eco-day>summary>.eco-pay-amounts{grid-column:2;grid-row:1/3}
 #eco-costs .eco-day>summary>small{grid-column:1/-1;grid-row:3}
}
@media(max-width:520px){
 .ux2-search-form{padding:10px}
 .ux2-search-extra{grid-template-columns:minmax(0,1fr)}
 .ux2-team-calendar{min-width:calc(155px + var(--ux2-days)*52px)}
 .ux2-calendar-row{grid-template-columns:155px repeat(var(--ux2-days),minmax(52px,1fr))}
 .ux2-hours-page .bs-fields>label{flex:1 1 140px}
 [data-ux2-view] .production-list{max-height:none}
 [data-ux2-view] .production-person-card{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%;padding-bottom:8px;border-bottom:2px solid #d4e0eb}
 [data-ux2-view] .production-person,[data-ux2-view] .production-core-field,[data-ux2-view] .production-detail-field,[data-ux2-view] .production-work-hours,[data-ux2-view] .production-core-state,[data-ux2-view] .eco-production-pay{grid-column:auto;grid-row:auto;min-width:0}
 [data-ux2-view] .production-person{position:static;grid-column:1/-1;background:#f1f6fb;border:0}
 [data-ux2-view] .production-work-hours,[data-ux2-view] .eco-production-pay,[data-ux2-view] .admin-circuit-field{grid-column:1/-1}
 [data-ux2-view] .compact-input,[data-ux2-view] .compact-select{font-size:16px!important;height:38px}
 [data-ux2-view] .production-core-state{grid-column:1/-1}
}
/* Fit navigation beside the brand without hiding synchronisation or account links. */
@media(min-width:761px){
 .topbar{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:16px;padding:8px 20px;height:auto;min-height:68px}
 .topbar .topbar-brandline{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
 .topbar .brand-logos{flex-shrink:0;width:auto}
 .topbar .brand-logo-frame{width:125px;height:30px;flex-shrink:0}
 .topbar .brand-word{font-size:10px!important}
 .topbar .header-sync{max-width:100%;font-size:9px;overflow:hidden;margin:0}
 .topbar .sync-full{overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .topbar nav{display:flex;gap:12px;align-items:center;flex-wrap:nowrap;min-width:0}
 .topbar nav a,.topbar nav summary,.topbar .user{font-size:12px;white-space:nowrap}
 .topbar nav .nav-admin-link{font-size:10px;padding:7px}
}
@media(min-width:761px) and (max-width:1100px){
 .topbar{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 16px}
 .topbar .topbar-brandline{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
 .topbar nav{justify-content:space-between;gap:8px;flex-wrap:wrap}
 .topbar nav .nav-admin-link{padding:4px 6px}
}
[data-ux2-view] .production-core-state>span.production-complete-pill{font-size:10px!important;padding:4px 6px;line-height:1.25}
[data-ux2-view] .production-core-state>.save-state{font-size:10px!important;overflow-wrap:anywhere}
[data-ux2-view=terrain] .production-person-card{grid-template-columns:minmax(166px,1.5fr) minmax(104px,1fr) minmax(174px,1.5fr) 90px minmax(126px,1.1fr) minmax(118px,1fr) 96px 90px 102px;min-width:1066px}
@media(max-width:520px){[data-ux2-view=terrain] .production-person-card{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}}
/* UX2-HF2: qualification filters and bounded, dense team planning. */
.ux2-search-qualifications{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1.3fr) minmax(210px,1fr);align-items:end;gap:10px;margin-top:10px}
.ux2-search-qualifications>p{margin:0 0 3px;font-size:11px;line-height:1.45;color:#62758a}
.ux2-skill-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;line-height:1.4}
.ux2-team-card .section-title h2{font-size:17px;margin:0}
.ux2-team-toolbar{display:flex;align-items:center;justify-content:space-between;gap:4px 16px;flex-wrap:wrap}
.ux2-team-card .ux2-team-toolbar .bs-actions{margin:3px 0}
.ux2-team-card .ux2-team-toolbar .ux-team-legend{margin:3px 0;font-size:11px;gap:9px}
.ux2-team-card .ux2-team-scroll{max-height:240px;margin:6px 0}
.ux2-team-card .ux2-calendar-row{min-height:38px}
.ux2-team-card .ux2-calendar-row>strong{padding:4px 9px;min-width:0;overflow:hidden}
.ux2-team-card .ux2-calendar-row>strong,.ux2-team-card .ux2-calendar-row>strong small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.ux2-team-card .ux2-calendar-row small{margin-top:1px}
.ux2-team-card .ux2-calendar-track{padding:2px 0;min-width:0}
.ux2-team-card .ux2-calendar-bar{padding:3px 6px}
.ux2-team-card .ux2-calendar-bar strong,.ux2-team-card .ux2-calendar-bar small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ux2-team-card .ux2-calendar-head{min-height:28px}
.ux2-team-card .ux2-calendar-head>span{padding:6px 3px}
.ux2-team-card .ux2-vacancies{margin-top:6px;padding-top:2px}
.ux2-team-card .ux2-vacancies>summary{padding:6px 0;font-size:12px}
.ux2-vacancy-count{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:10px;background:#fff1d6;font-size:11px}
.ux2-vacancies>summary>small{font-size:11px;font-weight:400;color:#657488;margin-left:9px}
.ux2-team-card .ux2-vacancies .ux2-team-scroll{max-height:220px}
.ux2-team-card .ux2-vacancies .ux2-calendar-row{min-height:30px}
.ux2-team-card .ux2-vacancies .ux2-calendar-label{padding:6px 9px;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ux2-team-card .ux2-vacancies .ux2-calendar-label small{display:none}
.ux2-team-card .ux2-vacancies .ux2-calendar-bar{display:flex;align-items:center;gap:6px;padding:2px 6px;line-height:18px;min-height:24px;box-sizing:border-box}
.ux2-team-card .ux2-vacancies .ux2-calendar-bar strong{flex:none;font-size:12px;min-width:12px;text-align:center}
.ux2-team-card .ux2-vacancies .ux2-calendar-bar small{font-size:11px;margin:0;min-width:0}
.ux2-team-card a:focus-visible{outline:2px solid #2266a1;outline-offset:-2px}
@media(max-width:760px){
 .ux2-search-qualifications{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ux2-search-qualifications>p{grid-column:1/-1}
 .ux2-team-card .ux2-team-scroll{max-height:220px}
 .ux2-vacancies>summary>small{display:block;margin:4px 0 0 14px}
 .ux2-team-card .ux2-vacancies .ux2-calendar-row{min-height:36px}
 .ux2-team-card .ux2-vacancies .ux2-calendar-label{padding-top:9px;padding-bottom:9px}
 .ux2-team-card .ux2-vacancies .ux2-calendar-bar{min-height:30px}
}
@media(max-width:520px){.ux2-search-qualifications{grid-template-columns:minmax(0,1fr)}}
