:root{
  --bg:#0b0c0f;--bg2:#15161a;--panel:#1b1d22;--panel2:#24272d;--text:#ffffff;--muted:#c9cbd1;--accent:#f2c230;--accent2:#ffe082;--danger:#ff6b6b;--border:#3a3d45;--input:#111318;--shadow:rgba(0,0,0,.45)
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top,#2d2f36,#0b0c0f 58%);color:var(--text);min-height:100vh}.splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0b0c0f;z-index:20;animation:hideSplash .8s ease 2.1s forwards}.splash-logo{width:180px;height:180px;border-radius:30px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#252831,#111318);box-shadow:0 0 55px rgba(242,194,48,.35);animation:pulse 1.4s ease-in-out infinite;border:1px solid var(--border)}.logo-mark{font-size:42px;font-weight:900;letter-spacing:2px;color:var(--accent)}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes hideSplash{to{opacity:0;visibility:hidden}}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:430px;background:rgba(27,29,34,.94);border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:0 20px 80px var(--shadow);backdrop-filter:blur(8px)}.brand{text-align:center;margin-bottom:24px}.brand-badge{margin:0 auto 12px;width:86px;height:86px;border-radius:22px;background:#111318;border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.brand h1{margin:0;font-size:30px}.brand p{margin:8px 0 0;color:var(--muted)}label{display:block;margin:14px 0 7px;color:var(--text);font-weight:650}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--input);color:var(--text);font-size:15px}input[type=file]{background:#15171d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer;background:var(--accent);color:#111318}.btn.secondary{background:#2a2d34;color:var(--text);border:1px solid var(--border)}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.danger{background:var(--danger);color:#210808}.btn.full{width:100%;margin-top:18px}.error{padding:12px 14px;border-radius:12px;background:rgba(255,107,107,.13);border:1px solid rgba(255,107,107,.42);color:#ffd1d1;margin-bottom:14px}.success{padding:12px 14px;border-radius:12px;background:rgba(242,194,48,.12);border:1px solid rgba(242,194,48,.38);color:#fff0bc;margin-bottom:14px}.layout{max-width:1240px;margin:0 auto;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.topbar h1{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.panel{background:rgba(27,29,34,.95);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 18px 60px var(--shadow)}.panel h2,.panel h3{margin-top:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:840px}.table th,.table td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{color:var(--accent2);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.progress{height:10px;background:#101116;border-radius:999px;overflow:hidden;min-width:120px;border:1px solid #30333b}.bar{height:100%;background:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.mt{margin-top:18px}.muted{color:var(--muted)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#2a2d34;border:1px solid var(--border);color:var(--accent2);font-size:13px;font-weight:700}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:34px 18px;z-index:30}.modal:target{display:flex}.modal-card{width:min(980px,100%);background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 25px 90px rgba(0,0,0,.65)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.phase{background:#15171d;border:1px solid var(--border);border-radius:18px;padding:16px;margin-top:14px}.phase-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.phase-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.hidden{display:none!important}.small{font-size:13px}.nowrap{white-space:nowrap}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.layout{padding:18px}.card,.panel,.modal-card{border-radius:18px;padding:18px}}
.splash-img{max-width:145px;max-height:145px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(242,194,48,.38))}.brand-logo{max-width:70px;max-height:70px;object-fit:contain}.icon-btn{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#111318;color:var(--accent);border:1px solid var(--accent);font-size:20px;font-weight:900}.actions .icon-btn{flex:0 0 auto}.jarvis-body{overflow:hidden;background:#030507;color:#fff}.jarvis-stage{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(242,194,48,.14),transparent 28%),radial-gradient(circle at top,rgba(255,255,255,.08),transparent 34%),#030507}.jarvis-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(242,194,48,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(242,194,48,.09) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000 0,transparent 72%);animation:gridMove 5.5s linear infinite}.jarvis-core{position:relative;z-index:2;width:min(760px,92vw);min-height:420px;border:1px solid rgba(242,194,48,.55);border-radius:36px;background:linear-gradient(145deg,rgba(20,22,27,.92),rgba(5,7,10,.82));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;box-shadow:0 0 70px rgba(242,194,48,.18),inset 0 0 45px rgba(242,194,48,.07);overflow:hidden}.jarvis-core:before,.jarvis-core:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.08);border-radius:28px;pointer-events:none}.jarvis-core:after{inset:34px;border-color:rgba(242,194,48,.18)}.jarvis-logo{width:180px;max-width:56vw;filter:drop-shadow(0 0 28px rgba(242,194,48,.5));animation:jarvisPulse 1.8s ease-in-out infinite}.jarvis-core h1{font-size:clamp(28px,4vw,52px);line-height:1.05;margin:28px 0 10px;color:#fff;text-shadow:0 0 22px rgba(242,194,48,.34)}.jarvis-core p{margin:0;color:var(--accent2);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scan-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 18px var(--accent);animation:scan 2.2s ease-in-out infinite}.jarvis-status{position:absolute;right:24px;bottom:22px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.jarvis-status strong{color:var(--accent)}.jarvis-orbit{position:absolute;border:1px solid rgba(242,194,48,.35);border-radius:50%;box-shadow:0 0 36px rgba(242,194,48,.08)}.orbit-one{width:620px;height:620px;animation:spin 11s linear infinite}.orbit-two{width:820px;height:360px;transform:rotate(-18deg);animation:spinReverse 14s linear infinite}.orbit-three{width:360px;height:820px;transform:rotate(28deg);animation:spin 16s linear infinite}@keyframes gridMove{to{background-position:42px 42px}}@keyframes jarvisPulse{50%{transform:scale(1.035);filter:drop-shadow(0 0 44px rgba(242,194,48,.65))}}@keyframes scan{0%,100%{top:16%;opacity:.25}50%{top:84%;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@media(max-width:720px){.jarvis-core{min-height:360px;padding:26px}.jarvis-status{position:static;margin-top:22px}.orbit-one{width:420px;height:420px}.orbit-two,.orbit-three{display:none}}
.actions.vertical{flex-direction:column;align-items:stretch}.icon-btn.mini{width:32px;height:32px;border-radius:10px;font-size:15px;margin-left:8px;vertical-align:middle}.modal-card.wide{width:min(1180px,100%)}.inline-form{margin:0}.invoice-icon{width:42px;height:42px;border-radius:14px;border:1px solid var(--border);background:#111318;color:var(--muted);font-size:24px;font-weight:900;cursor:pointer}.invoice-icon.yes{border-color:var(--accent);background:rgba(242,194,48,.16);color:var(--accent)}.invoice-icon.no{border-color:#4a4d56;color:#8e929c}.positive{color:#b8ffca;font-weight:800}.negative{color:#ff9c9c;font-weight:800}
.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.metric{background:#15171d;border:1px solid var(--border);border-radius:18px;padding:18px}.metric span{display:block;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.metric strong{display:block;color:var(--accent2);font-size:28px}.invoice-progress .bar{background:linear-gradient(90deg,var(--accent),var(--accent2))}.check-cell{width:auto;min-width:22px;transform:scale(1.2)}


/* XFER global responsive shell */
.layout{max-width:none;width:100%;padding:28px 28px 34px 82px;box-sizing:border-box}.panel{width:100%;box-sizing:border-box}.table-wrap{width:100%;max-width:100%;overflow-x:auto}.table{min-width:1040px}.topbar{padding-right:120px}.global-menu-toggle{position:fixed;top:22px;left:22px;z-index:120;width:48px;height:48px;border-radius:15px;border:1px solid rgba(255,255,255,.18);background:rgba(17,19,24,.82);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 14px 35px rgba(0,0,0,.35);backdrop-filter:blur(8px);transition:transform .25s ease,border-color .25s ease,background .25s ease}.global-menu-toggle:hover{transform:translateY(-1px);border-color:var(--accent);background:rgba(27,29,34,.96)}.global-menu-toggle span{width:23px;height:2px;background:#fff;border-radius:999px;display:block;transition:transform .25s ease,opacity .25s ease}.global-menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.global-menu-toggle.open span:nth-child(2){opacity:0}.global-menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.global-logo{position:fixed;top:18px;right:24px;z-index:95;width:96px;height:auto;max-height:58px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}.global-menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:98;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}.global-menu-backdrop.show{opacity:1;visibility:visible}.global-side-menu{position:fixed;top:0;left:0;bottom:0;width:min(360px,86vw);z-index:110;background:linear-gradient(145deg,rgba(23,25,31,.98),rgba(9,10,14,.98));border-right:1px solid rgba(242,194,48,.28);box-shadow:30px 0 80px rgba(0,0,0,.55);transform:translateX(-104%);transition:transform .34s cubic-bezier(.2,.8,.2,1);padding:92px 22px 24px;box-sizing:border-box}.global-side-menu.show{transform:translateX(0)}.global-side-menu h3{margin:0 0 18px;color:var(--accent2);font-size:14px;letter-spacing:.14em;text-transform:uppercase}.global-side-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:#fff;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:16px 16px;margin-bottom:12px;font-weight:850;transition:transform .22s ease,background .22s ease,border-color .22s ease}.global-side-menu a:hover{transform:translateX(4px);background:rgba(242,194,48,.12);border-color:rgba(242,194,48,.45);color:var(--accent2)}.global-side-menu a small{display:block;color:var(--muted);font-weight:500;margin-top:4px}.page-loader{position:fixed;inset:0;z-index:200;background:radial-gradient(circle at center,rgba(242,194,48,.12),transparent 35%),rgba(3,5,7,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.page-loader.show{opacity:1;visibility:visible}.page-loader-card{border:1px solid rgba(242,194,48,.45);border-radius:26px;background:rgba(20,22,27,.88);padding:30px 38px;text-align:center;box-shadow:0 22px 90px rgba(0,0,0,.55)}.loader-ring{width:64px;height:64px;border-radius:50%;border:3px solid rgba(255,255,255,.13);border-top-color:var(--accent);margin:0 auto 18px;animation:spinLoader .85s linear infinite}.page-loader-title{font-size:22px;font-weight:900;color:#fff}.page-loader-sub{margin-top:8px;color:var(--accent2);font-size:13px;text-transform:uppercase;letter-spacing:.12em}@keyframes spinLoader{to{transform:rotate(360deg)}}.workers-layout{display:grid;grid-template-columns:minmax(320px,470px) 1fr;gap:20px;align-items:start}.worker-card{background:#15171d;border:1px solid var(--border);border-radius:20px;padding:16px;margin-bottom:14px}.worker-card h3{margin:0 0 10px}.worker-meta{display:grid;gap:6px;color:var(--muted);font-size:14px}.calendar-box{background:#15171d;border:1px solid var(--border);border-radius:22px;padding:18px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-cell{min-height:76px;border-radius:14px;background:#101116;border:1px solid #292c34;padding:8px;color:#fff}.calendar-cell.muted-day{opacity:.35}.calendar-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(242,194,48,.35)}.calendar-weekday{color:var(--accent2);font-size:12px;text-transform:uppercase;text-align:center;font-weight:900;padding:6px}@media(max-width:980px){.layout{padding-left:22px;padding-top:92px}.topbar{padding-right:0}.global-logo{width:82px}.workers-layout{grid-template-columns:1fr}.calendar-cell{min-height:54px}}@media(max-width:720px){.layout{padding:92px 14px 24px}.global-menu-toggle{top:18px;left:16px}.global-logo{right:16px;max-height:48px}.table{min-width:900px}}

/* Gestión económica avanzada */
.economic-layout .panel{margin-bottom:20px}.economic-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.economic-tabs a{display:inline-flex;text-decoration:none;color:#fff;background:#20232a;border:1px solid var(--border);border-radius:999px;padding:11px 15px;font-weight:850}.economic-tabs a.active,.economic-tabs a:hover{background:rgba(242,194,48,.16);border-color:rgba(242,194,48,.58);color:var(--accent2)}.economic-filter-panel{background:rgba(17,19,24,.92)}.economic-filter-actions{align-items:flex-end}.economic-section.tab-hidden{display:none}.metric-grid-xl{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.metric small{display:block;margin-top:9px;color:var(--muted);font-size:12px}.metric-positive{border-color:rgba(87,220,122,.45);box-shadow:inset 0 0 0 1px rgba(87,220,122,.1)}.metric-negative{border-color:rgba(255,107,107,.45);box-shadow:inset 0 0 0 1px rgba(255,107,107,.1)}.economic-table pre{max-width:420px;max-height:240px;overflow:auto;white-space:pre-wrap;background:#101116;border:1px solid var(--border);border-radius:14px;padding:12px;color:#e8e8e8}.compact-form{display:flex;gap:8px;align-items:center;min-width:260px}.compact-form input,.compact-form select{min-width:120px;padding:9px 10px;border-radius:10px}.filters-grid{margin:14px 0 18px;padding:14px;background:#15171d;border:1px solid var(--border);border-radius:18px}.purchase-form{padding:16px;background:#15171d;border:1px solid var(--border);border-radius:20px}.purchase-line{padding:14px;margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#111318}.soft-separator{border:0;border-top:1px solid var(--border);margin:22px 0}.mini-table{min-width:760px}.status-rentable{border-color:rgba(87,220,122,.45);color:#b8ffca}.status-en-riesgo{border-color:rgba(242,194,48,.55);color:var(--accent2)}.status-en-pérdida,.status-en-perdida{border-color:rgba(255,107,107,.55);color:#ffb7b7}.status-sin-datos-suficientes{color:var(--muted)}
@media(max-width:720px){.economic-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.compact-form{min-width:220px}.economic-table{min-width:1180px}}

/* XFER economic/work activity extensions */
.xfer-interactive-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.52}.center,.layout,.splash,.jarvis-stage{position:relative;z-index:1}.map-layout{max-width:1680px}.map-panel{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;min-height:680px}.map-panel #activityMap{min-height:640px;border-radius:22px;overflow:hidden;background:#101010;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(0,0,0,.28)}.map-summary{border:1px solid rgba(245,196,0,.22);background:linear-gradient(180deg,rgba(24,24,24,.96),rgba(12,12,12,.96));border-radius:22px;padding:20px;box-shadow:0 22px 60px rgba(0,0,0,.26);transform-origin:center;transition:transform .22s ease,opacity .22s ease}.map-summary.zoom-in{animation:mapZoom .28s ease both}@keyframes mapZoom{0%{transform:scale(.92);opacity:.62}100%{transform:scale(1);opacity:1}}.map-kv{display:grid;grid-template-columns:1fr;gap:7px;margin-top:14px}.map-kv span{font-size:12px;color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.06em}.map-kv strong{font-size:14px;color:#fff;margin-bottom:4px}.xfer-marker{width:22px;height:22px;border-radius:999px;background:rgba(245,196,0,.16);border:1px solid rgba(245,196,0,.65);box-shadow:0 0 0 8px rgba(245,196,0,.08),0 0 28px rgba(245,196,0,.48)}.xfer-marker span{display:block;width:10px;height:10px;margin:5px;border-radius:999px;background:#f5c400;box-shadow:0 0 20px rgba(245,196,0,.75)}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;border:1px solid rgba(245,196,0,.22);border-radius:999px;padding:7px 11px;background:rgba(245,196,0,.08);color:#f7f7f7;font-size:13px}.mini-table{font-size:13px}.soft-separator{border:0;border-top:1px solid rgba(255,255,255,.10);margin:22px 0}.actions.vertical{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.tab-hidden{display:none!important}.economic-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.economic-tabs a{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:10px 14px;text-decoration:none;color:#eee;background:rgba(255,255,255,.04)}.economic-tabs a.active{border-color:rgba(245,196,0,.55);background:rgba(245,196,0,.14);color:#fff}.metric-positive strong,.positive{color:#34d399}.metric-negative strong,.negative{color:#fb7185}.status-rentable{background:rgba(52,211,153,.14)}.status-en-riesgo{background:rgba(245,196,0,.18)}.status-en-pérdida,.status-en-perdida{background:rgba(251,113,133,.16)}.purchase-line,.delivery-line{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:14px;margin-bottom:12px;background:rgba(255,255,255,.025)}
@media (max-width: 960px){.map-panel{grid-template-columns:1fr}.map-panel #activityMap{min-height:480px}.map-summary{min-height:auto}.xfer-interactive-bg{opacity:.32}}

/* Pantalla inicial y ajustes visuales XFER */
:root{--user-font-scale:1;--user-font-family:Inter,Arial,sans-serif}
body{font-family:var(--user-font-family);font-size:calc(16px * var(--user-font-scale))}
body.xfer-light-mode{--bg:#f4f5f7;--bg2:#ffffff;--panel:#ffffff;--panel2:#f1f2f5;--text:#17191d;--muted:#5f6570;--border:#d9dde5;--input:#ffffff;--shadow:rgba(12,18,28,.14);background:radial-gradient(circle at top,#ffffff,#e9ebef 68%);color:var(--text)}
body.xfer-light-mode .panel,body.xfer-light-mode .card,body.xfer-light-mode .modal-card{background:rgba(255,255,255,.94)}
body.xfer-light-mode .global-side-menu,body.xfer-light-mode .xfer-theme-toolbar{background:rgba(255,255,255,.92);color:#17191d}
body.xfer-light-mode .btn.secondary{background:#eef0f4;color:#17191d}.density-compact .layout{padding-top:86px}.density-compact .panel,.density-compact .card{padding:16px}.density-compact input,.density-compact select,.density-compact textarea{padding:9px 10px}.density-compact .table th,.density-compact .table td{padding:9px}.density-wide .layout{max-width:none}.density-wide .panel,.density-wide .card{padding:28px}.density-wide input,.density-wide select,.density-wide textarea{padding:15px 16px}.density-wide .table th,.density-wide .table td{padding:16px}
.xfer-theme-toolbar{position:fixed;top:18px;left:86px;right:132px;z-index:115;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(14,16,20,.78);backdrop-filter:blur(12px);box-shadow:0 14px 38px rgba(0,0,0,.26)}
.xfer-theme-toolbar .toolbar-title{font-weight:900;color:var(--accent2);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.xfer-theme-toolbar label{margin:0;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-weight:800}.xfer-theme-toolbar select,.xfer-theme-toolbar input[type=range]{width:auto;min-width:92px;padding:7px 9px;border-radius:10px;font-size:12px}.xfer-theme-toolbar input[type=range]{accent-color:var(--accent);padding:0}.toolbar-reset{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer}.layout{padding-top:96px}.global-logo{top:22px}.splash{z-index:999;background:radial-gradient(circle at center,rgba(242,194,48,.14),transparent 32%),#030507;animation:hideSplash .9s ease 3.15s forwards}.splash-logo{width:min(38vw,280px);height:min(38vw,280px);border-radius:42px}.splash-img{max-width:min(30vw,230px);max-height:min(30vw,230px)}.center{opacity:0;animation:loginReveal .8s ease 3.25s forwards}@keyframes loginReveal{to{opacity:1}}
.splash:before,.splash:after{content:"";position:absolute;border:1px solid rgba(242,194,48,.38);border-radius:50%;width:min(70vw,720px);height:min(70vw,720px);animation:xferOrbit 4.6s linear infinite;box-shadow:0 0 70px rgba(242,194,48,.12)}.splash:after{width:min(52vw,520px);height:min(52vw,520px);animation-direction:reverse;animation-duration:6.4s}@keyframes xferOrbit{to{transform:rotate(360deg)}}
.hud-card{position:relative;overflow:hidden}.hud-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(242,194,48,.06),transparent);transform:translateX(-100%);animation:hudSweep 4.8s ease-in-out infinite;pointer-events:none}@keyframes hudSweep{50%{transform:translateX(100%)}100%{transform:translateX(100%)}}
@media(max-width:980px){.xfer-theme-toolbar{position:relative;top:auto;left:auto;right:auto;margin:82px 14px -72px;z-index:2}.layout{padding-top:104px}.splash-logo{width:210px;height:210px}.splash-img{max-width:168px;max-height:168px}}
@media(max-width:620px){.xfer-theme-toolbar{display:grid;grid-template-columns:1fr 1fr;margin-top:84px}.xfer-theme-toolbar .toolbar-title{grid-column:1/-1}.xfer-theme-toolbar label{display:grid;gap:4px}.xfer-theme-toolbar select,.xfer-theme-toolbar input[type=range]{width:100%}}
.internal-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}.internal-accordion>summary::-webkit-details-marker{display:none}.internal-accordion>summary h2{margin:0}.internal-accordion[open]>summary .badge{background:rgba(242,194,48,.16);border-color:rgba(242,194,48,.48)}.office-marker{width:30px!important;height:30px!important;background:rgba(245,196,0,.24);border-color:#fff0a8;box-shadow:0 0 0 10px rgba(245,196,0,.10),0 0 34px rgba(245,196,0,.70)}.office-marker span{width:14px!important;height:14px!important;margin:7px!important;background:#fff0a8!important}

/* Ajustes finales de acceso y barra superior */
body.login-page{overflow:hidden;min-height:100vh;background:#030507}
body.login-page .xfer-interactive-bg{opacity:.78}
.login-center{height:100vh;min-height:100vh;padding:0;overflow:hidden;opacity:0;animation:loginReveal .45s ease 3s forwards}
.login-panel{width:min(360px,calc(100vw - 42px));background:transparent;border:0;box-shadow:none;padding:0;text-align:center;backdrop-filter:none}
.login-brand{display:flex;align-items:center;justify-content:center;margin-bottom:22px}.login-logo{width:190px;max-width:70vw;height:auto;filter:drop-shadow(0 16px 34px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(242,194,48,.20))}
.login-form{text-align:left}.login-form label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.74);margin:14px 0 7px}.login-form input{background:rgba(5,7,10,.62);border-color:rgba(255,255,255,.18);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(242,194,48,.03)}.login-form input:focus{outline:0;border-color:rgba(242,194,48,.65);box-shadow:0 0 0 3px rgba(242,194,48,.10)}.login-form .btn.full{margin-top:20px;border-radius:12px}.login-panel .error{margin-bottom:14px;text-align:left}
.login-splash{z-index:9999;background:radial-gradient(circle at 50% 52%,rgba(242,194,48,.17),transparent 26%),radial-gradient(circle at top,rgba(255,255,255,.07),transparent 36%),#030507;animation:hideSplash .45s ease 3s forwards;overflow:hidden}.login-splash .splash-logo{position:relative;z-index:3;width:min(42vw,300px);height:min(42vw,300px);border:0;background:transparent;box-shadow:none;border-radius:0;animation:xferSplashLogo 3s ease both}.login-splash .splash-img{max-width:min(34vw,245px);max-height:min(34vw,245px);filter:drop-shadow(0 0 38px rgba(242,194,48,.46)) drop-shadow(0 20px 55px rgba(0,0,0,.65))}.login-splash:before,.login-splash:after{width:min(76vw,760px);height:min(76vw,760px);border-color:rgba(242,194,48,.28);box-shadow:0 0 90px rgba(242,194,48,.12),inset 0 0 50px rgba(242,194,48,.04);animation:xferOrbit 5s linear infinite}.login-splash:after{width:min(52vw,540px);height:min(52vw,540px);border-style:dashed;animation-duration:7.5s;animation-direction:reverse}.splash-hud{position:absolute;z-index:2;left:50%;top:50%;border:1px solid rgba(242,194,48,.30);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.splash-hud-a{width:min(86vw,860px);height:min(86vw,860px);animation:xferOrbit 9s linear infinite}.splash-hud-b{width:min(60vw,610px);height:min(60vw,610px);border-style:dotted;animation:xferOrbit 6s linear infinite reverse}.splash-hud-c{width:min(34vw,360px);height:min(34vw,360px);box-shadow:0 0 42px rgba(242,194,48,.12);animation:pulse 1.2s ease-in-out infinite}.splash-status{position:absolute;left:50%;bottom:9vh;transform:translateX(-50%);display:flex;gap:11px;align-items:center;color:rgba(255,255,255,.82);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900}.splash-status span{width:72px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 14px var(--accent);animation:hudSweep 1.6s ease-in-out infinite}@keyframes xferSplashLogo{0%{opacity:0;transform:scale(.82)}18%{opacity:1;transform:scale(1)}76%{opacity:1;transform:scale(1.04)}100%{opacity:0;transform:scale(1.12)}}
.global-logo{width:144px;max-height:87px;right:28px}.topbar{padding-right:178px}.xfer-theme-toolbar{right:198px}.toolbar-reset,.toolbar-logout{border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer;text-decoration:none;font-size:12px;line-height:1}.toolbar-logout{background:rgba(242,194,48,.14);border-color:rgba(242,194,48,.40);color:#fff0bc;white-space:nowrap}.toolbar-logout:hover{background:rgba(242,194,48,.24);border-color:rgba(242,194,48,.70)}
@media(max-width:980px){.global-logo{width:118px;max-height:72px}.xfer-theme-toolbar{right:auto}.topbar{padding-right:0}.login-splash .splash-logo{width:240px;height:240px}.login-splash .splash-img{max-width:195px;max-height:195px}}
@media(max-width:620px){.global-logo{width:102px;max-height:62px}.login-logo{width:160px}.splash-status{width:86%;justify-content:center;text-align:center;line-height:1.5}.splash-status span{display:none}}

/* Corrección definitiva: secuencia inicial login XFER a pantalla completa */
html:has(body.login-page),
body.login-page{
  width:100%;
  height:100%;
  min-height:100vh;
  overflow:hidden!important;
  background:#030507!important;
}
body.login-page .xfer-interactive-bg{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:0!important;
}
body.login-page .login-center{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  z-index:10!important;
  animation:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.login-page.login-splash-finished .login-center{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .45s ease!important;
}
body.login-page .login-splash{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  overflow:hidden!important;
  z-index:99999!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  animation:none!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(242,194,48,.18),transparent 28%),
    radial-gradient(circle at 50% 12%,rgba(255,255,255,.08),transparent 36%),
    #030507!important;
}
body.login-page.login-splash-finished .login-splash{
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .45s ease,visibility 0s linear .45s!important;
}
body.login-page .login-splash .splash-logo{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:clamp(170px,24vw,310px)!important;
  height:clamp(170px,24vw,310px)!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:5!important;
  animation:xferSplashLogoCentered 3s ease both!important;
}
body.login-page .login-splash .splash-img{
  width:clamp(138px,20vw,255px)!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 42px rgba(242,194,48,.52)) drop-shadow(0 24px 58px rgba(0,0,0,.72))!important;
}
body.login-page .login-splash:before,
body.login-page .login-splash:after,
body.login-page .login-splash .splash-hud{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  pointer-events:none!important;
  transform-origin:center center!important;
}
body.login-page .login-splash:before{
  content:""!important;
  width:clamp(320px,72vw,860px)!important;
  height:clamp(320px,72vw,860px)!important;
  border:1px solid rgba(242,194,48,.27)!important;
  border-radius:50%!important;
  box-shadow:0 0 90px rgba(242,194,48,.12),inset 0 0 52px rgba(242,194,48,.04)!important;
  animation:xferOrbitCentered 8s linear infinite!important;
}
body.login-page .login-splash:after{
  content:""!important;
  width:clamp(240px,48vw,560px)!important;
  height:clamp(240px,48vw,560px)!important;
  border:1px dashed rgba(242,194,48,.36)!important;
  border-radius:50%!important;
  box-shadow:0 0 70px rgba(242,194,48,.10)!important;
  animation:xferOrbitCenteredReverse 6.2s linear infinite!important;
}
body.login-page .login-splash .splash-hud-a{
  width:clamp(360px,86vw,980px)!important;
  height:clamp(360px,86vw,980px)!important;
  animation:xferOrbitCentered 10.5s linear infinite!important;
}
body.login-page .login-splash .splash-hud-b{
  width:clamp(280px,62vw,680px)!important;
  height:clamp(280px,62vw,680px)!important;
  animation:xferOrbitCenteredReverse 7s linear infinite!important;
}
body.login-page .login-splash .splash-hud-c{
  width:clamp(160px,34vw,380px)!important;
  height:clamp(160px,34vw,380px)!important;
  transform:translate(-50%,-50%)!important;
  animation:xferHudPulseCentered 1.35s ease-in-out infinite!important;
}
body.login-page .splash-status{
  position:absolute!important;
  left:50%!important;
  bottom:8vh!important;
  transform:translateX(-50%)!important;
  width:min(680px,86vw)!important;
  justify-content:center!important;
  text-align:center!important;
  z-index:6!important;
}
@keyframes xferSplashLogoCentered{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}
  18%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  76%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.10)}
}
@keyframes xferOrbitCentered{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes xferOrbitCenteredReverse{
  from{transform:translate(-50%,-50%) rotate(360deg)}
  to{transform:translate(-50%,-50%) rotate(0deg)}
}
@keyframes xferHudPulseCentered{
  0%,100%{opacity:.62;transform:translate(-50%,-50%) scale(.96)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}
}
@media(max-width:620px){
  body.login-page .login-splash .splash-logo{width:190px!important;height:190px!important;}
  body.login-page .login-splash .splash-img{width:155px!important;}
  body.login-page .splash-status{bottom:7vh!important;font-size:10px!important;letter-spacing:.12em!important;}
}

