:root{--ink:#163449;--muted:#607789;--green:#0d2b45;--green2:#008f7c;--lime:#dff8f4;--bg:#f4f8fb;--line:#d5e0e8;--white:#fff;--red:#a13e32;--amber:#9b651d;--shadow:0 12px 36px #0d2b450c;--radius:14px;font-family:Montserrat,"Segoe UI",system-ui,sans-serif;color:var(--ink);font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green2)}button:disabled{opacity:.5;cursor:wait}button{border:1px solid transparent;border-radius:8px;padding:10px 16px;font-weight:600;line-height:1.35}button.primary,.primary{background:var(--green);color:white;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary{background:white;border-color:var(--line);color:var(--ink)}.quiet{background:transparent;color:var(--muted);padding:8px}.danger{background:#fcedea;color:var(--red);border-color:#f0d6ce}.icon-button{padding:5px 10px;font-size:24px;background:transparent;color:inherit}button:hover:not(:disabled){filter:brightness(.96)}:focus-visible{outline:3px solid #9fc687;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #ced8ce;border-radius:8px;background:white;padding:11px 12px;color:var(--ink);min-height:42px}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--green)}textarea{min-height:94px;resize:vertical}input::placeholder{color:#939e96}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin-bottom:10px}h2{font-size:22px;line-height:1.3;letter-spacing:-.4px}h3{font-size:16px}small,.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;display:block;margin-bottom:10px;color:#657b65}.skip{position:fixed;top:-60px;left:10px;z-index:1000;background:white;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}
#shell{display:flex;min-height:100vh}#sidebar{width:238px;background:var(--green);color:#d9e8db;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:30px 24px 28px;color:white;text-decoration:none;font-size:19px;font-weight:650;letter-spacing:-.6px;line-height:1.15}.brand small{color:#abc5b5;display:block;font-size:9px;letter-spacing:2.5px;margin-top:5px}#navigation{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#557462 transparent;padding:0 12px 20px;flex:1}.nav-group{font-size:9px;letter-spacing:1.6px;color:#9ab5a0;margin:22px 12px 8px;font-weight:650}.nav-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:#c7dacd;padding:10px 13px;border-radius:7px;margin:2px 0;font-size:12px}.nav-link:hover{background:#ffffff09;color:white}.nav-link.active{background:#d4eabb;color:#153f2d;font-weight:650}.nav-icon{font-size:16px;width:20px;text-align:center}.side-foot{font-size:10px;letter-spacing:.2px;padding:20px;border-top:1px solid #ffffff12;color:#b0c6b7}.online{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b4d891;margin-right:6px}.workspace{margin-left:238px;flex:1;min-width:0}.topbar{height:78px;background:#fbfcf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.breadcrumb{font-size:10px;letter-spacing:1.4px;color:#7e8a7e;display:flex;gap:14px;align-items:center}.breadcrumb span:last-child{color:#385642;letter-spacing:.2px;font-size:12px}.top-tools{display:flex;align-items:center;gap:14px}.top-tools select{min-height:35px;font-size:12px;width:180px;border-color:transparent;background:transparent;padding:4px}.user-avatar{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#e0e8d5;font-size:10px;font-weight:650}.mobile-toggle{display:none}main{max-width:1520px;margin:auto;padding:38px 38px 55px;min-height:calc(100vh - 132px)}.page-head{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:28px}.page-head p{font-size:13px;color:var(--muted);margin:0}.head-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.page-footer{max-width:1520px;margin:auto;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 38px;font-size:10px;color:#7b8b7c}.badge{display:inline-block;white-space:nowrap;border-radius:5px;font-size:10px;letter-spacing:.3px;padding:4px 7px;background:#eef1e7;color:#657254}.badge.emitido,.badge.registrado,.badge.Programada{background:#e8f1f0;color:#316f65}.badge.facturado,.badge.cerrada,.badge.Finalizada{background:#e5efdc;color:#427039}.badge.anulado{background:#f4e7e1;color:#995645}.badge.borrador{background:#f7f0df;color:#957430}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:24px}.card-header{padding:21px 24px 17px;display:flex;justify-content:space-between;align-items:center;gap:15px}.card-header h2,.card-header h3{margin:0}.card-header h2{font-size:16px}.card-header a{font-size:11px;font-weight:600;text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:25px}.metric{padding:23px 23px 19px}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#758273}.metric-icon{background:#eef3e8;border-radius:9px;width:30px;height:30px;display:grid;place-items:center;font-size:16px;color:#6a8656}.metric-value{font-size:34px;font-weight:600;letter-spacing:-1.2px;margin:10px 0 5px}.metric-note{font-size:10px;color:#82907c}.metric.featured{background:var(--green);color:#f7fbed;border-color:var(--green)}.metric.featured .metric-top,.metric.featured .metric-note{color:#bad0bd}.metric.featured .metric-icon{background:#ffffff14;color:#d4eabb}.dashboard-grid{display:grid;grid-template-columns:1fr 300px;gap:24px;margin-top:24px}.dash-main{min-width:0}.stack{display:grid;gap:22px;align-content:start}.welcome-banner{background:#eaf0df;border:1px solid #dce5cb;border-radius:var(--radius);padding:22px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome-banner h3{font-size:16px;margin-bottom:4px}.welcome-banner p{font-size:12px;color:#657854;margin-bottom:0}.welcome-banner .primary{white-space:nowrap;font-size:12px}.empty{padding:46px 22px;text-align:center}.empty-symbol{display:grid;place-items:center;margin:0 auto 12px;width:50px;height:50px;background:#eff3e8;border:1px solid #e4ebdb;border-radius:14px;color:#8da374;font-size:24px}.empty h3{margin-bottom:6px;font-size:15px}.empty p{color:var(--muted);font-size:12px;max-width:400px;margin:0 auto 16px}.empty button{font-size:12px}.quick-action{display:flex;padding:13px 0;text-decoration:none;color:var(--ink);align-items:center;gap:12px;border-top:1px solid #edf0e9}.quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eef3e6;color:#617e48;font-size:17px}.quick-action strong{display:block;font-size:12px}.quick-action small{font-size:10px}.quick-action .arrow{margin-left:auto;color:#8da081}.onboarding{counter-reset:step;padding:0;list-style:none}.onboarding a{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:12px;padding:12px 0;border-bottom:1px solid #eef1e7}.onboarding a:before{counter-increment:step;content:counter(step);width:22px;height:22px;display:grid;place-items:center;border:1px solid #dbe5d0;border-radius:50%;font-size:10px}.alert-item{font-size:12px;padding:12px 0;border-top:1px solid #edf0e9;color:#8d682a}.toolbar{padding:17px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.toolbar input{max-width:360px;min-height:38px;background:#fafbf7;font-size:12px}.table-count{font-size:11px;color:var(--muted);white-space:nowrap}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:10px;letter-spacing:.4px;font-weight:650;color:#82907c;background:#fafbf7;padding:13px 19px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px 19px;border-bottom:1px solid #edf0e9;vertical-align:middle;max-width:280px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}td .quiet{padding:2px 5px;font-size:17px}.number{font-variant-numeric:tabular-nums;white-space:nowrap}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination button{padding:7px 12px;font-size:11px}.filters{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.filter{border-color:var(--line);background:white;color:var(--muted);font-size:12px;padding:8px 14px}.filter.active{background:var(--green);color:white;border-color:var(--green)}.note{background:#f2f5eb;border:1px solid #e2e8d9;color:#687b5b;border-radius:9px;padding:13px 16px;font-size:12px;margin-bottom:18px}.note.amber{background:#faf5e8;border-color:#eee2c4;color:#927431}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:11px;color:#5e715f;font-weight:600}.field.full,.full{grid-column:1/-1}.checkbox-field{flex-direction:row;align-items:center;gap:10px;padding-top:18px}.checkbox-field span{font-size:12px}.field-hint{font-size:10px;color:var(--muted);font-weight:400}.section-label{grid-column:1/-1;font-size:11px;font-weight:650;letter-spacing:1px;text-transform:uppercase;margin:12px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line)}.form-error{background:#fbedeb;border:1px solid #f0d1ca;border-radius:8px;padding:12px;color:#a63f32;font-size:12px}.loading{padding:45px;text-align:center;color:var(--muted)}dialog{border:0;padding:0;width:min(850px,calc(100vw - 28px));max-height:90vh;border-radius:16px;box-shadow:0 30px 100px #10291f40;background:#fff;color:var(--ink)}dialog::backdrop{background:#10251c77;backdrop-filter:blur(3px)}dialog form{display:flex;flex-direction:column;max-height:90vh}.modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 28px;gap:20px}.modal-head h2{margin:0}.modal-head .eyebrow{font-size:9px;margin-bottom:5px}.modal-body{padding:24px 28px;overflow:auto;flex:1}.modal-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fafbf7}.modal-footer .danger{margin-right:auto}#modal-error{margin:0 28px 12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.detail-item dt{font-size:10px;color:var(--muted);margin-bottom:4px}.detail-item dd{margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.line-table input{min-width:80px;font-size:12px;padding:8px}.line-table td{padding:8px}.line-table th{padding:10px 8px}.line-table td:first-child{width:52%}.line-total{display:flex;justify-content:flex-end;align-items:center;gap:25px;margin-top:18px;padding:16px;border-radius:8px;background:#f4f7ee;font-size:12px}.line-total strong{font-size:23px}.print-heading{border-bottom:2px solid var(--green);margin-bottom:18px;padding-bottom:18px}.print-heading small{display:block}.api-endpoint{background:#f6f8f0;border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0;font-family:monospace;font-size:12px;overflow-x:auto}.api-endpoint b{color:#2c805e;margin-right:15px}.codeblock{background:#193d30;color:#d7e8c8;padding:20px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.schema-grid{display:grid;grid-template-columns:220px 1fr;gap:20px}.schema-list{max-height:650px;overflow:auto}.schema-link{display:block;width:100%;text-align:left;padding:10px 14px;background:transparent;color:var(--ink);font-size:12px;font-weight:400;border-radius:0;border-bottom:1px solid #edf0e9}.schema-link.active{background:#e9f0dd;font-weight:650}.summary-strip{display:flex;gap:30px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.summary-strip strong{display:block;font-size:23px;color:var(--ink)}#toasts{position:fixed;right:24px;bottom:24px;display:grid;gap:10px;z-index:100}.toast{max-width:420px;background:var(--green);color:white;border:1px solid #51735d;border-radius:10px;padding:14px 20px;box-shadow:0 8px 30px #0002;font-size:13px}.toast.error{background:#953d30}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:var(--green);color:#edf4e2;padding:60px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art .brand{padding:0}.auth-art h1{font-size:50px;max-width:500px;letter-spacing:-2px;font-weight:550;line-height:1.1}.auth-art p{color:#b9d0b8;max-width:380px;font-size:14px;line-height:1.8}.road-art{height:120px;border-top:1px solid #aec99b33;border-bottom:1px solid #aec99b33;position:relative;margin:36px 0;background:linear-gradient(90deg,transparent 20%,#d4eabb08 20%,#d4eabb08 21%,transparent 21%,transparent 70%,#d4eabb08 70%,#d4eabb08 71%,transparent 71%)}.road-art:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:repeating-linear-gradient(90deg,#d4eabb88 0 18px,transparent 18px 35px)}.auth-copy{font-size:10px;letter-spacing:2px;color:#a9c3a4}.auth-form{display:flex;align-items:center;justify-content:center;padding:50px;background:#f8f9f3}.auth-form>div{width:100%;max-width:390px}.auth-form form{display:grid;gap:20px;margin-top:30px}.auth-form .primary{margin-top:5px}.auth-form h1{font-size:30px;letter-spacing:-1px}.auth-form .subtitle{font-size:13px;color:var(--muted)}.auth-foot{margin-top:30px;font-size:10px;color:#8b9885;line-height:1.7}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.small-table td{padding:12px 16px}.print-only{display:none}
@media(min-width:1500px){main{padding-top:46px}.dashboard-grid{grid-template-columns:1fr 330px}}
@media(max-width:1150px){#sidebar{width:210px}.workspace{margin-left:210px}.brand{padding-left:20px;font-size:17px}.topbar{padding:0 25px}main{padding:30px 25px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack:last-child{grid-template-columns:1fr 1fr}.metrics{gap:12px}.metric{padding:18px}.metric-value{font-size:30px}.page-head{align-items:flex-start}.top-tools select{width:150px}.two-columns{grid-template-columns:1fr}.auth-art{padding:40px}.auth-art h1{font-size:40px}}
@media(max-width:800px){#sidebar{transform:translateX(-100%);width:238px;transition:transform .18s}body.menu-open #sidebar{transform:translateX(0);box-shadow:0 0 0 100vmax #0006}.workspace{margin-left:0}.mobile-toggle{display:block}.topbar{height:65px;padding:0 16px;gap:8px}.breadcrumb{display:none}.top-tools{gap:8px}.top-tools select{width:175px}.top-tools .quiet{font-size:11px}.user-avatar{display:none}main{padding:26px 17px}.page-head{display:block;margin-bottom:22px}.head-actions{margin-top:18px}.metrics{grid-template-columns:1fr 1fr;gap:12px}.metric-value{font-size:30px}h1{font-size:26px}.dashboard-grid>.stack:last-child{grid-template-columns:1fr}.dashboard-grid{gap:18px}.form-grid,.detail-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.schema-grid{grid-template-columns:1fr}.schema-list{max-height:200px}.auth-page{grid-template-columns:1fr}.auth-art{min-height:210px;padding:28px}.auth-art h1{font-size:28px;margin:26px 0 0}.auth-art p,.auth-copy,.road-art{display:none}.auth-form{padding:30px 22px}.welcome-banner{display:block}.welcome-banner .primary{margin-top:16px}.modal-head,.modal-body{padding:20px}.modal-footer{padding:16px 20px}.page-footer{padding:16px}.table-count{display:none}.toolbar{padding:16px}.head-actions button{font-size:12px}.card-header{padding:18px}.summary-strip{gap:20px}}
.stack,.card,.dashboard-grid>*,.two-columns>*,.field{min-width:0}.stack{grid-template-columns:minmax(0,1fr)}.sr-only{left:0;top:0;white-space:nowrap}.table-wrap{position:relative}
.transport-document{border:1px solid #27352f;margin:20px 0;background:#fff;color:#18221e}.transport-document header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px;border-bottom:2px solid #27352f;font-size:15px}.transport-document header b{font-size:22px}.transport-fields{display:grid;grid-template-columns:1fr 1fr}.transport-field{margin:0;padding:8px 10px;min-height:66px;border-right:1px solid #8d9993;border-bottom:1px solid #8d9993}.transport-field:nth-child(even){border-right:0}.transport-field dt{font-size:9px;line-height:1.25;color:#405149;font-weight:650}.transport-field dt span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-right:5px;border:1px solid #8d9993}.transport-field dd{margin:6px 0 0;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.transport-field.field-mercaderia,.transport-field.field-observaciones{grid-column:1/-1;border-right:0;min-height:100px}.transport-document footer{padding:7px 10px;text-align:center;font-size:8px;color:#66736d}.screen-document-fields{border-top:1px solid var(--line);padding-top:18px}.official-pdf-sheet{position:relative;width:100%;aspect-ratio:595/842;background:#fff;overflow:hidden}.official-pdf-sheet>img,.pdf-overlay{position:absolute;inset:0;width:100%;height:100%;display:block}.pdf-overlay{z-index:1}.pdf-svg-value{font-family:Arial,sans-serif;fill:#000}.screen-form-map{display:none}
.tenant-selector{display:flex;flex-direction:column;gap:2px;min-width:0}.tenant-selector label{font-size:9px;letter-spacing:.7px;color:var(--muted);padding-left:3px}.tenant-selector select{min-height:36px;padding:6px 9px}.context-status{padding:7px 38px;background:#edf2e7;border-bottom:1px solid var(--line);color:#536e50;font-size:11px;overflow-wrap:anywhere}@media(max-width:800px){.context-status{padding:6px 17px}.tenant-selector label{font-size:9px}.tenant-selector select{max-width:190px}}
#toasts{pointer-events:none}
.mailcow-login{margin-bottom:1.5rem}.mailcow-login hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.mailcow-config{margin-top:1.5rem}.mailcow-config summary{cursor:pointer;font-weight:700;padding:.6rem 0}
.cash-card{margin-bottom:20px}.cash-card .card-header>div:first-child{min-width:0}.cash-card .summary-strip{background:#f7f9f4}.cash-card small.block{margin-top:4px}
.block{display:block;margin-top:5px}.admin-footnote{margin-top:24px}.admin-table .inline-actions{gap:6px}.admin-table td button{font-size:11px;padding:7px 9px}.admin-table td{max-width:360px}.role-label{font-size:10px;color:var(--green2);font-weight:650}.license-activa{background:#e5efdc;color:#427039}.license-vencida,.license-suspendida{background:#f4e7e1;color:#995645}.license-programada,.license-sin_licencia{background:#f7f0df;color:#957430}.tenant-assignment{border:1px solid var(--line);border-radius:10px;padding:16px;margin:22px 0 0}.tenant-assignment legend{padding:0 6px;font-weight:600}.tenant-assignment p{font-size:12px}.notice-timeline{list-style:none;padding:0;counter-reset:notice}.notice-timeline li{position:relative;padding:0 0 24px 42px}.notice-timeline li:before{counter-increment:notice;content:counter(notice);position:absolute;left:0;width:28px;height:28px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:12px}.notice-timeline span{display:block;color:var(--muted);font-size:12px;margin-top:4px}@media(max-width:800px){.role-label{display:none}.admin-table td{min-width:130px}.admin-table td:last-child{min-width:220px}.admin-footnote{margin-top:18px}}
@media print{body{background:white!important}#shell,#acceso,#toasts,.modal-head,.modal-footer,.detail-actions,.form-error,.print-exclude{display:none!important}dialog{display:block!important;position:static!important;margin:0!important;max-width:none!important;width:100%!important;max-height:none!important;box-shadow:none!important;border-radius:0!important}dialog::backdrop{display:none}dialog form{max-height:none}.modal-body{padding:0;overflow:visible!important}.print-only{display:block}.detail-grid{grid-template-columns:1fr 1fr}table{font-size:10px}button{display:none!important}.note{border-color:#ddd}.official-pdf-sheet{width:209mm;height:296mm;aspect-ratio:auto;flex:none!important}.screen-form-map,.screen-document-fields,.official-pdf-sheet~h3,.official-pdf-sheet~.table-wrap,.official-pdf-sheet~.muted,.print-heading{display:none!important}@page{size:A4;margin:0}}
.demo-banner{position:fixed;z-index:50;left:238px;right:0;top:0;min-height:42px;padding:8px 20px;background:#ffe59a;color:#493b0b;display:flex;align-items:center;justify-content:center;gap:18px;border-bottom:1px solid #d4b34f}.demo-banner strong{letter-spacing:.08em;font-size:11px}.demo-banner span{font-size:11px}.demo-banner~.workspace{padding-top:42px}.demo-banner~.workspace .topbar{top:42px}.demo-banner button{margin-left:auto;padding:4px 8px;color:#493b0b}@media(max-width:800px){.demo-banner{left:0;gap:8px;justify-content:flex-start;flex-wrap:wrap}.demo-banner span{font-size:10px}.demo-banner~.workspace{padding-top:66px}.demo-banner button{margin-left:0}}
