[hidden]{display:none!important}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#102433;background:#f4f7f9;--ink:#102433;--navy:#0b2b3f;--navy2:#123e55;--teal:#0d8b8c;--teal2:#21a6a4;--amber:#ffb703;--surface:#ffffff;--line:#dbe4e9;--muted:#647684;--ok:#137a55;--bad:#b02d2d;--soft:#edf4f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,#d9eff0 0,transparent 30%),#f4f7f9}.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,228,233,.9);display:flex;align-items:center;justify-content:space-between;padding:11px max(16px,env(safe-area-inset-left));box-shadow:0 6px 24px rgba(11,43,63,.06)}.brand{display:flex;gap:11px;align-items:center;color:inherit;text-decoration:none}.mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--navy),var(--teal));color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 20px rgba(13,139,140,.22);position:relative;overflow:hidden}.mark:after{content:"";position:absolute;width:12px;height:12px;border:3px solid #fff;border-left:0;border-bottom:0;right:7px;top:7px;opacity:.6}.brand strong{display:block;letter-spacing:-.02em}.brand small{color:var(--muted)}.wrap{max-width:1120px;margin:24px auto;padding:0 16px}.card,.hero,.feature-card,.price-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:0 12px 34px rgba(11,43,63,.07)}.hero{padding:32px}.commercial-hero{background:linear-gradient(135deg,#0b2b3f 0%,#0d5667 58%,#0d8b8c 120%);color:#fff;border:0;position:relative;overflow:hidden}.commercial-hero:after{pointer-events:none;content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:50px solid rgba(255,255,255,.05);right:-100px;top:-140px}.commercial-hero h1,.dashboard-hero h1{font-size:clamp(2.25rem,7vw,4.5rem);line-height:.98;margin:.2em 0;letter-spacing:-.055em}.commercial-hero .lead{font-size:1.16rem;max-width:720px;color:#e8f6f7}.eyebrow{font-size:.76rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}.commercial-hero .eyebrow,.dashboard-hero .eyebrow{color:#8ee7e4}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.trust-row span{background:rgba(255,255,255,.11);padding:8px 11px;border-radius:999px;font-size:.84rem}.feature-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.feature-card{margin:0;min-height:190px}.feature-card h3{font-size:1.2rem;margin:.6rem 0}.feature-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e6f5f5;color:var(--teal);font-weight:900}.split{display:grid;grid-template-columns:1.6fr .9fr;gap:22px;align-items:center}.mini-panel{display:grid;gap:7px;padding:18px;background:var(--soft);border-radius:16px}.badge,.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#e8f4f4;color:#13696b;font-size:.78rem;font-weight:800}.dashboard-hero{background:linear-gradient(135deg,var(--navy),#12475c);color:#fff;border:0}.dashboard-hero p{color:#d6e6ec}.narrow{max-width:610px;margin-left:auto;margin-right:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form label{display:block;font-weight:700;margin:13px 0 6px}.form input,.form select,.form textarea,.search input,.inline-form input,.inline-form select{width:100%;padding:13px 14px;border:1px solid #bdcbd4;border-radius:13px;font:inherit;background:#fff;outline:none;transition:.18s}.form input:focus,.form select:focus,.form textarea:focus,.search input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(13,139,140,.11)}.form small,.small,.muted{color:var(--muted);font-size:.9rem}.primary,.secondary,.ghost,.danger,button{display:inline-block;border:0;border-radius:12px;padding:11px 16px;text-decoration:none;cursor:pointer;font:inherit;font-weight:800;transition:transform .12s,box-shadow .12s}.primary:hover,.secondary:hover,.ghost:hover,button:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--teal),#087273);color:#fff;box-shadow:0 8px 18px rgba(13,139,140,.18)}.secondary{background:#eaf3f6;color:#123e55}.ghost{background:#fff;color:#173b57;border:1px solid var(--line)}.inverse{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.danger{background:#b52e2e;color:#fff}.big{padding:14px 19px}.block{display:block;text-align:center;margin-top:10px;width:100%}.error{background:#fff0ef;color:var(--bad);padding:13px 14px;border-radius:13px;border:1px solid #ffd7d3}.success{background:#eaf9f3;color:var(--ok);padding:13px 14px;border-radius:13px;border:1px solid #c9eddf}.notice,.plan-banner{background:#fff8e5;border-left:4px solid var(--amber);padding:13px 15px;border-radius:11px;margin:12px 0}.plan-banner{background:#edf9f9;border-color:var(--teal)}.actions{display:flex;gap:9px;flex-wrap:wrap}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 26px rgba(11,43,63,.05)}table{border-collapse:collapse;width:100%;min-width:780px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e8eef1;font-size:.92rem;vertical-align:middle}th{background:#eef4f6;color:#34515f;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.pill-ok{background:#e8f8f2;color:#137a55}.pill-off{background:#fff0ef;color:#a12b2b}.toplinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search{display:flex;gap:8px;margin:14px 0}.search.compact{margin:0;min-width:min(100%,390px)}.hero h1{margin-top:0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.kpi{background:rgba(255,255,255,.1);padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.kpi small{display:block;color:#cfe6ec}.kpi b{font-size:1.45rem;display:block;margin-top:2px}.kpi-plan{font-size:1.1rem!important}.quick-actions{padding:16px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:24px 0 10px}.section-head h2{margin:0}.section-title{margin:24px 0 8px}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#eaf0f3;padding:4px 7px;border-radius:7px;color:#153b4d}.check{display:flex!important;gap:9px;align-items:flex-start;font-weight:500!important}.check input{width:auto!important;margin-top:4px}.price-card{margin:0;display:flex;flex-direction:column;gap:10px}.price-card>span{font-size:.78rem;letter-spacing:.12em;font-weight:900;color:var(--teal)}.price-card>b{font-size:2rem}.price-card b small{font-size:.9rem;color:var(--muted)}.price-card.featured{border:2px solid var(--teal);transform:translateY(-6px)}.inline-form{display:grid;grid-template-columns:120px 150px auto;gap:5px}.danger-zone{border-top:1px solid #f0d2d2;margin-top:20px;padding-top:10px}.legal{max-width:850px;margin-left:auto;margin-right:auto}.legal h2{margin-top:1.8rem}.plan-status a{font-weight:800;color:inherit}footer{max-width:1120px;margin:0 auto;text-align:center;color:var(--muted);font-size:.85rem;padding:28px 16px 40px;display:grid;gap:5px}footer a{color:var(--muted)}.top-install{padding:8px 12px}@media(max-width:840px){.feature-grid,.pricing-grid,.grid2,.grid3,.split,.kpis{grid-template-columns:1fr}.price-card.featured{transform:none}.topbar{align-items:center}.wrap{margin-top:14px}.search{flex-direction:column}.section-head{align-items:stretch;flex-direction:column}.inline-form{grid-template-columns:1fr}.commercial-hero{padding:27px 20px}.hero{padding:22px}.actions>a,.actions>button{flex:1 1 auto;text-align:center}.kpis{grid-template-columns:1fr 1fr}}@media(max-width:480px){.kpis{grid-template-columns:1fr 1fr}.brand small{display:none}.card,.hero,.feature-card,.price-card{border-radius:18px;padding:18px}.commercial-hero h1{font-size:2.65rem}}

.required-legend{display:grid;gap:4px;background:#fff3f1;border:1px solid #f2c6c0;border-left:5px solid var(--bad);border-radius:13px;padding:13px 15px;margin-bottom:20px}.required-legend span{font-size:.9rem;color:#7d3131}.required-help{display:block;margin-top:6px;color:#7a4b4b!important}.field-invalid{background:#fff2f1!important;border:2px solid #c73535!important;border-radius:13px;padding:10px!important}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:#c73535!important;box-shadow:0 0 0 4px rgba(199,53,53,.12)!important}.field-invalid .required-help{color:#b02d2d!important;font-weight:850}.form-errors{position:sticky;bottom:12px;z-index:4;background:#b02d2d;color:#fff;padding:14px;border-radius:13px;margin:14px 0;font-weight:850;box-shadow:0 8px 24px rgba(176,45,45,.3)}.weight-group.field-invalid{border:2px solid #c73535;background:#fff2f1;border-radius:14px;padding:8px}.weight-group.field-invalid .required-help{color:#b02d2d!important;font-weight:850}
.legal-read-box{max-height:320px;overflow-y:auto;border:2px solid #bdcbd4;border-radius:14px;padding:16px;background:#f8fafb;scrollbar-width:auto}.legal-read-box:focus{outline:4px solid rgba(13,139,140,.13);border-color:var(--teal)}.legal-read-box.read-complete{border-color:var(--ok);box-shadow:0 0 0 3px rgba(19,122,85,.1)}.legal-read-box h2{margin-top:0}.legal-read-box h3{margin-top:1.35rem;margin-bottom:.35rem}.legal-read-box p{font-size:.9rem;line-height:1.45}.check input:disabled{opacity:.45;cursor:not-allowed}.pricing-four{grid-template-columns:repeat(4,1fr)}.regular-price{color:#425866;font-size:.9rem;border-top:1px solid var(--line);padding-top:9px}.regular-price b{color:var(--navy);font-size:1rem}.price-card p{line-height:1.45}.plan-details{margin-top:auto;border:1px solid var(--line);border-radius:12px;background:#f7fafb;overflow:hidden}.plan-details summary{cursor:pointer;padding:11px 12px;font-weight:850;color:var(--navy);list-style-position:inside}.plan-details[open] summary{background:#eaf3f6;border-bottom:1px solid var(--line)}.plan-details p,.plan-details ul{margin:12px 16px 15px;padding-left:16px;font-size:.9rem;line-height:1.5}.plan-details p{padding-left:0}.plan-details li+li{margin-top:5px}@media(max-width:1000px){.pricing-four{grid-template-columns:1fr 1fr}}@media(max-width:620px){.pricing-four{grid-template-columns:1fr}}

/* Ajustes finales para uso táctil y PWA móvil */
html,body{max-width:100%;overflow-x:hidden}.wrap,.card,.hero,.feature-card,.price-card{overflow-wrap:anywhere}.primary,.secondary,.ghost,.danger,button{min-height:44px;touch-action:manipulation}.form input,.form select,.form textarea,.search input,.inline-form input,.inline-form select{min-height:46px}.top-install{min-height:44px}.code{overflow-wrap:anywhere;word-break:break-word}@media(max-width:620px){body{font-size:16px}.wrap{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));margin-bottom:env(safe-area-inset-bottom)}.form input,.form select,.form textarea,.search input,.inline-form input,.inline-form select{font-size:16px}.topbar{gap:8px}.brand{min-width:0}.brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.top-install{font-size:.82rem!important;padding:9px 10px!important}.actions{display:grid;grid-template-columns:1fr}.actions>a,.actions>button,.actions>form,.actions>form button{width:100%}.legal-read-box{max-height:48vh}.tablewrap{-webkit-overflow-scrolling:touch}.commercial-hero h1{font-size:2.35rem}.price-card>b{font-size:1.75rem}}@media(display-mode:standalone){body{padding-bottom:env(safe-area-inset-bottom)}.topbar{padding-top:max(11px,env(safe-area-inset-top))}}

