:root{font-family:"Segoe UI",Arial,sans-serif;color:#183249;background:#f4f7fa;font-synthesis:none;--blue:#003e74;--line:#dce5ee;--muted:#607487}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,.button{border:1px solid var(--blue);border-radius:9px;padding:11px 17px;background:var(--blue);color:#fff;font:600 14px "Segoe UI",sans-serif;cursor:pointer;display:inline-block;text-align:center}button:hover,.button:hover{background:#07558f;text-decoration:none}button.secondary,.button.secondary{background:white;color:var(--blue);border-color:#cbd9e6}button.secondary:hover{background:#edf3f8}input,select,textarea{width:100%;border:1px solid #c9d7e3;border-radius:8px;padding:11px 12px;font:14px "Segoe UI",sans-serif;background:white;color:#183249;min-height:43px}textarea{min-height:75px;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin-bottom:17px}label input,label select,label textarea{display:block;margin-top:7px}input:focus,select:focus,textarea:focus{outline:2px solid #7cb0d8;outline-offset:1px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #efb500;outline-offset:4px}.topbar{min-height:88px;padding:16px 32px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--blue);font-size:28px;letter-spacing:-.8px;font-weight:700}.brand:hover{text-decoration:none}.brand b{font-weight:400}.brand img{width:43px;height:51px;object-fit:contain}.brand small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;display:block;margin-top:2px}.profile{display:flex;align-items:center;gap:22px;font-size:13px}.profile small{display:block;color:var(--muted);margin-top:4px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 140px)}aside{background:var(--blue);color:white;padding:30px 18px;display:flex;flex-direction:column}.nav-label{font-size:10px;letter-spacing:1.6px;opacity:.7;padding:0 12px 20px}aside nav a{display:block;color:#dae6f0;padding:13px 14px;font-size:14px;border-radius:8px;margin-bottom:5px}aside nav a.active{background:#ffffff18;color:white;box-shadow:inset 3px 0 #efb500}aside nav a:hover{background:#ffffff10;text-decoration:none}.aside-note{margin-top:auto;padding:40px 12px 0;font-size:20px;font-weight:600}.aside-note small{display:block;font-weight:400;font-size:11px;line-height:1.8;opacity:.7;margin-top:6px}main{padding:35px 40px;min-width:0}.guest-shell{max-width:1230px;margin:auto;min-height:calc(100vh - 150px)}.auth-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding:20px 0}.intro h1{font-size:48px;line-height:1.13;letter-spacing:-1.8px;color:var(--blue)}.intro p{font-size:17px;line-height:1.85;color:var(--muted)}.intro-note{font-size:12px;border-left:3px solid #efb500;padding:10px 16px;margin-top:30px;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#426c91}h1{font-size:30px;letter-spacing:-.8px;color:var(--blue);margin:10px 0}h2{font-size:20px;color:var(--blue);margin:0 0 14px}p{line-height:1.65}p.muted,.heading p{color:var(--muted);font-size:14px}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:25px;margin-bottom:24px;min-width:0}.auth-panel{padding:30px}.auth-logo{width:65px;height:76px;object-fit:contain;display:block;margin:0 auto 20px}.full{width:100%}.help{font-size:12px;color:var(--muted);line-height:1.6}.narrow{max-width:600px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.heading p{margin:8px 0}.pill{display:inline-block;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.3px;padding:7px 11px;border-radius:20px;background:#fff4d2;color:#755100}.pill.green{background:#e7f4ec;color:#276342}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.shortcut{display:block}.shortcut:hover{text-decoration:none;border-color:#94b5d0}.shortcut h2{margin-top:16px}.shortcut p{color:var(--muted);font-size:14px}.shortcut strong{font-size:13px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.columns>.panel{height:fit-content}.notice{background:#edf3fa;border:1px solid #cfdfef;padding:15px 18px;border-radius:10px;margin-bottom:20px;font-size:13px;line-height:1.65}.notice.success{background:#edf7f0;border-color:#cfe5d7;color:#24583c}.notice.error{background:#fff1ee;border-color:#edc8c0;color:#902b20}.notice ul{margin:6px 0 0;padding-left:20px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:13px;margin-bottom:20px}.filters label{flex:1;min-width:135px;margin:0}.filters a{font-size:13px;padding:12px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{background:#f4f7fa;color:#577087;font-size:11px;text-transform:uppercase;letter-spacing:.5px}th,td{padding:14px 12px;border-bottom:1px solid #e5ecf2;vertical-align:top}td small{display:block;color:var(--muted);font-size:11px;margin-top:6px}td strong{font-size:13px}summary{cursor:pointer;color:var(--blue);font-size:13px}details p{font-size:12px;max-width:500px;overflow-wrap:anywhere}pre{font-size:11px;background:#f4f7fa;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:500px}.permission-list{list-style:none;padding:0}.permission-list li{font-size:13px;padding:8px 0;border-bottom:1px solid #e7edf3}.permission-list small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.assignment{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr auto;gap:12px;align-items:end;background:#f5f8fb;border-radius:10px;padding:16px;margin-bottom:14px}.assignment label{margin:0;min-width:0}.assignment input,.assignment select{padding:10px 7px}.assignment button{padding:11px 9px}.pagination{display:flex;justify-content:space-between;padding:20px 0 0;font-size:12px}.pagination span{color:var(--muted)}footer{padding:20px 32px;background:white;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between}dialog{border:1px solid var(--line);border-radius:16px;padding:30px;max-width:460px}dialog::backdrop{background:#102e4f80}@media(max-width:1150px){main{padding:28px 24px}.assignment{grid-template-columns:1fr 1fr}.auth-grid{gap:35px}.intro h1{font-size:38px}}@media(max-width:780px){.topbar{padding:14px 18px}.brand{font-size:23px}.brand small{font-size:9px}.profile>span{display:none}.shell{display:block}aside{padding:13px}aside nav{display:flex;overflow:auto;gap:5px}aside nav a{white-space:nowrap;margin:0;padding:10px}.nav-label,.aside-note{display:none}.columns,.auth-grid{grid-template-columns:1fr}.auth-grid{padding:0;gap:22px}.intro h1{font-size:34px}.intro p,.intro-note{display:none}.panel{padding:20px}.heading{align-items:start;flex-wrap:wrap}h1{font-size:27px}.assignment{grid-template-columns:1fr}.topbar>.pill{display:none}footer span{display:none}main{padding:24px 18px}}
.assignment-heading{align-items:flex-end}.assignment-note{max-width:330px;padding:12px 14px;border-radius:10px;background:#edf3f8;color:#526d84;font-size:12px;line-height:1.5}.operator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:22px;align-items:start}.operator-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:0 4px 13px #16324c08}.operator-card-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid #e8eef3}.operator-card-head h2{font-size:18px;margin:0;color:var(--blue)}.operator-card-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.operator-card-head .pill{margin-left:auto}.operator-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e5f0fa;color:var(--blue);font-size:16px;font-weight:700}.house-picker{border:0;margin:18px 0 16px;padding:0}.house-picker legend{font-size:12px;font-weight:700;color:#526d84;margin-bottom:10px}.house-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.house-option{position:relative;display:flex;align-items:center;gap:8px;margin:0;padding:11px 8px;border:1px solid #d6e1ea;border-radius:10px;background:#fbfcfd;cursor:pointer;font-size:12px;min-height:61px}.house-option:hover{border-color:#8db1cc;background:#f5f9fc}.house-option input{position:absolute;opacity:0;pointer-events:none}.house-check{width:18px;height:18px;display:grid;place-items:center;flex:none;border:1px solid #b9c9d7;border-radius:5px;color:transparent;font-size:13px;font-weight:800}.house-option input:checked~.house-check{background:#1267a5;border-color:#1267a5;color:#fff}.house-option:has(input:checked){border-color:#78a8ca;background:#eef6fb}.house-option strong,.house-option small{display:block}.house-option strong{font-size:13px;color:var(--blue)}.house-option small{font-size:10px;color:var(--muted);margin-top:2px}.change-reason{margin:0 0 14px}.change-reason>span{display:block;font-size:12px;color:#526d84;margin-bottom:6px}.change-reason textarea{min-height:65px;padding:10px 11px}.save-assignment{width:100%;padding:10px 14px}@media(max-width:780px){.assignment-heading{align-items:start}.assignment-note{max-width:none}.operator-grid{grid-template-columns:1fr}.house-options{grid-template-columns:1fr}.operator-card{padding:18px}}
.catalog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.catalog-tabs a{padding:11px 18px;border:1px solid #d5e1eb;border-radius:10px;background:#fff;font-size:14px;font-weight:600}.catalog-tabs a.selected{background:var(--blue);color:white;border-color:var(--blue)}.catalog-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.catalog-filters label{flex:1;min-width:170px;margin:0}.catalog-filters label:first-child{flex:2}.catalog-filters>a{padding:12px 0}.catalog-count{font-size:12px;color:var(--muted);margin:18px 0}.catalog-sub{display:block;color:var(--muted);margin-top:5px}.catalog-empty{text-align:center;padding:42px 15px;color:var(--muted)}.catalog-empty strong{color:var(--blue);font-size:17px}.catalog-form{max-width:1100px}.catalog-form fieldset{border:0;padding:0;margin:0;min-width:0}.catalog-form legend{font-size:18px;font-weight:600;color:var(--blue);margin-bottom:24px}.catalog-actions{display:flex;align-items:center;gap:24px;margin-top:24px}.catalog-guidance{padding:16px;background:#edf4fa;border-radius:9px;font-size:13px;line-height:1.7;color:#526d84}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.catalog-form fieldset:disabled{opacity:.8}@media(max-width:780px){.catalog-tabs a{flex:1;text-align:center;padding:10px}.catalog-filters{align-items:stretch}.catalog-filters label{flex:1 1 100%}.catalog-filters button{flex:1}.catalog-actions{gap:18px}}
.daily-form{display:grid;gap:20px}.daily-form .panel{margin:0}.daily-summary{display:flex;align-items:baseline;gap:11px;padding:14px 16px;margin-top:5px;border-radius:9px;background:#edf4fa;color:#31526b}.daily-summary strong{color:var(--blue);font-size:20px}.daily-summary small{color:var(--muted)}.daily-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.feed-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:10px;align-items:center}.feed-head{font-size:12px;font-weight:700;color:#526d84;padding:0 2px 5px}.feed-type{padding:9px 5px}.feed-type strong,.feed-type small{display:block}.feed-type small{font-size:11px;color:var(--muted);margin-top:3px}.feed-grid label{margin:0}.feed-grid input{min-height:40px}.compact{margin-bottom:16px}.compact h2{margin:0}.compact p{margin:4px 0 0}.empty-state{text-align:center;padding:44px}@media(max-width:900px){.daily-metrics{grid-template-columns:repeat(2,1fr)}.feed-grid{grid-template-columns:1fr 1fr}.feed-head{display:none}.feed-type{grid-column:1/-1;padding-top:16px;border-top:1px solid var(--line)}}@media(max-width:500px){.daily-metrics{grid-template-columns:1fr}.daily-summary{display:block}.daily-summary span,.daily-summary small{display:block;margin:5px 0}}

.mobile-nav-toggle{display:none}.nav-group{margin-bottom:18px}.nav-group .nav-label{display:block;padding:0 12px 8px}.nav-group:last-child{margin-bottom:0}.nav-account{margin-top:8px;padding-top:16px;border-top:1px solid #ffffff24}@media(max-width:780px){aside{padding:12px 18px;background:var(--blue)}.mobile-nav-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:#ffffff14;border:1px solid #ffffff35;border-radius:10px;padding:13px 15px;color:#fff;font-size:15px}.mobile-nav-toggle:hover{background:#ffffff22}.menu-state{font-size:22px;line-height:.7;font-weight:400}aside nav{display:none;margin-top:11px;padding:5px 0 3px;overflow:visible}aside nav.is-open{display:block}.nav-group{margin:0;padding:10px 0;border-bottom:1px solid #ffffff1f}.nav-group:last-child{border:0}.nav-group .nav-label{padding:0 10px 6px;font-size:10px;letter-spacing:1.4px;opacity:.68}.nav-group a{white-space:normal;margin:0;padding:11px 12px;font-size:15px}.nav-group a.active{box-shadow:inset 3px 0 #efb500}.nav-account{margin:0;padding-top:10px;border-top:0}.aside-note{display:none}}
.date-picker-button{margin-left:.35rem;padding:.54rem .65rem;min-width:auto;line-height:1;border:1px solid #cdd9e8;background:#fff;color:#173f73;vertical-align:middle}.date-picker-button:hover{background:#edf4fb}.native-date-picker{position:fixed;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}

/* Shared field captions: one caption per input at every width. */
.feed-grid .feed-head{display:none}
.feed-field-label{display:block;font-size:12px;color:#526d84;margin-bottom:6px}
.feed-grid{align-items:end}
.mobile-bottom-nav{display:none}
@media(max-width:780px){
 .shell{display:block;padding-bottom:90px}
 .shell>aside{position:fixed;bottom:74px;left:12px;right:12px;z-index:100;background:var(--blue);max-height:65vh;overflow:auto;padding:0;border-radius:14px}
 .shell>aside:has(nav:not(.is-open)){display:none}
 .shell>aside .mobile-nav-toggle{display:none}
 .shell>aside nav{margin:0;padding:12px;display:none}
 .shell>aside nav.is-open{display:block}
 .mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:101;background:white;border-top:1px solid var(--line);padding:5px 8px calc(5px + env(safe-area-inset-bottom));min-height:68px;justify-content:space-around}
 .mobile-bottom-nav a,.mobile-bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 4px;background:white;border:0;border-radius:0;font-size:11px;color:#607487}
 .mobile-bottom-nav span{font-size:22px;line-height:24px}
 .mobile-bottom-nav a.active,.mobile-bottom-nav button[aria-expanded="true"]{color:var(--blue);font-weight:700;background:#edf4fa}
 .daily-metrics{grid-template-columns:1fr 1fr}
 .feed-grid{grid-template-columns:1fr 1fr;gap:16px}
 .feed-type{grid-column:1/-1}
 .daily-summary{display:block}
}
.calendar-dialog{width:min(360px,calc(100vw - 24px));padding:18px;z-index:2000}
.calendar-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:8px}.calendar-actions button{width:100%}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;text-transform:capitalize}
.calendar-heading button{padding:6px 13px;font-size:24px}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:16px;text-align:center}
.calendar-days>span{font-size:12px;padding:6px 0;color:#607487}
.calendar-days button{padding:9px 0;min-width:0;border:0;background:#edf3f8;color:#003e74}
.calendar-days button:hover,.calendar-days button.selected-day{background:#003e74;color:white}
.calendar-days button.has-calendar-status{position:relative;padding-bottom:13px}.calendar-days button.has-calendar-status::after{content:'';position:absolute;left:50%;bottom:4px;width:6px;height:6px;border-radius:50%;transform:translateX(-50%);background:currentColor}.calendar-days button.calendar-complete::after{background:#238553}.calendar-days button.calendar-partial::after{background:#d69b00}.calendar-days button.calendar-missing::after{background:#c43d32}.calendar-days button.selected-day::after,.calendar-days button:hover::after{box-shadow:0 0 0 1px #fff}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:-2px 0 14px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:8px;height:8px;border-radius:50%;background:#789}.calendar-legend i.calendar-complete{background:#238553}.calendar-legend i.calendar-partial{background:#d69b00}.calendar-legend i.calendar-missing{background:#c43d32}
.packing-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;border-top:1px solid var(--line);padding:18px 0}
.packing-line label{margin:0}.packing-line button{height:44px}
@media(max-width:1000px){.packing-line{grid-template-columns:1fr 1fr}.packing-line label:first-child{grid-column:1/-1}}
.print-only{display:none}@media print{.topbar,.shell>aside,.mobile-bottom-nav,footer,.no-print,.shell>main>.notice{display:none!important}.print-only{display:flex!important}.shell{display:block;padding:0}main{padding:0 0 28px}.wincha{border:0;padding:0}.wincha .table-wrap{overflow:visible}.wincha table{font-size:11px}body{background:white}.print-export-header{align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid #173f73;padding:0 0 12px;margin-bottom:18px}.print-export-header img{display:block;width:105px;max-height:44px;object-fit:contain}.print-export-header div{text-align:right}.print-export-header strong,.print-export-header span{display:block}.print-export-header strong{font-size:18px;color:#173f73}.print-export-header span{margin-top:4px;font-size:10px;color:#607487}.protected-export{position:fixed;left:0;right:0;bottom:0;justify-content:center;border-top:1px solid #9fb4c7;padding-top:7px;font-size:8px;font-weight:700;letter-spacing:.35px;color:#607487}}
@media(max-width:780px){.closure-table thead{display:none}.closure-table,.closure-table tbody,.closure-table tr,.closure-table td{display:block;width:100%}.closure-table tr{border-bottom:2px solid var(--line);padding-bottom:12px;margin-bottom:12px}.closure-table td{padding:9px 0;border:0}.closure-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:4px}.closure-table td ul{padding-left:18px;margin:0}.closure-table td a{display:inline-block;margin-right:14px}}

.stock-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.stock-help{color:var(--muted);font-size:13px}.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.stock-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.stock-card summary{display:flex;flex-direction:column;gap:8px;padding:22px;cursor:pointer;list-style:none}.stock-card summary::-webkit-details-marker{display:none}.stock-card summary:focus-visible{outline:3px solid #d2a621;outline-offset:-4px}.stock-class{font-weight:700}.stock-quantity{font-size:32px}.stock-quantity small{display:inline;font-size:13px}.stock-average{font-size:19px}.stock-card summary>span{font-size:13px}.stock-detail-label{margin-top:8px;font-weight:700}.stock-detail-label:after{content:' +'}.stock-card[open] .stock-detail-label:after{content:' −'}.stock-lots{border-top:1px solid var(--line);padding:0 22px}.stock-lots>div{padding:14px 0;border-bottom:1px solid var(--line)}.stock-lots span{display:block;font-size:13px;margin-top:5px}.stock-history{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stock-history .panel{min-width:0}.stock-history td{overflow-wrap:anywhere}.stock-history small{display:block}.stock-history .table-wrap{margin-bottom:16px}
@media(max-width:1100px){.stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-history{grid-template-columns:1fr}}@media(max-width:600px){.stock-grid{grid-template-columns:1fr}.stock-heading{align-items:flex-start;flex-direction:column}.stock-history table{font-size:12px}.stock-history th,.stock-history td{padding:10px 6px}.mobile-bottom-nav a{font-size:10px}}
.stock-view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 12px}.stock-view-option{display:flex;flex-direction:column;gap:5px;min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--blue)}.stock-view-option:hover{text-decoration:none;border-color:#8fb1cb;box-shadow:0 5px 16px #173f7312}.stock-view-option.active{border-color:var(--blue);border-left:5px solid #efb500;background:#f4f8fb}.stock-view-option span{font-size:13px;font-weight:700}.stock-view-option strong{font-size:22px}.stock-view-option small{color:var(--muted);font-size:11px}@media(max-width:720px){.stock-view-switch{grid-template-columns:1fr}.stock-view-option{padding:14px 16px}}
.stock-lots{overflow-x:auto}.stock-lots table{width:100%;font-size:12px}.stock-lots th,.stock-lots td{padding-left:4px;padding-right:4px;white-space:nowrap;overflow-wrap:normal;word-break:normal}.stock-lots th:first-child,.stock-lots td:first-child{padding-left:0}.stock-lots th:last-child,.stock-lots td:last-child{padding-right:0;text-align:right}
.stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1100px){.stock-grid{grid-template-columns:1fr}}

.stock-lots{padding:0 12px 12px}.stock-lots table{width:100%;table-layout:fixed;font-size:13px}.stock-lots th,.stock-lots td{padding:12px 6px;overflow-wrap:anywhere}.stock-lots th:first-child{width:40%}.stock-lots th:not(:first-child),.stock-lots td:not(:first-child){text-align:right}.stock-lots th small{font-size:10px}

.correction-diff{table-layout:fixed;width:100%}.correction-diff td{overflow-wrap:anywhere}.changed-value{background:#fff8dd}.packing-correction .packing-line>input[type=hidden]{display:none}.packing-correction small{display:block}.packing-correction .packing-line>div{min-width:0}@media(max-width:600px){.correction-diff{font-size:12px}.correction-diff th,.correction-diff td{padding:10px 5px}}
.closure-progress{display:flex;align-items:center;gap:18px;margin:18px 0;padding:18px 20px;border-left:4px solid #0b5b9d;border-radius:8px;background:#e8f2f9}.closure-progress span{color:var(--muted)}
.closure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.closure-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.closure-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.closure-card h2{margin:0;font-size:20px}.closure-farm{margin:5px 0 14px;color:var(--muted);font-size:13px}.closure-metrics{margin:0}.closure-metrics>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.closure-metrics dt{color:var(--muted)}.closure-metrics dd{margin:0;font-weight:700;text-align:right}.closure-metrics dd>span,.closure-metrics dd>small{display:block}.closure-metrics .metric-delta{margin-top:3px;font-size:10px;font-weight:700;line-height:1.25}.closure-metrics .metric-delta.better{color:#147341}.closure-metrics .metric-delta.worse{color:#bf2f28}.closure-metrics .metric-delta.neutral{color:#607487}.closure-status{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:13px}.closure-complete{color:#147341;font-size:13px}.closure-issues{padding:12px 12px 12px 30px;border-radius:8px;background:#fff3ed;color:#8b321a}.conformity-box{margin-top:14px;padding:14px;border-radius:8px;background:#e4f5e9}.conformity-box small{display:block;margin-top:5px}.conformity-box p{margin:10px 0 0}.conformity-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.conformity-form textarea{min-height:72px}.closure-links{display:flex;gap:16px;margin-top:14px}.closure-action{margin-top:20px}
.closure-weight-summary{margin-top:16px;padding:14px;border:1px solid #cbddea;border-radius:12px;background:#f3f8fc}.closure-weight-summary>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.closure-weight-summary>header div{display:flex;flex-direction:column;gap:3px}.closure-weight-summary>header div>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.closure-weight-summary>header strong{color:var(--blue)}.closure-weight-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:12px 0 0}.closure-weight-summary dl>div{min-width:0}.closure-weight-summary dt{font-size:11px;color:var(--muted)}.closure-weight-summary dd{margin:2px 0 0;font-size:13px;font-weight:700}.closure-weight-summary .signal{white-space:nowrap}
.closure-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.closure-heading-actions form{margin:0}.closure-primary{box-shadow:0 8px 20px #003e7426}.closure-primary:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.topbar-context{display:flex;align-items:center;gap:22px}.company-brand{display:flex;align-items:center;gap:10px;padding-right:22px;border-right:1px solid var(--line)}.company-brand img{width:76px;height:42px;object-fit:contain}.company-brand span{display:flex;flex-direction:column;line-height:1.1}.company-brand small{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.company-brand strong{margin-top:4px;font-size:14px;color:var(--blue)}
@media(max-width:1150px){.closure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.closure-grid{grid-template-columns:1fr}.closure-progress{align-items:flex-start;flex-direction:column;gap:5px}.closure-heading{align-items:flex-start}.closure-heading-actions{width:100%;align-items:stretch;justify-content:flex-start}.closure-heading-actions form,.closure-heading-actions button{width:100%}.closure-heading-actions .pill{width:max-content}.closure-card{padding:17px}.closure-metrics>div{font-size:13px}.company-brand{padding-right:12px}.company-brand img{width:58px;height:34px}.company-brand span{display:none}.topbar-context{gap:12px}}
.feed-types{display:grid;gap:18px}.feed-type-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.feed-type-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.feed-type-heading strong,.feed-type-heading small{display:block}.feed-type-heading small{margin-top:4px;color:var(--muted)}.feed-type-heading label{width:min(260px,100%);margin:0}.feed-receipt{display:grid;grid-template-columns:1fr 1fr 1.25fr auto;gap:12px;align-items:end;padding:14px 0;border-top:1px solid var(--line)}.feed-receipt label{margin:0}.feed-receipt button{height:44px}.add-feed-receipt{margin-top:10px}@media(max-width:900px){.feed-receipt{grid-template-columns:1fr 1fr}.feed-receipt label:nth-child(3){grid-column:1/-1}.feed-type-heading{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.feed-receipt{grid-template-columns:1fr}.feed-receipt label:nth-child(3){grid-column:auto}.feed-receipt button{width:100%}}
.trace-timeline{list-style:none;padding:0;margin:22px 0}.trace-timeline li{position:relative;margin-left:11px;padding:0 0 24px 28px;border-left:2px solid #a9c4da}.trace-timeline li:last-child{padding-bottom:0;border-left-color:transparent}.trace-timeline li::before{content:'✓';position:absolute;left:-13px;top:-2px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:12px;font-weight:700}.trace-timeline li.pending::before{content:'…';background:#efb500;color:#173f73}.trace-timeline strong,.trace-timeline span,.trace-timeline small{display:block}.trace-timeline span{margin-top:4px}.trace-timeline small{margin-top:5px;color:var(--muted)}.reopening-table .pill{white-space:normal;line-height:1.35}@media(max-width:780px){.reopening-table th:nth-child(3),.reopening-table td:nth-child(3){display:none}}
.date-field-control{display:flex;align-items:stretch;width:100%;margin-top:7px}.date-field-control input{flex:1;min-width:0;margin:0;border-radius:8px 0 0 8px}.date-field-control .date-picker-button{flex:0 0 46px;margin:0;border-left:0;border-radius:0 8px 8px 0;padding:0}.calendar-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;box-shadow:0 18px 50px #102e4f40}.daily-identity{padding:20px}.daily-result{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0;padding:18px 20px;border-radius:12px;background:#eaf2f8}.daily-result strong{font-size:22px;color:var(--blue)}.selected-feed-list{display:grid;gap:16px}.selected-feed{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd}.selected-feed-heading{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end}.selected-feed-heading label{margin:0}.selected-feed-heading button{margin-bottom:0;height:43px}.feed-consumption{max-width:380px;margin:18px 0}.feed-receipt-details{padding-top:15px;border-top:1px solid var(--line)}.feed-receipt-details summary{font-weight:700}.feed-receipt-details>.help{margin:8px 0}.add-feed-type{margin-top:15px}@media(max-width:600px){.selected-feed-heading{grid-template-columns:1fr}.selected-feed-heading button{width:100%}.daily-result{align-items:flex-start;flex-direction:column}.calendar-dialog{width:calc(100vw - 24px)}.calendar-actions{grid-template-columns:1fr}}
.indicator-tabs{display:flex;gap:8px;margin-bottom:18px}.indicator-tabs a{padding:11px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600}.indicator-tabs a.selected{background:var(--blue);border-color:var(--blue);color:#fff}.indicator-filter{max-width:620px}.indicator-period{display:flex;justify-content:space-between;gap:20px;margin:4px 0 18px;padding:15px 18px;border-left:4px solid var(--blue);background:#eaf2f8;border-radius:8px}.indicator-period span{color:var(--muted);font-size:13px}.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.indicator-card{padding:21px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}.indicator-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.indicator-card h2{margin:0}.indicator-card header p{margin:5px 0 0;color:var(--muted);font-size:13px}.indicator-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:18px 0}.indicator-values>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.indicator-values dt{color:var(--muted);font-size:13px}.indicator-values dd{margin:0;text-align:right;font-weight:700;color:var(--blue)}.indicator-values.accumulated{margin-top:12px}.indicator-card details{margin-top:15px}.indicator-missing{margin:16px 0 0;padding:11px 13px;background:#fff3ed;border-radius:8px;color:#8b321a;font-size:12px}@media(max-width:1050px){.indicator-grid{grid-template-columns:1fr}}@media(max-width:600px){.indicator-period{flex-direction:column;gap:5px}.indicator-values{grid-template-columns:1fr}.indicator-tabs a{flex:1;text-align:center}.indicator-card{padding:17px}.indicator-card>header{flex-direction:column}}
[hidden]{display:none!important}
.pill.success{background:#e7f4ec;color:#276342}.pill.danger{background:#fff1ee;color:#902b20}
.pallet-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.pallet-detail-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.pallet-detail-card.is-empty{opacity:.7;background:#f7f8fa}.pallet-detail-card>header{display:flex;justify-content:space-between;gap:12px;align-items:start}.pallet-detail-card>header strong{display:block;color:var(--blue);font-size:16px}.pallet-detail-card>header small,.pallet-card-identity small{display:block;color:var(--muted);margin-top:5px}.pallet-card-identity{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:18px 0}.pallet-card-identity>span{font-weight:700}.pallet-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pallet-card-metrics>div{background:#f4f7fa;border-radius:10px;padding:13px}.pallet-card-metrics span,.pallet-card-metrics small{display:block;color:var(--muted);font-size:11px}.pallet-card-metrics strong{display:block;font-size:19px;color:var(--blue);margin:5px 0}.pallet-weight-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pallet-weight-summary>strong{width:100%;font-size:12px}.pallet-weight-summary>span{background:#edf3fa;border-radius:8px;padding:7px 9px;font-size:12px}.pallet-detail-card details{margin-top:14px}.inline-range-configuration{margin:4px 0 16px}.inline-range-editor{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:16px;margin-top:10px}.inline-range-fields{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:10px;align-items:end}.inline-range-fields label{margin:0}.inline-range-list{display:grid;gap:8px;margin-top:13px}.inline-range-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:8px}.inline-range-item strong,.inline-range-item small{display:block}.inline-range-item small{color:var(--muted);margin-top:3px}.full-pallet-selection{padding:15px 0 20px;border-bottom:1px solid var(--line)}.full-pallet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}.full-pallet-option{margin:0;border:1px solid var(--line);border-radius:11px;padding:12px;display:block}.full-pallet-option>label{display:flex;gap:10px;cursor:pointer;margin:0}.full-pallet-option:has(input:checked){border-color:var(--blue);background:#edf3fa}.full-pallet-option input{width:20px;min-height:20px;margin:2px 0}.full-pallet-option span,.full-pallet-option strong,.full-pallet-option small,.full-pallet-option b{display:block}.full-pallet-option small{color:var(--muted);margin:4px 0}.full-pallet-option details{margin:10px 0 0 30px;border-top:1px solid var(--line);padding-top:8px}.full-pallet-option summary{cursor:pointer;color:var(--blue);font-weight:700}.full-pallet-option ul{margin:8px 0 0;padding-left:20px;font-size:13px}.specific-stock-heading{margin-top:20px}.proposal-adjust{margin-top:12px}.table-total th{border-top:2px solid var(--blue);color:var(--blue)}@media(max-width:700px){.pallet-card-grid,.full-pallet-grid{grid-template-columns:1fr}.pallet-card-metrics{grid-template-columns:1fr 1fr}.inline-range-fields{grid-template-columns:1fr}.inline-range-fields button{width:100%}}
/* Genetic standards */
.standard-upload{margin-bottom:1.25rem}.standard-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:end}.standard-form .wide{grid-column:1/-1}.standard-form small{display:block;margin-top:.35rem;color:#5f7185}.standard-form textarea{width:100%;resize:vertical}.standard-preview{margin:1.25rem 0;border-left:4px solid #1d5c96}.heading.compact{margin-bottom:1rem}.heading.compact h2{margin:.2rem 0}.confirm-standard{display:flex;align-items:center;gap:1rem;margin-top:1rem}.version-link{display:inline-block;margin-right:.55rem}.standard-meta dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.standard-meta dl div{padding:.8rem;background:#f4f7fa;border-radius:.55rem}.standard-meta dt{color:#637489;font-size:.82rem}.standard-meta dd{margin:.25rem 0 0;font-weight:700}.standard-comparison table td,.standard-comparison table th{white-space:nowrap}
@media(max-width:700px){.standard-form,.standard-meta dl{grid-template-columns:1fr}.standard-form .wide{grid-column:auto}.standard-preview .table-wrap{max-height:26rem}.confirm-standard{align-items:stretch;flex-direction:column}}
.alert-summary{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 20px}.signal{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700}.signal::before{content:'';width:8px;height:8px;border-radius:50%;margin-right:7px;background:currentColor}.signal.green{background:#e6f4eb;color:#237044}.signal.warning{background:#fff3cd;color:#856404}.signal.critical{background:#fde7e4;color:#a52b20}.signal.neutral{background:#edf1f4;color:#607487}.rule-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;align-items:end}.rule-form .wide{grid-column:1/-1}.alert-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.alert-values div{padding:16px;border-radius:10px;background:#f4f7fa}.alert-values span,.alert-values strong{display:block}.alert-values span{font-size:12px;color:var(--muted);margin-bottom:7px}.alert-values strong{color:var(--blue)}@media(max-width:850px){.rule-form{grid-template-columns:1fr 1fr}.alert-values{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rule-form,.alert-values{grid-template-columns:1fr}.rule-form .wide{grid-column:auto}}
/* Edad calculada del lote */
.calculated-field{display:flex;flex-direction:column;justify-content:center;min-height:74px;padding:12px 14px;border:1px solid #d4dfe9;border-radius:10px;background:#f4f7fa}.calculated-field span,.calculated-field small{font-size:12px;color:#607487}.calculated-field strong{margin:5px 0;color:#173f73;font-size:18px}
.pallet-selector-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);gap:16px;align-items:end}.pallet-range-buttons{display:grid;gap:14px;margin:20px 0}.pallet-range-group{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd}.pallet-range-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.pallet-range-group>header strong,.pallet-range-group>header small{display:block}.pallet-range-group>header small{color:var(--muted)}.pallet-weight-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px}.pallet-weight-control{display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-template-rows:1fr 1fr;gap:5px}.pallet-weight-button{grid-row:1/3;display:flex;align-items:baseline;justify-content:center;gap:4px;min-height:70px;padding:10px}.pallet-weight-button strong{font-size:23px}.pallet-weight-button small{font-size:12px}.pallet-weight-count{display:grid;place-items:center;border-radius:8px;background:#eaf2f8;color:var(--blue);font-size:17px}.pallet-minus{display:grid;place-items:center;width:34px;min-height:32px;margin:0;padding:0;border-radius:8px;background:#e8eef4;color:var(--blue);font-size:20px}.pallet-live-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.pallet-live-summary>div,.pallet-totals>div{padding:14px;border-radius:10px;background:#eaf2f8}.pallet-live-summary span,.pallet-live-summary strong,.pallet-totals span,.pallet-totals strong{display:block}.pallet-live-summary span,.pallet-totals span{font-size:12px;color:var(--muted)}.pallet-live-summary strong,.pallet-totals strong{margin-top:5px;color:var(--blue)}.pallet-preview-list{display:grid;gap:10px;margin:12px 0 20px}.pallet-preview-card{width:100%;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) minmax(160px,.55fr) 1.2fr;gap:12px;text-align:left;background:#fff;color:var(--blue);border:1px solid var(--line)}.pallet-preview-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px #0b5b9d22}.pallet-preview-card span,.pallet-preview-card small{font-weight:400;color:var(--muted)}.pallet-discard{max-width:380px}.pallet-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}@media(max-width:900px){.pallet-preview-card{grid-template-columns:1fr}.pallet-totals{grid-template-columns:1fr 1fr}}@media(max-width:600px){.pallet-selector-row,.pallet-live-summary,.pallet-totals{grid-template-columns:1fr}.pallet-weight-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pallet-range-group{padding:12px}.pallet-weight-button{min-height:64px}.pallet-preview-card{padding:14px}.pallet-capture{padding:17px}}
.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.opening-inventory-forms>.panel{height:auto}@media(max-width:600px){.heading-actions{width:100%}.heading-actions .button{flex:1}.opening-inventory-forms .columns{grid-template-columns:1fr}}
.context-back{margin:0 0 14px}.kardex-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.kardex-product-card{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--blue);text-decoration:none}.kardex-product-card:hover,.kardex-product-card.active{border-color:#2d568d;box-shadow:0 5px 16px #173f7317}.kardex-product-card.active{border-left:5px solid var(--yellow);background:#f8fbff}.kardex-product-card span{font-weight:700}.kardex-product-card strong{font-size:24px}.kardex-product-card small{color:var(--muted)}.kardex-filters{margin-bottom:18px}.kardex-summary-table>tbody>tr:not(.kardex-detail-row)>td{vertical-align:top}.kardex-summary-table td small{display:block;margin-top:4px;color:var(--muted)}.kardex-positive{color:#147341}.kardex-negative{color:#b52b25}.kardex-detail-row>td{padding:0 12px 12px;background:#f8fafc}.kardex-detail-row details{border:1px solid var(--line);border-radius:10px;background:#fff}.kardex-detail-row summary{padding:12px 14px;color:var(--blue);font-weight:700;cursor:pointer}.kardex-detail-row details>.table-wrap{padding:0 12px 12px}.kardex-detail-row table{margin:0}.kardex-detail-row .button{white-space:nowrap}@media(max-width:800px){.kardex-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kardex-summary-table{min-width:900px}}@media(max-width:430px){.context-back .button{width:100%;text-align:center}.kardex-product-card{padding:14px}.kardex-product-card strong{font-size:20px}}
.app-update-notice{position:sticky;top:10px;z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#e2c25e;background:#fff7d9;color:#604b08;box-shadow:0 8px 24px #173f7324}.app-update-notice span,.app-update-notice small{display:block}.app-update-notice small{margin-top:3px}.app-update-notice button{flex:none}@media(max-width:600px){.app-update-notice{align-items:stretch;flex-direction:column}.app-update-notice button{width:100%}}
.pagination{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:22px 0 2px}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px}.pagination a{font-weight:700}.pagination span:first-child,.pagination span:last-child{color:#8a9aa8;background:#f5f7f9}.pagination span:nth-child(2){border:0;background:transparent;color:var(--muted)}@media(max-width:520px){.pagination{display:grid;grid-template-columns:1fr 1fr}.pagination>*{width:100%}.pagination span:nth-child(2){grid-column:1/-1;grid-row:1;text-align:center}}
.dispatch-mode-actions{display:flex;gap:10px;margin:0 0 18px}.commercial-request-row{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd;margin-bottom:14px}.commercial-request-row>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.commercial-request-row h3{margin:0}.commercial-request-row>header button{padding:8px 12px}.commercial-request-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.commercial-request-grid label,.commercial-weight-fields label{margin-bottom:12px}.commercial-weight-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commercial-weight-fields[hidden],.commercial-request[hidden],[data-proposal-results][hidden],.fifo-override[hidden]{display:none!important}.dispatch-request-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.proposal-requirement{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.proposal-requirement h4{margin:0 0 7px}.proposal-ok{color:#237044;font-weight:700}.proposal-shortage{padding:10px;border-radius:8px;background:#fde7e4;color:#a52b20;font-weight:700}.proposal-package-input{min-width:92px}.fifo-override{margin-top:18px;padding:15px;border-left:4px solid #d69b00;background:#fff8dd}.fifo-override label{margin:0}.proposal-table td{vertical-align:middle}@media(max-width:1050px){.commercial-request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dispatch-mode-actions,.dispatch-request-actions{align-items:stretch;flex-direction:column}.dispatch-mode-actions button,.dispatch-request-actions button{width:100%}.commercial-request-grid,.commercial-weight-fields{grid-template-columns:1fr}.commercial-request-row{padding:14px}.proposal-table,.proposal-table tbody,.proposal-table tr,.proposal-table td{display:block;width:100%}.proposal-table thead{display:none}.proposal-table tr{margin-bottom:12px;padding:9px 11px;border:1px solid var(--line);border-radius:10px}.proposal-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border:0}.proposal-table td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700}.proposal-package-input{width:110px;min-width:0}}
.proposal-table tr.is-selected{background:#f0f7f3}.proposal-pallet-action{padding:8px 10px;white-space:nowrap}
.pallet-close-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:17px 19px;border:2px solid #d89b00;border-radius:13px;background:#fff8dc}.pallet-close-action strong,.pallet-close-action small{display:block}.pallet-close-action strong{color:var(--blue);font-size:17px}.pallet-close-action small{margin-top:4px;color:#705a16}.pallet-close-action button{min-width:180px;font-size:16px}.pallet-preview-card.is-closed{border-color:#80b391;background:#eff8f2}.pallet-preview-card.is-closed strong:first-child::after{content:' · CERRADO';color:#276342;font-size:10px}.pallet-closed-dialog{text-align:center;width:min(470px,calc(100vw - 28px))}.pallet-closed-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:#e7f4ec;color:#276342;font-size:30px;font-weight:800}.pallet-closed-dialog dl{display:grid;gap:9px;margin:20px 0;text-align:left}.pallet-closed-dialog dl div{padding:12px 14px;border-radius:9px;background:#f4f7fa}.pallet-closed-dialog dt{font-size:11px;color:var(--muted)}.pallet-closed-dialog dd{margin:4px 0 0;color:var(--blue);font-size:17px;font-weight:700}.pallet-closed-dialog button{width:100%}@media(max-width:600px){.pallet-close-action{align-items:stretch;flex-direction:column}.pallet-close-action button{width:100%}}
.dispatch-selection-summary{position:fixed;right:20px;bottom:20px;z-index:100;width:auto}.dispatch-total-toggle{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;box-shadow:0 8px 24px #173f7338}.dispatch-total-toggle span,.dispatch-total-toggle strong{font-size:13px}.dispatch-total-panel{display:none;position:absolute;right:0;bottom:calc(100% + 8px);width:min(390px,calc(100vw - 40px));max-height:70vh;overflow:auto;margin:0;box-shadow:0 12px 36px #173f7330}.dispatch-selection-summary.is-open .dispatch-total-panel{display:block}.dispatch-total-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dispatch-total-heading h2{margin:0;font-size:19px}.dispatch-total-heading button{padding:7px 10px}.dispatch-total-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.dispatch-total-grid article{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f7f9fb}.dispatch-total-grid article.has-selection{border-color:#87b69c;background:#eef7f1}.dispatch-total-grid span,.dispatch-total-grid strong,.dispatch-total-grid small{display:block}.dispatch-total-grid span{font-size:12px;color:var(--muted);font-weight:700}.dispatch-total-grid strong{font-size:18px;color:var(--blue);margin:5px 0}.proposal-request-reference{margin:0 0 8px;color:var(--muted);font-size:13px}@media(max-width:780px){.dispatch-selection-summary{right:10px;bottom:78px}.dispatch-total-panel{width:min(360px,calc(100vw - 20px));max-height:58vh}}@media(max-width:430px){.dispatch-total-panel{padding:15px}.dispatch-total-grid article{padding:10px}.dispatch-total-grid strong{font-size:16px}}
.feed-stock-panel{margin:0 0 20px;padding:18px;border:1px solid #b8d2e4;border-left:5px solid var(--blue);border-radius:12px;background:#f3f8fb}.feed-stock-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.feed-stock-heading span,.feed-stock-heading strong{display:block}.feed-stock-heading span{font-size:10px;letter-spacing:.7px;color:var(--muted)}.feed-stock-heading strong{margin-top:4px;color:var(--blue);font-size:17px}.feed-stock-heading>div:last-child{text-align:right}.feed-stock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.feed-stock-grid article{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:12px 14px;border:1px solid #d7e5ef;border-radius:10px;background:#fff}.feed-stock-grid article span{font-weight:700;color:var(--blue)}.feed-stock-grid article small{grid-column:1;color:var(--muted)}.feed-stock-grid article strong{grid-column:2;grid-row:1/3;align-self:center;font-size:18px;color:#173f73}.feed-stock-empty{grid-column:1/-1;margin:0;padding:10px;color:var(--muted)}.feed-stock-panel>p{margin:13px 0 0;color:#465f75;font-size:12px}@media(max-width:600px){.feed-stock-heading{align-items:start;flex-direction:column}.feed-stock-heading>div:last-child{text-align:left}.feed-stock-grid{grid-template-columns:1fr}}
.daily-feed-final{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 18px;padding:14px 16px;border-radius:10px;background:#eaf2f8}.daily-feed-final span,.daily-feed-final strong,.daily-feed-final small{display:block}.daily-feed-final span{color:var(--muted);font-size:12px}.daily-feed-final strong{margin-left:auto;color:var(--blue);font-size:20px}.daily-feed-final small{color:var(--muted);font-size:11px}.daily-feed-final.is-negative{background:#fff1ee;border:1px solid #edc8c0}.daily-feed-final.is-negative strong{color:#a52b20}@media(max-width:600px){.daily-feed-final{align-items:flex-start;flex-direction:column}.daily-feed-final strong{margin:0}}
.stock-reservation{margin-top:5px;color:#8a6412;font-weight:700}
.technical-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.technical-metrics .panel{margin:0 0 20px;border-left:5px solid #2a709e}.technical-metrics .critical{border-left-color:#b6382d}.technical-metrics span,.technical-metrics strong{display:block}.technical-metrics span{color:var(--muted);font-weight:700}.technical-metrics strong{font-size:28px;margin-top:5px}.technical-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;align-items:end}.technical-form .wide{grid-column:1/-1}.weight-campaigns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.weight-campaign{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.weight-campaign.overdue{border-left:5px solid #b6382d}.weight-campaign.upcoming{border-left:5px solid #d39a19}.weight-campaign header{display:flex;justify-content:space-between;gap:10px}.weight-campaign header small{display:block;color:var(--muted);margin-top:4px}.weight-quick-entry{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.weight-quick-entry label{margin:0}.sample-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.sample-chips form{margin:0}.sample-chips button{padding:6px 8px;font-size:11px}.technical-chart{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:11px}.technical-chart canvas{display:block;width:100%;height:190px}.technical-chart small{color:var(--muted)}.signal.good{background:#e6f4eb;color:#237044}.signal.unconfigured{background:#edf1f4;color:#607487}@media(max-width:800px){.technical-metrics{grid-template-columns:1fr 1fr}.technical-form{grid-template-columns:1fr 1fr}}@media(max-width:520px){.technical-form{grid-template-columns:1fr}.technical-form .wide{grid-column:auto}.weight-campaigns{grid-template-columns:1fr}}
.weight-sample-link{white-space:nowrap;padding:8px 10px}.weight-histogram-dialog{width:min(1040px,calc(100vw - 28px));max-height:92vh;padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px #102f5050;color:var(--ink)}.weight-histogram-dialog::backdrop{background:#102f5066;backdrop-filter:blur(2px)}.weight-histogram-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 14px;border-bottom:1px solid var(--line)}.weight-histogram-dialog h2,.weight-histogram-dialog p{margin:0}.weight-histogram-dialog p{color:var(--muted);margin-top:5px}.weight-histogram-close{font-size:24px;line-height:1;padding:7px 11px}.weight-histogram-legend{display:flex;flex-wrap:wrap;gap:18px;padding:14px 24px 0;color:var(--muted);font-size:12px;font-weight:700}.weight-histogram-legend span::before{content:'';display:inline-block;width:22px;height:8px;margin-right:7px;border-radius:3px;vertical-align:middle}.weight-histogram-legend .histogram-bars::before{background:#2d70a2}.weight-histogram-legend .normal-curve::before{height:3px;background:#b43d35}.weight-histogram-legend .uniformity-range::before{background:#4c9a6a45;border:1px solid #4c9a6a}.weight-histogram-legend .standard-weight-range::before{background:#f1bd3f70;border:2px dashed #8a5700}.weight-histogram-canvas{overflow-x:auto;padding:8px 18px 0}.weight-histogram-canvas svg{display:block;width:100%;min-width:720px;height:auto}.histogram-standard-area{fill:#f1bd3f47;stroke:#8a5700;stroke-width:2;stroke-dasharray:7 5}.histogram-standard-line{stroke:#8a5700;stroke-width:3;stroke-dasharray:7 5}.histogram-standard-label{fill:#704600;font-size:12px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.histogram-uniformity-area{fill:#4c9a6a1f}.histogram-bar{fill:#2d70a2;stroke:#174b73;stroke-width:1}.histogram-normal-path{fill:none;stroke:#b43d35;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.histogram-limit-line{stroke:#4c9a6a;stroke-width:2;stroke-dasharray:6 5}.histogram-mean-line{stroke:#173f73;stroke-width:2}.histogram-marker-label{fill:#31536d;font-size:11px;font-weight:700}.weight-histogram-dialog .chart-reading{padding:14px 24px 22px}@media(max-width:650px){.weight-histogram-dialog{width:calc(100vw - 16px)}.weight-histogram-dialog>header{padding:18px 16px 12px}.weight-histogram-legend{padding:12px 16px 0}.weight-histogram-canvas{padding-inline:8px}.weight-histogram-dialog .chart-reading{padding:12px 16px 18px}}
.weight-histogram-dialog{max-width:1040px;overflow:auto}
.technical-offline-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:13px 15px;border:1px solid #d7bd68;border-radius:12px;background:#fff8df}.technical-offline-summary strong,.technical-offline-summary small{display:block}.technical-offline-summary small{margin-top:3px;color:var(--muted)}.technical-offline-summary.has-attention{border-color:#dc8f88;background:#fff1ef}.technical-offline-summary[hidden]{display:none}
.weight-capture-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:11px 13px;border-radius:10px;background:#f3f7fa}.weight-capture-progress strong{text-align:right}.weight-capture-progress small{grid-column:1/-1;color:var(--muted)}
.weight-batch-form{display:grid;gap:13px;margin:13px 0}.weight-mobile-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.weight-mobile-entry label{margin:0}.weight-mobile-entry input{min-height:52px;font-size:20px;font-weight:700}.weight-mobile-entry button{min-height:52px}.weight-live-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weight-live-metrics span{padding:9px 10px;border:1px solid #d8e2ea;border-radius:9px;background:#fbfcfd;color:var(--muted);font-size:11px}.weight-live-metrics strong{display:block;margin-top:3px;color:var(--ink);font-size:15px}.pending-weight-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px;max-height:300px;overflow:auto}.pending-weight-list>.help{grid-column:1/-1}.pending-weight-row{display:flex;align-items:end;gap:6px;padding:7px;border:1px solid #d8e2ea;border-radius:9px;background:#fff}.pending-weight-row label{flex:1;margin:0;color:var(--muted);font-size:11px}.pending-weight-row input{min-height:38px;padding:7px;font-size:16px;font-weight:700}.pending-weight-row button{min-height:38px;padding:7px 9px;font-size:11px}.field-error{margin:0;color:#b42318;font-weight:700}
@media(max-width:700px){.technical-offline-summary{align-items:stretch;flex-direction:column}.technical-offline-summary button{width:100%}.weight-mobile-entry{grid-template-columns:1fr}.weight-mobile-entry button{width:100%}.weight-live-metrics{grid-template-columns:1fr 1fr}.weight-live-metrics span:last-child{grid-column:1/-1}.pending-weight-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px}}
.action-loading{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#0b294a52;backdrop-filter:blur(2px)}.action-loading-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 13px;min-width:240px;padding:20px 24px;border:1px solid #d3e0eb;border-radius:14px;background:#fff;box-shadow:0 18px 50px #0b294a40;color:var(--blue)}.action-loading-card strong{font-size:18px}.action-loading-card small{grid-column:2;color:var(--muted)}.action-loading-spinner{grid-row:1/3;width:28px;height:28px;border:4px solid #d8e5ef;border-top-color:var(--blue);border-radius:50%;animation:action-loading-spin .75s linear infinite}form[data-submitting="1"] button[aria-disabled="true"],form[data-submitting="1"] input[aria-disabled="true"]{pointer-events:none;opacity:.72}@keyframes action-loading-spin{to{transform:rotate(360deg)}}@media(max-width:500px){.action-loading{align-items:end;padding:16px 16px 92px}.action-loading-card{width:100%;min-width:0}}

/* Selección de pallets agrupada por lote, galpón y fecha */
input[type="color"]{min-height:48px;padding:5px;cursor:pointer}.house-color-swatch{display:inline-flex;align-items:center;gap:10px;font-weight:700}.house-color-swatch i{display:block;width:52px;height:30px;flex:none;border:1px solid #173f7333;border-radius:8px;box-shadow:inset 0 0 0 1px #fff5}.house-color-swatch span,.house-color-swatch small{display:block}.house-color-swatch small{margin:0 0 2px;color:var(--muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.pallet-selection-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.pallet-selection-heading h3,.pallet-selection-heading p{margin:0}.pallet-order{display:flex;gap:7px}.pallet-order button{padding:8px 11px}.pallet-order button.active{border-color:var(--blue);background:var(--blue);color:#fff}.pallet-quick-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;margin-bottom:14px;border:1px solid var(--line);border-radius:11px;background:#f7f9fb}.pallet-quick-filters label{margin:0}.pallet-lot-list{display:grid;gap:15px}.pallet-lot-group{border:1px solid var(--line);border-left:5px solid var(--house-color);border-radius:13px;background:#fff;overflow:hidden}.pallet-lot-group>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:color-mix(in srgb,var(--house-color) 7%,white);font-weight:700}.pallet-lot-group>summary::marker{color:var(--house-color)}.pallet-lot-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--house-color);color:#fff;font-size:12px;letter-spacing:.2px}.pallet-lot-group>summary>span:last-child{color:#405d75;font-size:12px}.pallet-date-list{display:grid;gap:14px;padding:14px}.pallet-date-group{padding:0 0 14px;border-bottom:1px solid var(--line)}.pallet-date-group:last-child{padding-bottom:0;border-bottom:0}.pallet-date-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.pallet-date-group>header strong{color:var(--blue);font-size:14px}.pallet-date-group>header span{color:var(--muted);font-size:12px}.pallet-lot-group .full-pallet-option{border-left:4px solid var(--house-color)}.pallet-lot-group .full-pallet-option:has(input:checked){border-color:var(--house-color);background:color-mix(in srgb,var(--house-color) 9%,white);box-shadow:0 0 0 1px var(--house-color)}.full-pallet-option small .pallet-origin,.full-pallet-option small .pallet-classification,.full-pallet-option small .pallet-state{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:700}.pallet-origin{background:var(--house-color);color:#fff}.pallet-classification{background:#edf3fa;color:var(--blue)}.pallet-state.complete{background:#e7f4ec;color:#276342}.pallet-state.partial{background:#fff4d2;color:#755100}.full-pallet-option small{display:flex;gap:6px;flex-wrap:wrap}.pallet-date-group[hidden],.pallet-lot-group[hidden],.full-pallet-option[hidden]{display:none!important}
@media(max-width:700px){.pallet-selection-heading{align-items:stretch;flex-direction:column}.pallet-order{display:grid;grid-template-columns:1fr 1fr}.pallet-quick-filters{grid-template-columns:1fr}.pallet-lot-group>summary{align-items:flex-start;flex-direction:column}.pallet-date-group>header{align-items:flex-start;flex-direction:column}.pallet-date-list{padding:11px}.pallet-lot-tag{font-size:11px}}

/* Dashboard por perfil */
.dashboard-heading{align-items:flex-start}.dashboard-role-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.dashboard-attention{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.dashboard-attention>a,.dashboard-all-clear{display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid #efd0c9;border-radius:12px;background:#fff6f3;color:#7d2b20}.dashboard-attention>a strong{font-size:22px}.dashboard-attention>a span,.dashboard-all-clear span{font-size:12px}.dashboard-all-clear{border-color:#cde6d7;background:#f0f8f3;color:#276342}.dashboard-all-clear strong,.dashboard-all-clear span{display:block}.dashboard-section{margin:0 0 26px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.dashboard-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.dashboard-section>header h2,.dashboard-section>header p{margin:3px 0}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-kpis.executive{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpis article{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb}.dashboard-kpis span,.dashboard-kpis small{display:block;color:var(--muted)}.dashboard-kpis span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.dashboard-kpis strong{display:block;margin:8px 0 4px;color:var(--blue);font-size:26px}.dashboard-flock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:13px}.dashboard-flock-grid.compact{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.dashboard-flock-card{border:1px solid var(--line);border-left:5px solid var(--dashboard-house-color,var(--blue));border-radius:13px;padding:16px;background:#fff}.dashboard-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-card-title h3,.dashboard-card-title span,.dashboard-card-title strong{display:block}.dashboard-card-title h3{margin:3px 0;color:var(--blue)}.dashboard-card-title>div>span{font-size:12px;color:var(--muted);font-weight:700}.dashboard-card-title>div>strong{font-size:12px;color:var(--dashboard-house-color,var(--blue))}.dashboard-flock-card dl{display:grid;grid-template-columns:1fr 1fr;margin:15px 0 10px}.dashboard-flock-card dl div{padding:9px;border-top:1px solid var(--line)}.dashboard-flock-card dt{color:var(--muted);font-size:11px}.dashboard-flock-card dd{margin:3px 0 0;font-weight:800;color:var(--blue)}.dashboard-flock-card dd small{font-size:10px}.dashboard-feed{display:grid;gap:5px;padding-top:8px}.dashboard-feed>strong{font-size:12px}.dashboard-feed span{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.dashboard-feed b{color:var(--blue)}.dashboard-table{margin-top:14px}.dashboard-table h3{font-size:15px}.dashboard-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.dashboard-actions a{padding:10px 13px;border:1px solid var(--line);border-radius:9px;font-weight:700}.dashboard-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-control-grid a{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px}.dashboard-control-grid strong{font-size:25px;color:var(--blue)}.dashboard-control-grid span{font-size:12px}.dashboard-chart{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:13px}.dashboard-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dashboard-chart-heading h3{margin:0}.dashboard-chart-heading span{color:var(--muted);font-size:12px}.dashboard-quality{margin-top:16px}.dashboard-quality>div{display:grid;grid-template-columns:100px 1fr 60px;gap:10px;align-items:center;margin:8px 0}.dashboard-quality progress{width:100%;accent-color:var(--blue)}.dashboard-quality strong{text-align:right}.dashboard-shortcuts .cards{margin:0}.dashboard-shortcuts .shortcut{min-height:0}.positive{color:#28734a}.negative{color:#b4382c}.pill.amber{background:#fff4d2;color:#755100}.pill.red{background:#fde7e3;color:#a12d22}.dashboard-empty{color:var(--muted)}
.management-lot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.management-lot-grid>article{padding:15px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:12px;background:#f8fafc}.management-lot-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.management-lot-grid header strong,.management-lot-grid header span{display:block}.management-lot-grid header span{margin-top:3px;color:var(--muted);font-size:12px}.management-lot-grid .management-trend{margin:0;padding:4px 8px;border-radius:999px;background:#eef3f8;font-size:11px;font-weight:800}.management-lot-grid .management-trend.positive{background:#e8f4ec}.management-lot-grid .management-trend.negative{background:#fdecea}.management-lot-grid dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0}.management-lot-grid dl div{padding-top:9px;border-top:1px solid var(--line)}.management-lot-grid dt{color:var(--muted);font-size:10px;text-transform:uppercase}.management-lot-grid dd{margin:4px 0 0;color:var(--blue);font-size:17px;font-weight:800}.dashboard-chart-heading>div span{display:block;margin-top:4px}.dashboard-chart-heading>a{font-size:12px;font-weight:800}
.dashboard-chart-mobile-hint{display:none;color:var(--muted)}.lot-comparison-chart .current-guide{stroke:#607487}
@media(max-width:900px){.dashboard-kpis,.dashboard-kpis.executive{grid-template-columns:1fr 1fr}.dashboard-control-grid{grid-template-columns:1fr}.dashboard-section>header{align-items:stretch}.dashboard-section>header .button{white-space:nowrap}.management-lot-grid{grid-template-columns:1fr}}
@media(max-width:600px){.dashboard-section{padding:15px}.dashboard-section>header{display:grid}.dashboard-section>header .button{width:100%;text-align:center}.dashboard-kpis,.dashboard-kpis.executive{grid-template-columns:1fr 1fr}.dashboard-kpis article{padding:12px}.dashboard-kpis strong{font-size:21px}.dashboard-flock-grid,.dashboard-flock-grid.compact{grid-template-columns:1fr}.dashboard-card-title{display:grid}.dashboard-quality>div{grid-template-columns:80px 1fr 48px}.dashboard-chart{padding:10px}.dashboard-chart-heading{display:block}.dashboard-chart-heading>a{display:inline-block;margin-top:8px}.management-lot-grid dl{grid-template-columns:1fr 1fr}.management-lot-grid dl div:last-child{grid-column:1/-1}.dashboard-chart-mobile-hint{display:block;margin:8px 0}.dashboard-chart .lot-comparison-chart svg{width:700px;min-height:320px}}
@media(max-width:600px){.topbar-context .company-brand,.topbar-context .pwa-install{display:none}.topbar-context{margin-left:auto}.topbar .profile{gap:8px}.topbar .profile button{padding:9px 12px}.dashboard-heading{display:grid}.dashboard-heading>span{justify-self:start}}

/* Portal y selector unificado de módulos */
.module-switcher{display:flex;flex-direction:column;min-width:150px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb;line-height:1.2}.module-switcher:hover{border-color:#94b5d0;text-decoration:none}.module-switcher span{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.module-switcher strong{max-width:180px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--blue)}.module-portal-heading{margin-bottom:28px}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.module-card{--module-color:#2d568d;position:relative;display:flex;min-height:220px;flex-direction:column;padding:24px;border:1px solid var(--line);border-top:6px solid var(--module-color);border-radius:15px;background:#fff;color:var(--blue);box-shadow:0 8px 24px #173f730c}.module-card:hover{border-color:var(--module-color);text-decoration:none;transform:translateY(-2px)}.module-card h2{margin:28px 0 8px}.module-card p{margin:0 0 20px;color:var(--muted);font-size:14px}.module-card strong{margin-top:auto;font-size:13px}.module-card.planned{background:#fafbfc}.module-status{position:absolute;top:17px;right:18px;padding:5px 9px;border-radius:999px;background:#edf1f4;color:#607487;font-size:10px;font-weight:800;text-transform:uppercase}.module-status.active{background:#e7f4ec;color:#276342}.module-tone-green{--module-color:#31805a}.module-tone-amber{--module-color:#b9850a}.module-tone-orange{--module-color:#c26928}.module-tone-purple{--module-color:#714c9d}.module-tone-teal{--module-color:#287c81}.module-planned-panel{max-width:820px}.module-planned-panel .notice{margin:24px 0 0}.module-planned-panel>p{color:var(--muted)}
@media(max-width:780px){.module-switcher{min-width:0;padding:8px}.module-switcher span{display:none}.module-switcher strong{max-width:92px;margin:0}.module-grid{grid-template-columns:1fr}.module-card{min-height:190px}.topbar-context{gap:7px}}
@media(max-width:480px){.module-switcher strong{max-width:70px}.brand small{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile form button{padding:9px 10px}}

/* Tarjetas visibles de módulos habilitados */
.module-grid{grid-template-columns:repeat(auto-fit,minmax(250px,340px));align-items:stretch}.module-card{align-items:center;justify-content:center;min-height:250px;padding:30px 24px;text-align:center}.module-card h2{margin:18px 0 15px;font-size:23px}.module-card .module-status{position:static;order:3}.module-icon{display:grid;place-items:center;width:92px;height:92px;border-radius:24px;background:color-mix(in srgb,var(--module-color) 12%,white);color:var(--module-color)}.module-icon svg{width:60px;height:60px;overflow:visible;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.module-icon svg circle:first-child{fill:color-mix(in srgb,var(--module-color) 8%,white)}.module-icon svg circle:not(:first-child){fill:currentColor;stroke:none}.module-tone-blue{--module-color:#2d568d}
@media(max-width:780px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{min-height:210px;padding:22px 14px}.module-card h2{font-size:18px}.module-icon{width:76px;height:76px}.module-icon svg{width:50px;height:50px}}
@media(max-width:430px){.module-grid{grid-template-columns:1fr 1fr;gap:11px}.module-card{min-height:185px;padding:18px 10px}.module-card h2{font-size:16px}.module-icon{width:66px;height:66px;border-radius:18px}.module-icon svg{width:43px;height:43px}.module-status{font-size:9px}}

/* Ciclo de vida del lote */
.lifecycle-current{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 20px}.lifecycle-current>div{padding:15px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:11px;background:#fff}.lifecycle-current span,.lifecycle-current strong{display:block}.lifecycle-current span{color:var(--muted);font-size:11px}.lifecycle-current strong{margin-top:5px;color:var(--blue);font-size:17px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading h2{margin-top:4px}.lifecycle-timeline{position:relative;display:grid;gap:0;margin-top:18px;padding-left:24px}.lifecycle-timeline::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#cbd9e5}.lifecycle-timeline article{position:relative;padding:0 0 22px 18px}.lifecycle-timeline article:last-child{padding-bottom:0}.lifecycle-dot{position:absolute;left:-22px;top:5px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#7895ad;box-shadow:0 0 0 2px #7895ad}.lifecycle-timeline article.current .lifecycle-dot{background:#2b8255;box-shadow:0 0 0 2px #2b8255}.lifecycle-dot.closed{background:#173f73;box-shadow:0 0 0 2px #173f73}.lifecycle-timeline header{display:flex;align-items:baseline;gap:12px}.lifecycle-timeline header strong{font-size:17px;color:var(--blue)}.lifecycle-timeline header span,.lifecycle-timeline p{color:var(--muted)}.lifecycle-timeline p{margin:3px 0 8px}.lifecycle-timeline dl{display:flex;gap:18px;flex-wrap:wrap;margin:0}.lifecycle-timeline dl div{min-width:120px}.lifecycle-timeline dt{color:var(--muted);font-size:10px}.lifecycle-timeline dd{margin:2px 0 0;font-weight:700}.lifecycle-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lifecycle-history{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lifecycle-history>div{padding:13px;border-radius:10px;background:#f4f7fa}.lifecycle-history strong,.lifecycle-history span{display:block}.lifecycle-history strong{color:var(--blue);font-size:24px}.lifecycle-history span{color:var(--muted);font-size:11px}.lifecycle-transfer{margin-top:20px;border-top:5px solid #b9850a}.lifecycle-transfer form{margin-top:16px}.detail-list div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}@media(max-width:900px){.lifecycle-current{grid-template-columns:1fr 1fr}.lifecycle-columns{grid-template-columns:1fr}}@media(max-width:560px){.lifecycle-current{grid-template-columns:1fr}.lifecycle-history{grid-template-columns:1fr 1fr}.lifecycle-timeline header{display:grid;gap:3px}}


.assignment{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment .remove-assignment{width:100%}@media(max-width:1150px){.assignment{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.assignment{grid-template-columns:1fr}}
.daily-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.health-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.health-metric{margin:0;border-left:5px solid #78909c}.health-metric span{display:block;color:#64748b;font-weight:700}.health-metric strong{display:block;font-size:2rem;margin-top:6px}.health-metric.overdue{border-left-color:#c0392b}.health-metric.upcoming{border-left-color:#d89b16}.health-metric.completed{border-left-color:#25845b}.health-planning{align-items:start}.health-status.overdue{background:#fde8e5;color:#a5271c}.health-status.upcoming{background:#fff4cf;color:#7b5600}.health-status.completed{background:#e4f3ea;color:#17633d}.health-status.omitted,.health-status.cancelled{background:#edf0f4;color:#526170}.health-template-line{display:grid;grid-template-columns:1.4fr .7fr 1.2fr .8fr .7fr 1.2fr auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #d9e2ec}.health-template-line label{margin:0}.health-detail-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:18px;margin-bottom:18px}.compact-list>div{padding:10px 0;border-bottom:1px solid #d9e2ec}.compact-list small{display:block}.timeline>div{border-left:3px solid #9bb4cf;padding:2px 0 16px 14px}.timeline small{display:block;color:#64748b}.timeline p{margin:5px 0 0}.danger{background:#a92f24;border-color:#a92f24}
@media(max-width:900px){.health-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.health-template-line{grid-template-columns:1fr 1fr}.health-detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.health-metrics{grid-template-columns:1fr 1fr}.health-metric strong{font-size:1.55rem}.health-template-line{grid-template-columns:1fr}}

