.proc-nav-section{border:1px solid rgba(255,255,255,.2);border-radius:12px;margin:10px 0;overflow:hidden;background:rgba(255,255,255,.045)}
.proc-nav-section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 12px;font-size:.81rem;letter-spacing:.04em;color:#fff}
.proc-nav-section>summary::-webkit-details-marker{display:none}.proc-nav-section>summary span{transition:.2s}.proc-nav-section[open]>summary span{transform:rotate(180deg)}
.proc-nav-hr{border-color:rgba(83,203,175,.52);background:rgba(38,133,111,.12)}.proc-nav-admin{border-color:rgba(226,181,83,.48);background:rgba(148,110,22,.12)}
.proc-nav-body{display:grid;gap:3px;padding:7px}.proc-nav-body>button{width:100%;text-align:left;border-radius:7px;padding:9px 10px;font-size:.84rem}
.proc-nav-body>button.active{border-left:3px solid #2cc9a4;font-weight:700}.proc-scroll{overflow:auto;max-width:100%}.proc-table{border-collapse:collapse;width:100%;min-width:850px}.proc-table th,.proc-table td{padding:10px;border-bottom:1px solid #dce6e2;text-align:left}.proc-table th{background:#eef5f1}.proc-table td input[type=number]{width:90px;min-width:75px}.proc-table td input[type=text]{width:180px}.proc-table td small{display:block;color:#65736a}.proc-form{display:grid;gap:12px}.proc-form label{display:grid;gap:5px}
@media(max-width:900px){.proc-nav-body{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
@media print{.proc-nav-section{display:none}}

.proc-company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:13px;margin:16px 0}.proc-company-grid label{display:grid;gap:5px;font-size:.86rem;font-weight:600}.proc-company-grid input,.proc-company-grid textarea{width:100%;padding:10px;border-radius:7px;border:1px solid #bacbc5;font-size:.93rem}.proc-logo-panel{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#f0f5f3;padding:14px;border-radius:9px}.proc-logo-panel img{max-height:80px;max-width:180px;object-fit:contain}.proc-logo-panel label{max-width:280px}

/* BDComedores 1.22.2 — Panel lateral accesible; no recortar grupos desplegables. */
#shell aside {min-height:0;}
#shell aside #nav {
 display:flex; flex-direction:column; flex:1 1 0; min-height:95px;
 overflow-x:hidden!important;overflow-y:auto!important;
 gap:7px;margin-top:8px;padding:0 7px 12px 0;
 scrollbar-gutter:stable;scrollbar-width:auto;
 scrollbar-color:#a6c778 rgba(255,255,255,.14);
 overscroll-behavior:contain;
}
#shell aside #nav::-webkit-scrollbar{width:11px}
#shell aside #nav::-webkit-scrollbar-track{background:rgba(255,255,255,.13);border-radius:8px}
#shell aside #nav::-webkit-scrollbar-thumb{background:#a6c778;border:2px solid transparent;background-clip:padding-box;border-radius:8px}
#shell aside #nav>.proc-nav-section{flex:0 0 auto!important;min-height:max-content;overflow:visible;margin:5px 0;}
#shell aside #nav>.proc-nav-section[hidden],#shell aside #nav .proc-nav-body>button[hidden]{display:none!important}
#shell aside #nav .proc-nav-body{display:flex;flex-direction:column;gap:2px;padding:7px}
#shell aside #nav .proc-nav-body>button{flex:0 0 auto;white-space:normal;word-break:normal;overflow-wrap:break-word;min-height:38px;line-height:1.35;padding:10px 9px;opacity:1;text-align:left}
#shell aside #nav .proc-nav-body>button:hover,#shell aside #nav .proc-nav-body>button:focus-visible{background:rgba(255,255,255,.15);color:white;outline-offset:-2px}
#shell aside #nav .proc-nav-body>button.active{background:rgba(255,255,255,.21);color:white}
#shell aside #nav .proc-nav-body>button.proc-nav-inventory{border-left:3px solid #bfe58b;color:#fff;background:rgba(255,255,255,.1);font-weight:750}
#shell aside #nav .proc-nav-summary-right{display:flex;align-items:center;gap:8px;white-space:nowrap}
#shell aside #nav .proc-nav-summary-right small{color:inherit;opacity:.8;font-weight:650}
#shell aside #nav .proc-nav-section>summary{line-height:1.4;gap:6px}
#procNavTools{display:flex;flex-direction:column;gap:6px;margin:14px 0 0;padding:0 1px;flex-shrink:0;min-width:0}
#procNavTools label{font-size:11px;font-weight:700;opacity:.9;letter-spacing:.02em}
#procNavSearch{width:100%;min-width:0;background:#fff;color:#173c23;border:1px solid #adc7a3;border-radius:8px;font-size:12px;line-height:1.3;padding:9px 7px}
#procNavTools .proc-nav-actions{display:flex;gap:6px;flex-wrap:wrap}
#procNavTools .proc-nav-actions button{flex:1 1 55px;min-width:0;background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.28);padding:6px 4px;font-size:11px}
#procNavMatches{font-size:10px;opacity:.85;padding:7px 0 4px;flex-shrink:0}
#shell aside #nav .proc-nav-empty{padding:16px 8px;font-size:12px;color:#fff}
@media (max-width:900px){
 #shell aside #nav {overflow-y:auto!important;overflow-x:hidden!important;}
 #shell aside #nav .proc-nav-body{display:flex;flex-direction:column;}
}
@media (max-width:750px){
 #shell aside{height:auto;position:static;max-height:none;}
 #shell aside #nav{flex:0 1 auto;max-height:55vh;min-height:120px;flex-direction:column;overflow-y:auto!important;overflow-x:hidden!important;}
 #shell aside .asidefoot{display:grid;}
 #procNavTools{margin-top:12px;}
}
@media print{#procNavTools,#procNavMatches{display:none!important}}


/* v1.22.9 · recepción masiva y dashboard ejecutivo */
.proc-home-launch{width:100%;text-align:left;background:linear-gradient(135deg,#ffffff,#eef6ef);color:#143c21;border:1px solid rgba(255,255,255,.5);padding:10px 11px;border-radius:10px;font-weight:800}
.proc-home-launch.active{box-shadow:inset 0 0 0 2px #bfe58b}
.proc-receive-table tbody tr.selected td{background:#f5fbf2}
.proc-receive-table input[type=number]{width:118px}.proc-receive-table input[type=date]{width:155px}.proc-receive-table input[type=text],.proc-receive-table .proc-rec-batch{width:170px}
.dash-kicker{font-size:11px;letter-spacing:.16em;color:#5d7078;font-weight:800}
.dash-hero{background:linear-gradient(145deg,#ffffff,#f5f8f6)}
.dash-panels-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dash-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(160px,1fr) 120px;gap:14px;align-items:center;margin:14px 0}
.dash-row small{display:block;color:#667b83;margin-top:4px}.dash-value{text-align:right;font-weight:800}
.dash-bar{height:11px;background:#edf2ee;border-radius:999px;overflow:hidden}.dash-bar i{display:block;height:100%;background:linear-gradient(90deg,#7ca740,#2cc9a4);border-radius:999px}.dash-bar.alt i{background:linear-gradient(90deg,#123d4a,#6aa0b2)}
@media(max-width:1100px){.dash-panels-2{grid-template-columns:1fr}.dash-row{grid-template-columns:1fr}}

/* OC manual: captura compacta de varias partidas */
.proc-manual-new{background:var(--green);color:var(--on-primary,#fff)}
.proc-manual-table{min-width:1220px}.proc-manual-table td{vertical-align:middle}
.proc-manual-table .pm-product{width:250px;min-width:220px}.proc-manual-table .pm-presets{width:200px}.proc-manual-table .pm-presentation{width:200px;margin-top:5px}
.proc-manual-table .pm-conv,.proc-manual-table .pm-packs,.proc-manual-table .pm-price{width:102px;min-width:92px}
.proc-manual-table .pm-delivery{width:150px}.proc-manual-table .pm-subtotal{font-weight:750;text-align:right;white-space:nowrap}
.proc-manual-total{display:flex;justify-content:flex-end;gap:20px;align-items:center;background:#f2f8f4;border:1px solid var(--line);border-radius:12px;margin:15px 0;padding:16px}
.proc-manual-total strong{font-size:23px}

/* v2.5.6 - filtros de OC con fechas independientes */
.proc-oc-filter-grid{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:13px 0 8px}
.proc-oc-filter-grid>label{flex:1 1 190px;min-width:180px}
.proc-oc-extra{display:flex;flex:2 1 340px;gap:12px;flex-wrap:wrap;align-items:end}
.proc-oc-extra:empty{display:none}
.proc-oc-extra>label{flex:1 1 160px;min-width:150px}
.proc-oc-searchbtn{flex:0 0 auto}
.proc-oc-time-help{font-size:12px;margin:10px 0 0}
.proc-oc-pagesize{display:flex;flex-direction:row;align-items:center;gap:9px;white-space:nowrap}
.proc-oc-pagesize select{width:85px}
.proc-oc-row-actions{white-space:nowrap;min-width:175px}
.proc-oc-row-actions button{padding:6px 7px;margin:1px 2px;font-size:11px}
.proc-oc-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 0}
.proc-oc-pagination>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.proc-oc-pagination button{padding:7px 10px}
@media(max-width:700px){.proc-oc-filter-grid>label,.proc-oc-extra>label{min-width:100%}.proc-oc-searchbtn{width:100%}}

/* v2.6.1 · Calendario diario: validación única por comedor y fecha. */
.proc-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.proc-calendar-toolbar h3{margin:0 0 3px}.proc-calendar-toolbar p{margin:0}
.proc-calendar-month{display:flex;align-items:center;gap:12px;text-transform:capitalize}
.proc-calendar-month button{min-width:36px;font-size:22px;padding:4px 10px}
.proc-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.83rem;margin:8px 0 14px}
.proc-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;border:1px solid rgba(0,0,0,.12)}
.proc-dot-red{background:#df6262}.proc-dot-green{background:#47a778}
.proc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.proc-calendar-weekday{text-align:center;color:inherit;font-size:.78rem;opacity:.7;padding:3px 1px}
.proc-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 2px;min-height:58px;border:1px solid;border-radius:9px;line-height:1.2;cursor:pointer;transition:transform .1s,border-color .1s;min-width:0}
.proc-calendar-day strong{font-size:1.04rem}.proc-calendar-day small{font-size:.65rem;font-weight:650;white-space:nowrap}
.proc-calendar-pending{background:#ffeded!important;color:#8a1b27!important;border-color:#ed9a9f!important}
.proc-calendar-done{background:#e2f5e9!important;color:#166138!important;border-color:#83cba5!important}
.proc-calendar-selected{outline:3px solid #2c5b97!important;outline-offset:1px;font-weight:800}
.proc-calendar-day:hover{transform:translateY(-1px);filter:brightness(.97)}
.proc-calendar-blank{min-height:20px}
.proc-calendar-count{margin:12px 0 0;font-size:.78rem}
@media(max-width:550px){.proc-calendar-grid{gap:3px}.proc-calendar-day{min-height:46px;padding:5px 1px;border-radius:5px}.proc-calendar-day small{font-size:.53rem}.proc-calendar-day strong{font-size:.9rem}.proc-calendar-legend{gap:7px;font-size:.74rem}}