/* QR individual DeCA 1.0.18 */
.deca-action-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deca-action-links a{font-weight:850}.qr-action{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:10px;background:#0d8b8c;color:#fff!important;text-decoration:none;min-height:38px}.qr-screen{min-height:calc(100svh - 170px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 12px 34px rgba(11,43,63,.07)}.qr-top{width:min(100%,760px);display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.qr-top h1{margin:.15rem 0 .25rem;font-size:clamp(1.45rem,5vw,2.35rem)}.qr-top p{margin:0;color:var(--muted)}.qr-stage{width:min(82vw,560px);aspect-ratio:1;background:#fff;border:12px solid #fff;border-radius:18px;display:grid;place-items:center;box-shadow:0 8px 28px rgba(0,0,0,.12)}.deca-qr-svg{display:block;width:100%;height:100%}.qr-help{text-align:center;max-width:620px;color:var(--muted);margin:0}.qr-actions{width:min(100%,760px);display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.qr-actions>*{flex:1 1 150px;text-align:center}.qr-screen:fullscreen{width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0;background:#fff;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:auto}.qr-screen:fullscreen .qr-stage{width:min(84vmin,680px)}@media(max-width:620px){.qr-screen{min-height:calc(100svh - 94px);margin:-14px -12px 0;border-radius:0;border-left:0;border-right:0;padding:14px 12px max(18px,env(safe-area-inset-bottom))}.qr-top{align-items:center}.qr-stage{width:min(92vw,620px);border-width:8px;border-radius:14px}.qr-actions{display:grid;grid-template-columns:1fr 1fr}.qr-actions>*{width:100%;min-height:48px}.deca-action-links{gap:6px}.deca-action-links a{padding:7px 9px}.qr-action{min-height:40px}}@media(max-width:390px){.qr-actions{grid-template-columns:1fr}.qr-stage{width:94vw}}

/* 1.0.19 · autocompletado inteligente y validación móvil reforzada */
.smart-autofill-info{display:grid;gap:4px;margin:10px 0 14px;padding:12px 14px;border:1px solid #bfe3e3;border-left:5px solid var(--teal);border-radius:13px;background:#effafa;color:#214d56}.smart-autofill-info b{color:var(--navy)}.smart-autofill-info span{font-size:.9rem;line-height:1.4}.smart-autofill-info.compact{margin-top:4px}
.deca-form input[list]{background-image:linear-gradient(45deg,transparent 50%,#607984 50%),linear-gradient(135deg,#607984 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.deca-form .has-required>.required-help:first-of-type{font-weight:650}.deca-form .field-invalid{animation:deca-required-pulse .22s ease-out}.deca-form .field-invalid input,.deca-form .field-invalid select,.deca-form .field-invalid textarea{background-color:#fffafa!important}.form-errors[hidden]{display:none!important}@keyframes deca-required-pulse{from{transform:translateX(-2px)}to{transform:translateX(0)}}
@media(max-width:620px){.smart-autofill-info{padding:12px;margin:8px 0 12px}.deca-form{padding-bottom:88px}.deca-form input,.deca-form select,.deca-form textarea{width:100%;min-height:50px}.deca-form textarea{min-height:96px}.form-errors{position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:50;margin:0;font-size:.92rem;line-height:1.35}.deca-form [data-finalize-deca]{min-height:54px;font-size:1rem}.deca-form .field-invalid{scroll-margin-top:88px;scroll-margin-bottom:100px}}


/* 1.0.20 · compartir por enlace/PDF y entrega automática ligera */
.share-mini{padding:7px 9px;min-height:38px;background:#eef5f7;color:#123e55;border:1px solid #d2e1e6;border-radius:9px;font-size:.86rem;font-weight:800}.share-mini:disabled{opacity:.65;cursor:wait}.delivery-bundle{max-width:860px;margin-left:auto;margin-right:auto}.delivery-list{display:grid;gap:9px;margin:18px 0}.delivery-item{display:flex;gap:14px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#f9fbfc}.delivery-item div{display:grid;gap:3px;min-width:0}.delivery-item span{font-size:.9rem;color:var(--muted)}.delivery-item .secondary{flex:0 0 auto}
@media(max-width:620px){.share-mini{min-height:42px}.delivery-item{align-items:stretch;flex-direction:column}.delivery-item .secondary{width:100%;text-align:center}.deca-action-links{align-items:stretch}.deca-action-links .share-mini{flex:1 1 145px}}


/* 1.0.21 · productividad, histórico, plantillas, borradores y modo conductor */
.table-sub{display:block;margin-top:4px;color:var(--muted);font-weight:500;max-width:260px}.inline-action-form{display:inline}.link-button{border:0;background:transparent;padding:7px 4px;color:#087f80;font-weight:850;text-decoration:underline;cursor:pointer}.history-filters{margin:16px 0}.filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:10px;align-items:end}.filter-grid label{display:grid;gap:6px;font-weight:750}.filter-actions{display:flex;gap:8px}.template-grid,.driver-deca-list{display:grid;gap:12px}.template-card,.driver-deca-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.template-card h3{margin:4px 0}.template-card p{margin:4px 0;color:var(--muted)}.template-actions,.driver-card-actions{display:flex;gap:8px;flex-wrap:wrap}.template-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.template-chip{display:grid;gap:3px;padding:12px 14px;border:1px solid #cde4e4;background:#f1fbfb;border-radius:13px;text-decoration:none;color:var(--navy)}.template-chip span{font-size:.86rem;color:var(--muted)}.draft-status{display:grid;gap:3px;padding:11px 13px;border:1px solid #cfdde2;border-left:5px solid #7a929d;border-radius:12px;background:#f8fafb}.draft-status span{font-size:.88rem;color:var(--muted)}.draft-status.draft-ok{border-left-color:#14865b;background:#f1fbf6}.draft-status.draft-warn{border-left-color:#d18b00;background:#fff9ec}.trace-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.trace-summary>div{display:grid;gap:4px;border:1px solid var(--line);border-radius:12px;padding:12px}.trace-summary small{color:var(--muted)}.trace-list{display:grid;gap:10px;padding-left:20px}.trace-list li{padding:10px 12px;border-left:3px solid var(--teal);background:#f8fbfc}.trace-list li span,.trace-list li small{display:block;margin-top:3px}.driver-deca-card>div:first-child{display:grid;gap:4px}.driver-deca-card span{font-size:.9rem;color:var(--muted)}.mobile-main-action{margin:14px 0}.mobile-finalize-bar{margin-top:8px}
@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.trace-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.filter-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto}.filter-actions>*{flex:1}.template-chip-grid{grid-template-columns:1fr}.template-card,.driver-deca-card{align-items:stretch;flex-direction:column}.template-actions,.driver-card-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.template-actions>* ,.driver-card-actions>*{text-align:center}.trace-summary{grid-template-columns:1fr}.mobile-finalize-bar{position:sticky;bottom:max(6px,env(safe-area-inset-bottom));z-index:35;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:8px;border-radius:14px;box-shadow:0 -8px 25px rgba(11,43,63,.12)}.draft-status{position:sticky;top:8px;z-index:20}.table-sub{max-width:180px}}

/* 1.0.22 · DeCA individual / agrupado (grupaje) */
.deca-mode-picker{margin:4px 0 18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbfc}.deca-mode-picker h2{margin:.2rem 0 .75rem}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-card{display:flex!important;gap:11px;align-items:flex-start;border:2px solid #d9e6ea;border-radius:15px;padding:14px;background:#fff;cursor:pointer}.mode-card:has(input:checked){border-color:var(--teal);background:#effafa;box-shadow:0 0 0 2px rgba(13,139,140,.08)}.mode-card input{width:20px!important;min-height:20px!important;height:20px!important;margin-top:2px;flex:0 0 auto}.mode-card span{display:grid;gap:4px}.mode-card b{color:var(--navy)}.mode-card small{color:var(--muted);line-height:1.35}.group-law-note,.grouped-warning{margin-top:12px;border-left:5px solid var(--teal);background:#eef9f9;border-radius:11px;padding:11px 13px;line-height:1.45}.grouped-warning{border-left-color:#d18b00;background:#fff8e9}.shipment-card{margin:12px 0;padding:15px;border:1px solid #d6e3e7;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(11,43,63,.035)}.shipment-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.shipment-head>div:first-child{display:grid;gap:3px}.shipment-number{font-weight:900;color:var(--teal);letter-spacing:.04em}.shipment-head small{color:var(--muted)}.shipment-row-actions{display:flex;gap:7px}.compact-btn{min-height:36px!important;padding:6px 9px!important;font-size:.82rem!important}.shipment-weight-group.field-invalid{border:2px solid #d93025;border-radius:12px;padding:8px;background:#fff7f6}.grouped-pill{background:#e7f8f7!important;color:#086c6d!important;border-color:#9fd8d8!important;margin-left:7px}.shipment-card textarea{min-height:70px}
@media(max-width:620px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:76px}.shipment-card{padding:12px;margin:10px -2px}.shipment-head{flex-direction:column}.shipment-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.shipment-row-actions button{width:100%}.shipment-card .grid2{grid-template-columns:1fr}.group-law-note,.grouped-warning{font-size:.92rem}.grouped-pill{display:inline-flex;margin:5px 0 0}.deca-mode-picker{padding:12px}}

/* 1.0.23 · VJT Digital / selector de aplicaciones / NexoFactura 360 */
.suite-action{border-color:#0d8b8c!important;background:#effafa!important}.suite-teaser{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:18px 20px;border:1px solid #bfe3e3;border-radius:18px;background:linear-gradient(135deg,#f4fbfb,#fff);box-shadow:0 8px 24px rgba(11,43,63,.05)}.suite-teaser h2{margin:.25rem 0}.suite-teaser p{margin:.25rem 0;color:var(--muted);max-width:720px}.suite-teaser-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.coming-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;background:#fff4d8;color:#875a00;border:1px solid #f0cf7f;font-size:.78rem;font-weight:900;letter-spacing:.04em;white-space:nowrap}.coming-pill.large{padding:9px 13px;font-size:.86rem}.suite-hero,.nexo-preview-hero{margin-bottom:16px}.app-switcher-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.app-switch-card{display:grid;grid-template-rows:auto 1fr auto;gap:14px;border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(11,43,63,.05)}.app-switch-card.active-app{border-top:5px solid var(--teal)}.app-switch-card.future-app{border-top:5px solid #d6a328;background:linear-gradient(180deg,#fffdf7,#fff)}.app-switch-card h2{margin:.35rem 0}.app-switch-card p{color:var(--muted);line-height:1.5}.app-logo{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-weight:950;font-size:1.15rem}.deca-logo{background:var(--navy);color:#fff}.nexo-logo{background:#fff4d8;color:#7e5500;border:1px solid #efcf82}.compact-success{margin-top:10px;padding:9px 11px}.nexo-features{margin-bottom:18px}.interest-card textarea{min-height:110px}.nexo-preview-hero{background:linear-gradient(135deg,#0b2b3f,#123f58 60%,#0d8b8c)}
@media(max-width:720px){.app-switcher-grid{grid-template-columns:1fr}.suite-teaser{align-items:stretch;flex-direction:column}.suite-teaser-actions{justify-content:flex-start}.app-switch-card{padding:16px}.app-switch-card .block{min-height:48px}.coming-pill.large{align-self:flex-start}}


/* 1.0.24 · productividad avanzada: Excel/CSV, resumen operativo y respaldo offline */
/* 1.0.25 · confirmación reforzada de datos y constancia probatoria */
.activity-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.activity-strip>div{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(11,43,63,.045)}.activity-strip small{color:var(--muted)}.activity-strip b{font-size:1.2rem;color:var(--navy)}
.bulk-import-card{margin:14px 0 16px;padding:16px;border:1px dashed #94caca;border-radius:16px;background:linear-gradient(180deg,#f5fcfc,#fff)}.bulk-import-card h3{margin:.25rem 0}.bulk-import-card p{margin:.25rem 0;color:var(--muted)}.compact-head{margin:0 0 12px;align-items:flex-start}.import-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:12px}.file-drop{border:1px solid #c7dce2;border-radius:13px;background:#fff;padding:12px!important;margin:0!important;display:grid!important;gap:8px}.file-drop input{padding:8px!important}.import-grid label{margin:0!important}.import-grid textarea{min-height:118px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem}.import-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.import-status{margin-top:10px;padding:10px 12px;border-radius:11px;font-weight:750}.import-ok{background:#eaf9f3;color:var(--ok);border:1px solid #c9eddf}.import-warn{background:#fff8e5;color:#875a00;border:1px solid #f0d58a}.import-error{background:#fff0ef;color:var(--bad);border:1px solid #ffd7d3}.group-preflight{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;border-radius:12px;background:#f3f8fa;border:1px solid #d8e6eb}.group-preflight span{font-size:.9rem;color:var(--muted);text-align:right}.group-preflight.preflight-warn{background:#fff8e9;border-color:#efcf82}.shipment-card.shipment-duplicate{border:2px solid #d69c19;background:#fffaf0}.shipment-card.shipment-duplicate .shipment-number:after{content:" · POSIBLE DUPLICADO";color:#956400;font-size:.72rem}
@media(max-width:800px){.activity-strip{grid-template-columns:1fr 1fr}.import-grid{grid-template-columns:1fr}.compact-head{align-items:stretch}.compact-head>a{width:100%;text-align:center}.group-preflight{align-items:flex-start;flex-direction:column}.group-preflight span{text-align:left}}
@media(max-width:480px){.activity-strip{grid-template-columns:1fr 1fr}.activity-strip>div{padding:11px 12px}.bulk-import-card{padding:12px;margin-left:-2px;margin-right:-2px}.import-actions{display:grid;grid-template-columns:1fr}.import-actions>*{width:100%}.import-grid textarea{min-height:135px;font-size:16px}}

.final-legal-check{margin-top:22px;padding:18px;border:2px solid #e6b84d;border-radius:16px;background:#fffaf0}.final-legal-check h2{margin:.25rem 0 .5rem}.final-legal-check details{margin:12px 0;padding:12px;border:1px solid #ead9a9;border-radius:12px;background:#fff}.final-legal-check summary{cursor:pointer;font-weight:850;color:var(--navy)}.final-legal-check .check{margin-top:12px;padding:12px;border-radius:12px;background:#fff}.legal-proof-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#eef5f7;color:#425866;font-size:.86rem;line-height:1.45}.confirmation-proof{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbfc}.hash-short{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.group-legal-confirm[hidden]{display:none!important}@media(max-width:620px){.final-legal-check{padding:15px}.final-legal-check .check{font-size:.96rem}.confirmation-proof .trace-summary{grid-template-columns:1fr}}

/* 1.0.28 · entrada directa por tipo de DeCA */
.start-deca{border:2px solid rgba(13,139,140,.18);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
.start-deca-head h2,.start-deca>h2{margin:.25rem 0 .35rem}.start-deca-head p{margin:.2rem 0 1rem;color:var(--muted)}
.start-deca-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.start-deca-option{display:flex;gap:15px;align-items:flex-start;padding:19px;border:2px solid #d8e6ea;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 7px 20px rgba(11,43,63,.05);transition:.16s transform,.16s border-color,.16s box-shadow}
.start-deca-option:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:0 12px 28px rgba(13,139,140,.12)}
.start-deca-option.grouped{background:linear-gradient(135deg,#fff 0%,#f1fbfa 100%)}
.start-deca-option span:last-child{display:grid;gap:6px}.start-deca-option b{font-size:1.15rem;color:var(--navy)}.start-deca-option small{color:var(--muted);line-height:1.4}.start-deca-option strong{color:var(--teal);font-size:.92rem;margin-top:3px}
.start-deca-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--teal));color:#fff;font-size:1.2rem;font-weight:900;box-shadow:0 8px 18px rgba(13,139,140,.17)}
.driver-start{margin-top:16px}
@media(max-width:700px){.start-deca-grid{grid-template-columns:1fr}.start-deca-option{min-height:104px;padding:17px}.start-deca-option b{font-size:1.12rem}.start-deca{padding:16px}.driver-start{margin-top:12px}}

/* 1.0.28 · acceso conductor y ubicación puntual */
.driver-security{border:1px solid #cfe1e8}.biometric-note{margin-top:.7rem}.driver-admin-actions{display:flex;gap:.4rem;flex-wrap:wrap}.trace-location{display:block;margin-top:.45rem;padding:.5rem .65rem;background:#eef7f8;border-radius:8px;color:#173b4a}.trace-location a{font-weight:800}.biometric-login{margin-top:.8rem}@media(max-width:640px){.driver-security .section-head{align-items:flex-start}.driver-admin-actions{flex-direction:column}}


/* 1.0.31 · modo inspección, comprobación técnica y lector QR externo */
.inspection-action{font-weight:900;color:#075f63!important}.inspection-screen{max-width:760px;margin:12px auto 34px;padding:22px;border:2px solid #0b2b3f;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(11,43,63,.15)}.inspection-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.inspection-header h1{font-size:clamp(1.7rem,5vw,2.8rem);margin:.2rem 0}.inspection-route{display:grid;gap:6px;margin:14px 0;padding:14px 16px;background:#eef7f8;border-radius:14px}.inspection-route b{font-size:1.08rem}.inspection-qr{display:flex;justify-content:center;align-items:center;margin:16px auto;max-width:min(78vw,470px)}.inspection-qr svg{width:100%;height:auto;border:14px solid #fff;box-shadow:0 5px 22px rgba(0,0,0,.12)}.inspection-help{text-align:center;font-weight:750}.inspection-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inspection-actions .big{min-height:58px;font-size:1.05rem}.technical-check-card{max-width:880px;margin:auto}.technical-check-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:9px}.technical-check{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fff}.technical-check small{display:block;margin-top:4px;color:#5a6d78}.check-symbol{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:950;flex:0 0 auto}.check-ok .check-symbol{background:#dff6ea;color:#17683d}.check-fail .check-symbol{background:#ffe8e6;color:#9a2b23}.qr-scanner-card{max-width:760px;margin:auto}.scanner-stage{position:relative;min-height:260px;border-radius:18px;overflow:hidden;background:#0a1620;margin:16px 0}.scanner-stage video{display:block;width:100%;min-height:260px;max-height:58vh;object-fit:cover}.scanner-guide{position:absolute;left:50%;top:50%;width:min(64vw,280px);height:min(64vw,280px);transform:translate(-50%,-50%);border:4px solid #ffb703;border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.22);pointer-events:none}.road-tools{border:1px solid #cfe1e8}.pill-off{background:#fff0ed!important;color:#8c2e27!important}
@media(max-width:640px){.inspection-screen{margin:0;padding:15px;border-radius:0;border-left:0;border-right:0}.inspection-header{flex-direction:column}.inspection-actions{grid-template-columns:1fr}.inspection-qr{max-width:92vw}.scanner-stage{min-height:300px}.scanner-stage video{min-height:300px}}

/* VJTDeCA 1.0.32 · actualización no bloqueante, onboarding biométrico y entregas */
.app-update-banner{position:sticky;top:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:#fff7d6;border-bottom:2px solid #e2a900;box-shadow:0 4px 16px rgba(0,0,0,.12);color:#17384a}
.app-update-banner[hidden]{display:none!important}.app-update-banner>div:first-child{display:flex;flex-direction:column;gap:2px}.app-update-banner .actions{display:flex;gap:8px;flex-wrap:wrap}.app-update-banner button{margin:0}
.onboarding-overlay{position:fixed;inset:0;z-index:10000;background:rgba(4,25,37,.72);display:flex;align-items:center;justify-content:center;padding:18px}.onboarding-card{width:min(520px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.onboarding-card h2{margin-top:6px}.onboarding-card .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.legal-read-fullscreen{position:fixed!important;inset:10px!important;z-index:10001!important;max-height:none!important;height:auto!important;background:#fff!important;padding:56px 20px 20px!important;border:2px solid #17384a!important;border-radius:16px!important;overflow:auto!important;box-shadow:0 20px 80px rgba(0,0,0,.4)!important}.legal-read-close{position:fixed;top:22px;right:22px;z-index:10002;border:0;border-radius:999px;padding:10px 16px;background:#17384a;color:#fff;font-weight:800}.legal-read-open{overflow:hidden}
.shipment-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px;margin:18px 0}.shipment-status-card{background:#fff;border:1px solid #d9e2e8;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(11,43,63,.08)}.shipment-status-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.shipment-status-head h2{font-size:1.08rem;margin:5px 0}.shipment-status-head p{margin:0;color:#536b78}.shipment-event-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.shipment-event-actions details{border:1px solid #d9e2e8;border-radius:12px;overflow:hidden;background:#f9fbfc}.shipment-event-actions summary{list-style:none;cursor:pointer;text-align:center;font-weight:900;padding:12px}.shipment-event-actions summary::-webkit-details-marker{display:none}.shipment-event-actions details[open] summary{border-bottom:1px solid #d9e2e8}.shipment-event-form{padding:12px;margin:0;box-shadow:none;border:0}.shipment-proof-actions{display:flex;gap:8px;flex-wrap:wrap}.shipment-timeline{margin:16px 0 0;padding-left:22px}.shipment-timeline li{margin:0 0 10px}.shipment-timeline small{display:block;color:#536b78;margin-top:2px}.pill-ok{background:#def7e7!important;color:#176237!important}.pill-off{background:#ffe1e1!important;color:#8b1e1e!important}.delivery-action{font-weight:900}.receipt-photo{max-width:100%;border-radius:10px;border:1px solid #d9e2e8}.trace-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.trace-summary>div{background:rgba(255,255,255,.12);border-radius:12px;padding:10px}.trace-summary small,.trace-summary b{display:block}.trace-summary b{font-size:1.05rem;margin-top:3px}
@media(max-width:720px){.app-update-banner{align-items:flex-start;flex-direction:column;padding:11px 14px}.app-update-banner .actions{width:100%}.app-update-banner .actions button{flex:1}.shipment-event-actions{grid-template-columns:1fr}.shipment-status-head{flex-direction:column}.trace-summary{grid-template-columns:1fr 1fr}}
@media print{.app-update-banner,.topbar,footer,.no-print,.shipment-event-actions,.shipment-proof-actions{display:none!important}.shipment-status-card{box-shadow:none;break-inside:avoid}}

/* VJTDeCA 1.0.34 · alta móvil robusta */
.commercial-hero .actions{position:relative;z-index:2}.register-cta-form{margin:0;display:block}.register-cta-form>button{width:100%}@media(max-width:620px){.register-cta-form{width:100%}}


/* VJTDeCA · soporte, instalación multiplataforma y navegación segura */
.support-red{display:inline-block;background:#c62828!important;color:#fff!important;border:2px solid #8e0000!important;border-radius:12px;padding:11px 16px;text-decoration:none;font-weight:900;box-shadow:0 8px 18px rgba(198,40,40,.22);text-align:center}.support-red:hover{background:#b71c1c!important;transform:translateY(-1px)}
.install-overlay,.onboarding-overlay{position:fixed;inset:0;z-index:10000;background:rgba(5,24,35,.72);display:grid;place-items:center;padding:18px}.install-card{width:min(560px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.3)}.install-card h2{margin:.35rem 0 1rem}.install-help-body ol{padding-left:1.35rem}.install-help-body li{margin:.7rem 0}
.mobile-finalize-bar{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:10px;align-items:center}.mobile-finalize-bar .block{margin-top:0}.deca-cancel-button{background:#fff!important}
@media(max-width:620px){.mobile-finalize-bar{position:sticky;bottom:max(0px,env(safe-area-inset-bottom));z-index:20;background:rgba(244,247,249,.96);backdrop-filter:blur(12px);padding:10px 0 4px;grid-template-columns:1fr}.deca-cancel-button{order:2}.support-red.big{width:100%}.install-card{padding:20px;border-radius:18px}}


/* 1.0.35 · zonas seguras iPhone/iPad y compatibilidad táctil */
@supports (padding: max(0px)) {
  .topbar{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  footer{padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .mobile-finalize-bar{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(0,0,0,.08)}
input,select,textarea{font-size:16px}

/* 1.0.37 · navegación visible del perfil conductor */
.driver-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.driver-profile-actions a{min-width:150px;text-align:center}.driver-exit{background:#c62828!important;color:#fff!important;border:2px solid #8e0000!important;box-shadow:0 8px 18px rgba(198,40,40,.22)!important}.driver-exit:hover{background:#b71c1c!important}.driver-bottom-navigation{padding:16px}.driver-bottom-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.driver-bottom-nav .block{margin-top:0}@media(max-width:620px){.driver-profile-actions{display:grid;grid-template-columns:1fr}.driver-profile-actions a{width:100%}.driver-bottom-nav{grid-template-columns:1fr}}


/* 1.0.38 · carta de porte integrada */
.waybill-mode-picker{border:2px solid #8bc7ff;background:linear-gradient(180deg,#f5fbff,#fff)}
.waybill-highlight{border-color:#65aeea!important;background:#f2f9ff!important}
.card-inset,.waybill-shipment-fields{margin:18px 0;padding:18px;border:1px solid #cfe2ef;border-radius:18px;background:#f8fbfd}
.waybill-shipment-fields{border-left:4px solid #1976d2}
.waybill-result{border-left:4px solid #1976d2;background:#eef7ff}
@media(max-width:720px){.card-inset,.waybill-shipment-fields{padding:14px}.waybill-mode-picker .mode-grid{grid-template-columns:1fr}}


/* 1.0.40 · base legal y normativa accesible */
.legal-highlight{background:#ffcf33!important;color:#12263a!important;border:1px solid #d6a800!important;font-weight:900!important;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:11px 16px}
.legal-highlight:hover{background:#ffdc66!important}
.legal-hero{background:linear-gradient(135deg,#0b2b3f,#144d70)}
.legal-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.legal-evidence mark{display:block;background:#fff59d;color:#0b2b3f;border-radius:10px;padding:10px 12px;margin:10px 0;font-weight:800;line-height:1.35}
.legal-evidence .actions{margin-top:16px}
.legal-road-card{border:2px solid #ffcf33}
.legal-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.legal-flow span{background:#eef6fc;border:1px solid #cfe2f3;border-radius:12px;padding:12px;font-weight:800;text-align:center;color:#0b2b3f}
@media(max-width:900px){.legal-evidence-grid{grid-template-columns:1fr}.legal-flow{grid-template-columns:1fr}}


/* 1.0.42 · diferenciación clara DeCA / carta de porte */
.combined-doc,.start-deca-option.combined{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;color:#fff!important;border-color:#5b21b6!important}
.start-deca-option.combined small,.start-deca-option.combined strong{color:#fff!important}.start-deca-option.combined .start-deca-icon{background:#fff;color:#5b21b6;min-width:52px}
.legal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.legal-tabs a{display:inline-block;padding:10px 14px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0b2b3f;font-weight:800;text-decoration:none}.legal-tabs a.active{background:#5b21b6;color:#fff;border-color:#5b21b6}
.legal-definition,.combined-legal-card{scroll-margin-top:90px}.legal-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.legal-data-grid span{padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.legal-callout{padding:13px 15px;background:#fff7ed;border-left:5px solid #f97316;border-radius:8px;margin:14px 0}.combined-legal-card{border:2px solid #6d28d9;background:linear-gradient(180deg,#faf5ff,#fff)}.difference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.difference-grid>div{padding:14px;border:1px solid #dbeafe;border-radius:12px;background:#fff}.difference-grid .combined-box{background:#ede9fe;border-color:#7c3aed}.sanction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.sanction-grid article{padding:14px;border:1px solid #fecaca;background:#fff7f7;border-radius:12px}.sanction-grid strong{display:block;font-size:1.4rem;color:#b91c1c;margin:7px 0}.sanction-grid p{margin:0;font-size:.9rem}.combined-legal-card mark{display:block;padding:12px 14px;background:#fef08a;border-radius:8px;margin:14px 0;color:#422006}
@media(max-width:720px){.legal-data-grid,.difference-grid,.sanction-grid{grid-template-columns:1fr}.legal-tabs a{flex:1 1 44%;text-align:center}.start-deca-grid{grid-template-columns:1fr!important}}

/* 1.0.42 · flujo simplificado DeCA + Carta de porte */
.start-deca-grid.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}.simplified-start .combined{border-width:2px}.advanced-doc-option{margin-top:1rem;padding:.75rem 1rem;border:1px dashed #b8c7ce;border-radius:12px}.advanced-doc-option summary{cursor:pointer;font-weight:800}.simplified-doc-scope{border:2px solid #0d8b8c;background:#f1fbfb}@media(max-width:700px){.start-deca-grid.two-options{grid-template-columns:1fr}}

/* 1.0.43 · inicio simplificado con iconos + menú lateral deslizable */
.menu-button{flex:0 0 auto;width:46px;height:46px;padding:0;border-radius:14px;background:#eaf3f6;color:var(--navy);border:1px solid var(--line);font-size:1.55rem;line-height:1;display:grid;place-items:center;box-shadow:0 5px 14px rgba(11,43,63,.08)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(6,24,34,.46);z-index:80;backdrop-filter:blur(2px)}
.app-drawer{position:fixed;z-index:90;left:0;top:0;bottom:0;width:min(88vw,360px);background:#fff;border-right:1px solid var(--line);box-shadow:18px 0 48px rgba(11,43,63,.22);transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) 16px 24px}
.app-drawer.is-open{transform:translateX(0)}
body.drawer-open{overflow:hidden}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 16px;border-bottom:1px solid var(--line)}
.drawer-head b{display:block;font-size:1.25rem;color:var(--navy)}
.drawer-head small{display:block;color:var(--muted);margin-top:2px}
.drawer-close{width:44px;height:44px;padding:0;border-radius:12px;background:#f1f5f7;color:var(--navy);font-size:1.75rem;display:grid;place-items:center}
.drawer-nav{display:grid;gap:7px;padding-top:14px}
.drawer-nav>a,.drawer-legal>summary,.drawer-legal>a{display:block;position:relative;z-index:2;pointer-events:auto!important;touch-action:manipulation;text-decoration:none;color:var(--navy);font-weight:800;border-radius:12px;padding:12px 13px}
.drawer-nav>a:hover,.drawer-legal>summary:hover,.drawer-legal>a:hover{background:#eef5f7}
.drawer-support{background:#fff0ef!important;color:#a51f1f!important;border:1px solid #f2c6c0}
.drawer-legal{border:1px solid #d9e7ed;border-radius:14px;background:#f9fbfc;overflow:hidden}
.drawer-legal>summary{cursor:pointer;list-style:none}
.drawer-legal>summary::-webkit-details-marker{display:none}
.drawer-legal[open]>summary{background:#eaf3f6;border-bottom:1px solid #d9e7ed;border-radius:0}
.drawer-legal>a{font-size:.9rem;font-weight:700;margin:3px 7px;padding:10px 9px}
.drawer-divider{height:1px;background:var(--line);margin:6px 0}
.simple-home{max-width:760px;margin-left:auto;margin-right:auto;text-align:center;padding:40px 34px}
.simple-home h1{margin-bottom:.08em}
.simple-home h2{margin:.15rem 0 .65rem;font-size:clamp(1.35rem,4vw,2rem);color:#fff}
.simple-home .lead{margin:0 auto;max-width:650px;line-height:1.55}
.simple-home-actions{max-width:600px;margin:27px auto 0;display:grid;gap:17px}
.simple-create-company{max-width:360px;margin:0 auto;width:100%}
.simple-create-company button{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.04rem;box-shadow:0 10px 24px rgba(13,139,140,.35)}
.home-action-symbol{font-size:1.45rem;line-height:1}
.role-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.role-access-card{display:flex;min-height:185px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;border-radius:22px;background:#fff;color:var(--navy);text-decoration:none;border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 28px rgba(3,31,43,.22);transition:transform .15s,box-shadow .15s}
.role-access-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(3,31,43,.28)}
.role-access-card strong{font-size:1.2rem}
.role-access-card small{color:var(--muted);font-weight:650}
.role-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#e5f5f5,#f6fbfb);color:var(--teal)}
.role-icon svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:3.3;stroke-linecap:round;stroke-linejoin:round}
.simple-support{width:min(100%,360px);margin:0 auto;font-size:1rem}
.simple-home-note{position:relative;z-index:2;margin:18px 0 0;color:#d9eef1;font-size:.9rem}
.legal-flow a{background:#eef6fc;border:1px solid #cfe2f3;border-radius:12px;padding:12px;font-weight:800;text-align:center;color:#0b2b3f;text-decoration:none;display:flex;align-items:center;justify-content:center;min-height:58px}
.legal-flow a:hover{background:#dceefa;border-color:#9fc8e8;transform:translateY(-1px)}
@media(max-width:620px){.topbar{display:grid;grid-template-columns:46px minmax(0,1fr) auto}.brand{justify-self:start}.simple-home{padding:31px 18px}.role-access-grid{grid-template-columns:1fr 1fr;gap:11px}.role-access-card{min-height:160px;padding:16px 10px}.role-icon{width:64px;height:64px;border-radius:20px}.role-icon svg{width:43px;height:43px}.role-access-card small{font-size:.78rem}.simple-home-note{font-size:.82rem}}
@media(max-width:390px){.role-access-grid{grid-template-columns:1fr}.role-access-card{min-height:140px}.top-install{max-width:116px;white-space:normal!important;line-height:1.05}.brand strong{max-width:34vw}}

/* 1.0.44 · flujo simplificado, conductor por iconos y huella nativa Android */
.selected-transport-mode{margin:14px 0 18px;padding:16px;border:1px solid #d8e2e8;border-radius:18px;background:#f7fafb}
.selected-mode-row{display:flex;align-items:center;gap:14px}.selected-mode-row h2{margin:0 0 4px}.selected-mode-row p{margin:0;color:#52616b}
.selected-mode-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#0b2b3f;color:#fff;font-size:1.35rem;font-weight:900;flex:0 0 auto}
.driver-security-actions,.icon-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-top:12px}
.driver-icon-button,.driver-mini-icon{border:1px solid #d3dde3;border-radius:16px;background:#fff;color:#0b2b3f;min-height:94px;padding:13px 10px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;cursor:pointer;font:inherit}
.driver-icon-button:hover,.driver-mini-icon:hover{border-color:#3a758a;transform:translateY(-1px)}
.driver-icon-button b,.driver-mini-icon b{font-size:.94rem}.driver-icon-button small,.driver-mini-icon small{font-size:.76rem;color:#667985;line-height:1.2}
.driver-action-icon{font-size:1.55rem;line-height:1}
.driver-mini-icon{min-height:78px;padding:10px 8px}.driver-mini-icon .driver-action-icon{font-size:1.35rem}
.shipment-optional-contract{border:1px solid #dce5ea;border-radius:12px;padding:9px 12px;background:#fbfcfd}.shipment-optional-contract summary{cursor:pointer;font-weight:800;color:#27485a}
.native-only[hidden],.webauthn-only[hidden]{display:none!important}
@media(max-width:620px){.driver-security-actions,.icon-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-icon-button{min-height:100px}.selected-mode-row{align-items:flex-start}.selected-mode-icon{width:44px;height:44px}.shipment-row-actions{gap:6px}.compact-btn{padding:7px 8px}}

/* 1.0.47 · iconos grandes, idiomas, pagos y portal administrador */
.topbar-actions{display:flex;align-items:center;gap:8px}.lang-button{min-width:64px;height:46px;padding:0 12px;border-radius:14px;background:#eef6f8;color:var(--navy);border:1px solid var(--line);font-size:1rem;font-weight:900;display:flex;gap:6px;align-items:center;justify-content:center}.lang-button:hover{background:#dff0f3}.language-overlay{position:fixed;inset:0;z-index:120;background:rgba(6,24,34,.58);display:grid;place-items:center;padding:18px;backdrop-filter:blur(3px)}.language-overlay[hidden]{display:none}.language-card{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.language-card h2{margin:.35rem 0}.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.language-grid button{min-height:86px;background:#f8fbfc;border:1px solid #d7e3e8;color:var(--navy);font-size:1.05rem;display:flex;gap:10px;align-items:center;justify-content:center}.language-grid button:hover{border-color:var(--teal);background:#eef9f9}.language-grid button.is-active{outline:3px solid rgba(13,139,140,.2);border-color:var(--teal);background:#e8f7f7}
.company-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.company-icon-card{min-height:170px;border:1px solid #d7e2e7;border-radius:22px;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 10px 28px rgba(11,43,63,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:18px;transition:.15s}.company-icon-card:hover{transform:translateY(-3px);border-color:#78a9b6;box-shadow:0 14px 34px rgba(11,43,63,.13)}.company-icon-card.primary-card{background:linear-gradient(145deg,#0d8b8c,#0b6f78);color:#fff;border-color:#0d8b8c}.company-icon-card.primary-card small{color:#eafafa}.company-icon-glyph{font-size:2.9rem;line-height:1}.company-icon-card b{font-size:1.08rem}.company-icon-card small{color:var(--muted);line-height:1.25}.company-icon-card.payment-link{border:2px solid #e0b548;background:#fffaf0}.management-icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.management-icon-grid a{min-height:100px;border:1px solid #d9e3e8;border-radius:16px;background:#f9fbfc;text-decoration:none;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:10px}.management-icon-grid span{font-size:1.8rem}.management-icon-grid b{font-size:.84rem}.management-icon-grid a:hover{background:#edf6f8;border-color:#88b0bd}
.driver-mini-icon{min-height:112px!important;border-width:2px!important}.driver-doc-glyph{font-size:2.35rem;line-height:1}.driver-mini-icon b{font-size:1rem!important}.driver-road-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.driver-road-grid>a,.driver-road-grid>button{min-height:118px;background:#fff;border:2px solid #d5e0e6;border-radius:20px;color:var(--navy);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.driver-road-grid span{font-size:2.4rem}.driver-road-grid b{font-size:1rem}.driver-road-grid>a:hover,.driver-road-grid>button:hover{border-color:var(--teal);background:#f3fbfb}.transport-visual{font-size:2.25rem!important;min-width:86px!important;min-height:70px!important;width:auto!important;padding:0 14px}.driver-transport-choices .start-deca-option{min-height:160px}.driver-transport-choices .start-deca-option b{font-size:1.15rem}
.billing-banner{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:18px;margin:0 0 18px;border:2px solid}.billing-banner.grace{background:#fff8df;border-color:#e8b83a;color:#624600}.billing-banner.suspended{background:#fff0ef;border-color:#d65353;color:#7d2020}.billing-banner-icon{font-size:2rem;line-height:1}.billing-banner p{margin:.35rem 0 .7rem;line-height:1.4}.payment-method-card{display:flex;gap:18px;align-items:center}.payment-method-icon{font-size:3.3rem}.payment-actions .payment-card{padding:0}.payment-card button{border:0;background:transparent;color:inherit;width:100%;min-height:170px;border-radius:22px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}.subscription-hero{background:linear-gradient(135deg,#0b2b3f,#165d73);color:#fff;border:0}.subscription-hero .eyebrow{color:#8ee7e4}.subscription-hero p{color:#d9ebf0}
.admin-login-card{border:2px solid #163d54;box-shadow:0 18px 55px rgba(11,43,63,.16)}.admin-lock-icon{font-size:3.6rem;text-align:center;margin-bottom:6px}.admin-icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0}.admin-icon-grid a{min-height:125px;padding:14px;border-radius:18px;background:#fff;border:1px solid #d7e2e7;text-decoration:none;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;box-shadow:0 8px 24px rgba(11,43,63,.07)}.admin-icon-grid span{font-size:2.2rem}.admin-icon-grid b{font-size:.95rem}.admin-icon-grid small{font-size:.76rem;color:var(--muted)}.warning-kpi{background:rgba(255,183,3,.18)!important}.danger-kpi{background:rgba(210,60,60,.18)!important}.admin-row-actions{display:grid;gap:6px}.admin-row-actions form{margin:0}.admin-row-actions button{width:100%}
@media(max-width:900px){.company-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.driver-road-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.topbar-actions{gap:5px}.lang-button{min-width:52px;padding:0 8px}.company-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-icon-card{min-height:148px;padding:13px}.company-icon-glyph{font-size:2.5rem}.management-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-mini-icon{min-height:118px!important}.driver-doc-glyph{font-size:2.6rem}.language-grid{grid-template-columns:1fr}.billing-banner{padding:14px}.top-install{max-width:118px}}
.single-payment-action{grid-template-columns:minmax(0,420px);justify-content:center}
@media(max-width:620px){.single-payment-action{grid-template-columns:1fr}}

/* 1.0.47 · límites de plan y control comercial */
.plan-usage-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;margin:14px 0 18px;padding:14px 16px;border:1px solid #cbdde5;border-radius:16px;background:#f7fbfc}.plan-usage-card.limit-reached{border-color:#dc6767;background:#fff4f3}.plan-usage-card b{display:block;color:var(--navy);font-size:1.03rem}.plan-usage-card small{display:block;color:var(--muted);margin-top:3px}.plan-usage-meter{grid-column:1/-1;height:10px;border-radius:999px;background:#e4edf1;overflow:hidden}.plan-usage-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d8b8c,#ffb703)}.limit-reached .plan-usage-meter span{background:linear-gradient(90deg,#d65353,#b91c1c)}.plan-capacity-banner{margin-top:4px}.commercial-metric{font-variant-numeric:tabular-nums}@media(max-width:620px){.plan-usage-card{grid-template-columns:1fr}.plan-usage-card .secondary{width:100%}}


/* 1.0.48 · firma táctil, contrato y documentos offline */
.signature-capture{border:2px solid #cfd8df;border-radius:14px;padding:12px;background:#fff}.signature-head{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.signature-capture canvas{display:block;width:100%;height:160px;border:2px dashed #7b8b96;border-radius:10px;background:#fff;touch-action:none}.signature-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.receipt-signatures{margin-top:18px}.receipt-signature{display:inline-flex;flex-direction:column;max-width:360px;border:1px solid #d5dde3;border-radius:12px;padding:10px;background:#fff}.receipt-signature img{width:100%;height:auto;max-height:180px;object-fit:contain}.receipt-signature figcaption{font-size:.78rem;margin-top:6px;color:#52616d}.offline-doc-status{font-size:.78rem;margin-top:8px;padding:7px 9px;border-radius:8px;background:#f2f5f7;color:#53616c}.offline-doc-status.is-ready{background:#e9f8ef;color:#146c36;font-weight:700}.offline-save{cursor:pointer}.contract-scroll{max-height:640px;overflow:auto}.contract-scroll h2{margin-top:1.15rem}@media(max-width:640px){.signature-capture canvas{height:190px}.contract-scroll{max-height:none}.signature-actions>*{width:100%}}

/* 1.0.50 · selector visible Solo DeCA / DeCA + Carta de porte */
.document-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.document-scope-grid .mode-card{display:flex;gap:12px;align-items:flex-start;border:2px solid #c9d7df;border-radius:18px;padding:16px;background:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(11,43,63,.06)}.document-scope-grid .mode-card input{position:absolute;opacity:0;pointer-events:none}.document-scope-grid .mode-card.selected{border-color:#0d8f89;background:#effcf9;box-shadow:0 0 0 3px rgba(13,143,137,.12)}.document-scope-grid .mode-icon{display:grid;place-items:center;min-width:46px;height:46px;border-radius:14px;background:#0b2b3f;color:#fff;font-weight:900}.document-scope-grid b{display:block;font-size:1.12rem}.document-scope-grid small{display:block;margin-top:5px;line-height:1.35;color:#66737d}.document-scope-note{margin-top:12px}@media(max-width:720px){.document-scope-grid{grid-template-columns:1fr}}

/* 1.0.51 · comunicaciones comerciales y avisos */
.campaign-stack{display:grid;gap:12px;margin:14px 0 20px}.campaign-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid rgba(11,43,63,.14);box-shadow:0 8px 24px rgba(11,43,63,.08)}.campaign-banner h3{margin:4px 0 6px}.campaign-banner p{margin:0;white-space:pre-line}.campaign-type{display:inline-block;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0b6f70}.campaign-offer,.campaign-promotion{border-left:6px solid #e49b0f;background:#fffaf0}.campaign-service{border-left:6px solid #0b6f70}.campaign-news{border-left:6px solid #4f6d7a}@media(max-width:640px){.campaign-banner{align-items:stretch;flex-direction:column}.campaign-banner .secondary{width:100%;text-align:center}}

/* 1.0.54 · validación guiada y portal operativo de cooperativas */
.field-invalid{border-left:5px solid #c62828!important;padding-left:10px!important;background:#fff6f5!important;border-radius:10px}.field-invalid input,.field-invalid select,.field-invalid textarea{border:2px solid #c62828!important;background:#fff!important}.field-error-inline{margin-top:7px;color:#a51616;font-weight:800;font-size:.9rem;line-height:1.25}.pin-explainer{padding:13px 15px;border-radius:14px;background:#eef8fb;border:1px solid #c9e0e8}.pin-explainer p{margin:.3rem 0 0;color:#536773}.coop-action-grid,.coop-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 22px}.icon-action-card{min-height:135px;border:1px solid #cfdee5;border-radius:20px;background:#fff;color:var(--navy);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:15px;box-shadow:0 8px 24px rgba(11,43,63,.07);cursor:pointer}.icon-action-card span{font-size:2.2rem}.icon-action-card b{font-size:1rem}.icon-action-card small{color:var(--muted)}.coop-member-card{background:#fff;border:1px solid #d5e2e7;border-radius:20px;padding:16px;box-shadow:0 8px 24px rgba(11,43,63,.07)}.coop-member-card.is-inactive{opacity:.6}.coop-member-head{display:flex;gap:12px;align-items:center}.coop-company-icon{font-size:2.2rem}.coop-member-head h3{margin:0}.coop-member-head p{margin:.2rem 0;color:var(--muted)}.coop-stats{display:grid;gap:5px;margin:14px 0;font-size:.9rem}.coop-price-box{border:1px solid #cfe0e6;border-radius:16px;padding:14px;background:#f9fcfd;display:flex;flex-direction:column;gap:5px}.coop-price-box strong{color:#087c72;font-size:1.12rem}.coop-plan-preview{padding:14px;border-radius:14px;background:#eefaf7;border:1px solid #b9e0d7;line-height:1.45}.legal-scope-warning{border-left:6px solid #d09a18}@media(max-width:850px){.coop-action-grid,.coop-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.coop-action-grid,.coop-member-grid{grid-template-columns:1fr}.icon-action-card{min-height:108px}}

.pin-strength-warning{display:block;margin-top:.45rem;padding:.55rem .7rem;border-radius:.65rem;background:#fff4d6;color:#7a5200;font-weight:700;line-height:1.35}.pin-strength-warning[hidden]{display:none!important}

/* 1.0.58 · navegación táctil/ratón reforzada */
a[href],button,summary{touch-action:manipulation}.app-drawer,.app-drawer *{pointer-events:auto}


/* 2.0.1 · voz + preparación offline */
.driver-voice-deca{margin:16px 0 18px!important;font-size:1.04rem;box-shadow:0 10px 24px rgba(181,46,46,.22)}.driver-voice-deca small{display:block;color:#fff;opacity:.9;font-size:.78rem;margin-top:4px}.voice-deca-icon{font-size:1.35rem;margin-right:6px}.voice-deca-panel{border:2px solid #b52e2e;background:#fff7f7;border-radius:18px;padding:18px;margin-bottom:18px}.voice-deca-panel h2{margin:.25rem 0 .6rem}.voice-live{padding:13px;border-radius:12px;background:#f3f6f7;margin:12px 0;min-height:48px}.voice-live.listening{background:#ffe7e7;color:#8e1f1f;font-weight:800}.voice-filled{outline:2px solid rgba(13,139,140,.25);outline-offset:4px;border-radius:8px}.prepare-trip-offline{margin:8px 0 6px!important}.offline-batch-status,.driver-custody-warning{font-size:.88rem;line-height:1.45}.driver-custody-warning{background:rgba(255,255,255,.1);padding:10px 12px;border-radius:12px;margin-top:12px;color:#f4fbfc!important}@media(max-width:620px){.driver-voice-deca{position:relative;z-index:2}.voice-deca-panel .actions{display:grid;grid-template-columns:1fr}.voice-deca-panel .actions button{width:100%}}

/* 2.0.3 · asistente de voz guiado */
.voice-question{font-size:1.08rem;font-weight:800;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #e1b7b7;margin:12px 0}.voice-progress{font-size:.8rem;font-weight:700;opacity:.72;margin:6px 0 12px}.voice-guided-actions{gap:8px;flex-wrap:wrap}.voice-guided-actions button{min-height:48px}@media(max-width:620px){.voice-guided-actions{display:grid;grid-template-columns:1fr 1fr}.voice-guided-actions button{width:100%}.voice-guided-actions [data-voice-start]{grid-column:1/-1}}

/* 2.0.5 · permiso previo de micrófono */
.voice-permission-overlay{position:fixed;inset:0;z-index:10000;background:rgba(4,20,30,.72);display:flex;align-items:center;justify-content:center;padding:18px}
.voice-permission-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.voice-permission-card h2{margin:.35rem 0 1rem}.voice-permission-question{font-size:1.15rem;margin:18px 0}.voice-permission-status{padding:12px 14px;border-radius:12px;background:#eef5f8;margin:12px 0 18px}.voice-permission-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.voice-permission-actions button{min-height:54px}
@media(max-width:600px){.voice-permission-card{padding:18px}.voice-permission-actions{grid-template-columns:1fr}.voice-permission-actions button{width:100%}}

/* 2.0.20 · acción principal DeCA agrupado */
.add-shipment-alert{background:#d71920!important;color:#fff!important;border:3px solid #9b0d12!important;font-weight:1000!important;font-size:1.12rem!important;padding:16px 20px!important;border-radius:14px!important;box-shadow:0 8px 22px rgba(215,25,32,.28)!important;cursor:pointer}.add-shipment-alert .fluoro-plus{color:#eaff00!important;font-size:1.7rem!important;line-height:0;vertical-align:-2px;text-shadow:0 0 8px rgba(234,255,0,.65)}.add-shipment-alert:hover{filter:brightness(1.06)}
[data-dangerous-details][hidden]{display:none!important}

/* 2.1.0 · endurecimiento móvil: lectura limpia, sin batiburrillo ni tablas aplastadas. */
.network-state{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));z-index:1000;transform:translate(-50%,150%);max-width:min(92vw,560px);padding:10px 14px;border-radius:999px;background:#102433;color:#fff;font-weight:800;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:.22s}.network-state.show{transform:translate(-50%,0)}.network-state.offline{background:#9b2c2c}.network-state.online{background:#137a55}
.trailer-picker{display:grid;gap:8px;align-content:start}.trailer-picker>b{margin-top:13px}.trailer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.trailer-row select{min-width:0}.trailer-remove{padding:9px 11px}.local-save-result{margin-top:12px}.quick-plan-form{display:grid;grid-template-columns:minmax(155px,1fr) minmax(130px,.75fr) auto;gap:6px;align-items:center}.quick-plan-form select,.quick-plan-form input{width:100%;min-height:42px;border:1px solid #bdcbd4;border-radius:10px;padding:8px;font:inherit}.card p,.card li,.notice,.error,.success,.small,.required-help,.table-sub{line-height:1.48}.form textarea{line-height:1.5;resize:vertical}.form label,.card-inset label{min-width:0}.form input,.form select,.form textarea{max-width:100%}
@media(max-width:680px){
  .wrap{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.card,.hero,.feature-card,.price-card{padding:17px 15px}.card-inset{padding:14px!important}.hero h1,.card h1{overflow-wrap:anywhere}.grid2,.grid3{grid-template-columns:1fr!important;gap:5px!important}.form label{margin-top:10px}.form input,.form select,.form textarea,.search input,.inline-form input,.inline-form select{min-height:48px;padding:12px 13px;font-size:16px!important}.form textarea{min-height:94px}.primary,.secondary,.ghost,.danger,button{min-height:46px;white-space:normal;line-height:1.25}.actions{gap:8px}.actions>a,.actions>button,.actions>form,.actions>form button{width:100%}.trailer-row{grid-template-columns:1fr}.trailer-row .trailer-remove{width:100%}.quick-plan-form{grid-template-columns:1fr}.quick-plan-form button{width:100%}
  .tablewrap{overflow:visible;border:0;background:transparent;box-shadow:none;border-radius:0}.tablewrap table{display:block;width:100%;min-width:0}.tablewrap thead{display:none}.tablewrap tbody{display:grid;gap:12px;width:100%}.tablewrap tbody tr{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 18px rgba(11,43,63,.05);padding:6px 12px}.tablewrap tbody td{display:grid;grid-template-columns:minmax(108px,36%) minmax(0,1fr);gap:10px;width:100%;padding:10px 0;border-bottom:1px solid #e8eef1;align-items:start;overflow-wrap:anywhere;word-break:normal}.tablewrap tbody td:last-child{border-bottom:0}.tablewrap tbody td::before{content:attr(data-label);font-size:.72rem;line-height:1.25;text-transform:uppercase;letter-spacing:.045em;color:#607786;font-weight:900}.tablewrap tbody td[colspan]{display:block;text-align:center}.tablewrap tbody td[colspan]::before{display:none}.tablewrap .admin-row-actions,.tablewrap .driver-admin-actions,.tablewrap .deca-action-links{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.tablewrap form{max-width:100%}.tablewrap input,.tablewrap select,.tablewrap button,.tablewrap a.secondary,.tablewrap a.ghost{max-width:100%;width:100%;min-height:44px}.table-sub{display:block;margin-top:4px}.mode-grid,.document-scope-grid,.start-deca-grid,.company-icon-grid,.driver-transport-choices{grid-template-columns:1fr!important}.mode-card,.start-deca-option,.company-icon-card{min-width:0}.shipment-head{align-items:flex-start;gap:8px}.shipment-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.shipment-head{display:grid!important}.mobile-finalize-bar{display:grid!important;grid-template-columns:1fr!important;gap:8px;position:sticky;bottom:0;z-index:7;background:rgba(244,247,249,.96);padding:10px 0 max(10px,env(safe-area-inset-bottom));backdrop-filter:blur(10px)}.legal-data-grid{grid-template-columns:1fr!important}.legal-read-box{font-size:.96rem;line-height:1.55}.notice,.error,.success{overflow-wrap:anywhere}.qr-actions,.inspection-actions{display:grid!important;grid-template-columns:1fr!important}.qr-actions>* ,.inspection-actions>*{width:100%;text-align:center}.receipt-photo{max-width:100%;height:auto}.toplinks{align-items:stretch}.toplinks>a{width:100%;text-align:center}
}


/* 2.1.6 · asignación de conductor + Pendientes / Realizados */
.workflow-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 22px}.workflow-summary>a{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 18px;box-shadow:0 7px 20px rgba(11,43,63,.06);color:inherit}.workflow-summary>a span{font-size:1.35rem}.workflow-summary>a b{font-size:1.45rem;color:#0b6670}.workflow-summary>a small{font-weight:800;color:#526b78}.workflow-section{margin-top:18px}.completed-section{border-top:4px solid #1c8a63}.workflow-pendiente{background:#fff4cf;color:#725500}.workflow-en-curso{background:#e4f3ff;color:#0a527d}.workflow-realizado{background:#e5f8ee;color:#176542}.deca-driver-assignment{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:6px;align-items:center}.deca-driver-assignment select{min-width:0;max-width:100%;min-height:40px;border:1px solid #bdcbd4;border-radius:10px;padding:7px 9px;background:#fff}.assignment-visible{color:#176542;font-weight:800}.assignment-hidden{color:#9b5b18;font-weight:800}.driver-assignment-card{margin:14px 0}.driver-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.driver-deca-done{opacity:.92;border-left:4px solid #1c8a63}.driver-card-actions form{margin:0}.workflow-action{border:2px solid #0b6670!important;background:#eefafa!important}.driver-workflow-summary{margin-top:18px}
@media(max-width:680px){.workflow-summary{grid-template-columns:1fr 1fr;gap:8px}.workflow-summary>a{grid-template-columns:auto 1fr;padding:12px}.workflow-summary>a b{font-size:1.25rem}.workflow-summary>a small{grid-column:1/-1}.deca-driver-assignment{grid-template-columns:1fr}.deca-driver-assignment button{width:100%}.workflow-section{padding:14px 12px!important}.workflow-head{align-items:stretch}.workflow-head .search{width:100%}.driver-card-title{align-items:flex-start}.driver-deca-card{overflow:hidden}.driver-deca-card>div:first-child span{overflow-wrap:anywhere}.driver-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.driver-card-actions>*{min-width:0;width:100%}.driver-card-actions form button{width:100%;height:100%}}

/* 2.1.6 · hoja propia Compartir: WhatsApp, correo, copiar enlace y PDF */
body.share-sheet-open{overflow:hidden}.deca-share-sheet{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center}.deca-share-backdrop{position:absolute;inset:0;background:rgba(7,25,38,.58);backdrop-filter:blur(2px)}.deca-share-panel{position:relative;width:min(680px,100%);background:#fff;border-radius:22px 22px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -18px 45px rgba(0,0,0,.25);max-height:88vh;overflow:auto}.share-handle{width:48px;height:5px;border-radius:5px;background:#c9d2d8;margin:0 auto 12px}.deca-share-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.deca-share-head>div{display:grid;gap:2px}.deca-share-head b{font-size:1.12rem;color:#15384b}.deca-share-head span{font-size:.88rem;color:#647985}.share-close{border:0;background:#edf3f5;color:#274c5c;width:40px;height:40px;border-radius:50%;font-size:1.55rem;line-height:1}.deca-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deca-share-grid button{min-width:0;min-height:92px;border:1px solid #d7e2e7;background:#f8fbfc;border-radius:15px;padding:12px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:8px;text-align:left;align-items:center;color:#15384b}.deca-share-grid button>span{grid-row:1/3;font-size:1.45rem}.deca-share-grid button>b{font-size:.98rem;overflow-wrap:anywhere}.deca-share-grid button>small{font-size:.78rem;color:#647985;overflow-wrap:anywhere}.share-note{font-size:.78rem;line-height:1.35;color:#647985;margin:12px 2px 0}@media(max-width:520px){.deca-share-panel{padding-left:13px;padding-right:13px}.deca-share-grid{grid-template-columns:1fr 1fr}.deca-share-grid button{min-height:88px;padding:10px 8px}}

/* VJTDeCA 2.3.6 · asignación directa y cierre de entrega */
.drawer-nav>a.drawer-billing{font-weight:900;border:1px solid rgba(11,43,63,.16);background:#f4f8f9}
.billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}
.billing-summary-grid .card{margin:0;min-height:150px}
.billing-summary-grid .card>small{display:block;font-weight:800;opacity:.72;margin-bottom:8px}
.billing-summary-grid .card h2{margin:.2rem 0 .45rem;font-size:1.3rem}
.billing-usage-card,.billing-actions{margin-top:16px}
@media(max-width:900px){.billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.billing-summary-grid{grid-template-columns:1fr}.billing-summary-grid .card{min-height:auto}}


/* VJTDeCA 2.3.6 · inicio visual y asignación al conductor */
.role-access-grid.role-access-visual{gap:22px;align-items:stretch}
.role-access-visual .role-access-card{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:28px 18px}
.role-access-visual .role-icon-xl{font-size:5rem;line-height:1;display:block;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}
.role-access-visual .role-access-card strong{font-size:1.35rem;font-weight:900;line-height:1.15}
.deca-driver-assignment .assignment-to-driver{white-space:normal;min-width:150px;font-weight:850}
.delivery-download-card{border:2px solid rgba(8,104,130,.22);box-shadow:0 12px 28px rgba(9,68,91,.10)}
@media(max-width:700px){.role-access-grid.role-access-visual{grid-template-columns:1fr}.role-access-visual .role-access-card{min-height:180px}.role-access-visual .role-icon-xl{font-size:4.6rem}.deca-driver-assignment{display:grid;grid-template-columns:1fr}.deca-driver-assignment .assignment-to-driver{width:100%}}


/* VJTDeCA 2.3.6 · acciones DeCA simplificadas, volante y NexoFactura */
.steering-wheel-icon{color:#0b2b3f;display:grid!important;place-items:center}.steering-wheel-icon svg{width:1em;height:1em;display:block}
.drawer-nav>a.drawer-nexo{font-weight:900;border:1px solid #ead38f;background:#fff9e8;color:#715000}
.compact-deca-actions{display:grid!important;grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px;align-items:stretch;max-width:650px}
.compact-deca-actions .deca-action-btn{min-height:58px;border:1px solid #d2e1e6;border-radius:12px;background:#eef5f7;color:#123e55!important;text-decoration:none!important;padding:8px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;font:inherit;cursor:pointer;box-shadow:none}
.compact-deca-actions .deca-action-btn>span{font-size:1.35rem;line-height:1}.compact-deca-actions .deca-action-btn>b{font-size:.78rem;line-height:1.05;font-weight:900}.compact-deca-actions .qr-action{background:#0d8b8c;color:#fff!important;border-color:#0d8b8c}.compact-deca-actions .action-complete{background:#edf9f2!important;border-color:#9fd0b5!important;color:#176542!important}.compact-deca-actions .inspection-action{background:#f7f5ff!important;border-color:#d6cef5!important}.compact-action-form{margin:0!important;display:block}.compact-action-form .deca-action-btn{width:100%}
@media(max-width:900px){.compact-deca-actions{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:680px){.tablewrap .deca-action-links.compact-deca-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.compact-deca-actions .deca-action-btn{width:100%!important;min-height:66px!important}.compact-deca-actions .deca-action-btn>b{font-size:.82rem}}

/* VJTDeCA 2.3.6 · inicio NexoFactura visible + panel DeCA armonizado */
.home-nexo-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(100%,560px);margin:14px auto 0;padding:12px 16px;border:1px solid rgba(255,255,255,.34);border-radius:16px;background:rgba(255,255,255,.13);color:#fff!important;text-decoration:none!important;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.home-nexo-strip:hover{background:rgba(255,255,255,.20);transform:translateY(-1px)}
.home-nexo-icon{font-size:1.55rem;line-height:1}.home-nexo-arrow{font-size:1.8rem;line-height:1}
.deca-company-tablewrap{overflow-x:auto!important}
.deca-company-table{min-width:1180px;table-layout:fixed}
.deca-company-table th{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.deca-company-table th:nth-child(1){width:190px}.deca-company-table th:nth-child(2){width:105px}.deca-company-table th:nth-child(3){width:245px}.deca-company-table th:nth-child(4){width:220px}.deca-company-table th:nth-child(5){width:145px}.deca-company-table th:nth-child(6){width:410px}
.deca-company-table td{vertical-align:top;word-break:normal;overflow-wrap:break-word}
.deca-number{display:block;font-size:.95rem;line-height:1.25;margin-bottom:6px;overflow-wrap:anywhere}
.route-line{line-height:1.35}.deca-date-cell{white-space:nowrap}
.deca-driver-cell .deca-driver-assignment{grid-template-columns:1fr;gap:7px}.deca-driver-cell .assignment-to-driver{min-width:0;width:100%;padding:9px 10px}
.transport-summary{display:grid;gap:4px;line-height:1.25}.transport-summary small{color:var(--muted)}.transport-summary span{font-size:.88rem}
.deca-status-cell .pill{white-space:nowrap}.deca-status-cell .table-sub{line-height:1.25}
.deca-actions-cell{padding:9px!important}.deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(4,minmax(82px,1fr));max-width:none;width:100%;gap:7px}
.deca-actions-cell .compact-deca-actions .deca-action-btn{min-width:0;min-height:62px;padding:7px 6px}.deca-actions-cell .compact-deca-actions .deca-action-btn>b{font-size:.75rem;line-height:1.08;overflow-wrap:normal;word-break:normal}
@media(max-width:840px){.home-nexo-strip{width:100%}}
@media(max-width:680px){.deca-company-table{min-width:0!important;table-layout:auto}.deca-company-tablewrap{overflow:visible!important}.deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.deca-company-table td{word-break:normal!important}.deca-number{overflow-wrap:anywhere}.transport-summary{gap:5px}}

/* VJTDeCA 2.3.6 · iconografía armonizada con el escritorio del conductor */
.deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(4,minmax(92px,1fr));gap:10px}
.deca-actions-cell .compact-deca-actions .deca-action-btn{min-height:84px;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(11,43,63,.07);gap:7px;padding:9px 7px}
.deca-actions-cell .compact-deca-actions .deca-action-btn>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e7f1ff;font-size:1.55rem;line-height:1}
.deca-actions-cell .compact-deca-actions .deca-action-btn:nth-child(2)>span{background:#dce8ff}
.deca-actions-cell .compact-deca-actions .deca-action-btn:nth-child(3)>span{background:#dff5f2}
.deca-actions-cell .compact-deca-actions .deca-action-btn:nth-child(4)>span{background:#ffe4e8}
.deca-actions-cell .compact-deca-actions .deca-action-btn>b{font-size:.78rem;line-height:1.08;white-space:normal;word-break:normal;overflow-wrap:normal}
.deca-actions-cell .compact-deca-actions .delivery-action>span{background:#eadfff!important}
.deca-actions-cell .compact-deca-actions .action-complete>span{background:#dff4e8!important}
.deca-actions-cell .compact-deca-actions .inspection-action>span{background:#ffe8c6!important}
@media(max-width:680px){.deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.deca-actions-cell .compact-deca-actions .deca-action-btn{min-height:88px!important}}


/* VJTDeCA 2.4.2 · distribución equitativa, menú Inicio desplegable y facturación visible */
.drawer-home{border-radius:12px;overflow:hidden}
.drawer-home>summary{display:block;position:relative;z-index:2;cursor:pointer;list-style:none;text-decoration:none;color:var(--navy);font-weight:900;border-radius:12px;padding:12px 13px}
.drawer-home>summary::-webkit-details-marker{display:none}.drawer-home>summary:hover{background:#eef5f7}
.drawer-home[open]>summary{background:#eef5f7}.drawer-home>a{display:block;text-decoration:none;color:var(--navy);font-weight:780;padding:10px 13px 10px 32px;border-radius:10px;margin:2px 0}
.drawer-home>a:hover{background:#f3f8f9}.drawer-billing{margin-top:2px}.drawer-steering{font-size:1.05rem}
.deca-company-table{min-width:1120px!important}.deca-company-table th:nth-child(1){width:165px!important}.deca-company-table th:nth-child(2){width:92px!important}.deca-company-table th:nth-child(3){width:185px!important}.deca-company-table th:nth-child(4){width:170px!important}.deca-company-table th:nth-child(5){width:115px!important}.deca-company-table th:nth-child(6){width:393px!important}
.deca-driver-cell .assignment-to-driver{font-size:.82rem!important;padding:8px 7px!important}.deca-driver-cell select{font-size:.88rem!important;padding:9px 8px!important}.deca-driver-cell .table-sub{font-size:.75rem!important;line-height:1.2}
.deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(4,minmax(80px,1fr))!important;gap:8px!important}.deca-actions-cell .compact-deca-actions .deca-action-btn{min-height:78px!important;padding:7px 5px!important}.deca-actions-cell .compact-deca-actions .deca-action-btn>span{width:38px!important;height:38px!important;font-size:1.35rem!important}.deca-actions-cell .compact-deca-actions .deca-action-btn>b{font-size:.72rem!important}
.driver-deca-card{display:grid!important;grid-template-columns:minmax(260px,.85fr) minmax(520px,1.65fr);align-items:center!important;gap:22px!important;padding:18px!important}
.driver-card-actions{display:grid!important;grid-template-columns:repeat(4,minmax(118px,1fr))!important;gap:12px!important;width:100%!important;margin-top:0!important;align-items:stretch!important}
.driver-card-actions>*{width:100%!important;min-width:0!important;margin:0!important}.driver-card-actions form{display:block!important}.driver-card-actions form .driver-mini-icon{width:100%!important;height:100%!important}
.driver-card-actions .driver-mini-icon{min-height:118px!important;padding:12px 9px!important;border-radius:20px!important}.driver-card-actions .driver-doc-glyph{font-size:2.55rem!important}.driver-card-actions .driver-mini-icon b{font-size:.95rem!important;line-height:1.1!important}
.driver-card-actions .delivery-action{border-color:#c9b7f4!important;background:#faf7ff!important}.driver-card-actions .delivery-action .driver-doc-glyph{background:#eadfff;border-radius:14px;width:58px;height:58px;display:grid;place-items:center}
.driver-deca-card .offline-doc-status{grid-column:1/-1;margin-top:0!important}
@media(max-width:1050px){.driver-deca-card{grid-template-columns:1fr!important}.driver-card-actions{grid-template-columns:repeat(3,minmax(118px,1fr))!important}}
@media(max-width:680px){.deca-company-table{min-width:0!important}.driver-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.driver-card-actions .driver-mini-icon{min-height:116px!important}.driver-deca-card{padding:14px!important;gap:14px!important}}


/* VJTDeCA R3 · papeles operativos y datos habituales separados */
.operation-role-grid,.role-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.operation-role-grid>a,.role-master-grid>a{display:flex;flex-direction:column;gap:7px;min-height:150px;padding:20px;border:2px solid #d7e5e9;border-radius:18px;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 8px 22px rgba(11,43,63,.07)}
.operation-role-grid>a:hover,.role-master-grid>a:hover{border-color:#0d8b8c;transform:translateY(-1px)}
.operation-role-grid .role-icon,.role-master-grid .role-icon{font-size:2.6rem;line-height:1}
.operation-role-grid b,.role-master-grid b{font-size:1.12rem}.operation-role-grid small,.role-master-grid small{color:var(--muted);line-height:1.35}
.selected-operation-role{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;margin:0 0 14px;border:1px solid #b9d8df;border-radius:14px;background:#edf8fa}
.loader-role-card{border:2px solid #d6cef5!important;background:#fbf9ff!important}
@media(max-width:680px){.operation-role-grid,.role-master-grid{grid-template-columns:1fr}.operation-role-grid>a,.role-master-grid>a{min-height:130px}}


/* R11.7.10 · histórico sin acciones cortadas + compartir PDF con estado visible */
.deca-share-grid button:disabled{opacity:.58;cursor:wait}.deca-share-grid button:not(:disabled){cursor:pointer}
.deca-share-grid button b,.deca-share-grid button small{white-space:normal;overflow:visible;text-overflow:clip}
@media (min-width:681px) and (max-width:1450px){
  .deca-company-tablewrap{overflow-x:hidden!important;width:100%!important}
  .deca-company-table{min-width:0!important;width:100%!important;table-layout:fixed!important}
  .deca-company-table th:nth-child(1){width:14%!important}.deca-company-table th:nth-child(2){width:8%!important}.deca-company-table th:nth-child(3){width:16%!important}.deca-company-table th:nth-child(4){width:14%!important}.deca-company-table th:nth-child(5){width:10%!important}.deca-company-table th:nth-child(6){width:38%!important}
  .deca-actions-cell{overflow:visible!important}
  .deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:7px!important}
  .deca-actions-cell .compact-deca-actions .deca-action-btn{min-width:0!important;width:100%!important;padding:7px 4px!important;overflow:visible!important}
  .deca-actions-cell .compact-deca-actions .deca-action-btn>b{font-size:.70rem!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important}
}
@media (min-width:681px) and (max-width:1180px){
  .deca-company-table th:nth-child(1){width:15%!important}.deca-company-table th:nth-child(2){width:8%!important}.deca-company-table th:nth-child(3){width:15%!important}.deca-company-table th:nth-child(4){width:13%!important}.deca-company-table th:nth-child(5){width:9%!important}.deca-company-table th:nth-child(6){width:40%!important}
  .deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .deca-actions-cell .compact-deca-actions .deca-action-btn>b{font-size:.74rem!important}
}


/* VJTDeCA R11.7.10 FINAL · histórico: ninguna acción puede quedar fuera de pantalla */
.deca-company-tablewrap{width:100%!important;max-width:100%!important;overflow-x:visible!important;overflow-y:visible!important}
.deca-company-table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
.deca-company-table th,.deca-company-table td{min-width:0!important;max-width:none!important;overflow:visible!important}
.deca-company-table th:nth-child(1){width:13%!important}
.deca-company-table th:nth-child(2){width:8%!important}
.deca-company-table th:nth-child(3){width:15%!important}
.deca-company-table th:nth-child(4){width:14%!important}
.deca-company-table th:nth-child(5){width:10%!important}
.deca-company-table th:nth-child(6){width:40%!important}
.deca-main-cell,.deca-driver-cell,.deca-transport-cell,.deca-status-cell{overflow-wrap:anywhere!important;word-break:normal!important}
.deca-actions-cell{width:auto!important;min-width:0!important;overflow:visible!important;padding:8px!important}
.deca-actions-cell .compact-deca-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important}
.deca-actions-cell .compact-deca-actions>*{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important}
.deca-actions-cell .compact-deca-actions .deca-action-btn{min-width:0!important;width:100%!important;max-width:100%!important;min-height:72px!important;padding:7px 5px!important;overflow:visible!important}
.deca-actions-cell .compact-deca-actions .deca-action-btn>span{width:36px!important;height:36px!important;font-size:1.28rem!important}
.deca-actions-cell .compact-deca-actions .deca-action-btn>b{display:block!important;max-width:100%!important;font-size:.74rem!important;line-height:1.08!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;overflow:visible!important;text-overflow:clip!important;text-align:center!important}
.deca-actions-cell .compact-deca-actions form{min-width:0!important;width:100%!important}
.deca-actions-cell .compact-deca-actions form .deca-action-btn{width:100%!important}
@media(max-width:1050px) and (min-width:681px){
 .deca-company-table th:nth-child(1){width:13%!important}.deca-company-table th:nth-child(2){width:8%!important}.deca-company-table th:nth-child(3){width:14%!important}.deca-company-table th:nth-child(4){width:13%!important}.deca-company-table th:nth-child(5){width:9%!important}.deca-company-table th:nth-child(6){width:43%!important}
 .deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .deca-actions-cell .compact-deca-actions .deca-action-btn>b{font-size:.78rem!important}
}
@media(max-width:680px){
 .deca-company-tablewrap{overflow:visible!important}
 .deca-company-table{min-width:0!important;width:100%!important;table-layout:auto!important}
 .deca-actions-cell .compact-deca-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* compartir: botones completos, sin texto cortado */
.deca-share-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.deca-share-grid button{min-width:0!important;width:100%!important;height:auto!important;min-height:132px!important;padding:14px 10px!important;overflow:visible!important}
.deca-share-grid button b,.deca-share-grid button small{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
@media(max-width:720px){.deca-share-grid{grid-template-columns:1fr!important}.deca-share-grid button{min-height:96px!important}}


/* R11.7.17 · DEFINITIVO TOTAL · Cloudflare admin + añadir envíos + compartir PDF */
.cloudflare-admin-shortcut{border:2px solid #4fa3ff!important;background:linear-gradient(180deg,#f7fbff,#eaf4ff)!important}.cloudflare-admin-card code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf2f5;padding:.15rem .35rem;border-radius:6px}.cloudflare-plan-status{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;margin:0 0 18px;background:#eef6ff;border:1px solid #bfdcff}.cloudflare-plan-status>span{font-size:2rem}.cloudflare-plan-status small,.cloudflare-plan-status b{display:block}.cloudflare-plan-status b{font-size:1.25rem}.cloudflare-plan-status.is-paid{background:#eaf9f3;border-color:#bfe6d5}.grouped-add-top{margin:12px 0 16px!important;position:sticky;top:72px;z-index:6}.grouped-add-help{text-align:center;margin-top:8px}.deca-share-grid button:disabled{opacity:.55;cursor:wait;transform:none!important}.deca-share-grid button b{overflow-wrap:anywhere}.deca-share-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}@media(max-width:760px){.deca-share-grid{grid-template-columns:1fr!important}.grouped-add-top{top:66px}}

/* R11.7.17 DEFINITIVO TOTAL */
[data-grouped-fields]:not([hidden]) [data-add-shipment]{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;visibility:visible!important;opacity:1!important}.grouped-add-top,.add-shipment-alert{font-weight:950!important}.deca-share-sheet{z-index:99999!important}.deca-share-grid button{pointer-events:auto}.deca-share-grid button:not(:disabled){opacity:1!important}

/* R11.7.19 PORTAL EMPRESA FIX */
[data-company-rescue-share] button{min-height:48px;cursor:pointer}


/* R11.7.19 · selector de tipo siempre visible + acciones directas */
.transport-mode-picker{border:2px solid #bdd7e5;background:#f7fbfd}
.transport-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.grouped-mode-card.selected{border-color:#0b7a48;box-shadow:0 0 0 2px rgba(11,122,72,.12)}
.share-whatsapp-action span{filter:saturate(1.2)}
.compact-deca-actions{grid-template-columns:repeat(3,minmax(88px,1fr))!important;width:100%!important;max-width:none!important}
.compact-deca-actions .deca-action-btn{min-width:0!important;overflow:visible!important}
.compact-deca-actions .deca-action-btn b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.05!important}
@media(max-width:980px){.compact-deca-actions{grid-template-columns:repeat(2,minmax(96px,1fr))!important}.transport-mode-grid{grid-template-columns:1fr}}

/* VJTDeCA R11.7.28 · selección guiada desde catálogos memorizados */
.voice-picker-box{margin:12px 0;padding:14px;border:2px solid #0d8b8c;border-radius:14px;background:#eefafa}.voice-picker-box label{display:grid;gap:8px}.voice-picker-box select{width:100%;min-height:50px;font-size:1rem;font-weight:750;background:#fff;border:2px solid #9ecfd0;border-radius:10px;padding:8px 12px}.voice-picker-box .actions{margin:10px 0 6px}.voice-picker-box small{display:block;color:#46616c;line-height:1.4}.voice-pick-active{outline:3px solid #0d8b8c!important;outline-offset:5px!important;border-radius:10px}.voice-pick-active select{box-shadow:0 0 0 4px rgba(13,139,140,.16)}
@media(max-width:620px){.voice-picker-box .actions{display:grid;grid-template-columns:1fr}.voice-picker-box .actions button{width:100%}}


/* VJTDeCA R11.7.29 · DeCA agrupado explícito: condiciones legales y matrículas por envío */
.grouped-legal-guide{border:1px solid var(--line,#d9e1e7);border-radius:18px;padding:18px;margin:14px 0 18px;background:var(--soft,#f8fafb)}
.grouped-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.grouped-rule-grid>div{border:1px solid var(--line,#d9e1e7);border-radius:14px;padding:14px;background:#fff}
.grouped-rule-grid p{margin:.45rem 0 0;line-height:1.45}
.grouped-legal-source{margin:12px 2px 0}
.grouped-variable-data{border:1px solid var(--line,#d9e1e7);border-radius:14px;padding:14px;margin:14px 0;background:var(--soft,#f8fafb)}
.grouped-variable-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.grouped-variable-head h3{margin:.15rem 0 0}
@media(max-width:820px){.grouped-rule-grid{grid-template-columns:1fr}.grouped-variable-head{flex-direction:column}.grouped-title-head{align-items:flex-start}}

/* R11.7.37 · Aviso destacado de fin de prueba y pago confirmado */
.payment-deadline-alert{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:18px 20px;border:3px solid #c62828;border-radius:18px;background:#fff1f1;color:#781515;box-shadow:0 8px 24px rgba(198,40,40,.18)}
.payment-deadline-dot{flex:0 0 18px;width:18px;height:18px;margin-top:4px;border-radius:50%;background:#d71920;box-shadow:0 0 0 5px rgba(215,25,32,.13)}
.payment-deadline-title{display:block;margin:0 0 8px;font-size:1.08rem;letter-spacing:.02em;color:#a10f16}
.payment-deadline-alert p{margin:.28rem 0;line-height:1.46}
.payment-deadline-alert strong{font-weight:900}
.payment-deadline-action{display:inline-block;margin-top:10px}
.payment-deadline-expired{background:#ffe7e7;border-color:#a90f15;color:#681010}
.payment-deadline-last-day{margin-top:8px!important;color:#a10f16}
@media(max-width:620px){.payment-deadline-alert{padding:15px 14px;gap:10px}.payment-deadline-dot{flex-basis:15px;width:15px;height:15px}.payment-deadline-title{font-size:1rem}}

/* R11.7.40 · Confirmaciones legales ordenadas y obligatoriedad en rojo intenso */
.final-legal-check .legal-confirm-row{display:grid!important;grid-template-columns:22px minmax(0,1fr);column-gap:11px;row-gap:7px;align-items:start}
.final-legal-check .legal-confirm-row>input{grid-column:1;grid-row:1;margin-top:4px!important}
.final-legal-check .legal-confirm-text{grid-column:2;grid-row:1;min-width:0;line-height:1.52;font-weight:560}
.final-legal-check .legal-confirm-required{grid-column:2;grid-row:2;display:block;margin:0!important;color:#a00018!important;background:#fff0f3!important;border:2px solid #c40024!important;border-radius:8px;padding:5px 8px!important;width:max-content;max-width:100%;font-weight:950!important;font-size:.82rem!important;letter-spacing:.028em!important;line-height:1.25}
.final-legal-check .legal-confirm-row.field-invalid .legal-confirm-required{color:#860014!important;background:#ffe0e6!important;border-color:#a9001f!important}
@media(max-width:620px){.final-legal-check .legal-confirm-row{grid-template-columns:20px minmax(0,1fr);column-gap:9px;row-gap:6px}.final-legal-check .legal-confirm-required{font-size:.78rem!important;padding:5px 7px!important}}

/* R11.7.40 · cuentas internas separadas de clientes reales */
.admin-test-accounts{margin-top:24px;border:2px dashed #b7791f;background:#fffaf0}
.admin-test-accounts>summary{cursor:pointer;font-weight:900;color:#7a4a00;padding:4px 0 10px}
.admin-test-row{background:#fffdf5}
.admin-test-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;font-size:.68rem;font-weight:950;letter-spacing:.04em;vertical-align:middle}
.lang-button[data-translation-busy]{opacity:.8;cursor:progress}


/* R11.7.43: fichas de socio y recursos aislados. */
.admin-member-item>.admin-member-detail{padding:16px 12px}
.admin-member-catalogs{margin-top:24px;padding-top:15px;border-top:2px solid #dce8ed}
.admin-member-group{border:1px solid #c9dee1;border-radius:12px;margin:14px 0;background:#f8fcfd;overflow:hidden}
.admin-member-group>summary,.admin-member-principal>summary{padding:14px;cursor:pointer;font-weight:800;color:#123846}
.admin-member-group-body{padding:12px;background:#fff}
.admin-member-group-count{font-weight:500;color:#657780}
.admin-member-resource,.admin-member-add{margin:9px 0;border:1px solid #d9e7ee;border-radius:10px;padding:12px;background:#fff}
.admin-member-resource>summary,.admin-member-add>summary{cursor:pointer}
.admin-member-resource-form{padding:15px 4px;border-top:1px solid #e1e9ef;margin-top:10px}
.admin-member-add>summary{color:#0e6975;font-weight:800}
@media (max-width:640px){.admin-member-group-body{padding:7px}.admin-member-item>.admin-member-detail{padding:8px 2px}}

/* Payment choice: amount in the same block; native POST buttons must remain interactive. */
.payment-choice-card{scroll-margin-top:90px}
.payment-price-summary{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 20px;border-radius:16px;background:#e9f6f5;border:1px solid #a7d9d6;margin:12px 0}
.payment-price-summary strong{font-size:clamp(1.25rem,2.8vw,1.7rem);color:#0b4951}
.payment-price-total{font-size:1.1rem;color:#0b2b3f}.payment-price-total b{font-size:1.25rem}
.payment-choice-card .payment-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:15px}
.stripe-payment-form{display:flex;min-width:0;position:relative;z-index:1}
.stripe-payment-form .payment-choice-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:170px;width:100%;padding:18px;border:2px solid #0d8b8c;background:#fff;color:#123e55;border-radius:18px;cursor:pointer;pointer-events:auto!important;box-shadow:0 5px 18px #0b2b3f16;text-align:center}
.stripe-payment-form .payment-choice-button:hover,.stripe-payment-form .payment-choice-button:focus-visible{border-color:#0b2b3f;background:#eef8f8;outline:2px solid #0d8b8c;outline-offset:2px}
.stripe-payment-form .payment-choice-button b{font-size:1.05rem}
.stripe-payment-form .payment-choice-button small{font-size:.88rem;line-height:1.4;color:#4d6570;font-weight:500}
@media(max-width:620px){.payment-choice-card .payment-actions{grid-template-columns:1fr}.stripe-payment-form .payment-choice-button{min-height:118px}.payment-price-summary{padding:13px}}

/* R11.7.51 · enlaces directos a Stripe, sin depender del submit del formulario */
.payment-actions .stripe-direct-link{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:170px;width:100%;padding:18px;border:2px solid #0d8b8c;background:#fff;color:#123e55!important;border-radius:18px;cursor:pointer;pointer-events:auto!important;box-shadow:0 5px 18px #0b2b3f16;text-align:center;text-decoration:none!important}
.payment-actions .stripe-direct-link:hover,.payment-actions .stripe-direct-link:focus-visible{border-color:#0b2b3f;background:#eef8f8;outline:2px solid #0d8b8c;outline-offset:2px}
.payment-actions .stripe-direct-link b{font-size:1.05rem}.payment-actions .stripe-direct-link small{font-size:.88rem;line-height:1.4;color:#4d6570;font-weight:500}.payment-open-note{text-align:center;margin-top:12px}
@media(max-width:620px){.payment-actions .stripe-direct-link{min-height:118px}}

/* R11.7.51.1 · aviso activación reforzado + ayudas revisadas · 07OCT2026 */
.payment-deadline-alert{
  border:4px solid #d71920!important;
  background:linear-gradient(135deg,#fff6b8 0%,#fffbdc 48%,#fff2f2 100%)!important;
  color:#5d1515!important;
  box-shadow:0 12px 34px rgba(215,25,32,.28),0 0 0 5px rgba(255,193,7,.18)!important;
  padding:22px 24px!important;
}
.payment-deadline-dot{
  width:22px!important;height:22px!important;flex-basis:22px!important;
  background:#d71920!important;box-shadow:0 0 0 7px rgba(215,25,32,.14)!important;
}
.payment-deadline-title{
  color:#a20e14!important;font-size:1.22rem!important;letter-spacing:.035em!important;
}
.payment-deadline-main{font-size:1.08rem!important;margin-top:.45rem!important}
.payment-deadline-date{display:inline-block;background:#d71920;color:#fff;padding:3px 8px;border-radius:7px;white-space:nowrap}
.payment-deadline-block{margin:.55rem 0!important;padding:10px 12px;border-radius:10px;background:#fff;border:2px solid #d71920;color:#8a0d13}
.payment-deadline-promo{margin:12px 0;padding:12px 14px;border:2px solid #d08a00;border-radius:12px;background:#fff3bf;color:#6e4300;display:grid;gap:4px}
.payment-deadline-promo b{color:#a45a00;font-size:.96rem;letter-spacing:.02em}
.payment-deadline-action{font-weight:900!important;box-shadow:0 7px 18px rgba(11,143,143,.24)}
.payment-deadline-expired{background:linear-gradient(135deg,#ffe0e0,#fff1f1)!important;border-color:#a90f15!important;box-shadow:0 12px 34px rgba(169,15,21,.28)!important}
@media(max-width:620px){.payment-deadline-alert{padding:17px 15px!important}.payment-deadline-title{font-size:1.05rem!important}.payment-deadline-main{font-size:1rem!important}.payment-deadline-date{white-space:normal}}

/* R11.7.52 aviso comercial reforzado */
.payment-deadline-alert{position:relative!important;border:4px solid #c30000!important;background:linear-gradient(180deg,#fff6c8 0%,#fff3b8 100%)!important;color:#3b1d00!important;box-shadow:0 14px 36px rgba(195,0,0,.22)!important;padding:20px 22px 20px 18px!important;margin:12px 0 18px!important}
.payment-deadline-alert:before{content:'ATENCIÓN';position:absolute;top:-14px;left:18px;background:#c30000;color:#fff;font-weight:900;font-size:.8rem;padding:5px 10px;border-radius:999px;letter-spacing:.05em;box-shadow:0 6px 14px rgba(0,0,0,.18)}
.payment-deadline-dot{width:20px!important;height:20px!important;flex-basis:20px!important;box-shadow:0 0 0 7px rgba(195,0,0,.18)!important}
.payment-deadline-title{font-size:1.22rem!important;line-height:1.2!important;color:#8f0000!important;text-transform:uppercase!important}
.payment-deadline-main{font-size:1.14rem!important;color:#3c2200!important}
.payment-deadline-date{font-size:1rem!important;font-weight:900!important;background:#c30000!important;color:#fff!important;padding:4px 10px!important;border-radius:9px!important}
.payment-deadline-block{background:#fff!important;border:3px dashed #c30000!important;color:#7a0000!important;font-size:1.03rem!important}
.payment-deadline-promo{background:#ffe27a!important;border:3px solid #d48700!important;color:#5b3200!important}
.payment-deadline-promo b{font-size:1rem!important;color:#7d4200!important}
.payment-deadline-action{font-size:1rem!important;padding:12px 18px!important;border-radius:12px!important}
.payment-deadline-last-day{background:#c30000;color:#fff;padding:8px 12px;border-radius:10px;display:inline-block}
@keyframes paymentPulse{0%{box-shadow:0 0 0 0 rgba(195,0,0,.28),0 14px 36px rgba(195,0,0,.22)}70%{box-shadow:0 0 0 12px rgba(195,0,0,0),0 14px 36px rgba(195,0,0,.22)}100%{box-shadow:0 0 0 0 rgba(195,0,0,0),0 14px 36px rgba(195,0,0,.22)}}
.payment-deadline-alert{animation:paymentPulse 2.8s infinite}
/* R11.7.53 - aviso de activacion de servicio reforzado, sin alterar el resto de campañas */
.campaign-payment-alert{position:relative!important;border:4px solid #c40000!important;border-left:12px solid #c40000!important;background:linear-gradient(135deg,#fff8bf,#ffe890)!important;color:#351a00!important;box-shadow:0 12px 30px rgba(196,0,0,.24)!important;padding:22px 24px!important;animation:campaignPaymentPulse 3s ease-in-out infinite}
.campaign-payment-alert .campaign-type{display:inline-block!important;background:#c40000!important;color:#fff!important;padding:5px 10px!important;border-radius:999px!important;font-size:.8rem!important}
.campaign-payment-alert h3{font-size:1.28rem!important;line-height:1.18!important;color:#8a0000!important;text-transform:uppercase!important;margin:8px 0!important}
.campaign-payment-alert p{font-size:1.02rem!important;line-height:1.5!important;font-weight:750!important;white-space:pre-line!important}
.campaign-payment-alert .secondary{background:#c40000!important;color:#fff!important;border-color:#c40000!important;font-weight:900!important;min-width:190px!important;text-align:center!important}
@keyframes campaignPaymentPulse{0%,100%{box-shadow:0 12px 30px rgba(196,0,0,.20)}50%{box-shadow:0 12px 34px rgba(196,0,0,.34),0 0 0 7px rgba(196,0,0,.08)}}
