:root{font-family:Inter,system-ui,sans-serif;color:#252831;background:#f4f5f7;font-synthesis:none;--red:#a61e25;--nav:#23262e;--line:#e0e3e8;--muted:#5c6573}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,a{cursor:pointer}button{border:0;border-radius:6px;background:var(--red);color:#fff;padding:10px 14px;font-weight:650}button:hover{filter:brightness(.92)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c76e74;outline-offset:2px}.secondary{color:#313640;background:#fff;border:1px solid #cbd0d9}.demo{min-height:43px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 22px;background:#fff5e4;border-bottom:1px solid #f3dfbb;color:#65491c;font-size:.76rem;font-weight:700;letter-spacing:.04em}.demo select{padding:5px;margin-left:5px;background:#fff}.layout{min-height:calc(100vh - 43px);display:grid;grid-template-columns:224px minmax(0,1fr)}aside{background:var(--nav);color:white;padding:24px 14px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:29px;padding:0 4px;font-size:.95rem}.brand img,.mobile-brand img{background:white;border-radius:4px;width:78px;padding:6px}.brand small{display:block;color:#c8cbd4;font-size:.69rem;margin-top:3px}.nav-btn{display:block;width:100%;text-align:left;background:transparent;color:#e8e9ed;margin:4px 0;font-size:.9rem}.nav-btn.active{background:#a61e25}.workspace{min-width:0}.top{padding:15px 26px;background:white;border-bottom:1px solid var(--line);color:var(--muted);font-size:.85rem}.content{padding:26px;max-width:1480px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.eyebrow{font-size:.72rem;letter-spacing:.1em;color:var(--red);font-weight:800;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:clamp(1.65rem,3vw,2.25rem);letter-spacing:-.045em}h2{font-size:1.03rem}.muted{color:var(--muted);font-size:.88rem;margin-top:5px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.card,.box{background:white;border:1px solid var(--line);border-radius:9px;padding:16px}.card span{display:block;font-size:.8rem;color:var(--muted);font-weight:650}.card strong{display:block;margin-top:8px;font-size:clamp(1.15rem,2vw,1.85rem);letter-spacing:-.035em}.charts{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:15px}.chart{margin-top:12px}.bar-chart{height:145px;display:flex;gap:8px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:5px}.bar-slot{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:4px;color:var(--muted);font-size:.73rem}.bar-slot i{background:#a61e25;display:block;width:min(66%,45px);border-radius:4px 4px 0 0}.state-line{display:grid;grid-template-columns:110px 1fr 28px;gap:8px;align-items:center;margin:11px 0;font-size:.78rem}.track{height:10px;border-radius:10px;background:#eceef2;overflow:hidden}.track i{height:100%;display:block;background:var(--state)}.table-header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px;font-size:.85rem}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid #eceef2}th{color:#5c6573;font-size:.73rem;text-transform:uppercase;letter-spacing:.035em}.badge{display:inline-block;padding:4px 7px;border-radius:5px;background:#eceef2;color:#323844;white-space:nowrap;font-weight:650;font-size:.74rem}.Lista{background:#e3f3e8;color:#225d39}.Pendiente{background:#fff0cf;color:#674505}.Excepción{background:#f9e4e5;color:#852029}.Exportada{background:#e7ecf9;color:#2b4473}.mobile{max-width:530px;margin:25px auto;padding:0 16px}.mobile-brand{display:flex;gap:10px;align-items:center;margin-bottom:18px;font-weight:750}.mobile .box{margin-bottom:12px}.form label{display:block;margin:12px 0;font-size:.88rem;font-weight:650}.form input,.form select,select{border:1px solid #cbd0d9;border-radius:5px;padding:8px;color:inherit;max-width:100%}.form input,.form select{display:block;width:100%;margin-top:5px;background:white}.form .required{color:var(--red)}.form .required input{border:2px solid var(--red)}.stack{display:grid;gap:10px}.notice{background:#fff3d9;padding:10px;border-radius:6px;color:#65491c;font-size:.86rem}.actions{display:flex;gap:7px;flex-wrap:wrap}.text-btn{color:var(--red);background:transparent;padding:0;text-align:left}.empty{padding:14px 0;color:var(--muted)}#notice{position:fixed;bottom:12px;right:12px;max-width:calc(100vw - 24px);padding:11px 14px;color:#fff;background:#2b3238;border-radius:6px;z-index:1}#notice:empty{display:none}@media(max-width:1040px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.charts{grid-template-columns:1fr}}@media(max-width:680px){.layout{display:block}aside{padding:12px}.brand{margin-bottom:6px}.nav-btn{display:inline-block;width:auto}.content,.top{padding:14px}.demo{padding:8px;flex-wrap:wrap}.card,.box{padding:12px}}
.mobile-brand img{display:block;flex:0 0 86px;width:86px;height:auto;aspect-ratio:3.3;object-fit:contain}

:root{--red:#4a5060;--nav:#292d36}.demo{background:#edf0f4;border-color:#dce0e7;color:#444c5a}.nav-btn.active{background:#454c5c}.brand div,.mobile-brand{font-weight:850;letter-spacing:.035em}.mobile{max-width:400px}.cards{grid-template-columns:repeat(5,minmax(0,1fr))}.card{padding:10px}.block-select{background:transparent;color:inherit;text-align:left;width:100%;padding:8px}.block-select.selected{background:#e8edf4;outline:1px solid #a7b4c7}.block-select strong{margin:4px 0}.move{display:flex;gap:5px;margin-top:5px}.move button{padding:2px 8px}.move button:disabled{opacity:.35;cursor:default}.form .required{color:#852029}.form .required input{border-color:#852029}@media(max-width:1100px){.cards{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}}
.card[draggable=true],.card[draggable=true] .block-select{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.user-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:14px;align-items:start}.user-grid .muted{overflow-wrap:anywhere;margin:10px 0}@media(max-width:680px){.user-grid{grid-template-columns:1fr}}
.invoice-groups{display:grid;gap:14px}.invoice-groups button:disabled{opacity:.45;cursor:default}.original{margin-top:14px}.original img,.original iframe{display:block;width:100%;margin-top:10px}.original iframe{height:520px;border:0}.original pre{max-height:450px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.form .required input{border:1px solid #cbd0d9;border-bottom:3px solid #a6303c}.form input[readonly]{background:#f1f3f6}#correction-error{color:#852029}
.demo label{display:flex;align-items:center;gap:10px;font-size:.95rem}.demo select{min-height:44px;font-size:1rem;padding:8px 12px}.brand{flex-direction:column;align-items:center;text-align:center}.brand img{width:132px;height:auto}.brand div{font-size:.95rem;overflow-wrap:anywhere}
.brand .mg-mark{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #4b5059;color:#c9cdd4;font-size:.68rem;letter-spacing:.02em}.brand .mg-mark strong{color:#fff;font-size:.82rem;display:block;margin-top:3px}.mobile-brand .mg-mark{display:block;color:#747b85;font-size:.7rem;margin-top:3px}.mobile-brand span{display:block}.mobile-brand .mg-mark strong{color:#454b55}
.brand .brand-logos{display:flex;align-items:center;gap:10px}.brand .brand-logos img{width:106px;max-height:54px;object-fit:contain;background:#fff;border-radius:4px;padding:5px}.mobile-brand .brand-logos{display:flex;align-items:center;gap:8px}.mobile-brand .brand-logos img{width:72px;height:38px;object-fit:contain}.mobile-brand .brand-logos img:first-child{width:86px}
.demo{justify-content:space-between;gap:18px;padding:8px 24px;background:#fff;border-bottom:1px solid #dfe2e8;color:#4f5661}.demo .mg-header{width:144px;height:44px;object-fit:contain;object-position:left center}.demo .demo-label{margin-left:auto;margin-right:12px;font-size:.72rem;letter-spacing:.025em;color:#737984}.demo label{flex:0 0 auto}
.brand{flex-direction:column;align-items:center;gap:8px;padding:10px 4px 22px}.brand img{width:172px;height:64px;object-fit:contain;background:#fff;padding:5px;border-radius:5px}.brand div{font-size:.86rem;letter-spacing:.12em}
.mobile-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:18px;padding:8px 0}.mobile-brand img{width:170px;height:62px;object-fit:contain;background:#fff;padding:5px;border-radius:5px}.mobile-brand span{font-size:.83rem;letter-spacing:.12em;font-weight:850}
@media(max-width:680px){.demo{gap:7px;padding:7px 10px}.demo .mg-header{width:100px;height:35px}.demo .demo-label{font-size:.61rem;margin:0 auto}.demo label{font-size:.8rem}.demo select{min-height:38px;font-size:.86rem;padding:5px 8px}.brand{flex-direction:row;align-items:center;padding:0 4px 7px}.brand img{width:105px;height:43px}.brand div{font-size:.74rem}.mobile-brand img{width:150px;height:55px}}
.demo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:96px;padding:10px 28px;gap:18px;background:#fff;border-bottom:1px solid #e2e5e9;color:#515864}
.demo .mg-header{grid-column:2;grid-row:1;width:240px;height:76px;object-fit:contain;object-position:center;justify-self:center}
.demo .demo-label{grid-column:1;grid-row:1;justify-self:end;margin:0;font-size:.7rem;letter-spacing:.04em;color:#737984}
.demo label{grid-column:3;grid-row:1;justify-self:start}
@media(max-width:680px){.demo{grid-template-columns:1fr auto;min-height:0;padding:10px 12px;gap:8px}.demo .mg-header{grid-column:1/-1;grid-row:1;width:220px;height:68px}.demo .demo-label{grid-column:1;grid-row:2;justify-self:start;font-size:.58rem}.demo label{grid-column:2;grid-row:2;justify-self:end;font-size:.78rem}.demo select{min-height:36px;font-size:.82rem;padding:4px 7px}}
.brand{background:#fff;border-radius:10px;margin:0 2px 20px;padding:15px 8px 12px;gap:6px;box-shadow:0 1px 5px #1112}
.brand img.mg-brand{width:154px;height:72px;object-fit:contain;background:transparent;padding:2px;border-radius:0}
.brand img.indeco-brand{width:172px;height:64px;object-fit:contain;background:transparent;padding:2px;border-radius:0}
.brand img.indeco-brand{border-top:2px solid #f4f5f7;height:78px;padding-top:12px;margin-top:8px}
.upload-queue{display:grid;gap:10px;margin:14px 0}
.upload-item{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}
.upload-item strong{display:block;overflow-wrap:anywhere;font-size:.9rem}
.upload-item small{display:block;color:var(--muted);margin-top:4px}
.upload-item label{margin:0!important;font-size:.8rem!important}
.upload-item select{display:block;width:100%;margin-top:5px;background:white}
#send-batch:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:680px){.upload-item{grid-template-columns:minmax(0,1fr) auto;gap:8px}.upload-item label{grid-column:1/-1;grid-row:2}.upload-item button{grid-column:2;grid-row:1}}
.upload-item{grid-template-columns:minmax(0,1fr) auto}
.upload-item>div{grid-column:1/-1;min-width:0}
.upload-item strong{overflow-wrap:anywhere;word-break:break-word}
.upload-item label{grid-column:1;grid-row:2;min-width:0}
.upload-item button{grid-column:2;grid-row:2;align-self:end}
.upload-preview{grid-column:1/-1;min-width:0;padding-top:9px;border-top:1px solid #e5e8ed}
.upload-preview img{display:block;width:auto;max-width:100%;max-height:220px;margin:0 auto;border:1px solid #dfe3e9;border-radius:6px;object-fit:contain;background:#fff}
.upload-preview details summary{cursor:pointer;color:#4b5563;font-weight:700;padding:4px 0}
.upload-preview iframe{display:block;width:100%;height:240px;border:1px solid #dfe3e9;border-radius:6px;background:#fff;margin-top:8px}
.file-type-preview{display:flex;align-items:center;gap:12px;padding:12px;background:#f3f5f8;border-radius:6px;color:#4b5563}
.file-type-preview b{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:5px;background:#fff;border:1px solid #d9dee6;font-size:.7rem}
.file-type-preview span{font-size:.83rem}
.upload-item{grid-template-columns:minmax(0,1fr) minmax(120px,38%);column-gap:14px;row-gap:8px;align-items:center}
.upload-item>div:first-child{grid-column:1;grid-row:1;min-width:0}
.upload-item label{grid-column:1;grid-row:2}
.upload-item button{grid-column:1;grid-row:3;justify-self:start}
.upload-item .upload-preview{grid-column:2;grid-row:1/span 3;align-self:stretch;border-top:0;border-left:1px solid #e5e8ed;padding:0 0 0 12px;display:flex;align-items:center;justify-content:center;min-width:0}
.upload-preview img{max-height:210px;width:100%;height:100%;object-fit:contain}
.upload-preview iframe{height:210px;margin:0}
.upload-preview details{width:100%}
.file-type-preview{width:100%;height:100%;min-height:90px;flex-direction:column;justify-content:center;text-align:center;padding:8px}
@media(max-width:420px){.upload-item{grid-template-columns:minmax(0,1fr) minmax(100px,36%);column-gap:9px}.upload-item .upload-preview{padding-left:8px}.upload-item select{font-size:.79rem}.upload-item button{padding:8px 12px}}
.brand div{color:#323844;font-size:.82rem;letter-spacing:.12em;margin-top:-5px}
@media(max-width:680px){.brand{flex-direction:column;align-items:center;padding:10px 8px;margin-bottom:12px}.brand img.mg-brand{width:126px;height:55px}.brand img.indeco-brand{width:142px;height:52px}.brand div{font-size:.72rem}}
.operational .layout{min-height:100vh}
.operational .portal-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.operational #notice{position:static;max-width:none;margin-bottom:14px;background:#e8edf4;color:#323844}
.operational button:disabled{opacity:.45;cursor:not-allowed}
.operational .invoice-filename{display:block;overflow-wrap:anywhere;max-width:240px;color:var(--muted);margin-top:4px}
.operational .portal-upload{max-width:680px}
.operational .upload-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px}
.operational .upload-inputs label{margin:0;padding:9px;border:1px solid var(--line);border-radius:6px}
.operational .upload-inputs .drop-files{border-style:dashed}
.operational .upload-receipts{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.operational .upload-receipts ul{margin:8px 0 0;padding-left:20px}
.operational .upload-receipts li{overflow-wrap:anywhere}
.operational .mobile-brand img{flex:none}
@media(max-width:520px){.operational .upload-inputs{grid-template-columns:1fr}}
.operational .carga-menu{margin-bottom:14px}.operational .mobile .upload-inputs{grid-template-columns:1fr}
.operational .period-control{margin-bottom:15px}.operational .period-control .table-header{margin:0;align-items:center}
.operational .invoice-table th,.operational .invoice-table td{padding:6px 8px}.operational .invoice-table .badge{padding:2px 6px}
.operational .period-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px}.operational .period-grid button{min-height:44px;padding:8px}.operational .period-editor{margin:10px 0}.operational .period-editor summary{cursor:pointer;font-weight:650}.operational .period-editor input{max-width:240px}
