:root{
  --ford-blue:#0068d7;
  --ford-blue-strong:#0057b8;
  --ford-deep:#00142e;
  --ford-navy:#002e5d;
  --ford-sky:#eaf4ff;
  --ford-sky-2:#f5f9fd;
  --ink:#172b3f;
  --muted:#718398;
  --line:#e2e9ef;
  --bg:#f5f7fa;
  --card:#ffffff;
  --green:#15956f;
  --red:#bd4b4b;
  --amber:#c88419;
  --shadow:0 14px 40px rgba(7,38,70,.08);
  --shadow-soft:0 6px 22px rgba(7,38,70,.055);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{background-image:radial-gradient(circle at 88% 0,rgba(0,104,215,.07),transparent 26%),linear-gradient(180deg,#f8fafc 0,#f4f7fa 42%,#f6f8fa 100%)}button,input,select,textarea{font:inherit}a{color:inherit}.app{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100dvh}.sidebar{height:100dvh;position:sticky;top:0;background:linear-gradient(180deg,#00142e 0%,#002e5d 56%,#003d78 100%);color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:30;overflow:auto}.brand{padding:3px 9px 19px;display:flex;align-items:center;justify-content:space-between}.brand img{width:128px;display:block;filter:brightness(0) invert(1)}.brand-badge{font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:999px;padding:6px 8px;color:#dbeaff}.nav-label{margin:16px 10px 7px;font-size:8.5px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#7fa7ca}.nav-btn{width:100%;border:0;background:transparent;color:#d7e4f0;display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:12px;font-size:11px;font-weight:800;cursor:pointer;text-align:left;margin:2px 0;text-decoration:none;transition:.18s ease;position:relative}.nav-btn i{font-size:18px;width:20px;text-align:center;color:#9bc2e6}.nav-btn:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}.nav-btn.active{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.09));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.nav-btn.active:after{content:"";position:absolute;right:8px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12)}.nav-btn.active i{color:#fff}.sidebar-foot{margin-top:auto;padding:16px 9px 4px;color:#91b0ca;font-size:9.5px;line-height:1.55}.sidebar-foot b{color:#fff}.prototype-pill{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px}.prototype-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#5ce0ad;box-shadow:0 0 0 4px rgba(92,224,173,.12)}
.main{min-width:0}.topbar{height:76px;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(217,227,235,.9);backdrop-filter:blur(18px);position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 3px 16px rgba(14,49,78,.025)}.top-left{display:flex;align-items:center;gap:13px}.top-icon{width:40px;height:40px;border-radius:12px;background:var(--ford-sky);color:var(--ford-blue);display:grid;place-items:center;font-size:20px}.top-title{font-size:13px;font-weight:900;color:var(--ford-deep)}.top-sub{font-size:9.5px;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.top-demo{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe6ef;background:#f8fbfd;border-radius:999px;padding:7px 10px;color:#60788f;font-size:9px;font-weight:800}.top-demo i{color:var(--ford-blue)}.top-client-form{text-decoration:none;cursor:pointer;transition:.16s ease}.top-client-form:hover{border-color:#b9d5eb;color:var(--ford-blue);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.user{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--ford-navy),var(--ford-blue));color:#fff;display:grid;place-items:center;font-weight:900;font-size:10px;box-shadow:0 8px 18px rgba(0,72,140,.18)}.user-copy b{display:block;font-size:10.5px}.user-copy span{font-size:8.5px;color:var(--muted)}.logout{height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;color:#526b80;padding:0 11px;font-weight:800;font-size:9.5px;cursor:pointer;transition:.16s}.logout:hover{border-color:#bfcdda;box-shadow:var(--shadow-soft)}
.content{padding:25px 28px 44px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.page-head .eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--ford-blue);font-size:8.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.page-head .eyebrow:before{content:"";width:18px;height:2px;border-radius:9px;background:var(--ford-blue)}.page-head h1{font-size:30px;letter-spacing:-.04em;color:var(--ford-deep);margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:11px;max-width:850px;line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{height:41px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#35536e;padding:0 14px;font-size:9.5px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px;text-decoration:none;transition:.17s}.btn i{font-size:16px}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.btn.primary{background:linear-gradient(135deg,var(--ford-blue),var(--ford-blue-strong));border-color:var(--ford-blue);color:#fff;box-shadow:0 8px 18px rgba(0,104,215,.18)}.btn.soft{background:var(--ford-sky);border-color:#d5e9fb;color:#0d62ad}.btn.danger{color:#a43f3f;background:#fff8f8;border-color:#f0d4d4}.btn.success{background:var(--green);border-color:var(--green);color:#fff}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.kpi-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:17px;padding:14px 15px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-24px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:rgba(0,104,215,.035)}.kpi-icon{width:42px;height:42px;border-radius:13px;background:var(--ford-sky);color:var(--ford-blue);display:grid;place-items:center;font-size:20px;flex:0 0 auto}.kpi-card.success .kpi-icon{background:#e9f7f2;color:var(--green)}.kpi-card.warn .kpi-icon{background:#fff5e5;color:var(--amber)}.kpi-card.dark .kpi-icon{background:#edf1f5;color:var(--ford-deep)}.kpi-copy b{display:block;font-size:21px;color:var(--ford-deep);letter-spacing:-.025em}.kpi-copy span{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.kpi-copy small{display:block;margin-top:2px;color:#91a0ae;font-size:8.5px}
.info-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(90deg,#eff7ff,#f8fbff);border:1px solid #d9eafb;color:#426782;border-radius:14px;padding:11px 14px;margin-bottom:13px;font-size:9.7px}.info-strip b{color:#123f64}.info-strip i{color:var(--ford-blue);font-size:15px;vertical-align:-2px;margin-right:5px}.panel,.catalog-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft)}
#sheetPanel{overflow:visible}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #e8eef3;background:linear-gradient(180deg,#fff,#fbfdff)}.panel-head h2{font-size:14px;margin:0;color:var(--ford-deep)}.panel-head p{font-size:9px;color:var(--muted);margin:3px 0 0}.toolbar{padding:13px 14px;border-bottom:1px solid #e7edf2;display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:#fcfdff}.search{position:relative;flex:1 1 350px}.search:before{content:"\ebf7";font-family:boxicons!important;position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:17px;color:#7890a5}.search input{width:100%;height:42px;border:1px solid #d5e0e8;border-radius:11px;padding:0 13px 0 38px;outline:none;font-size:10.5px;background:#fff}.search input:focus,.filter:focus{border-color:var(--ford-blue);box-shadow:0 0 0 3px rgba(0,104,215,.07)}.filter{height:42px;border:1px solid #d5e0e8;border-radius:11px;background:#fff;color:#4d667c;padding:0 10px;font-size:9.5px;outline:none}
/* Clientes de piso: la tabla NO tiene límite de altura. Sólo scroll horizontal. */
.table-wrap{overflow-x:auto;overflow-y:visible;max-height:none!important;min-height:0!important}.table-wrap::-webkit-scrollbar{height:10px}.table-wrap::-webkit-scrollbar-track{background:#f3f6f8}.table-wrap::-webkit-scrollbar-thumb{background:#cad7e2;border-radius:999px;border:2px solid #f3f6f8}table.sheet{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:10.2px}table.sheet th{position:sticky;top:0;z-index:7;background:#eef5fb;color:#476b88;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.055em;font-weight:900;padding:11px 9px;border-bottom:1px solid #d8e4ed;white-space:nowrap}table.sheet td{padding:0;border-bottom:1px solid #edf1f4;border-right:1px solid #f1f4f6;white-space:nowrap;background:#fff;min-width:74px;height:39px}table.sheet tbody tr:nth-child(even) td{background:#fcfdfe}table.sheet tbody tr:hover td{background:#f5faff}table.sheet td.idcell,table.sheet th.idcell{position:sticky;left:0;z-index:6;min-width:52px;width:52px;text-align:center;font-weight:900;background:#f7fbfe;box-shadow:1px 0 0 #e4ebf1}table.sheet th.idcell{z-index:10;background:#eaf3fa}.cell-display{height:39px;display:flex;align-items:center;padding:0 9px;cursor:text;min-width:100%;max-width:260px;overflow:hidden;text-overflow:ellipsis}.cell-display.center{justify-content:center;cursor:pointer}.cell-display:hover{outline:2px solid rgba(0,104,215,.17);outline-offset:-2px;background:#f6faff}.cell-editor{height:37px;border:2px solid var(--ford-blue);outline:none;background:#fff;padding:0 7px;width:100%;min-width:110px;font-size:10px;box-shadow:0 0 0 3px rgba(0,104,215,.06)}textarea.cell-editor{height:72px;padding:7px;resize:vertical}.yn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:22px;border-radius:999px;font-size:8.5px;font-weight:900}.yn.yes{background:#e6f6ef;color:#137451}.yn.no{background:#eef2f5;color:#758697}.pilot-yn.yes{background:#e6f2ff;color:#075fae}.blank{color:#a9b4bd}.table-foot{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-top:1px solid #e7edf2;background:#fbfcfd;gap:12px}.table-count{font-size:9px;color:#708497}.pager{display:flex;align-items:center;gap:6px}.pager button{width:32px;height:32px;border:1px solid #d7e0e7;border-radius:9px;background:#fff;color:#49647a;font-weight:900;cursor:pointer}.pager button:hover:not(:disabled){border-color:#b8c9d7;color:var(--ford-blue)}.pager button:disabled{opacity:.35}.page-label{font-size:9px;color:#63798d;font-weight:800}
.module-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,220px));gap:10px;margin-bottom:14px}.summary-pill{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 13px;box-shadow:var(--shadow-soft);display:flex;gap:10px;align-items:center}.summary-pill .summary-icon{width:34px;height:34px;border-radius:10px;background:var(--ford-sky);color:var(--ford-blue);display:grid;place-items:center;font-size:17px}.summary-pill b{display:block;font-size:17px;color:var(--ford-deep)}.summary-pill span{font-size:8.5px;color:var(--muted)}.catalog-head{padding:15px 17px;border-bottom:1px solid #e7edf2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#fff,#fbfdff)}.catalog-head h2{margin:0;color:var(--ford-deep);font-size:15px}.catalog-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.catalog-table-wrap{overflow-x:auto}.catalog-table{width:100%;border-collapse:collapse;font-size:10.5px}.catalog-table th{background:#f0f6fb;color:#5d7890;text-align:left;padding:10px 12px;font-size:8px;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}.catalog-table td{padding:9px 12px;border-top:1px solid #edf1f4;vertical-align:middle}.catalog-table tbody tr:hover{background:#fbfdff}.cat-input,.cat-select{width:100%;min-width:120px;height:36px;border:1px solid transparent;border-radius:9px;background:transparent;color:#294860;padding:0 8px;font-size:10px}.cat-input:hover,.cat-select:hover{border-color:#d9e4ec;background:#fbfdff}.cat-input:focus,.cat-select:focus{border-color:var(--ford-blue);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(0,104,215,.07)}.switch{position:relative;width:39px;height:23px;display:inline-block}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#cbd5dd;border-radius:999px;cursor:pointer;transition:.2s}.slider:before{content:'';position:absolute;width:17px;height:17px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.18)}.switch input:checked+.slider{background:var(--ford-blue)}.switch input:checked+.slider:before{transform:translateX(16px)}.mini-btn{height:30px;border:1px solid #dce4ea;background:#fff;border-radius:9px;padding:0 9px;color:#5b7185;font-size:8.5px;font-weight:900;cursor:pointer}.mini-btn:hover{border-color:#bdcbd6}.mini-btn.edit{color:#0e65ae;background:#f4f9fe;border-color:#d9eafb}.mini-btn.delete{color:#a94444;background:#fff8f8;border-color:#efd4d4}.usage-badge{display:inline-flex;min-width:36px;height:25px;border-radius:999px;align-items:center;justify-content:center;padding:0 9px;background:#eaf4ff;color:#145f9d;font-size:9px;font-weight:900}.usage-badge.zero{background:#eef3f6;color:#7b8b98}.in-use{font-size:8.5px;color:#8a99a5;font-weight:800}.catalog-note{padding:12px 16px;background:#fafcfd;border-top:1px solid #edf1f4;color:#728699;font-size:9px;line-height:1.5}.vehicle-thumb{width:104px;height:55px;object-fit:contain;background:#fff;display:block}.vehicle-name-cell{display:flex;align-items:center;gap:12px}.vehicle-name-cell strong{display:block;color:var(--ford-deep);font-size:10.5px}.vehicle-name-cell span{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.cat-tags{display:flex;flex-wrap:wrap;gap:4px}.cat-tag{display:inline-flex;align-items:center;height:22px;border-radius:999px;padding:0 8px;background:#eff6fc;color:#32688f;font-size:8px;font-weight:800}.action-row{display:flex;gap:6px;align-items:center}.toast{position:fixed;right:22px;bottom:22px;background:#082d4d;color:#fff;padding:11px 14px;border-radius:11px;font-size:9.5px;font-weight:800;box-shadow:0 15px 40px rgba(9,38,61,.23);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:120}.toast.show{opacity:1;transform:translateY(0)}
/* Modales */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,20,46,.58);backdrop-filter:blur(4px);z-index:90;display:none;align-items:center;justify-content:center;padding:22px}.modal-backdrop.open{display:flex}.modal-card{width:min(860px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(0,20,46,.28);border:1px solid rgba(255,255,255,.5)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);z-index:2}.modal-head h3{margin:0;color:var(--ford-deep);font-size:18px}.modal-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#5b7084;display:grid;place-items:center;font-size:19px;cursor:pointer}.modal-body{padding:18px 20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-field.full{grid-column:1/-1}.form-field label{display:block;color:#49667e;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;margin:0 0 6px}.form-control{width:100%;height:43px;border:1px solid #d7e1e9;border-radius:11px;padding:0 11px;outline:none;background:#fff;color:#263f55;font-size:10.5px}.form-control:focus{border-color:var(--ford-blue);box-shadow:0 0 0 3px rgba(0,104,215,.07)}.helper{font-size:8.5px;color:#8697a5;margin-top:5px;line-height:1.45}.category-options{display:flex;flex-wrap:wrap;gap:7px}.check-pill{position:relative}.check-pill input{position:absolute;opacity:0}.check-pill span{height:34px;display:inline-flex;align-items:center;border:1px solid #d7e1e9;border-radius:999px;padding:0 10px;background:#fff;color:#61768a;font-size:8.7px;font-weight:800;cursor:pointer}.check-pill input:checked+span{background:var(--ford-sky);border-color:#a9d2f6;color:#075da7;box-shadow:0 0 0 2px rgba(0,104,215,.05)}.image-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.current-image{height:170px;border:1px dashed #cfdbe4;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f5f9fc);display:grid;place-items:center;padding:13px;overflow:hidden}.current-image img{max-width:100%;max-height:100%;object-fit:contain}.current-image.empty{color:#8192a2;font-size:9px;text-align:center}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:#fbfcfd}.filepond--root{font-size:10px;margin-bottom:0!important}.filepond--panel-root{background:#f7fafc!important;border:1px dashed #cbd8e2!important}.filepond--drop-label{color:#4d667c!important}.filepond--label-action{color:var(--ford-blue)!important;text-decoration:none!important;font-weight:900!important}
.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#fff}.login-brand{position:relative;overflow:hidden;padding:46px;background:linear-gradient(145deg,#00142e,#003f78 62%,#0068d7);color:#fff;display:flex;flex-direction:column}.login-brand:before,.login-brand:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.login-brand:before{width:460px;height:460px;right:-180px;top:-120px}.login-brand:after{width:300px;height:300px;right:-70px;bottom:-100px}.login-logo{width:145px;filter:brightness(0) invert(1);position:relative;z-index:1}.login-hero{margin:auto 0;max-width:560px;position:relative;z-index:1}.login-kicker{font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#a9c9e7;margin-bottom:15px}.login-hero h1{font-size:42px;line-height:1.02;letter-spacing:-.045em;margin:0 0 16px}.login-hero p{font-size:13px;line-height:1.7;color:#cfdeeb;margin:0;max-width:510px}.login-feature{display:flex;gap:9px;align-items:center;margin-top:24px;color:#e7f2fb;font-size:10px}.login-feature i{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:17px}.login-footnote{position:relative;z-index:1;font-size:8.5px;color:#93b3cf}.login-form-side{display:flex;align-items:center;justify-content:center;padding:38px;background:radial-gradient(circle at 100% 0,#eaf4ff 0,transparent 35%),#fff}.login-box{width:min(420px,100%)}.login-box .badge{display:inline-flex;align-items:center;gap:6px;background:var(--ford-sky);color:#0e64ae;border-radius:999px;padding:7px 10px;font-size:8.5px;font-weight:900;margin-bottom:15px}.login-box h2{margin:0;color:var(--ford-deep);font-size:28px;letter-spacing:-.035em}.login-box>p{color:var(--muted);font-size:10.5px;line-height:1.6;margin:7px 0 20px}.login-field{margin-bottom:12px}.login-field label{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#5b7287;margin:0 0 6px}.login-input-wrap{position:relative}.login-input-wrap i{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:17px;color:#7890a5}.login-input{width:100%;height:48px;border:1px solid #d7e2ea;border-radius:12px;padding:0 13px 0 40px;outline:none;color:#29465f}.login-input:focus{border-color:var(--ford-blue);box-shadow:0 0 0 4px rgba(0,104,215,.07)}.login-submit{width:100%;height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--ford-blue),var(--ford-blue-strong));color:#fff;font-weight:900;font-size:10px;cursor:pointer;box-shadow:0 12px 26px rgba(0,104,215,.2);margin-top:5px}.login-demo{margin-top:16px;border:1px solid #dce7ef;background:#f8fbfd;border-radius:12px;padding:11px 12px;color:#60768a;font-size:9px;line-height:1.55}.login-demo b{color:var(--ford-deep)}
@media(max-width:1120px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.app{grid-template-columns:230px minmax(0,1fr)}.login-page{grid-template-columns:1fr}.login-brand{display:none}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:10px 12px}.brand,.sidebar-foot{display:none}.nav-label{display:none}.sidebar nav{display:flex;gap:5px;overflow:auto}.nav-btn{flex:0 0 auto;width:auto;padding:9px 11px}.nav-btn.active:after{display:none}.topbar{top:0}.content{padding:18px}.form-grid,.image-workspace{grid-template-columns:1fr}table.sheet th{top:76px}}@media(max-width:650px){.topbar{padding:0 14px}.top-demo,.user-copy{display:none}.content{padding:14px 10px 24px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:25px}.toolbar{align-items:stretch}.search{flex-basis:100%}.filter{flex:1}.table-foot{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi-card{padding:11px}.kpi-icon{width:36px;height:36px}.module-summary{grid-template-columns:1fr 1fr}.modal-backdrop{padding:8px}.modal-card{max-height:96vh;border-radius:16px}}

/* =========================================================
   V21 · Tema oscuro + Clientes de piso colaborativo
   ========================================================= */
.theme-toggle{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--card);color:var(--ford-blue);display:grid;place-items:center;cursor:pointer;font-size:18px;transition:.18s ease;box-shadow:var(--shadow-soft)}
.theme-toggle:hover{transform:translateY(-1px);border-color:#9bb8d0}

.sheet-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sheet-action{height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:#48647c;display:inline-flex;align-items:center;gap:7px;padding:0 11px;font-size:9px;font-weight:900;cursor:pointer;transition:.16s ease}
.sheet-action:hover{border-color:#aac4d9;color:var(--ford-blue);box-shadow:var(--shadow-soft)}
.sheet-action.primary{background:linear-gradient(135deg,var(--ford-blue),var(--ford-blue-strong));border-color:var(--ford-blue);color:#fff}
.sheet-action i{font-size:16px}
.presence{display:flex;align-items:center;gap:10px;padding-right:2px;position:relative}
.presence-stack{display:flex;align-items:center;padding:8px 8px 8px 12px;overflow:visible;position:relative}
.presence-avatar{width:34px;height:34px;border:2px solid var(--card);border-radius:50%;display:grid;place-items:center;margin-left:-9px;background:linear-gradient(135deg,#052b54,#0874dc);color:#fff;font-size:8.5px;font-weight:900;position:relative;box-shadow:0 3px 10px rgba(0,0,0,.16);cursor:pointer;z-index:1;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,filter .22s ease,margin .22s ease;animation:presenceIn .42s both;will-change:transform}
.presence-avatar:nth-child(2){background:linear-gradient(135deg,#754700,#d8860b);animation-delay:.05s}
.presence-avatar:nth-child(3){background:linear-gradient(135deg,#4d185f,#9c3ab6);animation-delay:.1s}
.presence-avatar:nth-child(4){background:linear-gradient(135deg,#15583e,#24a26f);animation-delay:.15s}
.presence-avatar:after{content:"";position:absolute;right:-1px;bottom:0;width:8px;height:8px;border-radius:50%;background:#35c98a;border:2px solid var(--card);box-shadow:0 0 0 0 rgba(53,201,138,.34);animation:presenceOnline 2s ease-out infinite}
.presence-avatar:hover,.presence-avatar:focus-visible,.presence-avatar.is-hovered{z-index:9999!important;transform:translateY(-6px) scale(1.2);box-shadow:0 16px 32px rgba(0,0,0,.32);filter:saturate(1.12);outline:none}
.presence-stack.has-hover .presence-avatar:not(.is-hovered){filter:saturate(.68) brightness(.78);transform:scale(.91);opacity:.72}
.presence-floating-tooltip{position:fixed;z-index:100000;left:0;top:0;transform:translate(-50%,6px) scale(.96);opacity:0;pointer-events:none;white-space:nowrap;background:#061a31;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:11px;padding:9px 12px;box-shadow:0 16px 38px rgba(0,0,0,.34);font-size:9px;line-height:1.25;transition:opacity .14s ease,transform .18s cubic-bezier(.2,.8,.2,1)}
.presence-floating-tooltip.show{opacity:1;transform:translate(-50%,0) scale(1)}
.presence-floating-tooltip b{display:block;font-size:9.5px;font-weight:900;color:#fff}
.presence-floating-tooltip small{display:block;color:#a9cae8;font-size:7.7px;font-weight:700;margin-top:3px}
.presence-floating-tooltip:after{content:"";position:absolute;left:50%;transform:translateX(-50%);border:6px solid transparent}
.presence-floating-tooltip[data-placement="top"]:after{top:100%;border-top-color:#061a31}
.presence-floating-tooltip[data-placement="bottom"]:after{bottom:100%;border-bottom-color:#061a31}
.presence-copy{line-height:1.15}.presence-copy b{display:block;font-size:9px;color:var(--ford-deep)}.presence-copy span{display:block;font-size:8px;color:var(--muted);margin-top:2px}
@keyframes presenceIn{from{opacity:0;transform:translateX(-8px) scale(.86)}to{opacity:1;transform:none}}
@keyframes presenceOnline{0%{box-shadow:0 0 0 0 rgba(53,201,138,.32)}70%{box-shadow:0 0 0 6px rgba(53,201,138,0)}100%{box-shadow:0 0 0 0 rgba(53,201,138,0)}}
.registration-badge{display:inline-flex;align-items:center;height:24px;border-radius:999px;padding:0 8px;font-size:8px;font-weight:900;border:1px solid transparent}
.registration-badge.importado{background:#eef2f5;color:#65788a;border-color:#e1e7ec}
.registration-badge.qr{background:#e9f4ff;color:#075ea9;border-color:#cfe7fb}
.registration-badge.tablet{background:#edf2ff;color:#465fc0;border-color:#dce4ff}
.registration-badge.asistido{background:#fff4e5;color:#9c6816;border-color:#f5dfb9}
.registration-badge.manual{background:#eaf7f1;color:#157151;border-color:#cdebdc}

.manual-modal .modal-card{width:min(980px,96vw)}
.manual-section{margin-bottom:17px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.manual-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.manual-section-head{display:flex;align-items:center;gap:9px;margin-bottom:11px}.manual-section-icon{width:30px;height:30px;border-radius:9px;background:var(--ford-sky);color:var(--ford-blue);display:grid;place-items:center;font-size:16px}.manual-section-head b{display:block;color:var(--ford-deep);font-size:11px}.manual-section-head span{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}
.manual-origin-note{display:flex;align-items:center;gap:9px;border:1px solid #d5e9fb;background:var(--ford-sky-2);border-radius:12px;padding:10px 12px;color:#476781;font-size:9px;margin-bottom:15px}.manual-origin-note i{font-size:19px;color:var(--ford-blue)}

/* Modo hoja: ocupa únicamente el viewport de la pestaña del navegador. No activa Fullscreen API. */
body.sheet-fullscreen{overflow:hidden}
body.sheet-fullscreen .presence-stack{padding-top:10px;padding-bottom:10px}
body.sheet-fullscreen .presence-avatar{width:36px;height:36px;font-size:9px}
body.sheet-fullscreen .app{display:block;min-height:100dvh}
body.sheet-fullscreen .sidebar,body.sheet-fullscreen .topbar,body.sheet-fullscreen .page-head,body.sheet-fullscreen .kpi-grid,body.sheet-fullscreen .info-strip{display:none!important}
body.sheet-fullscreen .main,body.sheet-fullscreen .content,body.sheet-fullscreen .content>section{height:100dvh;min-height:0;padding:0;margin:0}
body.sheet-fullscreen .panel{position:fixed;inset:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;background:var(--card);z-index:150}
body.sheet-fullscreen .panel-head{flex:0 0 auto;padding:9px 12px;background:var(--card)}
body.sheet-fullscreen .panel-head h2{font-size:12px}
body.sheet-fullscreen .panel-head p{display:none}
body.sheet-fullscreen .toolbar{flex:0 0 auto;padding:7px 10px;gap:6px;flex-wrap:nowrap;overflow-x:auto;background:var(--card)}
body.sheet-fullscreen .toolbar .search{flex:1 0 300px}
body.sheet-fullscreen .toolbar .search input,body.sheet-fullscreen .toolbar .filter{height:36px;border-radius:7px}
body.sheet-fullscreen .table-wrap{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:auto!important;background:var(--card)}
body.sheet-fullscreen table.sheet th{top:0!important}
body.sheet-fullscreen .table-foot{flex:0 0 auto;padding:7px 11px}
body.sheet-fullscreen table.sheet{font-size:10px}
body.sheet-fullscreen table.sheet td{height:34px}
body.sheet-fullscreen .cell-display{height:34px}
body.sheet-fullscreen .cell-editor{height:33px}
body.sheet-fullscreen .sheet-action[data-exit-full]{display:inline-flex}
.sheet-action[data-exit-full]{display:none}
body.sheet-fullscreen .sheet-action[data-enter-full]{display:none}

/* -------- Tema oscuro Sneat/Ford -------- */
html[data-theme="dark"]{
  --ink:#e7edf5;--muted:#8d9caf;--line:#273142;--bg:#0c1119;--card:#151b25;--ford-sky:#15283c;--ford-sky-2:#101b29;--shadow:0 14px 42px rgba(0,0,0,.28);--shadow-soft:0 7px 24px rgba(0,0,0,.22)
}
html[data-theme="dark"] body{background:#0c1119;background-image:radial-gradient(circle at 88% 0,rgba(0,104,215,.14),transparent 28%),linear-gradient(180deg,#0d121b,#0a0e15);color:var(--ink)}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#05080e 0%,#0a1524 58%,#071d35 100%);border-right:1px solid #172439}
html[data-theme="dark"] .topbar{background:rgba(16,21,30,.94);border-bottom-color:#242d3c;box-shadow:0 4px 18px rgba(0,0,0,.18)}
html[data-theme="dark"] .top-title,html[data-theme="dark"] .user-copy b,html[data-theme="dark"] .page-head h1,html[data-theme="dark"] .kpi-copy b,html[data-theme="dark"] .panel-head h2,html[data-theme="dark"] .catalog-head h2,html[data-theme="dark"] .summary-pill b,html[data-theme="dark"] .vehicle-name-cell strong,html[data-theme="dark"] .modal-head h3,html[data-theme="dark"] .manual-section-head b,html[data-theme="dark"] .presence-copy b{color:#f1f5fa}
html[data-theme="dark"] .top-demo,html[data-theme="dark"] .logout,html[data-theme="dark"] .btn:not(.primary):not(.success),html[data-theme="dark"] .theme-toggle,html[data-theme="dark"] .sheet-action:not(.primary),html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .mini-btn{background:#151b25;border-color:#2b3545;color:#a9b8c8}
html[data-theme="dark"] .top-demo{background:#111721}
html[data-theme="dark"] .kpi-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .catalog-card,html[data-theme="dark"] .summary-pill,html[data-theme="dark"] .modal-card{background:#151b25;border-color:#273142}
html[data-theme="dark"] .panel-head,html[data-theme="dark"] .catalog-head,html[data-theme="dark"] .modal-head{background:linear-gradient(180deg,#171e29,#141a24);border-color:#273142}
html[data-theme="dark"] .toolbar,html[data-theme="dark"] .table-foot,html[data-theme="dark"] .modal-foot{background:#111721;border-color:#273142}
html[data-theme="dark"] .info-strip{background:linear-gradient(90deg,#10243a,#111b28);border-color:#244563;color:#9bb4c9}
html[data-theme="dark"] .info-strip b{color:#dfeaf5}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .form-control,html[data-theme="dark"] .cat-input,html[data-theme="dark"] .cat-select,html[data-theme="dark"] .search input,html[data-theme="dark"] .filter{background:#0f151e!important;border-color:#2b3545!important;color:#dbe4ed!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#66768a}
html[data-theme="dark"] .catalog-table th{background:#121b27;color:#8298ac}
html[data-theme="dark"] .catalog-table td{border-color:#242d39}
html[data-theme="dark"] .catalog-table tbody tr:hover{background:#18212d}
html[data-theme="dark"] table.sheet th{background:#111d2b;color:#8fa8bd;border-color:#29374a}
html[data-theme="dark"] table.sheet td{background:#151b25;border-color:#222b38;color:#dce5ee}
html[data-theme="dark"] table.sheet tbody tr:nth-child(even) td{background:#121821}
html[data-theme="dark"] table.sheet tbody tr:hover td{background:#182332}
html[data-theme="dark"] table.sheet td.idcell{background:#101925;box-shadow:1px 0 0 #2a3543}
html[data-theme="dark"] table.sheet th.idcell{background:#102238}
html[data-theme="dark"] .cell-display:hover{background:#172537;outline-color:rgba(55,151,238,.38)}
html[data-theme="dark"] .cell-editor{background:#0e151f;color:#e7edf4;border-color:#2583dd}
html[data-theme="dark"] .table-wrap::-webkit-scrollbar-track{background:#0d131c}
html[data-theme="dark"] .table-wrap::-webkit-scrollbar-thumb{background:#344255;border-color:#0d131c}
html[data-theme="dark"] .pager button{background:#151b25;border-color:#2b3545;color:#a9b8c8}
html[data-theme="dark"] .catalog-note{background:#111721;border-color:#273142;color:#798b9d}
html[data-theme="dark"] .cat-tag{background:#172a3e;color:#8fc1eb}
html[data-theme="dark"] .usage-badge{background:#152d44;color:#8ec9fa}
html[data-theme="dark"] .usage-badge.zero{background:#222a34;color:#8796a4}
html[data-theme="dark"] .switch .slider{background:#3b4655}
html[data-theme="dark"] .current-image{background:linear-gradient(180deg,#111721,#0e141d);border-color:#334051}
html[data-theme="dark"] .check-pill span{background:#111721;border-color:#334051;color:#9cafc0}
html[data-theme="dark"] .check-pill input:checked+span{background:#123454;border-color:#236da8;color:#b4dcff}
html[data-theme="dark"] .manual-origin-note{background:#10243a;border-color:#244563;color:#a7bfd3}
html[data-theme="dark"] .modal-backdrop{background:rgba(0,0,0,.72)}
html[data-theme="dark"] .filepond--panel-root{background:#101721!important;border-color:#344254!important}
html[data-theme="dark"] .filepond--drop-label{color:#9db0c2!important}
html[data-theme="dark"] .presence-avatar{border-color:#151b25}
html[data-theme="dark"] .presence-avatar:after{border-color:#151b25}
html[data-theme="dark"] .registration-badge.importado{background:#242c36;color:#9caab8;border-color:#313b48}
html[data-theme="dark"] .registration-badge.qr{background:#102e48;color:#8dcbff;border-color:#214b6a}
html[data-theme="dark"] .registration-badge.tablet{background:#1c2444;color:#aebaff;border-color:#303b67}
html[data-theme="dark"] .registration-badge.asistido{background:#3a2c16;color:#f0c77f;border-color:#5d4521}
html[data-theme="dark"] .registration-badge.manual{background:#153427;color:#83d8b5;border-color:#245743}

@media(max-width:720px){.presence-copy{display:none}.sheet-head-actions{gap:6px}.sheet-action span{display:none}.manual-modal .form-grid{grid-template-columns:1fr}}

/* v26 · Ajustes finos Clientes de piso */
.search input{padding-right:40px}
.search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%) scale(.86);width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#74889b;display:grid;place-items:center;font-size:18px;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,background .15s ease,color .15s ease}
.search-clear.show{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}
.search-clear:hover{background:rgba(0,104,215,.08);color:var(--ford-blue)}
html[data-theme="dark"] .search-clear{color:#8292a5}
html[data-theme="dark"] .search-clear:hover{background:#1b2b3d;color:#79b9f3}

/* Los modales deben vivir visualmente por encima de la hoja en modo pestaña completa. */
.modal-backdrop{z-index:1000}
body.sheet-fullscreen .modal-backdrop{z-index:1200}
body.sheet-fullscreen .manual-modal .modal-card{max-height:calc(100dvh - 28px)}

/* Presencia colaborativa: elevación más ligera, sin sombra exagerada. */
.presence-avatar{box-shadow:0 2px 7px rgba(0,0,0,.11)}
.presence-avatar:hover,.presence-avatar:focus-visible,.presence-avatar.is-hovered{box-shadow:0 7px 16px rgba(0,0,0,.16)}
html[data-theme="dark"] .presence-avatar{box-shadow:0 2px 7px rgba(0,0,0,.18)}
html[data-theme="dark"] .presence-avatar:hover,html[data-theme="dark"] .presence-avatar:focus-visible,html[data-theme="dark"] .presence-avatar.is-hovered{box-shadow:0 7px 16px rgba(0,0,0,.23)}

/* ===== v26 · Clientes de piso: lectura, búsqueda y trazabilidad ===== */
/* Zebra más clara para seguir visualmente una fila a lo ancho. */
table.sheet tbody tr:nth-child(odd) td{background:#fff}
table.sheet tbody tr:nth-child(even) td{background:#f2f4f6}
table.sheet tbody tr:nth-child(odd) td.idcell{background:#f7fbfe}
table.sheet tbody tr:nth-child(even) td.idcell{background:#edf2f6}
table.sheet tbody tr:hover td,table.sheet tbody tr:nth-child(even):hover td{background:#eaf4fd}

/* Día es calculado desde Fecha y no admite edición manual. */
.readonly-head{cursor:default}.readonly-lock{font-size:11px;margin-left:5px;vertical-align:-1px;opacity:.55}.readonly-cell .cell-display{cursor:default;color:#65798c;background-image:linear-gradient(135deg,transparent 0,transparent 92%,rgba(0,104,215,.08) 92%)}.readonly-cell .cell-display:hover{outline:none;background-color:transparent}

/* Categoría A/B/C con la misma lectura rápida de los Sí/No. */
.category-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:23px;border-radius:999px;font-size:9px;font-weight:950;border:1px solid transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.category-badge.cat-a{background:#def5e9;color:#08734a;border-color:#c4ead7}
.category-badge.cat-b{background:#fff0bd;color:#8a5e00;border-color:#f3dfa0}
.category-badge.cat-c{background:#fde0e0;color:#a93434;border-color:#f2c6c6}

/* Nombre + acceso al expediente. */
.name-td{min-width:205px!important}.name-display{min-width:205px;max-width:270px!important;gap:7px;overflow:visible!important}.name-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.record-eye{flex:0 0 auto;width:27px;height:27px;border:1px solid #d7e2ea;border-radius:8px;background:#fff;color:#5a7690;display:grid;place-items:center;cursor:pointer;font-size:15px;opacity:.66;transition:.15s ease}.name-display:hover .record-eye,.record-eye:focus-visible{opacity:1}.record-eye:hover{background:var(--ford-sky);border-color:#b7d8f4;color:var(--ford-blue);transform:translateY(-1px)}

/* Buscador nativo para Auto de interés en edición y alta manual. */
.cell-search-editor{min-width:205px;width:100%;position:relative}.vehicle-cell-editor{min-width:205px!important;padding-right:28px}.vehicle-search-field{grid-column:span 1}.vehicle-search-field small{display:block;margin-top:6px;color:var(--muted);font-size:8.5px}.searchable-field{position:relative}.searchable-field>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;color:#7790a6;font-size:16px;pointer-events:none}.searchable-field .form-control{padding-left:36px;padding-right:38px}.inline-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%) scale(.85);width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#73869a;display:grid;place-items:center;cursor:pointer;font-size:17px;opacity:0;visibility:hidden;transition:.15s ease}.inline-clear.show{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}.inline-clear:hover{background:rgba(0,104,215,.08);color:var(--ford-blue)}

/* Expediente detallado */
.detail-modal{z-index:1300}.detail-card{width:min(1180px,97vw);max-height:94dvh;overflow:auto}.detail-head{padding:16px 20px}.detail-title-wrap{display:flex;align-items:center;gap:13px}.detail-avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--ford-navy),var(--ford-blue));color:#fff;display:grid;place-items:center;font-size:11px;font-weight:950;box-shadow:0 8px 20px rgba(0,104,215,.17)}.detail-kicker{font-size:8px;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:var(--ford-blue);margin-bottom:3px}.detail-head h3{font-size:19px!important}.detail-sub{font-size:9px;color:var(--muted);margin-top:3px}.detail-body{padding:16px 18px 20px;background:#f6f8fb}.detail-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:12px}.detail-trace-card,.detail-audit-card,.detail-section{background:#fff;border:1px solid #dfe7ee;border-radius:16px;padding:14px;box-shadow:0 4px 16px rgba(7,38,70,.035)}.detail-section{margin-top:12px}.detail-section-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.detail-section-title>i{width:31px;height:31px;border-radius:9px;background:var(--ford-sky);color:var(--ford-blue);display:grid;place-items:center;font-size:16px}.detail-section-title b{display:block;font-size:10.5px;color:var(--ford-deep)}.detail-section-title span{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}.detail-items{display:grid;gap:8px}.detail-items.two{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-items.four{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-item{border:1px solid #e7edf2;background:#fafcfd;border-radius:10px;padding:9px 10px;min-width:0}.detail-item span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:#8596a6;margin-bottom:4px}.detail-item b{display:block;color:#29445b;font-size:9.5px;line-height:1.4;overflow-wrap:anywhere}.detail-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.detail-mini{border:1px solid #e3eaf0;border-radius:11px;padding:9px 10px;background:#fbfcfd}.detail-mini>span{display:block;color:#7d8f9f;font-size:7.5px;text-transform:uppercase;font-weight:900;margin-bottom:6px}.detail-status{display:inline-flex;align-items:center;justify-content:center;height:22px;border-radius:999px;padding:0 9px;font-size:8.5px;background:#eef2f5;color:#718293}.detail-status.positive{background:#e3f5ed;color:#137451}.detail-status.pilot{background:#e5f1ff;color:#075fae}.detail-spacer{margin-top:9px}.detail-note{margin-top:9px;border:1px solid #e4ebf0;border-radius:11px;padding:10px 11px;background:#fafcfd}.detail-note span{font-size:7.5px;text-transform:uppercase;font-weight:900;color:#8395a5}.detail-note p{font-size:9.5px;color:#425e75;line-height:1.55;margin:5px 0 0;white-space:pre-wrap}
.trace-list{display:grid;gap:0}.trace-event{position:relative;display:grid;grid-template-columns:34px 1fr;gap:9px;padding:0 0 13px}.trace-event:not(:last-child):before{content:"";position:absolute;left:15px;top:29px;bottom:1px;width:1px;background:#dce6ee}.trace-icon{width:30px;height:30px;border-radius:50%;background:#eef4f8;color:#5f7890;display:grid;place-items:center;z-index:1}.trace-event.primary .trace-icon{background:#e4f2ff;color:var(--ford-blue)}.trace-event.qr .trace-icon{background:#edf0ff;color:#5267ca}.trace-event.success .trace-icon{background:#e3f6ed;color:#17805b}.trace-event.pilot .trace-icon{background:#e7f1ff;color:#0765b8}.trace-event b{display:block;font-size:9.5px;color:#29455c;margin-top:1px}.trace-event span{display:block;font-size:8.5px;color:#61788d;margin-top:2px}.trace-event small{display:block;font-size:8px;color:#91a0ad;margin-top:3px;line-height:1.35}.detail-empty{display:flex;align-items:center;gap:8px;padding:14px;border:1px dashed #d6e0e7;border-radius:10px;color:#8798a7;font-size:9px}.detail-empty i{font-size:17px}.change-list{display:grid;gap:7px}.change-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px;align-items:center;border-bottom:1px solid #edf1f4;padding:7px 2px}.change-row:last-child{border-bottom:0}.change-row b{display:block;font-size:9px;color:#314c62}.change-row span,.change-row time{font-size:7.8px;color:#8b9aa7}.change-values{display:flex;align-items:center;gap:7px;min-width:0;font-size:8.5px}.change-values del{color:#a16666;text-decoration:line-through;overflow:hidden;text-overflow:ellipsis}.change-values ins{color:#247956;text-decoration:none;font-weight:800;overflow:hidden;text-overflow:ellipsis}.change-values i{color:#8ba0b1}.detail-foot{justify-content:space-between}.detail-foot-note{font-size:8.5px;color:#8092a2;display:flex;align-items:center;gap:6px}.detail-foot-note i{font-size:15px;color:var(--ford-blue)}

/* Oscuro */
html[data-theme="dark"] table.sheet tbody tr:nth-child(odd) td{background:#151b25}html[data-theme="dark"] table.sheet tbody tr:nth-child(even) td{background:#101620}html[data-theme="dark"] table.sheet tbody tr:nth-child(odd) td.idcell{background:#101925}html[data-theme="dark"] table.sheet tbody tr:nth-child(even) td.idcell{background:#0d151f}html[data-theme="dark"] table.sheet tbody tr:hover td,html[data-theme="dark"] table.sheet tbody tr:nth-child(even):hover td{background:#172638}
html[data-theme="dark"] .readonly-cell .cell-display{color:#879aab}.readonly-lock{color:inherit}
html[data-theme="dark"] .category-badge.cat-a{background:#163528;color:#78d6ae;border-color:#245843}html[data-theme="dark"] .category-badge.cat-b{background:#3d3217;color:#e7c66e;border-color:#5c4a21}html[data-theme="dark"] .category-badge.cat-c{background:#3b2022;color:#ef9898;border-color:#593033}
html[data-theme="dark"] .record-eye{background:#101721;border-color:#303b4b;color:#8da2b5}html[data-theme="dark"] .record-eye:hover{background:#142b40;border-color:#27577e;color:#88c8ff}html[data-theme="dark"] .inline-clear{color:#8799aa}html[data-theme="dark"] .inline-clear:hover{background:#192a3b;color:#8bc9ff}
html[data-theme="dark"] .detail-body{background:#0e141d}html[data-theme="dark"] .detail-trace-card,html[data-theme="dark"] .detail-audit-card,html[data-theme="dark"] .detail-section{background:#151b25;border-color:#293344;box-shadow:none}html[data-theme="dark"] .detail-section-title b,html[data-theme="dark"] .trace-event b{color:#e6edf5}html[data-theme="dark"] .detail-item,html[data-theme="dark"] .detail-mini,html[data-theme="dark"] .detail-note{background:#101721;border-color:#283344}html[data-theme="dark"] .detail-item b,html[data-theme="dark"] .detail-note p{color:#c7d4e0}html[data-theme="dark"] .trace-event:not(:last-child):before{background:#314052}html[data-theme="dark"] .trace-icon{background:#1a2430;color:#91a7ba}html[data-theme="dark"] .detail-empty{border-color:#344050;color:#8395a7}html[data-theme="dark"] .change-row{border-color:#26303e}html[data-theme="dark"] .change-row b{color:#cdd8e2}

@media(max-width:950px){.detail-hero-grid{grid-template-columns:1fr}.detail-items.four{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.detail-items.two,.detail-items.four,.detail-status-grid{grid-template-columns:1fr}.change-row{grid-template-columns:1fr}.detail-foot{align-items:flex-start;flex-direction:column}.detail-foot-note{line-height:1.4}}

/* V27 · encabezado fijo real para Todos los registros en vista normal */
.sticky-sheet-head{position:fixed;display:none;overflow:hidden;z-index:24;pointer-events:none;background:var(--card);border-bottom:1px solid #d8e4ed;box-shadow:0 8px 18px rgba(14,49,78,.075)}
.sticky-sheet-head.show{display:block}
.sticky-sheet-head-scroll{width:100%;height:100%;overflow:hidden;scrollbar-width:none}
.sticky-sheet-head-scroll::-webkit-scrollbar{display:none}
.sticky-sheet-table{margin:0!important;border-collapse:separate!important;border-spacing:0!important}
.sticky-sheet-head table.sheet th{top:0!important}
body.sheet-fullscreen .sticky-sheet-head{display:none!important}
html[data-theme="dark"] .sticky-sheet-head{background:#111d2b;border-color:#29374a;box-shadow:0 8px 18px rgba(0,0,0,.22)}

/* V27 · detalle del vehículo a cuenta */
.trade-vehicle-hero{display:flex;align-items:center;gap:12px;border:1px solid #dce8f1;background:linear-gradient(135deg,#f8fbfe,#eef6fd);border-radius:13px;padding:11px 12px;margin-bottom:2px}
.trade-vehicle-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:0 0 42px;background:#e2f1ff;color:var(--ford-blue);font-size:21px}
.trade-vehicle-hero>div:nth-child(2){min-width:0;flex:1}.trade-vehicle-hero span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.06em;color:#7f93a4;font-weight:900}.trade-vehicle-hero b{display:block;margin-top:2px;color:var(--ford-deep);font-size:12px;line-height:1.35}.trade-vehicle-hero small{display:block;margin-top:2px;color:#6e8497;font-size:8.5px}
.trade-chip{flex:0 0 auto;display:inline-flex;align-items:center;height:25px;border-radius:999px;padding:0 10px;background:#e3f5ed;color:#137451;font-size:8px;font-weight:900}
.trade-empty{display:flex;align-items:flex-start;gap:10px;border:1px dashed #cbd9e4;background:#f8fbfd;border-radius:12px;padding:13px}.trade-empty>i{font-size:20px;color:var(--ford-blue);margin-top:1px}.trade-empty b{display:block;color:var(--ford-deep);font-size:10px}.trade-empty span{display:block;color:#71879a;font-size:8.8px;line-height:1.5;margin-top:3px;max-width:760px}
.manual-trade-section[hidden],#mTradeBalanceWrap[hidden]{display:none!important}
html[data-theme="dark"] .trade-vehicle-hero{background:linear-gradient(135deg,#101a26,#12243a);border-color:#2a3b4e}html[data-theme="dark"] .trade-vehicle-icon{background:#142c45;color:#74b8f5}html[data-theme="dark"] .trade-vehicle-hero b,html[data-theme="dark"] .trade-empty b{color:#e7eef6}html[data-theme="dark"] .trade-empty{background:#101721;border-color:#344354}html[data-theme="dark"] .trade-empty span{color:#8da0b1}
