:root{--bg:#f5f7fb;--card:#fff;--text:#182230;--muted:#667085;--line:#e4e7ec;--blue:#1457d9;--blue2:#eef4ff;--red:#d92d20;--green:#079455;--yellow:#f79009;--purple:#7a5af8;--black:#101828;--radius:18px;--shadow:0 12px 30px rgba(16,24,40,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:#0b1220;color:white;padding:22px 16px;position:fixed;inset:0 auto 0 0;z-index:5}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:white;color:#0b1220;font-weight:900}.brand small{display:block;color:#b8c0cc;margin-top:2px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{color:#d9e0ea;padding:11px 12px;border-radius:12px;font-weight:650}.sidebar nav a:hover{background:#182235;color:#fff}.main{margin-left:260px;width:calc(100% - 260px)}.topbar{height:76px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:4}.topbar h1{font-size:22px;margin:0}.menu-btn{display:none}.user-box{font-size:14px;color:var(--muted)}.content{padding:24px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card h2,.card h3{margin-top:0}.metric{display:flex;align-items:center;justify-content:space-between}.metric strong{font-size:32px}.muted{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;color:#344054;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#fafcff}.btn{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--blue);color:white;padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer}.btn.secondary{background:#eef4ff;color:#1849a9}.btn.danger{background:#fee4e2;color:#b42318}.btn.gray{background:#f2f4f7;color:#344054}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:13px;font-weight:750;color:#344054;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:11px 12px;font:inherit;background:white}.field textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850}.b-blue{background:#dbeafe;color:#1d4ed8}.b-red{background:#fee4e2;color:#b42318}.b-green{background:#dcfae6;color:#067647}.b-yellow{background:#fef0c7;color:#b54708}.b-purple{background:#ebe9fe;color:#5925dc}.b-orange{background:#ffead5;color:#c4320a}.b-cyan{background:#cffafe;color:#0e7490}.b-gray{background:#eaecf0;color:#344054}.b-black{background:#101828;color:#fff}.notice{padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;margin-bottom:16px}.success{padding:12px 14px;border-radius:14px;background:#ecfdf3;border:1px solid #abefc6;color:#067647;margin-bottom:16px}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kanban-col{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:12px;min-height:300px}.kanban-card{background:white;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 8px 20px rgba(16,24,40,.05)}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#0b1220,#1457d9)}.login-card{width:min(420px,92vw);background:white;border-radius:24px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.login-card h1{margin-top:0}.print-only{display:none}@media(max-width:900px){.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0;width:100%}.menu-btn{display:block;border:0;background:#eef4ff;color:#1849a9;border-radius:10px;padding:9px 12px}.grid-2,.grid-3,.grid-4,.form-grid,.kanban{grid-template-columns:1fr}.topbar{padding:0 14px}.content{padding:14px}.user-box{display:none}}@media print{.sidebar,.topbar,.actions,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none;border:0}.print-only{display:block}body{background:white}}

/* Panel A-B-D interactivo */
.abd-search-card{margin-bottom:16px}.abd-search-head{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:16px;align-items:end}.abd-search-head h2{margin:0 0 4px}.abd-search-head p{margin:0}.abd-search-field{margin:0}.abd-search-results{display:grid;gap:8px;margin-top:14px}.abd-result{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.abd-result-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.abd-result-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.abd-status{min-height:22px;margin:0 0 8px;font-size:13px;font-weight:800}.abd-status.ok{color:var(--green)}.abd-status.error{color:var(--red)}.abd-board{align-items:start}.kanban-col-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.kanban-col-head h2{font-size:16px;margin:0}.kanban-list{min-height:240px}.abd-dropzone.drag-over{outline:2px dashed rgba(20,87,217,.35);outline-offset:4px;background:#eef4ff}.kanban-card{cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.55;transform:rotate(.4deg)}.kanban-card.just-added{animation:abdPulse .7s ease-out}.kanban-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.compact-line{margin:4px 0}.btn.slim{padding:7px 10px;border-radius:10px;font-size:12px}.mini-btn{border:0;border-radius:10px;padding:7px 9px;font-weight:900;cursor:pointer;background:#eef4ff;color:#1849a9}.mini-btn.red{background:#fee4e2;color:#b42318}.mini-btn.blue{background:#dbeafe;color:#1d4ed8}.mini-btn.dark{background:#101828;color:#fff}.mini-btn.danger{background:#fff1f3;color:#c01048;padding:4px 8px}.mini-link{display:inline-flex;align-items:center;border-radius:10px;background:#f2f4f7;color:#344054;padding:7px 9px;font-size:12px;font-weight:900}@keyframes abdPulse{0%{box-shadow:0 0 0 0 rgba(20,87,217,.28)}100%{box-shadow:0 0 0 16px rgba(20,87,217,0)}}@media(max-width:900px){.abd-search-head{grid-template-columns:1fr}.abd-result{align-items:flex-start;flex-direction:column}.abd-result-actions{justify-content:flex-start}.kanban-list{min-height:120px}}

/* Modal de detalle rápido A-B-D */
body.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.58);display:none;align-items:center;justify-content:center;padding:22px;z-index:50}.modal-backdrop.open{display:flex}.modal-window{width:min(980px,96vw);max-height:92vh;background:white;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.28);display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f8fafc}.modal-head h2{margin:0;font-size:22px}.modal-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:var(--muted)}.modal-close{border:0;background:#eef4ff;color:#1849a9;border-radius:12px;width:38px;height:38px;font-size:24px;font-weight:900;cursor:pointer}.modal-body{padding:18px 20px;overflow:auto}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);background:#fff}.modal-loading{padding:24px;text-align:center;color:var(--muted);font-weight:800}.quick-summary h3{margin:0 0 10px;font-size:15px}.quick-titleline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.quick-titleline>div{display:flex;gap:6px;flex-wrap:wrap}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.quick-field{background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:9px 10px;min-width:0}.quick-field span,.quick-text span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--muted);margin-bottom:4px}.quick-field strong{display:block;font-size:14px;overflow-wrap:anywhere}.quick-alert{margin:0 0 14px}.quick-two-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:start}.quick-text{background:white;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}.quick-text p{margin:0;line-height:1.45;overflow-wrap:anywhere}.quick-mini-list{display:grid;gap:8px;margin-bottom:10px}.quick-mini-list .quick-field{padding:8px 9px}.quick-history{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.quick-timeline{display:grid;gap:9px}.quick-timeline-item{border:1px solid var(--line);background:#f8fafc;border-radius:13px;padding:10px}.quick-timeline-item p{margin:5px 0;line-height:1.4}@media(max-width:900px){.modal-backdrop{padding:10px;align-items:flex-end}.modal-window{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.modal-head,.modal-body,.modal-actions{padding-left:14px;padding-right:14px}.quick-titleline{align-items:flex-start;flex-direction:column}.quick-grid,.quick-two-cols{grid-template-columns:1fr}.modal-actions{justify-content:stretch}.modal-actions .btn{justify-content:center;flex:1 1 auto}}

/* Patch V1.3 - Panel A-B-D persistente por día */
.abd-days{display:grid;gap:18px}.abd-day-card{padding:16px}.abd-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.abd-day-head h2{margin:0;font-size:21px}.abd-day-head .modal-eyebrow{margin-bottom:4px}.abd-day-card .abd-board{margin-top:0}.abd-confirm-window{width:min(560px,94vw)}.confirm-text{font-size:16px;line-height:1.5;margin:0}.abd-undo-btn{position:fixed;right:24px;bottom:24px;z-index:60;border:0;border-radius:999px;background:#101828;color:#fff;padding:13px 18px;font-weight:900;box-shadow:0 18px 40px rgba(16,24,40,.26);cursor:pointer;max-width:min(420px,calc(100vw - 32px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abd-undo-btn[hidden]{display:none}.abd-undo-btn:hover{transform:translateY(-1px)}.mini-btn.danger{white-space:nowrap}@media(max-width:900px){.abd-day-card{padding:12px}.abd-day-head{align-items:flex-start;flex-direction:column}.abd-undo-btn{left:14px;right:14px;bottom:14px;width:calc(100vw - 28px);justify-content:center}.abd-day-head h2{font-size:18px}}

/* Patch V1.4 - Prioridad operativa y cards A-B-D con más contexto */
.kanban-card.priority-card-prioritario,.abd-result.priority-card-prioritario{background:linear-gradient(90deg,#fff5f5 0%,#fff 42%);border-color:#fecdca;border-left:5px solid #d92d20}.kanban-card.priority-card-normal,.abd-result.priority-card-normal{background:linear-gradient(90deg,#f8fafc 0%,#fff 45%);border-left:5px solid #98a2b3}.kanban-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.kanban-meta-grid div{background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:7px 8px;min-width:0}.kanban-meta-grid span,.kanban-text span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900;margin-bottom:3px}.kanban-meta-grid strong{display:block;font-size:12px;line-height:1.25;overflow-wrap:anywhere}.kanban-text{font-size:13px;line-height:1.35;margin:8px 0;color:#344054}.card-badges{display:flex;gap:6px;flex-wrap:wrap}.quick-associated{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.quick-associated-list{display:grid;gap:8px}.quick-associated-item{display:grid;gap:3px;background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:10px;color:var(--text)}.quick-associated-item:hover{background:#eef4ff}.quick-associated-item span,.quick-associated-item small{color:var(--muted)}@media(max-width:900px){.kanban-meta-grid{grid-template-columns:1fr}}

/* Patch V1.5 - A-B-D como mesa de trabajo por fecha de ingreso */
.abd-days{gap:22px}.abd-day-card{padding:18px;border-radius:24px;box-shadow:0 16px 38px rgba(16,24,40,.06)}.abd-day-head{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:16px}.abd-day-head h2{font-size:24px;letter-spacing:-.02em}.abd-board{grid-template-columns:repeat(3,minmax(300px,1fr));gap:18px}.kanban-col{background:#f6f8fb;border-color:#e3e8ef;border-radius:22px;padding:14px;min-height:250px}.kanban-col-head{background:rgba(255,255,255,.74);border:1px solid #edf1f6;border-radius:16px;padding:10px 11px;margin-bottom:12px}.kanban-col-head h2{font-size:15px;display:flex;align-items:center;gap:7px}.kanban-list{display:grid;gap:12px;min-height:170px}.kanban-card{margin:0;padding:14px;border-radius:18px;display:grid;gap:11px;box-shadow:0 10px 24px rgba(16,24,40,.06);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(16,24,40,.09)}.kanban-card-top{align-items:flex-start}.kanban-title-block{min-width:0;display:grid;gap:7px}.kanban-order-title{display:block;font-size:15px;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere}.kanban-chip-row{display:flex;gap:6px;flex-wrap:wrap}.kanban-info-strip{display:grid;grid-template-columns:1.15fr .75fr 1fr;gap:7px}.kanban-info-item{background:rgba(255,255,255,.86);border:1px solid #edf1f6;border-radius:13px;padding:8px 9px;min-width:0}.kanban-info-item span,.kanban-detail-row span{display:block;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#667085;margin-bottom:5px}.kanban-info-item strong{display:block;font-size:12px;line-height:1.25;overflow-wrap:anywhere;color:#182230}.kanban-detail-stack{display:grid;gap:7px}.kanban-detail-row{background:#fff;border:1px solid #edf1f6;border-radius:14px;padding:9px 10px}.kanban-detail-row p{margin:0;color:#344054;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.kanban-card-footer{border-top:1px solid #edf1f6;padding-top:10px;margin-top:0}.kanban-drag-hint{font-size:11px;font-weight:800;color:#98a2b3}.kanban-card.priority-card-prioritario,.abd-result.priority-card-prioritario{background:linear-gradient(180deg,#fff8f7 0%,#fff 70%);border-color:#fda29b;border-left:6px solid #d92d20}.kanban-card.priority-card-normal,.abd-result.priority-card-normal{background:linear-gradient(180deg,#fbfcff 0%,#fff 72%);border-color:#d9e2ec;border-left:6px solid #98a2b3}.abd-dropzone.drag-over{outline:2px solid rgba(20,87,217,.34);background:#eef4ff}.abd-search-card{border-radius:24px}.abd-result{border-radius:16px}.mini-btn.danger{background:#fff1f3;color:#c01048;border:1px solid #ffe4ea}.btn.slim{min-height:36px}.notice strong{font-weight:900}@media(max-width:1180px){.abd-board{grid-template-columns:1fr}.kanban-info-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.kanban-info-strip{grid-template-columns:1fr}.kanban-card-footer{align-items:stretch;flex-direction:column}.kanban-card-footer .btn{justify-content:center}.kanban-drag-hint{display:none}}

/* Patch V1.8 - Órdenes paginadas y modal rápido */
.orders-filter-card{border-radius:24px}.orders-filter-grid{grid-template-columns:2fr 1fr 1fr .8fr auto;align-items:end}.orders-search-field{min-width:260px}.orders-filter-action{align-self:end}.orders-list-card{border-radius:24px}.orders-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.orders-list-head h2{margin:0}.orders-list-head p:last-child{margin-bottom:0}.orders-page-size{display:flex;align-items:center;gap:8px}.pagination-bar{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:36px;padding:8px 11px;border:1px solid var(--line);background:#fff;border-radius:11px;font-weight:850;color:#344054}.page-btn:hover{background:#eef4ff;color:#1849a9;border-color:#c7d7fe}.page-btn.active{background:#1457d9;color:#fff;border-color:#1457d9}.page-btn.disabled{pointer-events:none;opacity:.45;background:#f2f4f7}.page-ellipsis{padding:0 4px;color:var(--muted);font-weight:900}@media(max-width:1180px){.orders-filter-grid{grid-template-columns:1fr 1fr}.orders-filter-action{grid-column:auto}}@media(max-width:720px){.orders-filter-grid{grid-template-columns:1fr}.orders-list-head{flex-direction:column}.pagination-bar{justify-content:flex-start}.page-btn{min-width:34px}}

/* Patch V1.9 - Precio final visible y moneda sin centavos */
.price-final-card{display:inline-grid;gap:2px;min-width:118px;padding:8px 11px;border-radius:14px;background:#dcfae6;color:#067647;border:1px solid #abefc6;line-height:1.1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.price-final-card small{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#079455}
.price-final-card strong{font-size:14px;font-weight:950;color:#05603a;white-space:nowrap}
.price-final-card.empty{background:#f2f4f7;color:#667085;border-color:#e4e7ec}
.price-final-card.empty small,.price-final-card.empty strong{color:#667085}
.money-input{font-weight:850;letter-spacing:.01em;color:#05603a;background:#f6fef9!important;border-color:#abefc6!important}
.money-input:focus{outline:2px solid rgba(7,148,85,.18);border-color:#079455!important}
@media(max-width:720px){.price-final-card{min-width:auto;width:100%}}

/* Patch V1.11 - Dashboard operativo, garantía y placeholders de monto */
.dashboard-top-grid{align-items:start}.dashboard-list-card{border-radius:24px;padding:20px}.dash-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.dash-card-head h2{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}.dash-count{display:grid;place-items:center;min-width:56px;height:56px;border-radius:18px;background:#eef4ff;color:#1849a9;font-size:26px;font-weight:950}.dash-count.green{background:#dcfae6;color:#067647}.dash-order-list{display:grid;gap:10px}.dash-order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(16,24,40,.04)}.dashboard-ready-card .dash-order-item{background:linear-gradient(90deg,#f6fef9 0%,#fff 42%);border-left:5px solid #079455}.dash-order-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dash-order-main p{margin:6px 0 3px;font-weight:850}.dash-order-main small{display:block;color:var(--muted);line-height:1.35}.dash-order-side{display:flex;align-items:center;gap:9px;justify-content:flex-end}.warranty-card{display:grid;gap:4px;margin:10px 0 14px;padding:12px 13px;border-radius:16px;border:1px solid var(--line);background:#f8fafc}.warranty-card span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:950;color:var(--muted)}.warranty-card strong{font-size:16px;line-height:1.25}.warranty-card small{color:var(--muted);line-height:1.35}.warranty-vigente{background:#ecfdf3;border-color:#abefc6}.warranty-vigente strong{color:#067647}.warranty-vencida{background:#f2f4f7}.warranty-pendiente{background:#f8fafc}.badge.b-green{white-space:nowrap}.badge.b-gray{white-space:nowrap}@media(max-width:900px){.dash-order-item{grid-template-columns:1fr}.dash-order-side{justify-content:space-between;align-items:stretch}.dash-order-side .btn{justify-content:center}.dash-card-head{align-items:flex-start}.dash-count{min-width:48px;height:48px;font-size:22px}}@media(max-width:520px){.dash-card-head{flex-direction:column}.dash-order-side{flex-direction:column}.dashboard-list-card{padding:14px}}

/* Patch V1.12: Dashboard + órdenes unificados */
.unified-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.unified-dashboard-head h2{margin:0;font-size:28px;letter-spacing:-.03em}
.unified-dashboard-head p:last-child{margin-bottom:0}
.dashboard-compact-row{margin-top:16px;margin-bottom:22px}
.dashboard-mini-card{border-radius:22px;padding:18px}
.dashboard-mini-card h3{margin-top:0}
.unified-orders-section{scroll-margin-top:20px;margin-top:8px}
.orders-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.orders-section-title h2{margin:0;font-size:24px;letter-spacing:-.02em}
@media(max-width:720px){.unified-dashboard-head,.orders-section-title{flex-direction:column;align-items:flex-start}.unified-dashboard-head h2{font-size:24px}}

/* Patch V1.13 - Nueva orden acoplada a UI */
.order-entry{display:grid;gap:18px}
.order-entry-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:26px;padding:22px;background:linear-gradient(135deg,#ffffff 0%,#f6f8ff 100%)}
.order-entry-hero h2{margin:0;font-size:30px;letter-spacing:-.035em}
.order-entry-hero p:last-child{margin-bottom:0}
.order-entry-summary{display:grid;gap:3px;min-width:190px;border:1px solid #c7d7fe;background:#eef4ff;color:#1849a9;border-radius:20px;padding:14px 16px}
.order-entry-summary span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:950;color:#1849a9}
.order-entry-summary strong{font-size:20px;line-height:1.15}
.order-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.order-section{border-radius:24px;padding:20px}
.section-title{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:16px}
.section-title>span{display:grid;place-items:center;min-width:36px;height:36px;border-radius:13px;background:#1457d9;color:white;font-weight:950}
.section-title h3{margin:0;font-size:20px;letter-spacing:-.02em}
.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}
.compact-form-grid{gap:12px}.conditional-field{display:none}.conditional-field.is-visible{display:block}.js-phone-preview.phone-ok{color:#067647;font-weight:850}.sticky-submit-bar{position:sticky;bottom:14px;z-index:3;display:flex;gap:10px;justify-content:flex-end;align-items:center;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,24,40,.12);backdrop-filter:blur(8px);border-radius:20px;padding:12px}.field input[list]{background:#fff}.field input[type="date"]{min-height:45px}
@media(max-width:1050px){.order-entry-grid{grid-template-columns:1fr}.order-entry-hero{align-items:flex-start;flex-direction:column}.order-entry-summary{width:100%}}
@media(max-width:620px){.order-entry-hero h2{font-size:24px}.sticky-submit-bar{position:static;justify-content:stretch;flex-direction:column}.sticky-submit-bar .btn{width:100%;justify-content:center}.order-section{padding:15px}}

/* Patch V1.14 - Configuración editable y confirmación A-B-D desde orden */
.config-create-card,.config-catalog-card{border-radius:24px}
.config-catalog-list{display:grid;gap:10px}
.config-catalog-row{display:grid;grid-template-columns:1.05fr 1.45fr .65fr auto;gap:12px;align-items:end;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;box-shadow:0 8px 20px rgba(16,24,40,.04)}
.config-catalog-row .field label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted)}
.config-row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.abd-confirm-window{max-width:560px}
@media(max-width:1120px){.config-catalog-row{grid-template-columns:1fr 1fr}.config-row-actions{justify-content:flex-start}}
@media(max-width:680px){.config-catalog-row{grid-template-columns:1fr}.config-row-actions .btn{flex:1;justify-content:center}}

/* Patch V1.15 - A-B-D editable en listado de órdenes */
.abd-inline-select{min-width:74px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;padding:7px 28px 7px 11px;font-weight:900;color:#344054;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.abd-inline-select:hover{border-color:#98a2b3;background:#f9fafb}
.abd-inline-select:focus{outline:3px solid #dbeafe;border-color:#1457d9}
.abd-inline-select.is-saving{opacity:.65;cursor:wait}
.abd-confirm-window{max-width:520px}

/* Patch V1.16 - Nota rápida desde listado de órdenes */
.order-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.dash-order-actions{display:grid;gap:6px;min-width:118px}
.dash-order-actions .btn{justify-content:center}
.quick-note-window{width:min(720px,94vw)}
.quick-note-grid{grid-template-columns:1fr 1fr;gap:14px}
.quick-note-check-field{align-self:end}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:800;color:#344054;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:11px 12px;min-height:44px}
.inline-check input{width:auto;margin:0}.quick-note-status{margin-bottom:12px;border-radius:14px;padding:10px 12px;font-weight:850;border:1px solid var(--line);background:#f8fafc;color:#344054}.quick-note-status.ok{background:#ecfdf3;border-color:#abefc6;color:#067647}.quick-note-status.error{background:#fff1f3;border-color:#fecdd6;color:#c01048}.quick-note-status[hidden]{display:none}@media(max-width:720px){.quick-note-grid{grid-template-columns:1fr}.order-row-actions,.dash-order-actions{width:100%;justify-content:stretch}.order-row-actions .btn,.dash-order-actions .btn{flex:1 1 auto;justify-content:center}}

/* Patch V1.17 - Nota rápida visible en columna propia */
.quick-note-th,.quick-note-cell{text-align:center;vertical-align:middle}
.quick-note-row-btn{background:#f0f9ff;color:#075985;border:1px solid #bae6fd;box-shadow:0 6px 16px rgba(14,116,144,.08);padding:9px 12px;border-radius:999px;white-space:nowrap;justify-content:center;font-size:13px;min-width:126px}
.quick-note-row-btn:hover{background:#e0f2fe;border-color:#7dd3fc;color:#0c4a6e;transform:translateY(-1px)}
.quick-note-row-btn span{font-size:14px;line-height:1}
.order-row-actions{justify-content:center;min-width:76px}
@media(max-width:980px){.quick-note-row-btn{min-width:112px;padding:8px 10px;font-size:12px}.quick-note-th,.quick-note-cell{text-align:left}.order-row-actions{justify-content:flex-start}}
@media(max-width:720px){.quick-note-row-btn{width:100%;min-width:0}.quick-note-cell{min-width:150px}.order-row-actions .btn{width:100%;justify-content:center}}

/* Patch V1.18 - UI listado órdenes + acciones A-B-D */
.orders-list-card .table-wrap{border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.orders-table-modern{min-width:1180px;border-collapse:separate;border-spacing:0}
.orders-table-modern th{font-size:11px;color:#667085;background:#f9fafb;white-space:nowrap;border-bottom:1px solid #e4e7ec}
.orders-table-modern td{vertical-align:middle;padding:12px 12px;background:#fff;border-bottom:1px solid #eef0f3}
.orders-table-modern .order-dashboard-row:hover td{background:#fcfdff}
.order-col-order{width:115px}.order-col-client{min-width:230px}.quick-open-th,.quick-open-cell{text-align:center;vertical-align:middle}.quick-open-cell{min-width:128px}.order-id-cell{display:grid;gap:6px;align-content:center}.order-id-cell strong{font-size:15px}.order-id-cell small{display:block;color:#667085;line-height:1.2}.order-client-cell{min-width:235px}.order-client-cell strong{display:block;font-weight:900;margin-bottom:2px}.order-client-cell small{display:block;color:#667085;margin-bottom:7px}.order-equipment-pill{display:inline-flex;align-items:center;max-width:280px;border:1px solid #e4e7ec;background:#f8fafc;color:#344054;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;line-height:1.2}.order-open-row-btn{background:#eef4ff;color:#1849a9;border:1px solid #c7d7fe;box-shadow:0 8px 18px rgba(20,87,217,.09);border-radius:999px;padding:9px 13px;white-space:nowrap;font-size:13px}.order-open-row-btn:hover{background:#dbeafe;border-color:#93b4fb;color:#123b8c;transform:translateY(-1px)}
.orders-table-modern .price-final-card{min-width:112px;padding:7px 9px}.orders-table-modern .price-final-card strong{font-size:13px}.orders-table-modern .badge{font-size:11px;padding:5px 8px}.orders-table-modern .abd-inline-select{min-width:66px;padding-top:6px;padding-bottom:6px}.orders-table-modern .quick-note-row-btn{min-width:122px;padding:9px 11px;font-size:12px}
@media(max-width:980px){.orders-table-modern{min-width:1100px}.order-equipment-pill{max-width:220px}.quick-open-cell{min-width:118px}.order-open-row-btn{font-size:12px;padding:8px 11px}}

.panel-abd-card-footer{display:grid;gap:9px!important;align-items:stretch!important}.panel-abd-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:center}.panel-abd-card-actions .btn{justify-content:center;min-height:36px}.panel-abd-card-actions .panel-note-btn{grid-column:1/-1;min-width:0;width:100%;padding:8px 10px}.abd-history-window{width:min(760px,94vw)}.history-only-summary{display:grid;gap:8px;border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:13px;margin-bottom:14px}.history-only-summary p{margin:0}.history-only-list .quick-timeline{max-height:52vh;overflow:auto;padding-right:4px}.history-only-list .quick-timeline-item{background:#fff}.quick-timeline-item{border:1px solid var(--line);border-radius:14px;padding:11px;margin-bottom:8px;background:#f8fafc}.quick-timeline-item p{margin:7px 0;line-height:1.45}.quick-timeline-item strong{font-weight:950}
@media(max-width:620px){.panel-abd-card-actions{grid-template-columns:1fr}.panel-abd-card-actions .panel-note-btn{grid-column:auto}.abd-history-window{width:96vw}}

/* Patch V1.19 - Usuarios y roles */
.users-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:26px;background:linear-gradient(135deg,#ffffff 0%,#f6f8ff 100%)}
.users-hero h2{margin:0;font-size:30px;letter-spacing:-.035em}.users-hero p:last-child{margin-bottom:0}
.users-default-card{display:grid;gap:3px;min-width:220px;border:1px solid #c7d7fe;background:#eef4ff;color:#1849a9;border-radius:20px;padding:14px 16px}
.users-default-card span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:950}.users-default-card strong{font-size:19px;line-height:1.15}.users-default-card small{font-weight:800;color:#4566a8}.users-layout-grid{align-items:start}.role-help-list{display:grid;gap:12px;margin:12px 0}.role-help-list>div{border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fafc}.role-help-list p{margin:8px 0 0;color:var(--muted);line-height:1.4}.users-list-card{border-radius:24px}.users-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:1.1fr .9fr .95fr .72fr .9fr .82fr auto;gap:12px;align-items:end;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;box-shadow:0 8px 20px rgba(16,24,40,.04)}.user-row-main{display:grid;gap:5px;align-self:center}.user-row-main strong{font-size:15px}.user-row-main small{color:var(--muted);font-weight:700;overflow-wrap:anywhere}.user-row .field label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted)}.user-row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.user-row-actions .btn[disabled]{opacity:.5;cursor:not-allowed}@media(max-width:1250px){.user-row{grid-template-columns:1fr 1fr 1fr}.user-row-actions{justify-content:flex-start}}@media(max-width:720px){.users-hero{align-items:flex-start;flex-direction:column}.users-default-card{width:100%}.users-hero h2{font-size:24px}.user-row{grid-template-columns:1fr}.user-row-actions .btn{flex:1;justify-content:center}}

/* Patch V1.20 - Estado del equipo al ingresar */
.inspection-section{border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)}
.inspection-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 16px}
.inspection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
.inspection-category{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(16,24,40,.04);overflow:hidden;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
.inspection-category.is-open{border-color:#b9cfff;background:#fcfdff;box-shadow:0 12px 24px rgba(20,87,217,.07)}
.inspection-toggle{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;cursor:pointer;user-select:none}
.inspection-toggle input{margin-top:3px;width:18px;height:18px;accent-color:#1457d9;flex:0 0 auto}
.inspection-toggle span{display:grid;gap:3px;line-height:1.25}.inspection-toggle strong{font-size:14px;color:#182230}.inspection-toggle small{font-size:12px;color:var(--muted)}
.inspection-panel{display:none;border-top:1px solid var(--line);padding:13px 14px 14px;background:#f8fafc}.inspection-category.is-open .inspection-panel{display:block}
.inspection-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.inspection-checks label{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e4e7ec;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;color:#344054;line-height:1.2}.inspection-checks input{width:auto;margin:0;accent-color:#1457d9}.inspection-panel textarea{min-height:64px}.inspection-general-note{margin-top:14px}.edit-inspection-block{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.inspection-summary-card{border-radius:24px}.inspection-summary{display:grid;gap:13px}.inspection-summary-head{display:flex;gap:8px;flex-wrap:wrap}.inspection-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inspection-summary-item{border:1px solid var(--line);background:#f8fafc;border-radius:16px;padding:12px;display:grid;gap:6px}.inspection-summary-item strong{font-size:13px;color:#182230}.inspection-summary-item span{font-size:13px;color:#344054;line-height:1.35}.inspection-summary-item small{font-size:12px;color:var(--muted);line-height:1.4}.inspection-summary-note{border:1px solid #c7d7fe;background:#eef4ff;color:#1849a9;border-radius:16px;padding:12px}.inspection-summary-note p{margin:6px 0 0;color:#1849a9;line-height:1.45}
@media(max-width:920px){.inspection-grid,.inspection-summary-list{grid-template-columns:1fr}.inspection-top-grid{grid-template-columns:1fr}.inspection-checks{grid-template-columns:1fr}}


/* Patch V1.21 - Sucursal por defecto de usuario */
.user-row .field select[name="sucursal_defecto"]{min-width:160px}
.user-row-main .badge.b-gray{justify-self:start}
@media(max-width:1380px){.user-row{grid-template-columns:1fr 1fr 1fr}}

/* Patch V1.22 - Balance diario de ingresos */
.daily-balance-card{margin:0 0 18px;border-radius:26px;background:linear-gradient(135deg,#ffffff 0%,#f6fef9 100%);border-color:#d1fadf}
.daily-balance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #d1fadf;padding-bottom:14px;margin-bottom:14px}
.daily-balance-head h2{margin:0 0 4px;font-size:26px;letter-spacing:-.03em}
.daily-balance-total{display:grid;gap:3px;min-width:250px;border:1px solid #abefc6;background:#ecfdf3;color:#067647;border-radius:22px;padding:16px 18px;text-align:right;box-shadow:0 10px 24px rgba(7,148,85,.08)}
.daily-balance-total span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#067647}
.daily-balance-total strong{font-size:34px;line-height:1;letter-spacing:-.04em}
.daily-balance-total small{font-weight:800;color:#067647;line-height:1.25}
.daily-income-list{display:grid;gap:9px}
.daily-income-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e4e7ec;background:#fff;border-left:5px solid #079455;border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(16,24,40,.04)}
.daily-income-main{min-width:0}.daily-income-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.daily-income-title strong{font-size:15px}.daily-income-title span{font-weight:900;overflow-wrap:anywhere}.daily-income-main small{display:block;margin-top:5px;color:#667085;font-weight:700;line-height:1.35}
.daily-income-side{display:flex;align-items:center;justify-content:flex-end;gap:9px}.daily-income-amount{display:grid;gap:2px;min-width:120px;border-radius:16px;background:#dcfae6;color:#067647;padding:9px 11px;text-align:right}.daily-income-amount small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:950}.daily-income-amount strong{font-size:16px;line-height:1}.daily-income-amount.empty{background:#f2f4f7;color:#344054}
.daily-income-empty{border:1px dashed #abefc6;border-radius:18px;background:rgba(236,253,243,.55);color:#067647;font-weight:850;padding:15px;text-align:center}
@media(max-width:900px){.daily-balance-head{flex-direction:column}.daily-balance-total{width:100%;text-align:left}.daily-income-item{grid-template-columns:1fr}.daily-income-side{justify-content:space-between;align-items:stretch}.daily-income-side .btn{justify-content:center}}
@media(max-width:560px){.daily-balance-card{padding:14px}.daily-balance-total strong{font-size:28px}.daily-income-side{flex-direction:column}.daily-income-amount{text-align:left}}

/* Patch V1.23 - Total diario compacto en título de órdenes */
.orders-section-title-with-total{align-items:center}
.dashboard-daily-total{min-width:150px;text-align:right}
.dashboard-daily-total strong{font-size:18px}
@media(max-width:720px){.orders-section-title-with-total{align-items:stretch}.dashboard-daily-total{width:100%;text-align:left}}

/* Patch V1.24: balance diario restaurado con lista compacta */
.daily-balance-card-compact{padding:18px 20px;margin-bottom:16px}
.daily-balance-card-compact .daily-balance-head{padding-bottom:10px;margin-bottom:10px}
.daily-balance-card-compact .daily-balance-head h2{font-size:23px}
.daily-balance-card-compact .daily-balance-total{padding:12px 15px;min-width:220px;border-radius:18px}
.daily-balance-card-compact .daily-balance-total strong{font-size:28px}
.daily-income-list.compact{gap:6px;max-height:230px;overflow:auto;padding-right:3px}
.daily-income-list.compact .daily-income-item{border-radius:14px;padding:8px 10px;border-left-width:4px;gap:8px;box-shadow:none}
.daily-income-list.compact .daily-income-title{gap:6px}
.daily-income-list.compact .daily-income-title strong{font-size:13px}
.daily-income-list.compact .daily-income-title span{font-size:13px}
.daily-income-list.compact .daily-income-main small{font-size:11px;margin-top:2px;line-height:1.25}
.daily-income-list.compact .daily-income-side{gap:7px}
.daily-income-list.compact .daily-income-amount{min-width:105px;padding:7px 9px;border-radius:13px}
.daily-income-list.compact .daily-income-amount small{font-size:9px}
.daily-income-list.compact .daily-income-amount strong{font-size:14px}
.daily-income-list.compact .btn.slim{padding:7px 10px;font-size:12px}
@media(max-width:900px){.daily-income-list.compact{max-height:none}.daily-balance-card-compact .daily-balance-total{min-width:0}}

/* Patch V1.25 - Trabajo fijo de diagnóstico general */
.config-catalog-row-fixed{background:linear-gradient(90deg,#f6fef9 0%,#fff 38%);border-left:5px solid #079455}
.config-catalog-row-fixed input[readonly]{background:#f8fafc;color:#344054;font-weight:800}
.config-fixed-note{display:inline-flex;align-items:center;min-height:36px;font-size:12px;font-weight:850}

/* Patch V1.28 - Modal de WhatsApp al pasar a Listo para retirar */
.ready-withdraw-window{width:min(560px,94vw)}
.ready-withdraw-notice{border:1px solid #abefc6;background:#ecfdf3;color:#067647;border-radius:16px;padding:14px;margin-bottom:14px}
.ready-withdraw-notice p{margin:6px 0 0;color:#067647}
.ready-whatsapp-btn{background:#079455;color:#fff}
.ready-whatsapp-btn:hover{filter:brightness(.98)}

/* Patch V1.29 - Flujo operativo, cliente recurrente y WhatsApp */
.wa-action-menu{position:relative;display:inline-flex;align-items:center}
.wa-action-dropdown{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#fff;border:1px solid #dbe4f0;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.16);padding:8px;z-index:30}
.wa-action-menu.is-open .wa-action-dropdown{display:block}
.wa-action-dropdown a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:#0f172a;font-weight:700;font-size:13px}
.wa-action-dropdown a:hover{background:#eef5ff;color:#0b57d0}
.client-lookup-card{margin-top:10px;border:1px solid #bfdbfe;background:#f8fbff;border-radius:14px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.client-lookup-card strong{display:block;color:#0f172a}
.client-lookup-card small{display:block;color:#64748b;margin-top:2px}
.client-lookup-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #dbeafe;padding-bottom:10px;margin-bottom:10px}
.client-lookup-orders{display:grid;gap:7px}
.client-lookup-orders a{display:grid;gap:2px;text-decoration:none;border-radius:10px;background:#fff;border:1px solid #e2e8f0;padding:8px 10px;color:#0f172a}
.client-lookup-orders a:hover{border-color:#93c5fd;background:#f0f7ff}
.lookup-error{color:#b91c1c!important}
.order-timeline-card{overflow:hidden}
.order-timeline-flow{display:flex;gap:8px;align-items:stretch;overflow-x:auto;padding:4px 0 12px}
.timeline-step{min-width:132px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:10px;display:grid;gap:6px;color:#64748b}
.timeline-step span{width:26px;height:26px;border-radius:999px;background:#e2e8f0;color:#475569;display:inline-grid;place-items:center;font-weight:900;font-size:12px}
.timeline-step strong{font-size:12px;line-height:1.2;color:#334155}
.timeline-step.is-done{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
.timeline-step.is-done span{background:#22c55e;color:#fff}
.timeline-step.is-active{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.timeline-mini-list{display:grid;gap:8px;margin-top:10px}
.timeline-mini-item{border-left:3px solid #2563eb;background:#f8fafc;border-radius:10px;padding:9px 12px}
.timeline-mini-item strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#0f172a;margin-right:8px}
.timeline-mini-item span{font-size:12px;color:#64748b}
.timeline-mini-item p{margin:6px 0 0;color:#334155;font-size:13px}
.inline-check{display:inline-flex;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;font-weight:700;color:#334155}
.ready-whatsapp-btn{background:#16a34a!important;border-color:#16a34a!important}
@media (max-width:760px){.client-lookup-head{display:grid}.wa-action-dropdown{left:auto;right:0}.timeline-step{min-width:120px}}

/* Patch V1.30 - Reportes */
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.report-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#f8fbff)}
.report-hero h2{font-size:30px;margin:0 0 4px;letter-spacing:-.03em}.report-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.report-period-form{display:grid;gap:6px;min-width:190px}.report-period-form label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:900}.report-period-form select{border:1px solid #d0d5dd;border-radius:12px;padding:10px 12px;background:#fff;font-weight:750}.only-print{display:none}.report-kpi{display:grid;gap:5px}.report-kpi span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#667085;font-weight:950}.report-kpi strong{font-size:30px;line-height:1;letter-spacing:-.04em;color:#067647}.report-kpi small{color:#667085;font-weight:700}.report-kpi.small strong{font-size:24px}.report-chart{display:grid;gap:14px}.report-chart-title{font-size:16px;font-weight:950;color:#101828}.report-bars{display:flex;align-items:end;gap:8px;height:260px;border-bottom:1px solid #e4e7ec;padding:10px 4px 0;overflow-x:auto}.report-bar-item{height:100%;min-width:52px;display:grid;grid-template-rows:auto 1fr auto;gap:6px;text-align:center}.report-bar-value{font-size:10px;font-weight:850;color:#344054;min-height:24px;line-height:1.1}.report-bar-track{height:100%;display:flex;align-items:end;justify-content:center;border-radius:12px;background:#f2f4f7;overflow:hidden}.report-bar-track span{display:block;width:100%;background:linear-gradient(180deg,#86efac,#079455);border-radius:12px 12px 0 0;min-height:4px}.report-bar-item small{font-size:10px;color:#667085;font-weight:800;white-space:nowrap}.report-summary-card{display:grid;align-content:start}.report-summary-list{display:grid;gap:10px;margin-top:8px}.report-summary-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e4e7ec;background:#f8fafc;border-radius:14px;padding:10px 12px}.report-summary-list span{color:#667085;font-weight:750}.report-summary-list strong{font-size:18px}.report-commission-card .orders-list-head{align-items:flex-start}.report-table td small{display:block;color:#667085;margin-top:3px}.report-percent-input{width:90px;border:1px solid #d0d5dd;border-radius:12px;padding:9px 10px;font-weight:850}.report-unassigned-row td{background:#fffbeb}.print-title h1{margin:0 0 4px}.print-title p{margin:0 0 14px;color:#667085}
@media(max-width:1180px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.report-hero{display:grid}.report-actions{justify-content:stretch}.report-actions .btn,.report-period-form{width:100%}.report-period-form select{width:100%}.grid-5,.report-kpi-grid,.report-chart-grid{grid-template-columns:1fr!important}.report-bars{height:220px}.report-bar-item{min-width:48px}}
@media print{.report-hero.no-print,.no-print,.sidebar,.topbar{display:none!important}.only-print{display:block!important}.main{margin:0!important;width:100%!important}.content{padding:0!important}.card{box-shadow:none!important;border:1px solid #d0d5dd!important;break-inside:avoid;margin-bottom:10px}.grid,.grid-2,.grid-3,.grid-4,.grid-5{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.report-bars{height:170px!important;overflow:hidden!important}.report-bar-item{min-width:34px}.report-bar-value,.report-bar-item small{font-size:8px}.table-wrap{overflow:visible!important}.btn{display:none!important}body{background:#fff!important}}

/* Patch V1.31 - Control de calidad */
.qc-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e5eefb;background:linear-gradient(135deg,#ffffff,#f8fbff)}
.qc-hero h2{margin:0 0 4px;font-size:24px}.qc-hero p{margin:0}
.qc-timer-box{min-width:190px;background:#0f172a;color:#fff;border-radius:18px;padding:14px 16px;text-align:right;box-shadow:0 10px 28px rgba(15,23,42,.16)}
.qc-timer-box span,.qc-timer-box small{display:block;color:#cbd5e1;font-size:12px}.qc-timer-box strong{display:block;font-size:30px;letter-spacing:.04em;margin:2px 0}
.qc-last-summary{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.qc-last-summary h2{margin-top:0}.notice.good{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.qc-quick-tests .grid{align-items:stretch}.qc-test-card{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:16px}.qc-test-card h3{margin-top:0}
.keyboard-test-area{min-height:86px;border:2px dashed #cbd5e1;border-radius:16px;background:#f8fafc;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-weight:800;color:#475569;outline:none;transition:.18s ease}
.keyboard-test-area.active,.keyboard-test-area:focus{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.keyboard-key-cloud{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;min-height:32px}.keyboard-key-cloud span{background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}
.system-info-panel{display:grid;gap:7px;margin:10px 0}.system-info-panel div{display:grid;grid-template-columns:120px 1fr;gap:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:8px 10px;font-size:12px}.system-info-panel strong{color:#334155}.system-info-panel span{color:#64748b;word-break:break-word}
.qc-module{overflow:hidden}.qc-field-grid{display:grid;gap:8px}.qc-field-row{display:grid;grid-template-columns:220px 170px minmax(160px,1fr) minmax(180px,1fr);gap:8px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:8px}.qc-field-row label{font-size:13px;font-weight:800;color:#334155}.qc-field-row select,.qc-field-row input{min-height:36px}
.qc-result-section{border:1px solid #bbf7d0;background:linear-gradient(135deg,#ffffff,#f0fdf4)}
.qc-recent-list{display:grid;gap:8px}.qc-recent-item{display:block;text-decoration:none;color:inherit;border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:10px 12px}.qc-recent-item:hover{background:#eff6ff;border-color:#bfdbfe}.qc-recent-item strong,.qc-recent-item span,.qc-recent-item small{display:block}.qc-recent-item span{font-size:13px;color:#334155;margin-top:2px}.qc-recent-item small{color:#64748b;margin-top:2px}
.qc-order-summary-card{border-left:5px solid #2563eb}.qc-order-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qc-order-summary-head h2{margin-top:0}.qc-order-summary-meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
@media(max-width:950px){.qc-hero,.qc-last-summary,.qc-order-summary-head{display:block}.qc-timer-box{margin-top:14px;text-align:left}.qc-field-row{grid-template-columns:1fr}.system-info-panel div{grid-template-columns:1fr}.qc-field-row label{font-size:12px}}
@media print{.sidebar,.topbar,.actions,.sticky-submit-bar,.qc-quick-tests .actions{display:none!important}.main,.content{margin:0;padding:0}.card{box-shadow:none!important;break-inside:avoid}.qc-field-row{grid-template-columns:190px 120px 1fr 1fr}}

/* Patch V1.32 - Impresor de QR por orden */
.qr-order-btn{background:#f0fdf4!important;color:#067647!important;border:1px solid #bbf7d0}
.qr-print-card{overflow:hidden}
.qr-print-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.qr-print-head h2{margin:0 0 4px}
.qr-print-sheet{display:grid;place-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:22px}
.qr-label{width:min(680px,100%);background:#fff;border:1px solid #d0d5dd;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(16,24,40,.08)}
.qr-brand-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e4e7ec;padding-bottom:12px;margin-bottom:14px}
.qr-brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#101828;color:#fff;font-weight:950;letter-spacing:.04em}
.qr-brand-row strong{display:block;font-size:16px}.qr-brand-row span{display:block;color:#667085;font-size:12px;margin-top:2px}
.qr-label-body{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.qr-code-box{display:grid;place-items:center;border:1px solid #e4e7ec;border-radius:16px;background:#fff;padding:10px;min-width:240px;min-height:240px}
.qr-code-box svg{display:block;width:220px;height:220px;max-width:100%}
.qr-label-info h2{font-size:32px;margin:0 0 10px;letter-spacing:-.04em}.qr-label-info p{margin:6px 0;font-size:14px;color:#344054}.qr-label-info strong{color:#101828}
.qr-label-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e4e7ec;margin-top:14px;padding-top:10px;color:#667085;font-weight:800;font-size:12px}
.qr-payload-preview{margin-top:18px}.qr-payload-preview pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:16px;padding:14px;overflow:auto;font-size:12px;line-height:1.45}
@media(max-width:760px){.qr-print-head,.qr-label-body{display:grid}.qr-code-box{min-width:0}.qr-label-info h2{font-size:26px}.qr-label-footer{display:grid}}
@media print{.qr-page-actions,.qr-print-head,.qr-payload-preview,.sidebar,.topbar{display:none!important}.main{margin:0!important;width:100%!important}.content{padding:0!important}.qr-print-card{border:0!important;box-shadow:none!important;padding:0!important}.qr-print-sheet{border:0!important;background:#fff!important;padding:0!important;place-items:start}.qr-label{width:90mm;min-height:58mm;border:1px solid #111!important;border-radius:4mm!important;box-shadow:none!important;padding:5mm!important;break-inside:avoid}.qr-brand-row{padding-bottom:3mm;margin-bottom:3mm}.qr-brand-mark{width:14mm;height:14mm;border-radius:3mm}.qr-label-body{grid-template-columns:31mm 1fr;gap:5mm}.qr-code-box{border:0!important;padding:0!important;min-width:31mm;min-height:31mm}.qr-code-box svg{width:31mm!important;height:31mm!important}.qr-label-info h2{font-size:16pt;margin-bottom:2mm}.qr-label-info p{font-size:8.5pt;margin:1.2mm 0}.qr-label-footer{font-size:7pt;margin-top:3mm;padding-top:2mm}body{background:#fff!important}}

/* Patch V1.33 - Landing post login y sucursales */
.landing-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.landing-hero h2 { margin: 0 0 6px; font-size: 28px; }
.landing-user-pill {
    min-width: 210px;
    border: 1px solid rgba(20, 184, 166, .25);
    background: linear-gradient(135deg, rgba(16,185,129,.12), rgba(34,197,94,.08));
    border-radius: 18px;
    padding: 14px 16px;
    text-align: right;
}
.landing-user-pill span { display:block; color:#64748b; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.landing-user-pill strong { display:block; color:#047857; margin-top:4px; }
.landing-actions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 0;
}
.landing-action-card {
    position: relative;
    display: flex;
    min-height: 190px;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px;
    border-radius: 24px;
    text-decoration: none;
    color: #0f172a;
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 16px 35px rgba(15, 23, 42, .07);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    overflow: hidden;
}
.landing-action-card:hover { transform: translateY(-3px); box-shadow: 0 22px 42px rgba(15, 23, 42, .12); border-color: #bfdbfe; }
.landing-action-card:before {
    content: '';
    position: absolute;
    right: -42px;
    top: -42px;
    width: 135px;
    height: 135px;
    border-radius: 999px;
    background: rgba(59, 130, 246, .10);
}
.landing-action-card h3 { position:relative; margin: 12px 0 8px; font-size: 24px; }
.landing-action-card p { position:relative; margin: 0; color:#64748b; line-height:1.45; }
.landing-action-card small { position:relative; display:inline-flex; align-self:flex-start; margin-top:18px; font-weight:800; color:#2563eb; }
.landing-action-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 26px;
    font-weight: 900;
}
.landing-action-control_calidad .landing-action-icon { background:#ecfdf5; color:#059669; }
.landing-action-dashboard .landing-action-icon { background:#f5f3ff; color:#7c3aed; }
.landing-note-card { margin-top: 18px; }
.landing-user-config {
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}
.landing-user-config strong { margin-right: 6px; }
.check-inline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #334155;
    font-weight: 700;
}
.check-inline input { width: 16px; height: 16px; accent-color: #2563eb; }
.user-row-landing-config { grid-column: 1 / -1; }
.sucursales-config-card { margin-bottom: 18px; }
.sucursales-config-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 12px;
}
.sucursal-config-form {
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 18px;
    padding: 16px;
}
.sucursal-config-form h3 { margin: 0 0 12px; }
.sucursal-config-form .field { margin-bottom: 10px; }
.sucursal-config-form textarea { min-height: 74px; }
@media (max-width: 980px) {
    .landing-actions-grid { grid-template-columns: 1fr; }
    .landing-hero { flex-direction: column; align-items: stretch; }
    .landing-user-pill { text-align: left; }
    .sucursales-config-grid { grid-template-columns: 1fr; }
}

/* Patch V1.34 - Presupuestos */
.budget-hero,.budget-form-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-radius:26px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)}
.budget-hero h2,.budget-form-hero h2{margin:4px 0 4px;font-size:30px;letter-spacing:-.035em}.budget-form-actions,.budget-catalog-tools,.budget-row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.btn.slim{padding:8px 10px;border-radius:10px;font-size:12px}.budget-kpis .report-kpi strong{color:#067647}.budget-table{min-width:1120px}.budget-row-actions{justify-content:flex-start}.budget-branch-preview{margin-top:12px;display:grid;gap:8px;border:1px solid #e4e7ec;background:#f8fafc;border-radius:16px;padding:12px}.budget-branch-preview p{margin:0;display:grid;gap:2px}.budget-branch-preview span,.budget-summary-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:950}.budget-branch-preview strong,.budget-summary-grid strong{font-size:14px;color:#182230;line-height:1.3}.budget-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-summary-grid p{margin:0;border:1px solid #e4e7ec;background:#f8fafc;border-radius:14px;padding:10px;display:grid;gap:3px}.budget-validity-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.budget-validity-row span{font-weight:850;color:#344054}.budget-items-card{border-radius:24px}.budget-catalog-tools select{border:1px solid #d0d5dd;border-radius:12px;padding:9px 11px;background:white;font-weight:750;min-width:250px}.budget-items-table{min-width:900px}.budget-items-table textarea{width:100%;min-height:58px;border:1px solid #d0d5dd;border-radius:12px;padding:10px;font:inherit;resize:vertical}.budget-items-table input{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:10px;font:inherit}.budget-items-table th:nth-child(2),.budget-items-table td:nth-child(2){width:110px}.budget-items-table th:nth-child(3),.budget-items-table td:nth-child(3){width:170px}.budget-items-table th:nth-child(4),.budget-items-table td:nth-child(4){width:140px}.budget-items-table th:nth-child(5),.budget-items-table td:nth-child(5){width:95px}.budget-totals{display:flex;justify-content:flex-end;align-items:end;gap:12px;flex-wrap:wrap;margin-top:14px}.budget-totals .field{width:170px}.budget-total-box{display:grid;gap:2px;min-width:150px;padding:10px 13px;border-radius:16px;background:#f2f4f7;color:#344054;text-align:right}.budget-total-box span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:950}.budget-total-box strong{font-size:18px;line-height:1}.budget-total-box.final{background:#dcfae6;border:1px solid #abefc6;color:#067647}.budget-total-box.final strong{font-size:24px;color:#05603a}.budget-order-picker{max-width:720px}.budget-print-page{background:#e9edf3}.budget-print-actions{max-width:210mm;margin:22px auto 12px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.budget-document{width:min(210mm, calc(100% - 24px));min-height:297mm;margin:0 auto 38px;background:#fff;border:1px solid #d8dde6;border-radius:12px;box-shadow:0 18px 50px rgba(16,24,40,.10);padding:12mm;color:#111827}.budget-doc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;border-bottom:0.6mm solid #111;padding-bottom:5mm;margin-bottom:5mm}.budget-doc-brand{display:flex;gap:5mm;align-items:center;min-width:0}.budget-logo-frame{width:38mm;height:17mm;padding:2.5mm 3mm;border:0.3mm solid #cfd5dd;border-radius:4mm;box-shadow:none;background:#fff}.budget-logo-frame .brand-logo{width:100%!important;max-width:100%!important;max-height:100%!important;height:auto!important;object-fit:contain!important;display:block}.budget-doc-brand h1{font-size:9mm;line-height:1.05;margin:0;color:#111}.budget-doc-brand p{margin:1.5mm 0 0;color:#444;font-weight:700;font-size:4.2mm;line-height:1.2}.budget-doc-number{display:grid;gap:1mm;text-align:right;flex:0 0 auto}.budget-doc-number span{font-size:3.1mm;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#555}.budget-doc-number strong{font-size:11mm;line-height:1}.budget-doc-number small{font-size:4.2mm;font-weight:800;color:#222}.budget-doc-branch{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(46mm,.65fr);gap:6mm;border:0.3mm solid #d4d9e0;background:#fff;border-radius:5mm;padding:5mm;margin-bottom:5mm;break-inside:avoid;page-break-inside:avoid}.budget-doc-branch div{display:grid;gap:1.4mm}.budget-doc-branch span{color:#222;line-height:1.25}.budget-doc-branch div:last-child span{font-size:3.1mm;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#555}.budget-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin-bottom:4mm}.budget-doc-grid>div,.budget-doc-info{border:0.3mm solid #d4d9e0;border-radius:5mm;padding:4.5mm;margin-bottom:4mm;break-inside:avoid;page-break-inside:avoid;background:#fff}.budget-document h2{font-size:4.3mm;text-transform:uppercase;letter-spacing:.08em;color:#222;margin:0 0 3mm;font-weight:900}.budget-document p{margin:1.4mm 0;line-height:1.28;font-size:4mm;color:#111}.budget-doc-table{width:100%;border-collapse:collapse;border:0.3mm solid #bfc6cf;margin-bottom:4mm;font-size:3.9mm}.budget-doc-table thead{display:table-header-group}.budget-doc-table th{background:#f2f2f2;color:#111;padding:2.8mm 3mm;border-bottom:0.3mm solid #bfc6cf;text-transform:uppercase;letter-spacing:.04em;font-size:3.5mm}.budget-doc-table td{padding:3mm;border-bottom:0.25mm solid #e2e5e9;vertical-align:top}.budget-doc-table tbody tr:last-child td{border-bottom:0}.budget-doc-table td:last-child,.budget-doc-table th:last-child{text-align:right}.budget-doc-table td:nth-child(2),.budget-doc-table th:nth-child(2){text-align:center;width:18mm}.budget-doc-table td:nth-child(3),.budget-doc-table th:nth-child(3){text-align:right;width:34mm}.budget-doc-table td:nth-child(4),.budget-doc-table th:nth-child(4){width:34mm}.budget-doc-totals{display:grid;gap:1.5mm;justify-content:end;margin:3mm 0 5mm;break-inside:avoid;page-break-inside:avoid}.budget-doc-totals p{min-width:63mm;margin:0;display:flex;justify-content:space-between;gap:8mm;border-bottom:0.25mm solid #d8dde6;padding:1.8mm 0;font-size:4.1mm}.budget-doc-totals .final{border:0.45mm solid #111;background:#fff;color:#111;border-radius:3.5mm;padding:3mm 4mm;font-size:5.2mm;font-weight:900}.budget-doc-footer{display:grid;grid-template-columns:1fr 1fr;gap:8mm;margin-top:8mm;break-inside:avoid;page-break-inside:avoid}.budget-doc-footer div{border-top:0.35mm solid #111;padding-top:2.5mm;display:grid;gap:1mm}.budget-doc-footer span{font-size:3.1mm;text-transform:uppercase;letter-spacing:.08em;color:#555;font-weight:900}.budget-doc-footer strong{min-height:5mm}.budget-document img{image-rendering:-webkit-optimize-contrast}.budget-document .brand-logo{filter:none}@media(max-width:900px){.budget-hero,.budget-form-hero{flex-direction:column}.budget-summary-grid,.budget-doc-grid,.budget-doc-branch,.budget-doc-footer{grid-template-columns:1fr}.budget-form-actions{justify-content:flex-start}.budget-totals{justify-content:stretch}.budget-total-box,.budget-totals .field{width:100%;text-align:left}.budget-catalog-tools{justify-content:flex-start}.budget-catalog-tools select{min-width:0;width:100%}.budget-document{width:min(100%, calc(100% - 16px));padding:18px;min-height:0}.budget-print-actions{max-width:100%;padding:0 8px}.budget-doc-header{gap:18px}.budget-doc-brand h1{font-size:26px}.budget-doc-brand p,.budget-document p{font-size:14px}.budget-doc-number strong{font-size:34px}}@media print{@page{size:A4 portrait;margin:10mm}.budget-print-page{background:#fff!important}.budget-print-actions,.no-print{display:none!important}.budget-document{width:auto!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;color:#000!important}.budget-document,.budget-document *{box-shadow:none!important;text-shadow:none!important}.budget-document .brand-logo,.budget-document .brand-logo-frame img{filter:grayscale(1) brightness(0) contrast(1.25)!important}.budget-logo-frame{border:0.3mm solid #111!important}.budget-doc-header{border-bottom:0.45mm solid #111!important}.budget-doc-info,.budget-doc-grid>div,.budget-doc-branch,.budget-doc-footer,.budget-doc-totals,.budget-doc-table{break-inside:avoid;page-break-inside:avoid}.budget-doc-table th{background:#f2f2f2!important;color:#000!important}.budget-doc-branch,.budget-doc-grid>div,.budget-doc-info{background:#fff!important}.budget-doc-totals .final{background:#fff!important;color:#000!important;border:0.45mm solid #111!important}.budget-doc-brand h1{font-size:8.1mm!important}.budget-doc-brand p{font-size:3.7mm!important;color:#000!important}.budget-doc-number span,.budget-doc-footer span,.budget-doc-branch div:last-child span{color:#000!important}.budget-document p,.budget-doc-branch span,.budget-doc-number small{color:#000!important}.budget-document a{color:#000!important;text-decoration:none!important}}
.budget-order-list{display:grid;gap:9px}.budget-order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e4e7ec;background:#fff;border-radius:16px;padding:10px}.budget-order-item strong{display:block}.budget-order-item small{display:block;color:#667085;margin-top:2px}.budget-order-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:820px){.budget-order-item{grid-template-columns:1fr}.budget-order-side{justify-content:flex-start}}

/* Patch V1.35 - Control de calidad idéntico al formulario original */
.qc-google-intro{border:1px solid #dbeafe;background:linear-gradient(135deg,#ffffff,#f8fbff)}
.qc-google-intro h2{margin:0 0 6px}.qc-google-intro p{margin:6px 0 0}
.req{color:#dc2626;font-weight:900}
.qc-google-section{border:1px solid #e5e7eb;background:#fff}
.qc-google-section .section-title{border-bottom:1px solid #eef2f7;margin-bottom:16px;padding-bottom:14px}
.qc-google-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.qc-google-field{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px;min-height:82px}
.qc-google-field label{font-size:13px;font-weight:850;color:#1f2937;margin-bottom:7px;display:block;line-height:1.3}
.qc-google-field input[type="text"],.qc-google-field input[type="date"],.qc-google-field select,.qc-google-field textarea{width:100%;min-height:38px;border:1px solid #d1d5db;border-radius:12px;background:#fff;padding:8px 10px;font:inherit}
.qc-google-field textarea{min-height:96px;resize:vertical}.qc-type-textarea,.qc-type-checkbox,.qc-type-notice{grid-column:1/-1}
.choice-list{display:grid;gap:7px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{display:flex!important;align-items:flex-start;gap:8px;font-weight:600!important;color:#334155!important;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px 10px;margin:0!important;cursor:pointer}
.choice input{margin-top:2px}.choice span{line-height:1.25}.choice:hover{border-color:#bfdbfe;background:#eff6ff}
.inline-link-note{margin-bottom:14px}.qc-google-section .notice{font-size:13px}
@media(max-width:900px){.qc-google-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.qc-google-field{min-height:auto}}
@media print{.qc-google-field{break-inside:avoid}.qc-quick-tests{display:none!important}.qc-google-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice{padding:4px 6px}.qc-google-field{padding:8px}}

/* Patch V1.36 - Control de calidad almacenado, técnico logueado e interfaz mejorada */
.qc-dashboard-grid{align-items:start}.qc-panel-card{border-radius:24px}.qc-panel-card h2{font-size:20px;margin-bottom:12px}.qc-recent-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.qc-recent-item>a{display:block;color:inherit;text-decoration:none;min-width:0}.qc-recent-actions{display:flex;justify-content:flex-end;gap:8px}.qc-google-intro{border-radius:24px;position:relative;overflow:hidden}.qc-google-intro:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#1457d9}.qc-google-section{border-radius:24px;box-shadow:0 10px 28px rgba(16,24,40,.045)}.qc-google-section .section-title span{box-shadow:0 8px 18px rgba(20,87,217,.18)}.qc-google-field{transition:border-color .15s,box-shadow .15s,background .15s}.qc-google-field:focus-within{border-color:#93c5fd;background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.10)}.qc-user-lock{display:grid;gap:3px;border:1px solid #bbf7d0;background:#ecfdf3;color:#067647;border-radius:14px;padding:10px 12px}.qc-user-lock strong{font-size:15px}.qc-user-lock span{font-size:12px;font-weight:750;color:#047857}.qc-saved-hero{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:#bbf7d0}.qc-report-kpis{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.qc-report-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.qc-report-meta div,.qc-saved-field{border:1px solid #e4e7ec;background:#f8fafc;border-radius:16px;padding:11px 12px;min-width:0}.qc-report-meta span,.qc-saved-field span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#667085;font-weight:950;margin-bottom:4px}.qc-report-meta strong,.qc-saved-field strong{display:block;font-size:14px;color:#182230;overflow-wrap:anywhere;line-height:1.35}.qc-saved-section{border-radius:24px}.qc-saved-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.qc-saved-field.wide{grid-column:1/-1}.qc-controls-table th:last-child,.qc-controls-table td:last-child{text-align:right;width:90px}.qc-last-summary .actions{margin:10px 0 0}.qc-form .sticky-submit-bar{position:sticky;bottom:12px;z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid #e4e7ec;border-radius:18px;box-shadow:0 16px 40px rgba(16,24,40,.12);padding:10px 12px;justify-content:flex-end}.qc-saved-report .section-title{border-bottom:1px solid #eef2f7;margin-bottom:14px;padding-bottom:12px}@media(max-width:1000px){.qc-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-saved-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-recent-item{grid-template-columns:1fr}.qc-recent-actions{justify-content:flex-start}}@media(max-width:700px){.qc-report-meta,.qc-saved-field-grid{grid-template-columns:1fr}.qc-report-kpis{justify-content:flex-start}.qc-form .sticky-submit-bar{left:10px;right:10px}}@media print{.qc-report-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.qc-saved-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.qc-saved-section,.qc-report-meta,.qc-hero{break-inside:avoid}.qc-saved-field,.qc-report-meta div{padding:7px 8px}.qc-saved-field strong,.qc-report-meta strong{font-size:12px}.qc-saved-field span,.qc-report-meta span{font-size:8px}.qc-google-section{box-shadow:none!important}.qc-form .sticky-submit-bar{display:none!important}}

/* Patch V1.37 - Control de calidad: herramientas automáticas */
.qc-field-tools{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:8px;
}
.qc-field-tools small{
    line-height:1.25;
}
.qc-speed-test-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
}
.qc-speed-test-box > div{
    flex:1 1 360px;
}
.qc-speed-test-box small{
    min-width:180px;
    text-align:right;
}
.qc-youtube-link{
    display:block;
    margin-top:8px;
}
.qc-youtube-link a{
    font-weight:700;
    text-decoration:none;
}
@media (max-width: 720px){
    .qc-speed-test-box{
        align-items:flex-start;
    }
    .qc-speed-test-box small{
        text-align:left;
        min-width:0;
        width:100%;
    }
}

/* Patch V1.38 - Selector de tipo de control */
.qc-type-select-shell{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:32px 12px;background:linear-gradient(180deg,rgba(15,23,42,.04),rgba(15,23,42,0));}
.qc-type-select-modal{max-width:820px;width:100%;padding:28px;box-shadow:0 22px 60px rgba(15,23,42,.14);}
.qc-type-select-modal h2{margin:4px 0 8px;font-size:28px;}
.qc-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;}
.qc-type-option{display:block;border:1px solid #dbe4ee;background:#fff;border-radius:18px;padding:20px;text-decoration:none;color:#172033;transition:.18s ease;}
.qc-type-option:hover{border-color:#2563eb;box-shadow:0 14px 34px rgba(37,99,235,.12);transform:translateY(-1px);}
.qc-type-option strong{display:block;font-size:19px;margin-bottom:8px;color:#0f172a;}
.qc-type-option span{display:block;color:#607086;line-height:1.45;font-size:14px;}
.qc-type-device_select select{min-height:42px;}
@media(max-width:760px){.qc-type-options{grid-template-columns:1fr}.qc-type-select-modal{padding:20px}.qc-type-select-modal h2{font-size:24px}}

/* Patch V1.39 - UI general + sidebar azul plegable */
:root{--sidebar-blue:#1457d9;--sidebar-blue-dark:#0f3f9f;--sidebar-blue-soft:#2c6bed;--sidebar-width:264px;--sidebar-collapsed-width:88px}
html.preload-sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}
html.preload-sidebar-collapsed .main{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}
.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,var(--sidebar-blue) 0%,var(--sidebar-blue-dark) 100%);color:#fff;padding:18px 14px;box-shadow:14px 0 34px rgba(20,87,217,.22);transition:width .2s ease,transform .2s ease,padding .2s ease;overflow:auto}.brand{gap:10px;margin-bottom:18px;padding:8px 6px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.brand-mark{background:#fff;color:var(--sidebar-blue);box-shadow:0 10px 24px rgba(0,0,0,.12);flex:0 0 auto}.brand-text{min-width:0;line-height:1.05}.brand strong{font-size:18px;letter-spacing:.04em}.brand small{color:rgba(255,255,255,.76);font-weight:700;font-size:11px}.sidebar-collapse-btn{margin-left:auto;width:32px;height:32px;border:0;border-radius:10px;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.18s}.sidebar-collapse-btn:hover{background:rgba(255,255,255,.24)}.sidebar nav{gap:6px}.sidebar nav a{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.86);padding:11px 12px;border-radius:14px;font-weight:800;min-height:44px;transition:.16s ease}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}.nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.13);color:#fff;font-weight:950;font-size:13px;flex:0 0 auto}.sidebar nav a.active .nav-icon{background:#fff;color:var(--sidebar-blue)}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));transition:margin-left .2s ease,width .2s ease}.topbar{border-bottom:1px solid rgba(20,87,217,.09);box-shadow:0 10px 30px rgba(16,24,40,.035)}.topbar h1{letter-spacing:-.02em}.content{max-width:1680px;margin:0 auto;width:100%}.card{border-color:#e7ebf3;box-shadow:0 12px 34px rgba(20,87,217,.055)}.card h2{letter-spacing:-.02em}.btn{box-shadow:0 7px 16px rgba(20,87,217,.16)}.btn.secondary{box-shadow:none}.table-wrap{box-shadow:0 8px 22px rgba(16,24,40,.035)}
body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width);padding-left:12px;padding-right:12px}body.sidebar-collapsed .brand{justify-content:center;padding:8px 4px}body.sidebar-collapsed .brand-text,body.sidebar-collapsed .nav-label{display:none}body.sidebar-collapsed .brand-mark{width:48px;height:48px}body.sidebar-collapsed .sidebar-collapse-btn{position:absolute;left:58px;top:26px;width:26px;height:26px;font-size:18px;transform:rotate(180deg);background:rgba(255,255,255,.24)}body.sidebar-collapsed .sidebar nav a{justify-content:center;padding:10px 8px}body.sidebar-collapsed .main{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}body.sidebar-collapsed .nav-icon{width:34px;height:34px}
.config-commission-card{border-left:5px solid #079455}.config-commission-list{display:grid;gap:10px}.config-commission-row{display:grid;grid-template-columns:minmax(180px,1.15fr) 150px 140px 160px 170px auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px}.config-commission-user{display:grid;gap:4px}.config-commission-user strong{font-size:15px}.config-commission-user small{color:var(--muted);font-weight:700}.config-commission-row .field label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted)}.commission-mini-total{display:grid;gap:2px;border-radius:15px;background:#ecfdf3;color:#067647;padding:9px 11px;text-align:right}.commission-mini-total small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:950}.commission-mini-total strong{font-size:15px;line-height:1}.daily-balance-totals{display:flex;gap:10px;align-items:stretch;justify-content:flex-end;flex-wrap:wrap}.daily-balance-total.commission-total{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.daily-balance-total.commission-total strong{color:#0369a1}.report-commission-card .actions{align-items:center}.report-commission-note{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:12px 14px;margin-top:14px}.report-commission-note p{margin:0}.report-daily-commission{border-left:5px solid #079455}
@media(max-width:1200px){.config-commission-row{grid-template-columns:1fr 1fr 1fr}.config-commission-row .config-row-actions{justify-content:flex-start}}
@media(max-width:900px){html.preload-sidebar-collapsed .main,.main,body.sidebar-collapsed .main{margin-left:0;width:100%}.sidebar{width:280px}.sidebar-collapse-btn{display:none}body.sidebar-collapsed .sidebar{width:280px}.daily-balance-totals{justify-content:stretch}.daily-balance-totals .daily-balance-total{width:100%;text-align:left}.config-commission-row{grid-template-columns:1fr}.commission-mini-total{text-align:left}.report-commission-note{flex-direction:column;align-items:flex-start}}
/* Patch V1.39 - ajustes usuarios sin comisión directa */
.user-row{grid-template-columns:1.1fr .9fr .95fr .85fr .9fr auto}
@media(max-width:1250px){.user-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:720px){.user-row{grid-template-columns:1fr}}
@media(max-width:900px){body.sidebar-collapsed .brand-text,body.sidebar-collapsed .nav-label{display:block}body.sidebar-collapsed .sidebar nav a{justify-content:flex-start;padding:11px 12px}body.sidebar-collapsed .sidebar-collapse-btn{display:none}body.sidebar-collapsed .brand{justify-content:flex-start}body.sidebar-collapsed .nav-icon{width:28px;height:28px}}

/* Patch V1.40 - Distribución porcentual diaria sobre total general */
.daily-commission-panel{margin-top:14px;border:1px solid #d1fadf;background:rgba(236,253,243,.55);border-radius:18px;padding:13px}
.daily-commission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.daily-commission-head h3{margin:0;font-size:16px;letter-spacing:-.02em}
.daily-commission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}
.daily-commission-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d1fadf;background:#fff;border-radius:14px;padding:10px 12px}
.daily-commission-item strong{display:block;font-size:13px;color:#101828}
.daily-commission-item small{display:block;margin-top:2px;color:#667085;font-weight:750;font-size:11px}
.daily-commission-amount{font-weight:950;color:#067647;background:#ecfdf3;border-radius:999px;padding:7px 10px;white-space:nowrap}
.small-notice{font-size:13px;padding:9px 11px;margin:8px 0 12px}
.commission-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 12px}
.commission-summary-strip div{border:1px solid #d1fadf;background:#ecfdf3;border-radius:16px;padding:11px 13px;display:grid;gap:2px;color:#067647}
.commission-summary-strip span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:950}
.commission-summary-strip strong{font-size:20px;line-height:1;letter-spacing:-.03em}
.config-commission-row{grid-template-columns:minmax(180px,1.2fr) 150px 150px 190px 170px auto}
.commission-mini-total strong{font-size:17px}
.sidebar nav a{letter-spacing:.01em}
.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.45) rgba(255,255,255,.1)}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px}.sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}
@media(max-width:1200px){.commission-summary-strip{grid-template-columns:1fr}.config-commission-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){.daily-commission-head{flex-direction:column}.daily-commission-list{grid-template-columns:1fr}.commission-summary-strip{grid-template-columns:1fr}}

/* Patch V1.43 - Enviar al Panel A-B-D aunque la columna sea la misma */
.abd-inline-action{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.abd-inline-send{border:1px solid #bfdbfe;background:#eff6ff;color:#1457d9;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;letter-spacing:-.01em;cursor:pointer;box-shadow:0 5px 14px rgba(20,87,217,.08);line-height:1}
.abd-inline-send:hover{background:#dbeafe;border-color:#93c5fd;color:#123b8c;transform:translateY(-1px)}
.abd-inline-send:focus{outline:3px solid #dbeafe}
.orders-table-modern .abd-inline-action{gap:6px}
.orders-table-modern .abd-inline-send{padding:7px 9px;font-size:10.5px}
@media(max-width:980px){.orders-table-modern .abd-inline-action{flex-direction:column;align-items:flex-start}.orders-table-modern .abd-inline-send{width:100%;text-align:center}}

/* Patch V1.44 - Colores por tipo de dispositivo */
.device-type-pill{display:inline-flex;align-items:center;max-width:280px;border:1px solid #e4e7ec;background:#f8fafc;color:#344054;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;line-height:1.2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.device-type-notebook{background:#fff1f3;border-color:#fecdd6;color:#c01048}
.device-type-pc-escritorio{background:#f4f3ff;border-color:#d9d6fe;color:#5925dc}
.device-type-all-in-one{background:#ecfeff;border-color:#a5f3fc;color:#0e7490}
.device-type-macbook{background:#f2f4f7;border-color:#98a2b3;color:#101828}
.device-type-monitor{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.device-type-impresora{background:#ecfdf3;border-color:#abefc6;color:#067647}
.device-type-otro{background:#f8fafc;border-color:#d0d5dd;color:#344054}
.order-equipment-pill.device-type-pill{max-width:300px}
.dash-equipment-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 5px}.dash-equipment-pill.device-type-pill{max-width:100%;font-size:11px;padding:4px 8px}
.orders-table-modern .device-type-pill{font-size:12px;padding:5px 9px}
@media(max-width:980px){.order-equipment-pill.device-type-pill{max-width:220px}}

/* Patch V1.45 - Card de invitaciones a calificar en Google */
.google-review-dashboard-card{
    border-left: 4px solid #16a34a;
    margin-top: 18px;
}
.google-review-dashboard-card .dash-card-head{
    align-items:flex-start;
}
.google-review-list{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap:12px;
}
.google-review-item{
    border-color:#bbf7d0;
    background:linear-gradient(180deg,#ffffff 0%,#f6fff9 100%);
}
.google-review-actions{
    min-width:190px;
}
.google-review-wa-btn{
    background:#ecfdf5;
    color:#047857;
    border-color:#bbf7d0;
    box-shadow:0 8px 18px rgba(16,185,129,.10);
}
.google-review-wa-btn:hover{
    background:#d1fae5;
}
@media (max-width: 760px){
    .google-review-list{grid-template-columns:1fr;}
    .google-review-actions{min-width:0;width:100%;}
}


/* Patch V1.47 - Estado de invitación Google en ficha de orden */
.google-review-order-card{border-left:4px solid #16a34a;background:linear-gradient(180deg,#fff 0%,#f6fff9 100%)}
.google-review-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.google-review-order-head h2{margin-bottom:4px}
.google-review-order-status{display:flex;align-items:center;justify-content:flex-end;min-width:110px}
.google-review-order-body{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.google-review-order-body p{margin:0;color:#475467}
.google-review-order-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inline-form{display:inline-flex;margin:0}
@media(max-width:760px){.google-review-order-head,.google-review-order-body{flex-direction:column;align-items:flex-start}.google-review-order-status{justify-content:flex-start}.google-review-order-actions{width:100%}.google-review-order-actions .btn,.google-review-order-actions form,.google-review-order-actions button{width:100%}}

/* V1.49 - Panel A-B-D por rol */
.abd-board.abd-board-single{grid-template-columns:minmax(320px,760px);max-width:820px}
.abd-board.abd-board-single .kanban-col{min-height:260px}
@media(max-width:1180px){.abd-board.abd-board-single{grid-template-columns:1fr;max-width:none}}

/* Patch V1.53 - Pre-producción: archivos y formularios */
.card-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.file-upload-form{border:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:16px;padding:14px;margin:10px 0 14px}
.files-table-wrap table td{vertical-align:middle}
.actions-cell{white-space:nowrap;display:flex;gap:8px;align-items:center;justify-content:flex-end}
.btn.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.btn.danger:hover{background:#fecaca}
.validation-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:10px 12px;margin:10px 0;font-size:.92rem}
@media(max-width:700px){.card-head-row{display:block}.actions-cell{justify-content:flex-start;flex-wrap:wrap}.file-upload-form{padding:12px}}

/* Patch V1.54 - WhatsApp configurable y alertas/reportes */
.whatsapp-config-card .google-review-config-form{border:1px solid var(--border);border-radius:16px;padding:14px;background:#f8fafc;margin-bottom:16px}
.whatsapp-template-list{display:grid;gap:14px;margin:16px 0}
.whatsapp-template-row{border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px;display:grid;gap:10px}
.whatsapp-template-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.whatsapp-template-row textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.45;resize:vertical}
.dashboard-alerts-card p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(15,23,42,.07);padding:5px 0;margin:0;color:#475569}
.dashboard-alerts-card p:last-child{border-bottom:0}
.dashboard-alerts-card strong{color:#0f172a;font-size:16px}
.report-summary-list div strong{white-space:nowrap}
@media (max-width:760px){.whatsapp-template-row textarea{min-height:220px}.dashboard-alerts-card p{align-items:flex-start}}

/* V1.55 - Botones de variables para plantillas WhatsApp */
.whatsapp-template-title small{display:block;color:var(--muted);font-weight:500;margin-top:3px;line-height:1.35}
.whatsapp-variable-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 4px;padding:9px;border:1px dashed rgba(37,99,235,.25);border-radius:14px;background:linear-gradient(180deg,rgba(239,246,255,.8),rgba(255,255,255,.9))}
.variable-chip{border:1px solid rgba(37,99,235,.22);background:#fff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease}
.variable-chip:hover{background:#eff6ff;border-color:rgba(37,99,235,.45);box-shadow:0 6px 16px rgba(37,99,235,.12);transform:translateY(-1px)}
.variable-chip:active{transform:translateY(0);box-shadow:none}
@media (max-width:760px){.whatsapp-variable-toolbar{max-height:180px;overflow:auto}.variable-chip{font-size:11px;padding:6px 9px}}

/* Patch V1.57 - Identidad FIX y pulido visual premium */
:root{
  --fix-brand:#124dc2;
  --fix-brand-2:#0b3aa3;
  --fix-navy:#071329;
  --fix-sidebar:#0b45bf;
  --fix-sidebar-dark:#061d63;
  --fix-bg:#f4f7fc;
  --fix-card-border:#e6edf8;
  --shadow-soft:0 16px 42px rgba(18,77,194,.075);
  --shadow-card:0 16px 38px rgba(15,23,42,.065);
}
html{background:var(--fix-bg)}
body{background:
  radial-gradient(circle at top left, rgba(18,77,194,.075), transparent 32rem),
  linear-gradient(180deg,#f8fbff 0%,#f4f7fc 46%,#f6f8fc 100%);
  color:#121926;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.app-shell{background:transparent}
.brand-logo-link{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0;flex:1}
.brand-logo-frame{display:grid;place-items:center;background:#fff;border-radius:18px;border:1px solid rgba(255,255,255,.22);box-shadow:0 16px 34px rgba(0,0,0,.18);overflow:hidden;flex:0 0 auto}
.brand-logo{display:block;width:116px;height:auto;max-height:52px;object-fit:contain}
.brand-sidebar{padding:10px 9px 10px 10px!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.07))!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 42px rgba(0,0,0,.12)}
.brand-sidebar .brand-logo-frame{width:128px;height:56px;padding:9px 12px;border-radius:16px;box-shadow:0 16px 30px rgba(0,0,0,.16)}
.brand-sidebar .brand-logo{width:104px;max-height:42px}
.brand-sidebar .brand-text strong{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.98}
.brand-sidebar .brand-text small{font-size:10px;line-height:1.15;color:rgba(255,255,255,.72);max-width:84px}
.sidebar{
  background:
    radial-gradient(circle at 10% -10%, rgba(255,255,255,.30), transparent 13rem),
    linear-gradient(180deg,var(--fix-sidebar) 0%,#0d38a8 46%,var(--fix-sidebar-dark) 100%)!important;
  box-shadow:18px 0 52px rgba(4,24,74,.25)!important;
  border-right:1px solid rgba(255,255,255,.14);
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.25) transparent;
}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar nav{margin-top:12px;gap:6px!important}
.sidebar nav a{position:relative;min-height:46px;border-radius:15px!important;padding:11px 12px!important;color:rgba(255,255,255,.84)!important;font-weight:760!important;letter-spacing:.005em;box-shadow:none!important;border:1px solid transparent}
.sidebar nav a:hover{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.12);transform:translateX(1px)}
.sidebar nav a.active{background:#fff!important;color:var(--fix-sidebar)!important;border-color:#fff;box-shadow:0 16px 32px rgba(0,0,0,.16)!important}
.sidebar nav a.active::before{content:"";position:absolute;left:-14px;top:12px;bottom:12px;width:4px;border-radius:999px;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.72)}
.nav-icon{width:32px!important;height:32px!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;font-size:14px!important;line-height:1;color:#fff!important;border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.sidebar nav a.active .nav-icon{background:linear-gradient(135deg,#eff6ff,#fff)!important;color:var(--fix-brand)!important;border-color:#dbe8ff;box-shadow:none}
.sidebar-collapse-btn{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.sidebar-collapse-btn:hover{background:rgba(255,255,255,.28)!important;transform:translateX(-1px)}
body.sidebar-collapsed .brand-sidebar{padding:10px 6px!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}
body.sidebar-collapsed .brand-logo-link{justify-content:center}
body.sidebar-collapsed .brand-sidebar .brand-logo-frame{width:50px;height:50px;padding:7px;border-radius:16px}
body.sidebar-collapsed .brand-sidebar .brand-logo{width:40px;max-height:32px}
body.sidebar-collapsed .sidebar-collapse-btn{left:60px!important;background:var(--fix-brand)!important;border-color:#2f70ee!important;box-shadow:0 12px 26px rgba(0,0,0,.18)!important}
.main{background:transparent}.topbar{height:76px;background:rgba(255,255,255,.78)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,77,194,.10)!important;box-shadow:0 10px 34px rgba(15,23,42,.045)!important}.topbar h1{font-size:22px;font-weight:900;letter-spacing:-.035em;color:#0f172a}.user-box{background:#f8fbff;border:1px solid #e5edfa;border-radius:999px;padding:8px 12px;color:#526070;box-shadow:0 8px 22px rgba(15,23,42,.035)}.user-box a{font-weight:850;color:var(--fix-brand)}
.content{padding:28px;max-width:1760px}.card{border:1px solid var(--fix-card-border)!important;border-radius:22px!important;box-shadow:var(--shadow-card)!important;background:rgba(255,255,255,.94)!important}.card h2,.card h3{color:#101828;font-weight:900;letter-spacing:-.025em}.metric strong{font-weight:950;letter-spacing:-.045em;color:#101828}.table-wrap{border-color:#e4ebf6!important;border-radius:20px!important;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.04)!important}th{background:linear-gradient(180deg,#f8fbff,#f2f6fc)!important;color:#4b5b73!important;font-weight:950}td{border-bottom-color:#edf1f7!important}tr:hover td{background:#f8fbff!important}.btn{border-radius:13px!important;font-weight:900;box-shadow:0 10px 20px rgba(18,77,194,.15)!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(18,77,194,.20)!important}.btn.secondary{background:#eef5ff!important;color:var(--fix-brand)!important;border:1px solid #dbe8ff!important;box-shadow:none!important}.btn.gray{background:#f5f7fb!important;color:#344054!important;border:1px solid #e6ecf5!important;box-shadow:none!important}.btn.danger{box-shadow:none!important}.badge{font-weight:900}.field label{color:#35445d;font-weight:850}.field input,.field select,.field textarea{border-color:#d7dfeb!important;border-radius:14px!important;background:#fff!important;box-shadow:0 1px 0 rgba(16,24,40,.02)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--fix-brand)!important;box-shadow:0 0 0 4px rgba(18,77,194,.10)}
.login-page{background:radial-gradient(circle at 22% 15%, rgba(255,255,255,.22), transparent 22rem),linear-gradient(135deg,#061a55 0%,#124dc2 52%,#0a266e 100%)!important}.login-card{width:min(460px,92vw);border-radius:30px!important;padding:34px!important;box-shadow:0 34px 90px rgba(0,0,0,.30)!important;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.96)!important}.login-brand{gap:16px!important;background:transparent!important;border:0!important;padding:0!important;margin-bottom:22px!important}.login-logo-frame{width:150px;height:76px;padding:12px 18px;border:1px solid #e2e8f0;box-shadow:0 14px 34px rgba(18,77,194,.12)}.login-logo-frame .brand-logo{width:122px}.login-brand strong{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#0f172a}.login-brand small{color:#667085!important;font-weight:700}.login-card h1{font-size:30px;font-weight:950;letter-spacing:-.04em}.menu-btn{border:1px solid #dbe8ff!important;background:#eef5ff!important;color:var(--fix-brand)!important;font-weight:950}
.wa-action-menu.quick-wa-menu{position:relative}.quick-wa-menu .wa-action-dropdown{right:0;left:auto;min-width:260px}.quick-wa-menu .wa-action-dropdown a{font-weight:850}.modal-window{border-radius:24px!important;box-shadow:0 32px 100px rgba(15,23,42,.26)!important;border:1px solid rgba(255,255,255,.8)}.modal-head{background:linear-gradient(180deg,#fff,#f8fbff);border-radius:24px 24px 0 0}.modal-eyebrow{color:var(--fix-brand)!important;font-weight:950;letter-spacing:.08em}
.qr-brand-logo{background:#fff!important;border:1px solid #e4e7ec!important;border-radius:16px!important;padding:8px!important;box-shadow:0 8px 18px rgba(18,77,194,.10)!important}.qr-brand-logo img{display:block;width:74px;height:auto}.budget-logo-frame{width:128px;height:64px;padding:10px 14px;border:1px solid #e2e8f0;box-shadow:0 12px 28px rgba(18,77,194,.10)}.budget-logo-frame .brand-logo{width:104px}.comprobante-brand{display:flex;align-items:center;gap:16px;margin-bottom:20px;border-bottom:1px solid #e4e7ec;padding-bottom:16px}.comprobante-brand .brand-logo-frame{width:128px;height:64px;padding:10px 14px;border:1px solid #e2e8f0;box-shadow:0 12px 28px rgba(18,77,194,.10)}.comprobante-brand .brand-logo{width:104px}.comprobante-brand h1{margin:0;font-weight:950;letter-spacing:-.04em}.comprobante-brand p{margin:4px 0 0;color:#667085;font-weight:700}
@media(max-width:900px){.content{padding:16px}.sidebar{width:286px!important}.brand-sidebar .brand-logo-frame{width:126px;height:54px}.brand-sidebar .brand-logo{width:102px}.topbar{height:68px}.topbar h1{font-size:18px}.card{border-radius:18px!important}.quick-wa-menu .wa-action-dropdown{left:0;right:auto}}
@media print{.brand-logo-frame,.qr-brand-logo{box-shadow:none!important}.comprobante-brand{border-bottom:1px solid #111}}

/* Patch V1.58 - Pulido premium sidebar, ficha rápida, WhatsApp y alertas */
.brand-sidebar{justify-content:center!important;gap:8px!important;padding:12px 10px!important;background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.brand-sidebar .brand-logo-link{display:flex;align-items:center;justify-content:center;min-width:0;width:100%}
.brand-sidebar .brand-logo-frame{width:154px!important;height:72px!important;padding:10px 14px!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;display:grid;place-items:center;box-shadow:0 18px 38px rgba(0,0,0,.16)!important}
.brand-sidebar .brand-logo{width:126px!important;max-height:52px!important;object-fit:contain!important;display:block}
.brand-sidebar .brand-text{display:none!important}
.sidebar-collapse-btn{flex:0 0 auto;background:rgba(255,255,255,.11)!important;box-shadow:none!important}
.sidebar nav a{color:rgba(255,255,255,.82)!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}
.sidebar nav a:hover{background:rgba(255,255,255,.085)!important;border-color:rgba(255,255,255,.08)!important;color:#fff!important;transform:none!important}
.sidebar nav a.active{background:rgba(255,255,255,.13)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important}
.sidebar nav a.active::before{left:-7px!important;top:14px!important;bottom:14px!important;width:3px!important;background:rgba(255,255,255,.82)!important;box-shadow:none!important}
.sidebar nav a.active .nav-icon{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}
.nav-icon{background:rgba(255,255,255,.095)!important;color:rgba(255,255,255,.92)!important}
body.sidebar-collapsed .brand-sidebar{padding:10px 4px!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.sidebar-collapsed .brand-sidebar .brand-logo-frame{width:48px!important;height:48px!important;padding:6px!important;border-radius:16px!important}
body.sidebar-collapsed .brand-sidebar .brand-logo{width:38px!important;max-height:36px!important}
body.sidebar-collapsed .sidebar-collapse-btn{left:57px!important;top:25px!important}
.quick-wa-menu .wa-action-dropdown{top:auto!important;bottom:calc(100% + 10px)!important;right:0!important;left:auto!important;min-width:278px!important;box-shadow:0 24px 56px rgba(15,23,42,.22)!important;border-radius:16px!important}
.quick-wa-menu .wa-action-dropdown::after{content:"";position:absolute;right:18px;bottom:-7px;width:14px;height:14px;background:#fff;border-right:1px solid #dbe4f0;border-bottom:1px solid #dbe4f0;transform:rotate(45deg)}
.quick-payment-panel{margin:0 0 14px;border-radius:18px;padding:14px;border:1px solid #e5eaf3;background:linear-gradient(135deg,#f8fbff,#fff);display:grid;grid-template-columns:.75fr 1.25fr;gap:14px;align-items:center;box-shadow:0 10px 26px rgba(15,23,42,.045)}
.quick-payment-panel.is-paid{border-color:#b7efc9;background:linear-gradient(135deg,#f2fff7,#fff)}
.quick-payment-panel.is-pending{border-color:#fedf89;background:linear-gradient(135deg,#fffaf0,#fff)}
.quick-payment-status{display:grid;gap:6px;align-content:start}.quick-payment-status strong{font-size:24px;letter-spacing:-.03em}.quick-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-payment-grid div{background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.07);border-radius:13px;padding:9px 10px}.quick-payment-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:950;margin-bottom:3px}.quick-payment-grid strong{display:block;font-size:13px;overflow-wrap:anywhere}.dashboard-alerts-clickable{position:relative;overflow:hidden}.mini-card-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.mini-card-headline h3{margin:0}.dashboard-alert-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-bottom:1px solid rgba(15,23,42,.07);background:transparent;padding:9px 0;margin:0;color:#475569;font:inherit;text-align:left;cursor:pointer}.dashboard-alert-row:last-child{border-bottom:0}.dashboard-alert-row span{font-weight:740}.dashboard-alert-row strong{color:#0f172a;font-size:17px;min-width:34px;text-align:right}.dashboard-alert-row:hover span{color:var(--fix-brand,#124dc2)}.dashboard-alert-row:hover strong{color:var(--fix-brand,#124dc2)}.dashboard-alert-modal-window{width:min(1040px,96vw)!important}.dashboard-alert-detail-list{display:grid;gap:10px}.dashboard-alert-detail-item{display:grid;grid-template-columns:1fr 190px;gap:14px;align-items:start;border:1px solid #e5eaf3;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:17px;padding:14px;box-shadow:0 10px 26px rgba(15,23,42,.04)}.alert-order-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alert-order-title strong{font-size:15px}.alert-order-main p{margin:6px 0;color:#344054}.alert-order-detail{font-size:13px;line-height:1.42;color:#667085!important}.alert-order-side{display:grid;gap:8px;justify-items:stretch}.alert-payment-stack{display:grid;gap:4px;justify-items:end;background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;padding:10px}.alert-payment-stack strong{font-size:18px}.alert-payment-stack small{color:#667085}.alert-order-side .btn{justify-content:center;width:100%}.empty-state{padding:28px;text-align:center;border:1px dashed #d9e2ef;border-radius:18px;background:#fbfdff}@media(max-width:900px){.brand-sidebar{justify-content:flex-start!important}.brand-sidebar .brand-logo-frame{width:132px!important;height:62px!important}.brand-sidebar .brand-logo{width:108px!important;max-height:46px!important}.quick-payment-panel{grid-template-columns:1fr}.quick-payment-grid{grid-template-columns:1fr}.dashboard-alert-detail-item{grid-template-columns:1fr}.alert-payment-stack{justify-items:start}.quick-wa-menu .wa-action-dropdown{right:auto!important;left:0!important}}


/* Patch V1.59 - Toasts globales */
.toast-root{position:fixed;right:22px;top:92px;z-index:9999;display:grid;gap:10px;width:min(420px,calc(100vw - 28px));pointer-events:none}.fix-toast{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;padding:14px 14px 14px 13px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(16,24,40,.10);box-shadow:0 18px 45px rgba(16,24,40,.18);backdrop-filter:blur(14px);transform:translateY(-8px) scale(.98);opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:auto}.fix-toast.is-visible{opacity:1;transform:translateY(0) scale(1)}.fix-toast.is-hiding{opacity:0;transform:translateY(-6px) scale(.98)}.fix-toast-icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-weight:950;background:#dcfae6;color:#067647;border:1px solid #abefc6}.fix-toast-error .fix-toast-icon{background:#fee4e2;color:#b42318;border-color:#fecdca}.fix-toast-body{min-width:0}.fix-toast-body strong{display:block;font-size:13px;letter-spacing:.02em;color:#101828;margin:0 0 2px}.fix-toast-body p{margin:0;color:#475467;font-weight:650;line-height:1.35}.fix-toast-close{border:0;background:#f2f4f7;color:#667085;border-radius:999px;width:28px;height:28px;display:grid;place-items:center;font-size:18px;line-height:1;cursor:pointer}.fix-toast-close:hover{background:#e4e7ec;color:#344054}.success.is-toast-source{display:none!important}@media(max-width:760px){.toast-root{top:auto;right:14px;left:14px;bottom:14px;width:auto}.fix-toast{border-radius:16px}}
@media print{.toast-root{display:none!important}}

/* Patch V1.60 - Menú lateral agrupado y compacto */
.sidebar-nav{display:grid;gap:8px!important;align-content:start}
.sidebar-nav > a{width:100%}
.nav-primary-action{margin:2px 0 7px!important;background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.nav-primary-action:hover{background:rgba(255,255,255,.24)!important;border-color:rgba(255,255,255,.20)!important}
.nav-primary-action .nav-icon{background:#fff!important;color:var(--fix-brand,#124dc2)!important;border-color:#fff!important;font-size:18px!important;font-weight:950!important}
.nav-group{border:1px solid rgba(255,255,255,.10);border-radius:17px;background:rgba(255,255,255,.045);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.nav-group[open]{background:rgba(255,255,255,.065)}
.nav-group.is-active{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
.nav-group summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:38px;padding:0 10px;cursor:pointer;color:rgba(255,255,255,.68);font-size:10.5px;font-weight:950;letter-spacing:.085em;text-transform:uppercase;user-select:none;outline:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{color:#fff;background:rgba(255,255,255,.05)}
.nav-group.is-active summary{color:#fff}
.nav-group-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08);font-size:9px;line-height:1;color:#fff;flex:0 0 auto}
.nav-group-label{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-group-chevron{font-size:14px;line-height:1;color:rgba(255,255,255,.58);transition:transform .16s ease;transform-origin:center}
.nav-group[open] .nav-group-chevron{transform:rotate(180deg)}
.nav-group-items{display:grid;gap:4px;padding:0 6px 7px}
.nav-group-items a{min-height:40px!important;padding:8px 10px!important;border-radius:13px!important;font-size:13.5px!important;font-weight:760!important}
.nav-group-items .nav-icon{width:29px!important;height:29px!important;border-radius:11px!important;font-size:13px!important}
.nav-group-items a.active{background:rgba(255,255,255,.15)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}
.nav-group-items a.active::before{left:-7px!important;top:11px!important;bottom:11px!important;width:3px!important;background:rgba(255,255,255,.82)!important;box-shadow:none!important}
.nav-group-items a.active .nav-icon{background:rgba(255,255,255,.18)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
body.sidebar-collapsed .sidebar-nav{gap:7px!important}
body.sidebar-collapsed .nav-primary-action{margin-bottom:4px!important}
body.sidebar-collapsed .nav-group{background:transparent;border-color:transparent;box-shadow:none;border-radius:14px;overflow:visible}
body.sidebar-collapsed .nav-group summary{justify-content:center;min-height:38px;padding:0;border-radius:14px;background:rgba(255,255,255,.06)}
body.sidebar-collapsed .nav-group-label,body.sidebar-collapsed .nav-group-chevron{display:none!important}
body.sidebar-collapsed .nav-group-icon{width:34px;height:34px;border-radius:12px;font-size:10px;background:rgba(255,255,255,.11)}
body.sidebar-collapsed .nav-group-items{padding:5px 0 8px;gap:5px}
body.sidebar-collapsed .nav-group-items a{justify-content:center!important;padding:8px!important;min-height:38px!important}
@media(max-width:900px){.sidebar-nav{gap:8px!important}.nav-group summary{min-height:42px}.nav-group-items a{min-height:43px!important;font-size:14px!important}body.sidebar-collapsed .nav-group-label,body.sidebar-collapsed .nav-group-chevron{display:inline-flex!important}body.sidebar-collapsed .nav-group summary{justify-content:flex-start;padding:0 10px}body.sidebar-collapsed .nav-group{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);overflow:hidden}body.sidebar-collapsed .nav-group-items a{justify-content:flex-start!important;padding:9px 10px!important}.nav-primary-action{margin-bottom:8px!important}}

/* Patch V1.61 - Ajuste QR + inspección visual integral */
:root{
  --fix-surface:#ffffff;
  --fix-surface-soft:#f8fbff;
  --fix-line:#e3ebf7;
  --fix-text:#101828;
  --fix-muted:#667085;
}
.topbar{gap:16px;min-width:0}
.topbar > div:first-of-type{min-width:0;flex:1 1 auto}
.topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}
.user-box{flex:0 1 auto;max-width:min(560px,46vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.content > br{display:none}
.content > :where(.card,.grid,form,section,.actions,.table-wrap,.landing-actions-grid,.report-hero,.print-title) + :where(.card,.grid,form,section,.actions,.table-wrap,.landing-actions-grid,.report-hero,.print-title){margin-top:18px}
.card{overflow:visible}.card > h2:first-child,.card > h3:first-child{margin-bottom:12px}.card p{line-height:1.48}.muted{line-height:1.45}.actions{align-items:center}.btn{white-space:nowrap;line-height:1.1;min-height:40px;justify-content:center}.btn.slim{min-height:32px}.field small.muted{display:block;margin-top:6px;font-size:12px}.field input::placeholder,.field textarea::placeholder{color:#98a2b3}.table-wrap table{min-width:720px}.table-wrap th,.table-wrap td{line-height:1.35}.table-wrap th{white-space:nowrap}.actions-cell,.budget-row-actions,.user-row-actions,.dash-order-actions{gap:8px}.notice,.success{box-shadow:0 10px 24px rgba(15,23,42,.045)}
.login-brand strong{font-size:13px!important;letter-spacing:-.015em!important;text-transform:none!important;color:#101828!important;white-space:nowrap}.login-brand small{font-size:11px!important}.login-logo-frame{flex:0 0 auto}

/* QR: preview limpio, logo sin solaparse y etiqueta proporcional */
.qr-page-actions{align-items:center;margin-bottom:18px}.qr-print-card{padding:22px!important;background:rgba(255,255,255,.96)!important}.qr-print-head{align-items:center;border-bottom:1px solid var(--fix-line);padding-bottom:16px;margin-bottom:20px}.qr-print-head h2{font-size:25px;margin:0 0 5px}.qr-print-sheet{min-height:420px;background:linear-gradient(135deg,#f8fbff,#f2f6fb)!important;border:1px dashed #c9d7eb!important;border-radius:22px!important;padding:28px!important;overflow:auto}.qr-label{width:min(760px,100%)!important;min-height:315px;background:linear-gradient(180deg,#fff,#fbfdff)!important;border:1px solid #cfd8e6!important;border-radius:22px!important;padding:22px!important;box-shadow:0 22px 48px rgba(15,23,42,.11)!important;display:grid;grid-template-rows:auto 1fr auto;gap:14px}.qr-brand-row{display:flex!important;align-items:center!important;gap:14px!important;border-bottom:1px solid #e5ebf4!important;padding:0 0 13px!important;margin:0!important;min-height:66px}.qr-brand-logo{width:132px!important;height:60px!important;min-width:132px!important;display:grid!important;place-items:center!important;background:#fff!important;border:1px solid #e1e8f2!important;border-radius:18px!important;padding:10px 14px!important;box-shadow:0 10px 22px rgba(18,77,194,.10)!important;overflow:hidden}.qr-brand-logo img{display:block!important;width:104px!important;max-width:100%!important;max-height:40px!important;height:auto!important;object-fit:contain!important}.qr-brand-text{min-width:0;display:grid;gap:4px}.qr-brand-text strong{display:block!important;font-size:17px!important;line-height:1.05!important;color:#0f172a!important;font-weight:950!important;letter-spacing:-.025em}.qr-brand-text span{display:block!important;font-size:12px!important;color:#667085!important;font-weight:760!important;line-height:1.2}.qr-label-body{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;gap:22px!important;align-items:center!important}.qr-code-box{width:250px!important;height:250px!important;min-width:250px!important;min-height:250px!important;border:1px solid #e4eaf3!important;border-radius:19px!important;background:#fff!important;padding:13px!important;box-shadow:inset 0 1px 0 rgba(15,23,42,.025)}.qr-code-box svg{width:224px!important;height:224px!important;display:block!important}.qr-label-info{min-width:0}.qr-label-kicker{display:inline-flex;align-items:center;border-radius:999px;background:#eef5ff;color:var(--fix-brand,#124dc2);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;margin-bottom:8px}.qr-label-info h2{font-size:43px!important;line-height:.95!important;margin:0 0 14px!important;letter-spacing:-.065em!important;color:#071329!important}.qr-label-info p{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;margin:7px 0!important;font-size:14px!important;color:#344054!important;line-height:1.25!important}.qr-label-info p strong{font-weight:950!important;color:#101828!important}.qr-label-info p span{min-width:0;overflow-wrap:anywhere}.qr-label-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0!important;padding-top:12px!important;border-top:1px solid #e5ebf4!important;color:#5c6b82!important;font-size:12px!important;font-weight:900!important}.qr-payload-preview h3{margin-bottom:10px}.qr-payload-preview pre{border-radius:18px!important;background:#071329!important;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(7,19,41,.18);max-height:260px}

@media(max-width:900px){.user-box{display:none}.table-wrap table{min-width:640px}.qr-print-card{padding:16px!important}.qr-print-sheet{padding:16px!important;min-height:auto}.qr-label{padding:16px!important}.qr-brand-row{min-height:58px}.qr-brand-logo{width:112px!important;height:52px!important;min-width:112px!important}.qr-brand-logo img{width:88px!important;max-height:34px!important}.qr-label-body{grid-template-columns:1fr!important}.qr-code-box{width:100%!important;max-width:280px!important;height:auto!important;min-height:0!important;min-width:0!important;margin:0 auto}.qr-code-box svg{width:100%!important;height:auto!important}.qr-label-info h2{font-size:34px!important}.qr-label-info p{grid-template-columns:86px minmax(0,1fr)}}
@media(max-width:560px){.btn{width:100%}.actions{align-items:stretch}.qr-print-head{display:grid!important}.qr-label-info p{grid-template-columns:1fr;gap:2px}.qr-label-footer{display:grid!important}.qr-brand-row{align-items:flex-start!important}.qr-brand-logo{width:96px!important;height:46px!important;min-width:96px!important;padding:8px!important}.qr-brand-logo img{width:78px!important;max-height:30px!important}}

@media print{
  @page{margin:8mm;size:auto}
  html,body{background:#fff!important;width:auto!important;min-height:0!important}
  .app-shell,.main,.content{display:block!important;margin:0!important;width:100%!important;min-height:0!important;padding:0!important;background:#fff!important}
  .sidebar,.topbar,.toast-root,.qr-page-actions,.qr-print-head,.qr-payload-preview,.no-print{display:none!important}
  .qr-print-card{border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important;margin:0!important;width:auto!important}
  .qr-print-sheet{display:block!important;border:0!important;background:#fff!important;padding:0!important;min-height:0!important;overflow:visible!important}
  .qr-label{width:94mm!important;min-height:58mm!important;border:0.35mm solid #111!important;border-radius:3mm!important;box-shadow:none!important;background:#fff!important;padding:4.2mm!important;gap:3mm!important;break-inside:avoid;page-break-inside:avoid;color:#000!important}
  .qr-brand-row{min-height:12mm!important;gap:3mm!important;padding-bottom:2.5mm!important;border-bottom:0.25mm solid #111!important}
  .qr-brand-logo{width:30mm!important;height:11.5mm!important;min-width:30mm!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;justify-content:start!important;place-items:center start!important}
  .qr-brand-logo img{width:28mm!important;max-height:10mm!important}
  .qr-brand-text strong{font-size:10pt!important;color:#000!important;line-height:1.05!important}.qr-brand-text span{font-size:6.8pt!important;color:#222!important;font-weight:700!important}
  .qr-label-body{grid-template-columns:34mm 1fr!important;gap:5mm!important;align-items:center!important}
  .qr-code-box{width:34mm!important;height:34mm!important;min-width:34mm!important;min-height:34mm!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background:#fff!important}
  .qr-code-box svg{width:34mm!important;height:34mm!important}
  .qr-label-kicker{display:none!important}.qr-label-info h2{font-size:18pt!important;line-height:.9!important;margin:0 0 2.4mm!important;color:#000!important}.qr-label-info p{grid-template-columns:14mm 1fr!important;gap:2mm!important;margin:1mm 0!important;font-size:7.8pt!important;line-height:1.12!important;color:#000!important}.qr-label-info p strong{color:#000!important}.qr-label-info p span{color:#000!important}
  .qr-label-footer{font-size:7pt!important;color:#000!important;font-weight:800!important;padding-top:2.2mm!important;border-top:0.25mm solid #111!important;gap:3mm!important}
}

/* Patch V1.62 - preproducción, diagnóstico y backups */
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:0 0 18px 0}
.section-head h2{margin:2px 0 6px;font-size:24px;letter-spacing:-.03em;color:var(--ink)}
.section-head .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.compact-filter-card{padding:14px 16px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.card-head h2{margin:0 0 4px}
.kpi-inline{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.kpi-inline span{min-width:132px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.kpi-inline strong{display:block;font-size:18px;color:var(--ink);letter-spacing:-.02em}
.kpi-inline small{display:block;margin-top:2px;color:var(--muted);font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.diagnostic-card{position:relative;display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(15,23,42,.07);overflow:hidden}
.diagnostic-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#22c55e}
.diagnostic-card.diagnostic-warn:before{background:#f59e0b}
.diagnostic-card.diagnostic-bad:before{background:#ef4444}
.diagnostic-status{width:10px;height:10px;border-radius:999px;margin-top:5px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);flex:0 0 auto}
.diagnostic-warn .diagnostic-status{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.diagnostic-bad .diagnostic-status{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}
.diagnostic-card strong{display:block;color:var(--ink);font-size:13px;margin-bottom:4px}
.diagnostic-card p{margin:0;color:var(--ink);font-weight:800;line-height:1.3}
.diagnostic-card small{display:block;margin-top:6px;color:var(--muted);line-height:1.4}
@media (max-width:1100px){.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{flex-direction:column}.section-head .actions{justify-content:flex-start}.kpi-inline{justify-content:flex-start}}
@media (max-width:720px){.diagnostic-grid{grid-template-columns:1fr}.section-head .actions,.section-head .inline-form{width:100%}.section-head .btn{width:100%;justify-content:center}.kpi-inline{width:100%}.kpi-inline span{flex:1;min-width:0}}

/* Patch V1.63 - Presupuesto PDF A4 blanco y negro */
body.budget-print-page{background:#e9edf3!important;color:#111!important}
body.budget-print-page .budget-print-actions{max-width:210mm!important;margin:14px auto 10px!important;padding:0 10px!important}
body.budget-print-page .budget-document{width:min(210mm,calc(100% - 24px))!important;min-height:297mm!important;margin:0 auto 28px!important;padding:12mm!important;border:1px solid #d7dce4!important;border-radius:10px!important;box-shadow:0 18px 42px rgba(15,23,42,.12)!important;background:#fff!important;color:#111!important;font-size:10.2pt!important;line-height:1.25!important}
body.budget-print-page .budget-doc-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8mm!important;align-items:start!important;border-bottom:0.6mm solid #111!important;padding-bottom:4.5mm!important;margin-bottom:4.5mm!important}
body.budget-print-page .budget-doc-brand{display:flex!important;align-items:center!important;gap:4.5mm!important;min-width:0!important}
body.budget-print-page .budget-logo-frame{width:34mm!important;height:15mm!important;min-width:34mm!important;display:grid!important;place-items:center!important;padding:1.6mm 2.2mm!important;border:0.3mm solid #111!important;border-radius:3mm!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
body.budget-print-page .budget-logo{display:block!important;width:29mm!important;max-width:100%!important;max-height:11.5mm!important;height:auto!important;object-fit:contain!important;filter:none!important}
body.budget-print-page .budget-doc-brand h1{font-size:18pt!important;line-height:1!important;letter-spacing:-.04em!important;margin:0!important;color:#000!important}
body.budget-print-page .budget-doc-brand p{font-size:10.5pt!important;line-height:1.15!important;margin:1mm 0 0!important;color:#333!important;font-weight:800!important}
body.budget-print-page .budget-doc-number{display:grid!important;gap:.8mm!important;text-align:right!important;white-space:nowrap!important}
body.budget-print-page .budget-doc-number span{font-size:7.5pt!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:#333!important;font-weight:900!important}
body.budget-print-page .budget-doc-number strong{font-size:22pt!important;line-height:.95!important;color:#000!important;letter-spacing:.02em!important}
body.budget-print-page .budget-doc-number small{font-size:9.5pt!important;color:#111!important;font-weight:900!important}
body.budget-print-page .budget-doc-branch{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(42mm,.75fr)!important;gap:5mm!important;margin-bottom:4.5mm!important;padding:4mm!important;border:0.3mm solid #c7ccd3!important;border-radius:4mm!important;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important}
body.budget-print-page .budget-doc-branch div{display:grid!important;gap:1mm!important}
body.budget-print-page .budget-doc-branch span{font-size:9.6pt!important;line-height:1.22!important;color:#111!important}
body.budget-print-page .budget-doc-branch strong{font-size:9.8pt!important;color:#000!important}
body.budget-print-page .budget-doc-branch div:last-child span{font-size:7pt!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#333!important;font-weight:900!important}
body.budget-print-page .budget-doc-branch div:last-child strong{font-size:10pt!important;line-height:1.08!important}
body.budget-print-page .budget-doc-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4mm!important;margin-bottom:4mm!important}
body.budget-print-page .budget-doc-grid>div,body.budget-print-page .budget-doc-info{padding:3.8mm!important;margin-bottom:4mm!important;border:0.3mm solid #c7ccd3!important;border-radius:4mm!important;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important}
body.budget-print-page .budget-document h2{font-size:9.5pt!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#111!important;margin:0 0 2.2mm!important;font-weight:900!important}
body.budget-print-page .budget-document p{margin:1mm 0!important;font-size:9.6pt!important;line-height:1.24!important;color:#000!important}
body.budget-print-page .budget-doc-table{width:100%!important;border-collapse:collapse!important;border:0.3mm solid #b8bec7!important;margin-bottom:3.5mm!important;font-size:9pt!important}
body.budget-print-page .budget-doc-table th{background:#eee!important;color:#000!important;padding:2.1mm 2.5mm!important;border-bottom:0.3mm solid #b8bec7!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:7.6pt!important;font-weight:900!important}
body.budget-print-page .budget-doc-table td{padding:2.3mm 2.5mm!important;border-bottom:0.25mm solid #d9dde3!important;color:#000!important;vertical-align:top!important}
body.budget-print-page .budget-doc-table tbody tr:last-child td{border-bottom:0!important}
body.budget-print-page .budget-doc-table td:nth-child(2),body.budget-print-page .budget-doc-table th:nth-child(2){text-align:center!important;width:15mm!important}
body.budget-print-page .budget-doc-table td:nth-child(3),body.budget-print-page .budget-doc-table th:nth-child(3){text-align:right!important;width:30mm!important}
body.budget-print-page .budget-doc-table td:nth-child(4),body.budget-print-page .budget-doc-table th:nth-child(4){text-align:right!important;width:30mm!important}
body.budget-print-page .budget-doc-totals{display:grid!important;gap:1mm!important;justify-content:end!important;margin:2mm 0 4mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
body.budget-print-page .budget-doc-totals p{min-width:58mm!important;margin:0!important;display:flex!important;justify-content:space-between!important;gap:8mm!important;border-bottom:0.25mm solid #cfd4dc!important;padding:1.4mm 0!important;font-size:10pt!important;color:#000!important}
body.budget-print-page .budget-doc-totals .final{background:#fff!important;color:#000!important;border:0.45mm solid #111!important;border-radius:2.8mm!important;padding:2.5mm 3.5mm!important;font-size:13pt!important;font-weight:900!important}
body.budget-print-page .budget-doc-footer{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8mm!important;margin-top:7mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
body.budget-print-page .budget-doc-footer div{border-top:0.35mm solid #111!important;padding-top:2mm!important;display:grid!important;gap:1mm!important}
body.budget-print-page .budget-doc-footer span{font-size:7.2pt!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#333!important;font-weight:900!important}
body.budget-print-page .budget-doc-footer strong{min-height:4.5mm!important;color:#000!important}
@media(max-width:900px){body.budget-print-page .budget-document{width:min(100%,calc(100% - 16px))!important;min-height:0!important;padding:18px!important}body.budget-print-page .budget-doc-header,body.budget-print-page .budget-doc-branch,body.budget-print-page .budget-doc-grid,body.budget-print-page .budget-doc-footer{grid-template-columns:1fr!important}body.budget-print-page .budget-doc-number{text-align:left!important}body.budget-print-page .budget-doc-brand h1{font-size:24px!important}}
@media print{@page{size:A4 portrait;margin:9mm}html,body.budget-print-page{background:#fff!important}body.budget-print-page .budget-print-actions,body.budget-print-page .no-print{display:none!important}body.budget-print-page .budget-document{width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important;font-size:9.1pt!important}body.budget-print-page .budget-document,body.budget-print-page .budget-document *{box-shadow:none!important;text-shadow:none!important}body.budget-print-page .budget-logo-frame{border:0.3mm solid #111!important}body.budget-print-page .budget-doc-header{margin-bottom:4mm!important;padding-bottom:4mm!important;border-bottom:0.45mm solid #111!important}body.budget-print-page .budget-doc-brand h1{font-size:16.5pt!important}body.budget-print-page .budget-doc-brand p{font-size:9.5pt!important;color:#000!important}body.budget-print-page .budget-doc-number strong{font-size:20pt!important}body.budget-print-page .budget-doc-branch{padding:3.2mm!important;margin-bottom:3.5mm!important}body.budget-print-page .budget-doc-grid>div,body.budget-print-page .budget-doc-info{padding:3.2mm!important;margin-bottom:3.3mm!important}body.budget-print-page .budget-document h2{font-size:8.4pt!important;margin-bottom:1.8mm!important}body.budget-print-page .budget-document p{font-size:8.9pt!important;line-height:1.18!important}body.budget-print-page .budget-doc-branch span{font-size:8.8pt!important}body.budget-print-page .budget-doc-table{font-size:8.5pt!important;margin-bottom:2.8mm!important}body.budget-print-page .budget-doc-table th{font-size:7pt!important;padding:1.8mm 2mm!important}body.budget-print-page .budget-doc-table td{padding:1.9mm 2mm!important}body.budget-print-page .budget-doc-totals{margin:1.5mm 0 3mm!important}body.budget-print-page .budget-doc-totals p{font-size:9.2pt!important;padding:1.1mm 0!important}body.budget-print-page .budget-doc-totals .final{font-size:11.5pt!important;padding:2mm 3mm!important}body.budget-print-page .budget-doc-footer{margin-top:5mm!important}body.budget-print-page .budget-doc-table thead{display:table-header-group!important}body.budget-print-page .budget-doc-info,body.budget-print-page .budget-doc-grid>div,body.budget-print-page .budget-doc-branch,body.budget-print-page .budget-doc-footer,body.budget-print-page .budget-doc-totals{break-inside:avoid!important;page-break-inside:avoid!important}body.budget-print-page a{color:#000!important;text-decoration:none!important}}
