:root{
  --bg:#f4f7fb; --panel:#ffffff; --ink:#172033; --muted:#7b8798; --line:#e8edf5;
  --blue:#2f80ed; --blue2:#52c7f8; --purple:#6c5ce7; --pink:#ff5f7e; --orange:#ff9f43; --green:#21c37a; --dark:#101828;
  --shadow:0 20px 60px rgba(29,45,79,.10); --radius:26px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#f7faff,#eff4fb);color:var(--ink);min-height:100vh} a{text-decoration:none;color:inherit} h1{font-size:clamp(32px,5vw,58px);line-height:.98;margin:8px 0 12px;letter-spacing:-1.4px} h2{margin:0 0 14px;font-size:24px} p{color:var(--muted);line-height:1.6}.muted{color:var(--muted);font-size:13px}.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#eaf3ff;color:#1d67cf;padding:8px 12px;font-weight:900;font-size:12px;letter-spacing:.6px;text-transform:uppercase}.pill.light{background:#fff;color:var(--muted);border:1px solid var(--line)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) 440px;gap:24px;align-items:center;padding:34px;max-width:1180px;margin:auto}.login-hero{min-height:560px;border-radius:36px;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.22),transparent 25%),linear-gradient(135deg,#0f4da7,#2f80ed 50%,#61d5ff);padding:42px;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.login-hero:after{content:"";position:absolute;right:-90px;bottom:-90px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.15)}.login-hero h1,.login-hero p{color:#fff}.login-hero p{max-width:620px;color:rgba(255,255,255,.86)}.device-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.device{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:22px;padding:22px 28px;font-weight:900;backdrop-filter:blur(8px)}.login-card{align-self:center}.panel{background:rgba(255,255,255,.88);border:1px solid rgba(232,237,245,.95);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;backdrop-filter:blur(8px)}.setup-body{display:grid;place-items:center;padding:24px}.setup-card{max-width:920px;background:#fff;border:1px solid var(--line);border-radius:34px;padding:32px;box-shadow:var(--shadow)}
.form{display:grid;gap:13px} label{font-weight:900;font-size:12px;text-transform:uppercase;color:#526070;letter-spacing:.5px} input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font-size:14px;background:#fff;outline:none;color:var(--ink)} textarea{min-height:90px;resize:vertical} input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,128,237,.10)}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.btn{border:0;border-radius:999px;padding:11px 16px;font-weight:900;cursor:pointer;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(16,24,40,.05);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(90deg,var(--blue),var(--blue2));border-color:transparent;color:#fff}.btn.blue{background:#eaf3ff;color:#1d67cf;border-color:#d8e9ff}.btn.danger{background:linear-gradient(90deg,#ef4444,#f87171);border-color:transparent;color:#fff}.btn.big{font-size:18px;padding:16px 24px}.notice{padding:14px 16px;border-radius:18px;margin-bottom:14px;border:1px solid var(--line);background:#fff}.notice.ok{background:#edfff6;border-color:#b6f3d2;color:#08703d}.notice.bad{background:#fff1f2;border-color:#fecdd3;color:#a4142f}.notice.warn{background:#fff8e6;border-color:#ffe0a3;color:#9a5b00}
.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:8px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;margin-bottom:22px}.brandmark{width:44px;height:44px;border-radius:16px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:950;text-transform:lowercase}.side{padding:12px 14px;border-radius:16px;color:#536071;font-weight:850}.side:hover,.side.active{background:#eaf3ff;color:#1d67cf}.side.logout{margin-top:auto;color:#ef4444}.main{padding:22px 28px;min-width:0}.topbar{height:64px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.top-actions{display:flex;align-items:center;gap:10px}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:8px 0 22px}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 12px 34px rgba(29,45,79,.06)}.stat b{display:block;font-size:38px;line-height:1;color:var(--blue)}.stat span{display:block;color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase;margin-top:8px}.stat.warn b{color:var(--pink)}.stat.blue b{color:var(--purple)}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.module{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 12px 34px rgba(29,45,79,.06);transition:.18s}.module:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.module h2{font-size:20px}.narrow{max-width:680px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0 10px}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;text-align:left;color:#7b8798;padding:8px 12px;white-space:nowrap}td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px;vertical-align:middle}td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase}.status.ok{background:#e7fff2;color:#08703d}.status.bad{background:#ffe9ee;color:#be123c}.status.warn{background:#fff3d8;color:#9a5b00}.status.blue{background:#eaf3ff;color:#1d67cf}.inline{display:flex;gap:8px;align-items:center}.inline input{min-width:120px;padding:10px;border-radius:12px}.inline .btn{padding:9px 11px}.filters{display:grid;grid-template-columns:180px 180px minmax(220px,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.kiosk{max-width:860px;margin:auto}.kiosk .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.login-shell,.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;overflow:auto}.side.logout{margin-top:0}.stats,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.login-shell{padding:16px}.login-hero{min-height:auto;padding:24px}.grid.two,.grid.four,.stats,.module-grid,.filters,.kiosk .grid.two{grid-template-columns:1fr}.main{padding:16px}.sidebar{padding:14px}.brand span:last-child{display:none}}
.profile-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.profile-photo{width:220px;height:220px;object-fit:cover;border-radius:28px;border:1px solid var(--line);box-shadow:0 12px 34px rgba(29,45,79,.10)}.profile-empty{width:220px;height:220px;border-radius:28px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--muted);background:#f8fbff;font-weight:900}.info-list{line-height:2;color:#334155}.check{display:flex;align-items:center;gap:10px;text-transform:none;font-size:14px;color:#334155}.check input{width:auto}.filters:has(input[name="q"]:only-child){grid-template-columns:minmax(220px,1fr) auto}@media(max-width:620px){.profile-grid{grid-template-columns:1fr}.profile-photo,.profile-empty{width:100%;height:auto;min-height:220px}}

/* ===================== V6 VISUAL PROFESIONAL ===================== */
body{background:
  radial-gradient(circle at 15% 8%, rgba(47,128,237,.14), transparent 26%),
  radial-gradient(circle at 95% 4%, rgba(33,195,122,.12), transparent 24%),
  linear-gradient(180deg,#f6f9ff 0%,#eef3fb 100%)}
.portal-home{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;max-width:1240px;margin:auto;padding:32px;position:relative;overflow:hidden}
.portal-home:before{content:"";position:absolute;inset:24px;border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.65),rgba(255,255,255,.25));border:1px solid rgba(255,255,255,.7);z-index:-2}.portal-home:after{content:"";position:absolute;right:-120px;top:80px;width:520px;height:520px;border-radius:50%;background:linear-gradient(135deg,rgba(47,128,237,.22),rgba(82,199,248,.12));z-index:-1}
.home-hero-v6{min-height:610px;border-radius:42px;padding:46px;background:linear-gradient(135deg,#0b1730 0%,#183b85 46%,#2f80ed 100%);color:#fff;box-shadow:0 30px 80px rgba(24,59,133,.30);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.home-hero-v6:before{content:"";position:absolute;right:34px;bottom:34px;width:300px;height:220px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.18);transform:rotate(-5deg)}.home-hero-v6:after{content:"RRHH\A CONTROL\A RELOJ";white-space:pre;position:absolute;right:70px;bottom:72px;color:rgba(255,255,255,.18);font-size:42px;font-weight:950;line-height:1.05;letter-spacing:-1px}.home-hero-v6 h1{color:#fff;max-width:720px}.home-hero-v6 p{color:rgba(255,255,255,.84);font-size:18px;max-width:680px}.access-grid{display:grid;gap:18px}.access-card{border:0;text-align:left;border-radius:34px;padding:28px;min-height:170px;background:rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(29,45,79,.14);border:1px solid rgba(255,255,255,.8);cursor:pointer;transition:.2s;display:grid;grid-template-columns:86px 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center}.access-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 32px 90px rgba(29,45,79,.18)}.access-card span{grid-row:1/3;width:86px;height:86px;border-radius:28px;display:grid;place-items:center;font-size:42px;background:#eaf3ff}.access-card b{font-size:28px;color:#101828}.access-card small{font-size:15px;color:#667085;line-height:1.45}.access-card.mantenimiento span{background:#fff1f2}.access-card.empresa span{background:#eaf3ff}.access-card.trabajador span{background:#ecfdf3}.modal-login{position:fixed;inset:0;background:rgba(9,17,32,.58);display:none;align-items:center;justify-content:center;padding:22px;z-index:9999;backdrop-filter:blur(8px)}.modal-login.show{display:flex}.modal-box-pro{width:min(94vw,480px);background:#fff;border-radius:34px;padding:28px;box-shadow:0 34px 110px rgba(16,24,40,.35);position:relative}.modal-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;cursor:pointer}.modal-icon{width:72px;height:72px;border-radius:26px;display:grid;place-items:center;font-size:36px;background:#eaf3ff;margin-bottom:12px}.hero-dashboard{border-radius:34px;padding:30px;background:linear-gradient(135deg,#fff,#eef7ff);border:1px solid #fff;box-shadow:var(--shadow)}.module{position:relative;overflow:hidden}.module:before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(47,128,237,.08)}.module-ico{font-size:34px;display:inline-grid;width:62px;height:62px;border-radius:22px;background:#f0f6ff;place-items:center;margin-bottom:12px}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.doc-grid>div{border:1px solid var(--line);border-radius:20px;background:#f8fbff;padding:14px;display:grid;gap:8px}.map-card{border:1px solid var(--line);border-radius:26px;background:#f8fbff;padding:14px;margin:14px 0}.map-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:10px}#map{height:360px;border-radius:22px;background:#e6eef8;overflow:hidden}.map-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#667085;font-weight:900;padding:24px}.clock-stage{min-height:calc(100vh - 100px);display:grid;place-items:center}.clock-terminal{width:min(1080px,100%);border-radius:42px;background:linear-gradient(145deg,#08111f,#122a49);padding:28px;box-shadow:0 34px 110px rgba(8,17,31,.35),inset 0 0 0 1px rgba(255,255,255,.08);color:#fff}.terminal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:18px;margin-bottom:22px}.scan-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:#21c37a;margin-right:10px;box-shadow:0 0 0 8px rgba(33,195,122,.12)}.bio-layout{display:grid;grid-template-columns:440px minmax(0,1fr);gap:24px}.camera-box{border-radius:32px;background:#050b14;border:1px solid rgba(255,255,255,.10);padding:16px;display:grid;gap:12px;align-content:start}.camera-box video{display:none;width:100%;height:310px;object-fit:cover;border-radius:24px;background:#000}.camera-placeholder{height:310px;border-radius:24px;background:radial-gradient(circle at center,rgba(82,199,248,.20),rgba(255,255,255,.04));display:grid;place-items:center;text-align:center;font-size:28px;font-weight:900;color:#dbeafe;border:1px dashed rgba(255,255,255,.22)}.biometric-form{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:32px;padding:22px}.biometric-form label{color:#c8d8f0}.biometric-form input,.biometric-form select,.biometric-form textarea{background:rgba(255,255,255,.94)}.worker-chip{border-radius:26px;background:linear-gradient(135deg,rgba(47,128,237,.22),rgba(33,195,122,.12));border:1px solid rgba(255,255,255,.16);padding:18px}.worker-chip b{font-size:22px;display:block;color:#fff}.worker-chip span{display:block;color:#bdd6ff;margin-top:6px}.gps-status{border-radius:18px;padding:12px 14px;background:rgba(33,195,122,.12);border:1px solid rgba(33,195,122,.22);color:#dcfce7;margin:0}.pulse{animation:pulseBtn 1.5s infinite}@keyframes pulseBtn{0%,100%{box-shadow:0 0 0 0 rgba(82,199,248,.35)}50%{box-shadow:0 0 0 12px rgba(82,199,248,0)}}.worker-app{display:block}.worker-app .main{max-width:1180px;margin:auto}.payroll-designer{display:grid;grid-template-columns:minmax(0,1.15fr) 430px;gap:22px;align-items:start}.payroll-preview{background:#fff;color:#111827;border:1px solid #d7dde7;border-radius:24px;padding:16px;box-shadow:0 12px 34px rgba(29,45,79,.08)}.payroll-preview .pay-top{display:grid;grid-template-columns:1fr 1fr 100px;gap:8px;border-bottom:2px solid #111827;padding-bottom:8px;font-size:12px}.pay-worker{display:grid;grid-template-columns:1fr 1.6fr .8fr;gap:8px;background:#f3f6fb;margin:12px 0;padding:10px;border-radius:12px}.payroll-preview table{border-spacing:0;border-collapse:collapse}.payroll-preview td,.payroll-preview th{border:1px solid #d7dde7;border-radius:0!important;background:#fff;padding:8px}.pay-net{margin-top:12px;background:#101828;color:#fff;border-radius:14px;padding:12px;font-size:20px;font-weight:950;text-align:center}.pay-sign{margin-top:18px;font-size:13px;color:#334155}.profile-grid{align-items:stretch}.info-list{background:#f8fbff;border:1px solid var(--line);border-radius:24px;padding:18px;line-height:2.1}
@media(max-width:1050px){.portal-home,.bio-layout,.payroll-designer{grid-template-columns:1fr}.home-hero-v6{min-height:auto}.doc-grid{grid-template-columns:1fr 1fr}.access-card{grid-template-columns:70px 1fr}.access-card span{width:70px;height:70px}.access-card b{font-size:22px}}
@media(max-width:620px){.portal-home{padding:16px}.home-hero-v6{padding:26px;border-radius:28px}.access-card{min-height:130px;padding:18px}.doc-grid,.map-toolbar{grid-template-columns:1fr}.clock-terminal{border-radius:28px;padding:18px}.camera-box video,.camera-placeholder,#map{height:250px}.payroll-preview .pay-top{grid-template-columns:1fr}.modal-box-pro{border-radius:26px}}

/* ===================== V7 CORRECCIONES DE USABILIDAD ===================== */
.actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.align-end{display:flex;align-items:end}.filters.compact{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,260px) auto;gap:10px;align-items:center;margin:0}.payroll-tools,.payroll-manual{background:linear-gradient(135deg,#fff,#f7fbff)}.payroll-tools h2,.payroll-manual h2{margin-bottom:6px}.slip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;margin-top:18px}.slip-card-pro{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:0 14px 40px rgba(29,45,79,.08);display:grid;gap:14px}.slip-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.slip-header h3{margin:8px 0 4px;font-size:20px;line-height:1.15}.slip-header p{margin:0;font-size:13px}.slip-header>b{font-size:24px;color:var(--green);white-space:nowrap}.slip-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.slip-meta span{background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:10px;font-weight:900;min-height:62px}.slip-meta small{display:block;color:#7b8798;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.slip-footer{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.empty-state{grid-column:1/-1;border:1px dashed var(--line);background:#f8fbff;border-radius:24px;padding:22px;text-align:center;color:#667085;font-weight:900}.map-card{box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}#map{cursor:crosshair}.map-toolbar .btn{white-space:nowrap}.profile-grid+.panel{margin-top:18px}.panel+.panel{margin-top:18px}@media(max-width:760px){.filters.compact{grid-template-columns:1fr}.slip-grid{grid-template-columns:1fr}.slip-meta{grid-template-columns:1fr}.slip-header{flex-direction:column}.actions-cell{display:grid}.align-end{align-items:stretch}.map-toolbar{grid-template-columns:1fr!important}.doc-grid{grid-template-columns:1fr!important}}

/* V9 limpieza visual y mapa */
.brandmark{font-size:13px!important;letter-spacing:.5px!important}
.top-actions:empty{display:none}
.map-help:empty{display:none}
.leaflet-container{font-family:Inter,Segoe UI,Arial,sans-serif}
.module p:empty,.page-head p:empty,.home-hero-v6 p:empty{display:none}

/* ===================== V10 OUTWORK CONTROL CENTER ===================== */
:root{--bg:#f5f6ff;--panel:#fff;--ink:#171a24;--muted:#687083;--line:#e5e7f2;--blue:#5a6ff0;--blue2:#7c8cff;--purple:#7b5cf4;--pink:#ff5d8f;--green:#16b879;--dark:#121726;--shadow:0 24px 70px rgba(35,43,82,.12);--radius:26px}
body{background:radial-gradient(circle at 84% 0,rgba(123,92,244,.12),transparent 28%),radial-gradient(circle at 12% 10%,rgba(90,111,240,.12),transparent 25%),linear-gradient(180deg,#fafaff,#f0f2fb);color:var(--ink)}
.portal-home{max-width:1380px;grid-template-columns:1.18fr .82fr;gap:22px}.portal-home:before{background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(248,249,255,.55));box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.home-hero-v6{min-height:690px;background:radial-gradient(circle at 80% 15%,rgba(146,164,255,.34),transparent 28%),linear-gradient(135deg,#111522 0%,#202a66 48%,#5a6ff0 100%);padding:50px;justify-content:flex-start}.home-hero-v6:before{right:-90px;bottom:-80px;width:540px;height:400px;border-radius:80px;transform:rotate(-8deg);background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.03))}.home-hero-v6:after{display:none}.outwork-home-logo{width:min(330px,70%);height:92px;object-fit:contain;object-position:left center;margin:0 0 66px}.home-hero-v6 h1{max-width:760px;font-size:clamp(42px,5.6vw,74px);line-height:.94}.home-hero-v6 p{max-width:610px;font-size:18px}.home-command-visual{position:absolute;right:18px;bottom:18px;width:54%;max-height:330px;object-fit:contain;filter:drop-shadow(0 30px 55px rgba(3,8,25,.38));animation:visualFloat 5s ease-in-out infinite}@keyframes visualFloat{50%{transform:translateY(-9px)}}
.access-grid{gap:14px}.access-card{min-height:185px;border-radius:32px;background:rgba(255,255,255,.94);box-shadow:0 22px 58px rgba(35,43,82,.11);border:1px solid rgba(255,255,255,.9);position:relative;overflow:hidden}.access-card:after{content:"";position:absolute;right:-42px;bottom:-62px;width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,rgba(90,111,240,.10),transparent)}.access-card span img{width:46px;height:46px;object-fit:contain}.access-card b{font-size:27px}.access-card small{font-size:14px}.access-card:hover{border-color:rgba(90,111,240,.25)}
.app{grid-template-columns:278px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#121726,#181e32);border:0;padding:24px 18px;box-shadow:18px 0 55px rgba(20,25,48,.10);z-index:4}.brand{color:#fff;padding:0 8px;margin-bottom:18px}.brandmark{width:48px;height:48px;background:#fff!important;border-radius:17px;overflow:hidden}.brandmark img{width:100%;height:100%;object-fit:contain;padding:6px}.side{color:#aeb7ce;padding:11px 14px;font-size:14px}.side:hover,.side.active{background:linear-gradient(90deg,rgba(90,111,240,.25),rgba(123,92,244,.16));color:#fff;box-shadow:inset 3px 0 #8090ff}.side.logout{color:#ff92ae;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding-top:18px}.main{padding:20px 30px 42px}.topbar{background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:0 18px;height:72px;box-shadow:0 14px 40px rgba(35,43,82,.06);backdrop-filter:blur(15px)}.timezone-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f0f2ff;color:#5362cc;font-size:11px;font-weight:900}
.page-head h1{font-size:clamp(34px,4vw,56px)}.hero-dashboard{min-height:230px;align-items:center;background:radial-gradient(circle at 82% 20%,rgba(123,92,244,.22),transparent 28%),linear-gradient(135deg,#fff,#eef0ff);position:relative;overflow:hidden}.hero-dashboard:after{content:"";position:absolute;right:8%;bottom:-80px;width:260px;height:260px;border-radius:70px;transform:rotate(18deg);background:linear-gradient(135deg,rgba(90,111,240,.16),rgba(123,92,244,.04))}.hero-dashboard>*{position:relative;z-index:1}
.stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.stat{border-radius:22px;padding:18px;background:rgba(255,255,255,.94);transition:.18s}.stat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.stat b{color:var(--blue);font-size:34px}.stat.green b{color:var(--green)}.module-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.module{min-height:205px;border-radius:26px;background:linear-gradient(145deg,#fff,#fafaff)}.module p{margin:5px 0 0;font-size:13px}.module-ico{background:linear-gradient(135deg,#edf0ff,#f3ecff)}.module-ico img{width:32px;height:32px}.module:after{content:"→";position:absolute;right:20px;bottom:18px;color:#8190ff;font-size:22px;font-weight:900}
.panel{background:rgba(255,255,255,.93);border-color:rgba(255,255,255,.95);box-shadow:0 16px 48px rgba(35,43,82,.08)}.panel h3{margin:18px 0 10px}.eyebrow{font-size:10px;font-weight:950;letter-spacing:1.3px;color:#6574df;margin-bottom:5px}.panel-illustration{width:150px;height:92px;object-fit:contain}.table-logo{width:72px;height:42px;object-fit:contain}.avatar-fallback{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#6678f4,#8a67ed);color:#fff;font-size:19px;font-weight:950}.status-control,.separation-panel{display:flex;justify-content:space-between;align-items:center;gap:24px}.separation-panel{align-items:flex-start;background:linear-gradient(135deg,#fff,#fff7fa)}
.phone-field{display:grid;grid-template-columns:minmax(128px,.72fr) minmax(130px,1fr);gap:8px}.phone-field .dial-code{font-size:12px;padding-left:10px}.decision-form{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(190px,1fr) auto;gap:8px;min-width:430px}.decision-form input,.decision-form select{padding:9px 11px;border-radius:12px}.repeat-grid{display:grid;gap:8px}.repeat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:9px;border:1px dashed #dfe3f3;border-radius:16px;background:#fafbff}
.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.provider-card{background:linear-gradient(145deg,#fff,#fafbff);border:1px solid var(--line);border-radius:26px;padding:18px;box-shadow:0 13px 36px rgba(35,43,82,.07)}.provider-card.inactive{filter:saturate(.6);opacity:.78}.provider-top{display:grid;grid-template-columns:68px 1fr;gap:13px;align-items:center}.provider-top>img{width:68px;height:68px;border-radius:20px;object-fit:cover}.provider-top h3{margin:5px 0 0}.provider-top p{margin:3px 0}.provider-meta{display:grid;gap:5px;margin:15px 0;color:#667085;font-size:13px}.worker-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.portal-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.portal-row small{display:block;color:var(--muted);margin-top:3px}
.global-loader{position:fixed;inset:0;display:none;place-items:center;background:rgba(10,14,28,.66);backdrop-filter:blur(10px);z-index:20000}.global-loader.show{display:grid}.loader-card{width:min(88vw,330px);border-radius:32px;padding:30px;background:linear-gradient(145deg,#141a2c,#222b4d);color:#fff;text-align:center;box-shadow:0 35px 110px rgba(3,7,18,.45);display:grid;justify-items:center;gap:10px}.loader-card img{width:70px;height:50px;object-fit:contain}.loader-card small{color:#b8c2dd}.loader-ring{width:48px;height:48px;border:4px solid rgba(255,255,255,.14);border-top-color:#8291ff;border-radius:50%;animation:loaderSpin .8s linear infinite}@keyframes loaderSpin{to{transform:rotate(360deg)}}
input[type=file]{padding:9px;background:#fafbff}input[type=file]::file-selector-button{border:0;border-radius:999px;background:#e9ecff;color:#5060cf;padding:9px 12px;font-weight:900;margin-right:9px;cursor:pointer}.btn{transition:transform .17s,box-shadow .17s}.btn.primary{background:linear-gradient(90deg,#596df0,#7b5cf4);box-shadow:0 10px 24px rgba(90,111,240,.24)}.btn.blue{background:#edf0ff;color:#5363d3;border-color:#dde2ff}.pill{background:#e9edff;color:#5362cc}.empty-state{min-height:110px;display:grid;place-items:center}
@media(max-width:1180px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.home-command-visual{width:48%;opacity:.88}}
@media(max-width:1000px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row}.brand{min-width:210px;margin:0}.side{white-space:nowrap}.portal-home{grid-template-columns:1fr}.home-hero-v6{min-height:640px}.worker-portal-grid{grid-template-columns:1fr}}
@media(max-width:720px){.home-hero-v6{min-height:650px;padding:28px}.outwork-home-logo{margin-bottom:38px}.home-command-visual{width:82%;right:-12%;opacity:.58}.access-card{min-height:142px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.status-control,.separation-panel{display:grid}.phone-field,.repeat-row,.decision-form{grid-template-columns:1fr}.decision-form{min-width:260px}.panel-illustration{display:none}.topbar{height:auto;min-height:72px;padding:12px}.timezone-badge{display:none}}

/* ===================== V11 REORGANIZACIÓN VISUAL Y CORRECCIONES DEL VIDEO ===================== */
html{overflow-x:hidden;scroll-behavior:smooth}body{overflow-x:hidden}img,svg{max-width:100%}
.portal-home{min-height:auto;width:min(1440px,100%);padding:34px 34px 22px;align-items:stretch;overflow:visible}
.portal-home:before{inset:18px;border-radius:46px;background:rgba(255,255,255,.46);backdrop-filter:blur(16px)}
.home-hero-v6{min-height:720px;isolation:isolate;justify-content:flex-start;background-image:linear-gradient(180deg,rgba(8,13,29,.30),rgba(8,13,29,.90)),linear-gradient(90deg,rgba(18,27,63,.92) 0%,rgba(28,42,91,.62) 58%,rgba(28,42,91,.18) 100%),url('office-team-hero.webp');background-position:center;background-size:cover;padding:46px 50px}
.home-hero-v6:before{inset:0;width:auto;height:auto;right:0;bottom:0;border-radius:42px;transform:none;background:linear-gradient(135deg,rgba(100,120,255,.20),transparent 48%);z-index:-1}
.home-hero-v6>*{position:relative;z-index:2}.outwork-home-logo{margin-bottom:82px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.22))}.home-hero-v6 h1{max-width:760px;font-size:clamp(44px,5vw,72px);text-wrap:balance}.home-hero-v6 p{font-size:19px;max-width:590px}.home-command-visual{width:44%;right:22px;bottom:14px;opacity:.90}
.access-grid{align-content:center;padding:14px 0}.access-card{min-height:160px;padding:24px 26px;border-radius:28px;grid-template-columns:72px 1fr;box-shadow:0 20px 52px rgba(31,38,75,.10)}.access-card span{width:70px;height:70px;border-radius:22px}.access-card b{font-size:24px}.access-card small{font-size:13px}.access-card:hover{transform:translateX(6px);border-color:#bac3ff}
.modal-box-pro{border:1px solid rgba(255,255,255,.85);box-shadow:0 36px 120px rgba(8,13,29,.42)}.modal-box-pro:before{content:"OUTWORK · ACCESO PROTEGIDO";display:block;color:#6875d8;font-size:10px;font-weight:950;letter-spacing:1.2px;margin-bottom:12px}.modal-box-pro .btn.big{width:100%;min-height:50px}
.brandmark{flex:0 0 48px;display:grid;place-items:center;overflow:hidden}.brandmark img{display:block!important;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;padding:4px!important}.sidebar{overflow:hidden}.main{width:100%;max-width:100%;overflow:hidden}.main>.panel,.main>.page-head,.main>.stats,.main>.module-grid,.main>.ops-banner,.main>.worker-portal-grid,.main>.clock-stage{max-width:1500px;margin-left:auto;margin-right:auto}
.topbar{position:sticky;top:12px;z-index:80}.section-row{min-width:0;overflow:hidden}.section-row>div{min-width:0}.panel-illustration{flex:0 0 138px;width:138px!important;height:82px!important;max-width:138px!important;object-fit:contain!important}
.ops-banner{min-height:285px;border-radius:32px;padding:36px;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(13,19,43,.94),rgba(30,42,91,.66),rgba(63,75,138,.20)),url('office-team-operations.webp');background-size:cover;background-position:center 44%;box-shadow:0 24px 70px rgba(25,32,68,.20);margin-bottom:20px;overflow:hidden}.ops-banner>div{max-width:720px}.ops-banner h2{font-size:clamp(30px,4vw,52px);line-height:1;margin:10px 0;color:#fff;text-wrap:balance}.ops-banner p{color:rgba(255,255,255,.84);font-size:16px;max-width:650px}.banner-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18);font-size:10px;font-weight:950;letter-spacing:1.2px}.banner-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.banner-tags span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:850}
.hero-dashboard{min-height:300px;padding:38px;background-image:linear-gradient(90deg,rgba(10,17,38,.94),rgba(31,49,101,.70),rgba(66,81,147,.18)),url('office-team-dashboard.webp');background-size:cover;background-position:center 48%;color:#fff}.hero-dashboard:after{display:none}.hero-dashboard h1,.hero-dashboard p{color:#fff}.hero-dashboard p{max-width:620px;font-size:16px}.hero-dashboard .pill{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.18)}.light-cta{background:#fff!important;color:#28377d!important;border:0!important;box-shadow:0 14px 32px rgba(5,9,22,.25)}
.panel{overflow:hidden}.panel>.form{max-width:100%}.grid>*{min-width:0}input,select,textarea{max-width:100%}.table-wrap{border-radius:18px}.table-wrap table{min-width:760px}
.trust-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;border-top:1px solid #e5e8f3;color:#5c6578}.trust-footer>img{object-fit:contain}.trust-footer small{font-size:11px;font-weight:800;text-align:right}.trust-items{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.trust-items span{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:#f5f7ff;border:1px solid #e3e7fb;font-size:11px;font-weight:850;color:#4c5773}.trust-items b{font-size:14px}.home-trust{width:min(1370px,calc(100% - 68px));margin:0 auto 24px;padding:18px 24px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.96);border-radius:24px;box-shadow:0 14px 40px rgba(35,43,82,.07)}.app-trust{max-width:1500px;margin:34px auto 0;padding:22px 8px 0}
@media(max-width:1050px){.portal-home{grid-template-columns:1fr;padding:18px}.home-hero-v6{min-height:680px}.access-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.access-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center;justify-items:center}.access-card span{grid-row:auto}.trust-footer{grid-template-columns:1fr;text-align:center}.trust-footer>img{margin:auto}.trust-footer small{text-align:center}.home-trust{width:calc(100% - 36px)}.main{padding:18px}.topbar{position:relative;top:0}}
@media(max-width:760px){.access-grid{grid-template-columns:1fr}.access-card{grid-template-columns:62px 1fr;grid-template-rows:auto auto;text-align:left;justify-items:stretch}.access-card span{grid-row:1/3;width:62px;height:62px}.home-hero-v6{min-height:620px;padding:28px}.home-command-visual{width:74%;opacity:.72}.ops-banner,.hero-dashboard{min-height:320px;padding:25px;background-position:center}.trust-items{display:grid;width:100%}.trust-items span{justify-content:center}.app-trust,.home-trust{padding:18px}.page-head h1{font-size:36px}.panel{padding:18px}}
.recovery-body{min-height:100vh;display:grid;place-items:center;padding:24px;background-image:linear-gradient(120deg,rgba(246,248,255,.88),rgba(238,242,255,.94)),url('office-team-operations.webp');background-size:cover;background-position:center}.recovery-card{width:min(680px,100%);background:rgba(255,255,255,.96);border:1px solid #fff;border-radius:34px;padding:38px;box-shadow:0 30px 100px rgba(22,29,61,.22)}.recovery-card>img{width:220px;height:82px;object-fit:contain;object-position:left;margin-bottom:26px}.recovery-card h1{font-size:clamp(36px,6vw,60px)}.recovery-card small{display:block;margin-top:22px;color:#7a8294}

/* ===================== V12 CALENDARIO OPERATIVO Y SISTEMA VISUAL ===================== */
.btn,button.btn,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;min-width:108px;padding:10px 17px;border:1px solid transparent;border-radius:14px;font:900 13px/1.1 Inter,Segoe UI,Arial,sans-serif;letter-spacing:.1px;text-align:center;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px rgba(42,51,91,.10);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(42,51,91,.18)}.btn:active{transform:translateY(0)}.btn.soft{background:#f0f2ff;color:#4e5fcf;border-color:#dfe3ff}.btn.ghost{background:#fff;color:#5f687a;border-color:#e2e6f1}.btn.danger{background:linear-gradient(135deg,#ff6677,#ef3f55);color:#fff;border:0}.actions-cell .btn,.inline .btn,.decision-form .btn{width:auto;min-width:112px;border-radius:13px}.table-wrap td{overflow-wrap:anywhere}.table-wrap td .btn{white-space:nowrap}.actions-cell{min-width:230px}.actions-cell form{margin:0}.inline input{min-width:130px}
.sidebar{height:100dvh;position:sticky;top:0;padding:20px 16px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#465071 transparent}.sidebar .brand{flex:0 0 auto;width:100%;min-height:112px;margin:0 0 12px;padding:10px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px rgba(255,255,255,.14),0 18px 35px rgba(0,0,0,.16)}.sidebar .brandmark{width:86px;height:78px;flex-basis:86px;border-radius:20px;background:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.22)}.sidebar .brandmark img{width:76px!important;height:68px!important;max-width:76px!important;max-height:68px!important;padding:5px!important}.side{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:45px;margin:2px 0;padding:9px 12px;border:1px solid transparent;border-radius:14px}.side i{width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);color:#cdd4ff;font-style:normal;font-size:16px}.side:hover{transform:translateX(3px);border-color:rgba(255,255,255,.08)}.side.active{border-color:rgba(126,143,255,.20);box-shadow:inset 3px 0 #8090ff,0 9px 24px rgba(6,10,28,.15)}.side.active i{background:linear-gradient(135deg,#687af1,#8165ed);color:#fff}.side.logout{margin-top:auto;grid-template-columns:32px 1fr;border-top:1px solid rgba(255,255,255,.08);border-radius:14px}.main{min-height:100vh}
.calendar-head p,.page-head p{margin:6px 0 0;color:var(--muted)}.view-switch{display:flex;gap:8px;padding:5px;border-radius:18px;background:rgba(255,255,255,.75);border:1px solid #e5e8f5}.calendar-shell{padding:24px}.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;gap:12px;margin-bottom:16px}.calendar-toolbar small{display:block;color:#6875d8;font-weight:950;font-size:10px;letter-spacing:1.4px}.calendar-toolbar h2{margin:4px 0 0;font-size:28px}.calendar-arrow{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#f0f2ff;color:#5869da;border:1px solid #dfe4ff;font-size:30px;line-height:1;box-shadow:0 8px 20px rgba(60,72,145,.10)}.calendar-filters{display:grid;grid-template-columns:minmax(190px,280px) minmax(220px,1fr) auto;gap:10px;margin-bottom:12px}.unit-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}.unit-legend span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f8f9fe;border:1px solid #e7e9f4;font-size:11px;font-weight:850;color:#596174}.unit-legend i{width:10px;height:10px;border-radius:50%;background:var(--unit-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--unit-color) 18%,transparent)}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:7px;min-width:910px}.calendar-shell{overflow-x:auto}.weekday{text-align:center;padding:8px;color:#747e91;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.8px}.calendar-day{min-height:155px;border:1px solid #e5e8f3;border-radius:18px;background:#fff;padding:8px;transition:.16s;position:relative}.calendar-day:hover{border-color:#bac3ff;box-shadow:0 12px 26px rgba(54,64,117,.10)}.calendar-day.outside{background:#f7f8fc;opacity:.58}.calendar-day.today{box-shadow:inset 0 0 0 2px #687af1}.calendar-day.selected{background:#f0f2ff;border-color:#7182f4;box-shadow:inset 0 0 0 2px #7182f4}.day-number{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;padding:3px 4px 8px;color:#252a38;cursor:pointer}.day-number b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#f2f4fb}.day-number small{color:#8a92a4}.day-events{display:grid;gap:5px}.schedule-chip{width:100%;display:grid;gap:2px;text-align:left;padding:7px 8px;border:0;border-left:4px solid var(--unit-color);border-radius:10px;background:color-mix(in srgb,var(--unit-color) 9%,#fff);color:#30384f;cursor:pointer;overflow:hidden}.schedule-chip:hover{filter:saturate(1.2);transform:translateX(2px)}.schedule-chip strong,.schedule-chip span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-chip strong{font-size:11px}.schedule-chip span{font-size:9px;color:#697286}.schedule-chip.free{border-left-color:#a4abba;background:#f0f1f4}.month-calendar.week-view .calendar-day{min-height:390px}.schedule-editor{scroll-margin-top:20px}.selected-counter{padding:9px 12px;border-radius:999px;background:#edf0ff;color:#5363d3;font-weight:950;font-size:12px}.schedule-form-grid{display:grid;grid-template-columns:minmax(240px,.65fr) 1.35fr;gap:18px;margin-top:16px}.schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-form-grid select[multiple]{min-height:190px;padding:8px}.schedule-form-grid select[multiple] option{padding:9px;border-radius:8px;margin:2px}.inline-delete{margin-top:12px}.copy-tools{max-width:1500px;margin:18px auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-tool{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,.7fr) auto minmax(130px,.7fr) auto;gap:10px;align-items:center;margin:0!important}.mini-tool h3{margin:3px 0}.timeline-calendar,.incident-calendar{display:grid;gap:16px}.timeline-day{border:1px solid #e4e8f2;border-radius:22px;overflow:hidden;background:#fbfcff}.timeline-day>header,.incident-day>header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(90deg,#151b2c,#26356d);color:#fff}.timeline-day>header time{font-size:18px;font-weight:950}.timeline-day>header span{font-size:11px;font-weight:900}.timeline-events{display:grid;padding:8px}.timeline-event{display:grid;grid-template-columns:62px minmax(190px,1fr) auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #e8eaf2}.timeline-event:last-child{border:0}.timeline-event>b{font-size:19px;color:#5869da}.timeline-event small{display:block;color:#737c8e;margin-top:3px}.timeline-event.alert{background:#fff7f8;border-radius:14px}.event-status{display:flex;gap:8px;align-items:center}.incident-day{padding:0!important}.incident-day>header h2{color:#fff;margin:3px 0}.incident-list{display:grid;gap:10px;padding:12px}.incident-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(430px,1.2fr);gap:16px;align-items:center;padding:14px;border:1px solid #e6e8f2;border-radius:18px;background:#fff}.incident-who small{display:block;color:#697286;margin-top:4px}.incident-who p{margin:8px 0 0}.security-seals{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.security-seals img{width:64px;height:64px;filter:drop-shadow(0 8px 14px rgba(37,45,82,.13));transition:.18s}.security-seals img:hover{transform:translateY(-4px) scale(1.04)}.trust-footer{grid-template-columns:auto 1fr;padding:20px 24px}.contact-banner{width:min(1370px,calc(100% - 68px));margin:0 auto 30px;padding:20px 24px;border-radius:24px;display:grid;grid-template-columns:minmax(250px,.65fr) 1.35fr;align-items:center;gap:24px;color:#fff;background:linear-gradient(125deg,#121726,#26366f 52%,#6556dc);box-shadow:0 18px 50px rgba(24,31,67,.20)}.contact-banner b{display:block;font-size:18px}.contact-banner span{display:block;margin-top:4px;color:#cbd2eb;font-size:12px}.contact-links{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.contact-links a,.contact-links>span{display:inline-flex;margin:0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:850}.app-contact{width:100%;max-width:1500px;margin:16px auto 0}
@media(max-width:1100px){.schedule-form-grid,.copy-tools,.incident-card{grid-template-columns:1fr}.mini-tool{grid-template-columns:1fr 1fr auto 1fr}.mini-tool>div{grid-column:1/-1}.mini-tool .btn{grid-column:1/-1}.contact-banner{grid-template-columns:1fr}.contact-links{justify-content:flex-start}}
@media(max-width:1000px){.sidebar{height:auto;max-height:none;position:sticky;top:0;z-index:100;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;padding:10px 12px;gap:6px}.sidebar .brand{width:76px;min-width:76px;min-height:62px;margin:0;padding:5px;border-radius:18px}.sidebar .brandmark{width:62px;height:52px;flex-basis:62px}.sidebar .brandmark img{width:54px!important;height:46px!important}.side{display:flex;grid-template-columns:none;min-width:max-content;margin:0;padding:8px 10px}.side.logout{margin:0;border-top:0}.main{padding-top:14px}.calendar-head{margin-top:4px}}
@media(max-width:720px){.btn,button.btn,a.btn{width:100%;min-width:0}.view-switch{width:100%}.view-switch .btn{width:50%}.calendar-filters,.schedule-fields{grid-template-columns:1fr}.calendar-shell{padding:14px}.month-calendar{min-width:790px;grid-template-columns:repeat(7,105px)}.calendar-day{min-height:135px}.schedule-form-grid{grid-template-columns:1fr}.copy-tools{grid-template-columns:1fr}.mini-tool{grid-template-columns:1fr}.mini-tool>span{display:none}.timeline-event{grid-template-columns:52px 1fr}.event-status{grid-column:2;flex-wrap:wrap}.incident-card{grid-template-columns:1fr}.incident-card .decision-form{min-width:0}.security-seals{gap:8px}.security-seals img{width:52px;height:52px}.trust-footer{grid-template-columns:1fr}.contact-banner{width:calc(100% - 28px);padding:20px}.contact-links{display:grid}.sidebar .side span{display:none}.sidebar .side{min-width:44px;padding:7px}.sidebar .side i{margin:auto}.topbar{position:relative}.app-contact{width:100%}}

/* ===================== V13 PEOPLE-FIRST EXPERIENCE ===================== */
:root{--bg:#f4f8f7;--panel:#fff;--ink:#10213b;--muted:#687789;--line:#dfe9e7;--blue:#1686b8;--blue2:#55b9e1;--purple:#6074ee;--green:#12b76a;--dark:#0d2234;--shadow:0 18px 55px rgba(24,59,72,.10);--radius:22px}body{background:radial-gradient(circle at 90% 0,rgba(164,245,210,.32),transparent 28%),radial-gradient(circle at 5% 12%,rgba(180,221,255,.38),transparent 28%),#f6f9f8}.app{display:block;min-height:100vh}.main{margin-left:278px;padding:20px 34px 44px;background:transparent}.worker-app .main{margin-left:0}.sidebar{position:fixed;inset:0 auto 0 0;width:278px;height:auto;min-height:100dvh;background-image:linear-gradient(180deg,rgba(9,31,48,.90),rgba(12,42,59,.94)),url('office-team-operations.webp');background-size:cover;background-position:center;box-shadow:16px 0 50px rgba(8,35,50,.16);border-right:1px solid rgba(255,255,255,.10)}.sidebar:before{content:"";position:fixed;left:0;top:0;width:278px;height:190px;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(72,220,169,.22),transparent 68%)}.sidebar .brand{position:relative;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 40px rgba(0,0,0,.20)}.side{position:relative;color:#c8d8df}.side i{background:rgba(255,255,255,.10);color:#d9fff0}.side:hover,.side.active{background:linear-gradient(90deg,rgba(27,190,124,.28),rgba(30,143,184,.18));box-shadow:inset 3px 0 #42d69a,0 9px 24px rgba(3,18,27,.18)}.side.active i{background:linear-gradient(135deg,#19bc78,#1599ad)}.topbar{background:rgba(255,255,255,.88);border-color:#fff;border-radius:18px;box-shadow:0 10px 35px rgba(24,59,72,.07)}.panel,.stat,.module,.provider-card,.slip-card-pro{border:1px solid rgba(215,230,226,.86);border-radius:20px;box-shadow:0 12px 38px rgba(24,59,72,.075)}.panel{background:rgba(255,255,255,.95)}.btn.primary{background:linear-gradient(135deg,#16b86f,#0ea66d);box-shadow:0 10px 24px rgba(18,183,106,.24)}.btn.blue{background:#e8f7f4;color:#087d64;border-color:#ccece3}.pill{background:#e3f8f0;color:#087d64}.page-head h1{letter-spacing:-1.6px}.calendar-day.today{box-shadow:inset 0 0 0 2px #15b77a}.calendar-day.selected{background:#eaf9f4;border-color:#17b87b;box-shadow:inset 0 0 0 2px #17b87b}.calendar-arrow{background:#e8f7f4;color:#087d64;border-color:#cfede4}.selected-counter{background:#e3f8f0;color:#087d64}.language-picker{display:flex;align-items:center;gap:7px;padding:5px 7px 5px 11px;border:1px solid #dce8e5;border-radius:12px;background:#fff;color:#657486}.language-picker span{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.6px}.language-picker select{width:auto;min-width:62px;padding:7px 28px 7px 8px;border:0;background-color:#f2f8f6;font-weight:900}.home-language{position:absolute!important;top:28px;right:28px;z-index:8;background:rgba(255,255,255,.94);color:#33495a}.home-language select{min-width:150px}.copy-tools{align-items:stretch;overflow:visible}.copy-card{display:flex;flex-direction:column;gap:12px;margin:0!important;min-width:0;overflow:visible}.copy-card header{display:flex;align-items:flex-start;gap:13px}.copy-card h3{margin:3px 0;font-size:20px}.copy-card p{margin:2px 0;color:var(--muted);font-size:12px}.copy-step{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#dff7ef,#daf1ff);color:#087d64;font-size:16px;font-weight:950}.copy-route{display:grid;grid-template-columns:1fr 28px 1fr;align-items:end;gap:8px;padding:12px;border-radius:16px;background:#f4f9f7;border:1px solid #e0ece8}.copy-route label{display:grid;gap:5px}.copy-route label span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#657486;font-weight:950}.copy-route i{align-self:center;text-align:center;color:#12a974;font-style:normal;font-weight:950}.copy-card>.btn{margin-top:auto}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.camera-actions .btn:last-child{grid-column:1/-1}.camera-help{min-height:34px;margin:8px 0;color:#687789;font-size:12px;text-align:center}.camera-box #selfieInput{position:absolute;width:1px;height:1px;opacity:.01;pointer-events:none}.clock-terminal{background:linear-gradient(145deg,#fff,#f1fbf7)}
@media(max-width:1000px){.app{display:block}.main{margin-left:0;padding:16px 18px 38px}.sidebar{position:sticky;inset:auto;top:0;width:100%;min-height:0;height:auto;background-image:linear-gradient(90deg,rgba(9,31,48,.96),rgba(12,60,67,.96)),url('office-team-operations.webp');background-position:center 35%}.sidebar:before{display:none}.sidebar .brand{width:76px}.copy-tools{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.copy-tools{grid-template-columns:1fr}.copy-route{grid-template-columns:1fr}.copy-route i{transform:rotate(90deg)}.top-actions{flex-wrap:wrap;justify-content:flex-end}.language-picker span{display:none}.home-language{top:18px;right:18px}.home-language span{display:block}.home-language select{min-width:128px}.camera-actions{grid-template-columns:1fr}.camera-actions .btn:last-child{grid-column:auto}}
.biometric-form #selfieInput{position:absolute;width:1px;height:1px;opacity:.01;pointer-events:none}
.camera-actions.strict-camera{grid-template-columns:1fr 1fr}.camera-actions.strict-camera .btn:last-child{grid-column:auto}.selfie-proof{padding:11px 14px;border:1px dashed #d5dfdc;border-radius:13px;background:#f7faf9;color:#7a8791;font-size:12px;font-weight:900;text-align:center}.selfie-proof.ready{border-style:solid;border-color:#bce8d4;background:#e8f8f0;color:#087d64}
.camera-box canvas{width:100%;height:340px;object-fit:cover;border-radius:24px;transform:none;background:#101726}.camera-box video{transform:none!important}

/* ===================== V16 · OUTWORK / PLANTILLA AZUL NOCTURNA ===================== */
:root{
  --ow-black:#02050b;--ow-night:#031126;--ow-navy:#071d43;--ow-card:#0a2045;
  --ow-blue:#286bf5;--ow-blue-2:#439df8;--ow-cyan:#69d8f4;--ow-white:#f8fbff;
  --ow-copy:#c7d2e2;--ow-dim:#8fa0b7;--ow-line:rgba(132,173,229,.20);
  --ink:var(--ow-white);--muted:var(--ow-dim);--line:var(--ow-line);--panel:var(--ow-card);
  --blue:var(--ow-blue);--blue2:var(--ow-cyan);--dark:var(--ow-black);
  --shadow:0 22px 70px rgba(0,0,0,.30);--radius:22px
}
html{scroll-behavior:smooth;background:var(--ow-black)}
body{font-family:"Segoe UI",Montserrat,Arial,sans-serif;background:radial-gradient(circle at 94% 2%,rgba(35,104,240,.22),transparent 31%),linear-gradient(140deg,var(--ow-black),var(--ow-night) 72%,#061a38);color:var(--ow-white)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
h1,h2,h3,h4,strong,b{color:var(--ow-white)}
p,.muted{color:var(--ow-copy)}

/* Acceso */
.portal-home{width:100%;max-width:none;min-height:100vh;margin:0;padding:0;display:block;position:relative;background:var(--ow-black);overflow:hidden}
.portal-home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(20,82,190,.18));border:0;border-radius:0}
.portal-home:after{content:"";position:absolute;right:-7vw;bottom:10%;width:46vw;height:25vh;border-radius:58px 0 0 58px;background:linear-gradient(100deg,var(--ow-blue),var(--ow-cyan));opacity:.88;z-index:0}
.home-hero-v6{width:100%;min-height:690px;margin:0;padding:28px clamp(30px,6vw,94px) 58px;display:grid;grid-template-columns:minmax(330px,.86fr) minmax(420px,1.14fr);grid-template-rows:auto 1fr auto auto auto;column-gap:clamp(34px,5vw,88px);align-items:center;border:0;border-radius:0;background:linear-gradient(108deg,#000 0%,#020a18 52%,#062252 100%);box-shadow:none;overflow:hidden;isolation:isolate}
.home-hero-v6:before{content:"";position:absolute;right:-8%;top:28%;width:40%;height:58%;border-radius:58px 0 0 58px;background:linear-gradient(135deg,rgba(42,105,245,.76),rgba(103,218,246,.88));transform:none;z-index:-2}
.home-hero-v6:after{content:"";position:absolute;left:36%;bottom:78px;width:56%;height:52px;border-radius:999px;background:linear-gradient(90deg,var(--ow-blue),var(--ow-cyan));opacity:.98;z-index:-1;white-space:normal}
.outwork-home-logo{grid-column:1/-1;grid-row:1;width:190px;height:auto;object-fit:contain;justify-self:start;position:relative;z-index:3}
.home-language{top:28px;right:clamp(30px,6vw,94px);border-color:rgba(255,255,255,.16);background:rgba(3,16,37,.80);color:#fff;backdrop-filter:blur(15px)}
.home-language select{color:#fff;background:#0a2248;border:1px solid rgba(255,255,255,.12)}
.home-hero-v6>.pill{grid-column:2;grid-row:2;align-self:end;justify-self:start;margin-bottom:14px;color:#82dcf5;background:rgba(43,115,246,.15);border:1px solid rgba(91,188,247,.26)}
.home-hero-v6>h1{grid-column:2;grid-row:3;margin:0;max-width:760px;font-size:clamp(46px,5.2vw,86px);line-height:.89;letter-spacing:-4px;color:#fff;position:relative;z-index:2}
.home-hero-v6>h1 span{font-weight:300;color:#d8e7fa}
.home-hero-v6>p{grid-column:2;grid-row:4;margin:20px 0 52px;max-width:620px;font-size:17px;line-height:1.6;color:#c0ccdc;position:relative;z-index:2}
.home-portrait-frame{grid-column:1;grid-row:2/5;width:min(31vw,430px);aspect-ratio:1;border-radius:50%;padding:17px;background:linear-gradient(145deg,var(--ow-blue),var(--ow-cyan));box-shadow:0 28px 90px rgba(37,104,243,.25);position:relative;z-index:2;justify-self:center;align-self:center}
.home-portrait-frame:after{content:"";position:absolute;inset:17px;border:15px solid #071835;border-radius:50%;pointer-events:none}
.home-command-visual{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:50%;box-shadow:none;margin:0}
.home-accent-bar{display:none}
.home-hero-v6>.notice{grid-column:1/-1;grid-row:5;position:relative;z-index:4}
.access-grid{position:relative;z-index:2;width:min(1320px,calc(100% - 48px));margin:-12px auto 76px;padding:26px;display:grid;grid-template-columns:1.25fr repeat(3,minmax(190px,1fr));gap:15px;border:1px solid rgba(104,167,241,.20);border-radius:26px;background:rgba(4,16,37,.94);box-shadow:0 26px 80px rgba(0,0,0,.38);backdrop-filter:blur(18px)}
.access-heading{padding:12px 18px;align-self:center}.access-heading small{color:var(--ow-cyan);font-weight:900;letter-spacing:1.6px}.access-heading h2{margin:7px 0 2px;font-size:28px}.access-heading p{margin:0;font-size:13px}
.access-card{min-height:150px;padding:20px;grid-template-columns:58px 1fr;grid-template-rows:auto auto;gap:3px 14px;border:1px solid rgba(123,172,235,.18);border-radius:20px;background:linear-gradient(145deg,#07182f,#0b2851);box-shadow:none;color:#fff;text-align:left}
.access-card:hover{transform:translateY(-3px);border-color:rgba(104,216,244,.55);box-shadow:0 18px 45px rgba(0,0,0,.24)}
.access-card span{grid-row:1/3;width:58px;height:58px;border-radius:16px;background:linear-gradient(145deg,var(--ow-blue),var(--ow-cyan))!important}
.access-card span img{width:27px;height:27px;filter:brightness(0) invert(1)}
.access-card b{font-size:19px;color:#fff}.access-card small{font-size:12px;color:#aebdd0}
.modal-login{background:rgba(0,4,12,.80);backdrop-filter:blur(14px)}
.modal-box-pro{border:1px solid rgba(107,171,239,.25);border-radius:26px;background:linear-gradient(145deg,#07162c,#0b2347);box-shadow:0 40px 120px rgba(0,0,0,.65);color:#fff}
.modal-box-pro .modal-close{color:#fff;border-color:rgba(255,255,255,.14);background:#0e2b54}.modal-icon{background:linear-gradient(145deg,var(--ow-blue),var(--ow-cyan))}

/* Navegación horizontal y estructura */
.app{display:block;width:100%;min-height:100vh;background:transparent}
.sidebar{position:sticky;inset:auto;top:0;z-index:500;width:100%;height:88px;min-height:88px;padding:0 clamp(20px,3vw,52px);display:flex;align-items:center;gap:24px;overflow:visible;border:0;border-bottom:1px solid rgba(112,162,225,.18);background:rgba(0,5,15,.94);box-shadow:0 12px 42px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.sidebar:before{content:"";display:block;position:absolute;inset:0 0 auto;height:3px;width:100%;background:linear-gradient(90deg,var(--ow-blue),var(--ow-cyan),transparent 78%)}
.sidebar .brand{flex:0 0 auto;width:auto;min-width:205px;min-height:58px;margin:0;padding:6px 10px;display:flex;gap:11px;border:0;border-radius:14px;background:transparent;box-shadow:none}
.sidebar .brandmark{width:48px;height:48px;flex-basis:48px;border:0;border-radius:13px;background:linear-gradient(145deg,var(--ow-blue),var(--ow-cyan))!important;box-shadow:0 10px 30px rgba(37,104,243,.28)}
.sidebar .brandmark img{width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;object-fit:contain;filter:none}
.sidebar .brandmark.company-brand{background:transparent!important;border:0;box-shadow:none}.sidebar .brandmark.company-brand img{padding:0;filter:drop-shadow(0 0 9px rgba(255,255,255,.30))}
.brand-copy{display:grid;align-content:center;line-height:1}.brand-copy strong{font-size:17px;letter-spacing:1.1px}.brand-copy small{margin-top:6px;color:#8fa7c2;font-size:9px;text-transform:uppercase;letter-spacing:1.5px}
.nav-toggle{display:none;margin-left:auto;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0b2347;color:#fff}.nav-toggle span{display:block;width:22px;height:2px;margin:4px 0;background:#fff}.nav-toggle b{display:none}
.nav-groups{min-width:0;flex:1;display:flex;align-items:center;justify-content:flex-end;gap:4px}
.nav-groups>.side,.nav-cluster>summary{min-height:42px;margin:0;padding:9px 13px;display:flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:10px;color:#9eabc0;background:transparent;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;list-style:none}
.nav-cluster>summary::-webkit-details-marker{display:none}.nav-cluster>summary i{font-size:12px;color:#5fcff0}
.nav-groups>.side i{display:none}.nav-groups>.side:hover,.nav-groups>.side.active,.nav-cluster:hover>summary,.nav-cluster[open]>summary,.nav-cluster.active>summary{color:#fff;background:rgba(40,107,245,.13);border-color:rgba(85,164,246,.24);box-shadow:inset 0 -2px var(--ow-cyan)}
.nav-cluster{position:relative}.nav-cluster-menu{display:none;position:absolute;top:calc(100% + 10px);left:50%;min-width:235px;padding:9px;transform:translateX(-50%);border:1px solid rgba(117,169,233,.25);border-radius:15px;background:#071a36;box-shadow:0 24px 60px rgba(0,0,0,.52)}
.nav-cluster:hover>.nav-cluster-menu,.nav-cluster[open]>.nav-cluster-menu{display:grid;gap:3px}
.nav-cluster-menu:before{content:"";position:absolute;left:50%;top:-7px;width:13px;height:13px;transform:translateX(-50%) rotate(45deg);border-left:1px solid rgba(117,169,233,.25);border-top:1px solid rgba(117,169,233,.25);background:#071a36}
.nav-cluster-menu .side{min-height:42px;margin:0;padding:8px 10px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:9px;color:#b3c1d2;background:transparent;font-size:12px}
.nav-cluster-menu .side i{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(58,130,244,.14);color:#71d6f3}
.nav-cluster-menu .side:hover,.nav-cluster-menu .side.active{color:#fff;border-color:rgba(92,163,242,.23);background:linear-gradient(90deg,rgba(38,105,244,.25),rgba(93,213,245,.07));box-shadow:inset 3px 0 var(--ow-cyan)}
.nav-groups>.logout{margin-left:10px!important;color:#ff8d9c!important;border-color:rgba(255,96,119,.18)!important;background:rgba(220,45,70,.10)!important}.nav-groups>.logout i{display:block}
.main,.worker-app .main{display:block;width:100%!important;max-width:100%!important;min-width:0;margin:0!important;padding:20px clamp(16px,3vw,46px) 58px;background:transparent;overflow:visible}
.topbar{position:relative;top:auto;z-index:20;width:min(1480px,100%);max-width:1480px;min-height:64px;height:auto;margin:0 auto 22px;padding:11px 15px;display:flex;border:1px solid var(--ow-line);border-radius:15px;background:rgba(7,24,51,.84);box-shadow:0 12px 36px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.topbar b{font-size:14px}.topbar .muted{color:#8ea1ba}.timezone-badge{color:#b9c9dd;background:#0e2a53;border:1px solid rgba(105,184,239,.16)}
.language-picker{border-color:rgba(113,169,231,.22);background:#0b2348;color:#a9bad0}.language-picker select{color:#fff;background:#071a37;border:0}

/* Encabezados inspirados en las pantallas de referencia */
.page-head,.page-head.hero-dashboard{position:relative;width:min(1480px,100%);max-width:1480px;min-height:230px;margin:0 auto 20px;padding:34px clamp(24px,4vw,58px);display:flex;align-items:center;overflow:hidden;border:1px solid rgba(98,160,232,.17);border-radius:22px;background:linear-gradient(106deg,#000 0%,#030b18 51%,#072858 100%);box-shadow:0 24px 68px rgba(0,0,0,.25);isolation:isolate}
.page-head:before{content:"";position:absolute;left:43%;bottom:27px;width:56%;height:36px;border-radius:999px;background:linear-gradient(90deg,var(--ow-blue),var(--ow-cyan));z-index:-1}
.page-head:after{content:"";display:block;position:absolute;right:-6%;top:42%;width:37%;height:70%;border-radius:50px 0 0 0;background:linear-gradient(135deg,rgba(42,104,246,.82),rgba(103,214,244,.86));z-index:-2}
.page-head>*,.page-head h1,.page-head p{position:relative;z-index:2}.page-head>div{max-width:64%}.page-head h1{margin:9px 0 8px;font-size:clamp(40px,5vw,72px);line-height:.92;letter-spacing:-3px;color:#fff}.page-head p{max-width:700px;color:#aebdd0}.page-head .pill{color:#7ee0fa;border:1px solid rgba(105,216,244,.24);background:rgba(40,107,245,.13)}
.page-head>.btn{align-self:flex-start;margin-left:auto;color:#fff;border-color:rgba(255,255,255,.22);background:rgba(3,12,27,.55)}
.page-head.hero-dashboard{min-height:330px;background-image:linear-gradient(90deg,rgba(0,3,10,.96),rgba(2,16,38,.80),rgba(5,37,83,.62)),url('office-team-dashboard.webp');background-size:cover;background-position:center 44%}
.page-head.hero-dashboard:after{background:linear-gradient(145deg,rgba(41,105,244,.55),rgba(104,215,244,.50))}

/* Contenido, módulos y formularios */
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day{border:1px solid rgba(104,160,225,.20);background:linear-gradient(145deg,rgba(7,25,54,.97),rgba(8,31,66,.95));box-shadow:0 18px 55px rgba(0,0,0,.22)}
.panel{width:min(1480px,100%);max-width:1480px;padding:24px;border-radius:19px}.panel+.panel{margin-top:18px}.panel h2,.panel h3{color:#fff}.panel p{color:#9fb0c5}
.stats{width:min(1480px,100%);max-width:1480px;gap:13px}.stat{position:relative;min-height:130px;padding:20px;border-radius:17px;overflow:hidden}.stat:after{content:"";position:absolute;right:-22px;bottom:-32px;width:105px;height:105px;border-radius:50%;background:linear-gradient(145deg,rgba(42,107,245,.28),rgba(105,216,244,.15))}.stat b{position:relative;z-index:1;color:#73d9f4;font-size:42px}.stat span{position:relative;z-index:1;color:#aab9cb}.stat.warn b{color:#ff95a5}.stat.blue b{color:#6aa7ff}
.module-grid{width:min(1480px,100%);max-width:1480px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module{min-height:205px;padding:22px;border-radius:19px}.module:before{right:-45px;top:-50px;width:150px;height:150px;background:linear-gradient(145deg,rgba(41,105,244,.33),rgba(104,215,244,.13))}.module:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--ow-blue),var(--ow-cyan))}.module h2{color:#fff}.module p{color:#9faec1}.module-ico{color:#fff;background:linear-gradient(145deg,var(--ow-blue),var(--ow-cyan));box-shadow:0 12px 30px rgba(39,105,244,.22)}
.form label,label{color:#adc0d5}.form h3{margin-top:18px}
input,select,textarea{color:#14223a;border:1px solid #cbd8e7;border-radius:10px;background:#fff}input::placeholder,textarea::placeholder{color:#7c8a9d}input:focus,select:focus,textarea:focus{border-color:var(--ow-cyan);box-shadow:0 0 0 3px rgba(104,216,244,.16)}
.btn,button.btn,a.btn{min-height:40px;padding:9px 15px;border-radius:9px;color:#e7effa;border:1px solid rgba(124,168,220,.22);background:#102b55;box-shadow:none}.btn.primary{color:#fff;border:0;background:linear-gradient(90deg,var(--ow-blue),var(--ow-cyan));box-shadow:0 10px 28px rgba(36,104,241,.22)}.btn.blue,.btn.soft{color:#cfefff;border-color:rgba(102,199,244,.25);background:#0d3767}.btn.danger{color:#fff;border:0;background:linear-gradient(90deg,#d63658,#ff7189)}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.notice{width:min(1480px,100%);margin-left:auto;margin-right:auto;color:#d9e5f2;border-color:rgba(113,171,232,.24);background:#0b2348}.notice.ok{color:#bff9db;border-color:rgba(50,214,135,.30);background:#093523}.notice.bad{color:#ffd2d9;border-color:rgba(255,102,125,.32);background:#401326}.notice.warn{color:#ffe8aa;border-color:rgba(255,201,85,.28);background:#3b2c0b}
.table-wrap{border-color:rgba(112,163,222,.18);border-radius:13px;background:#061730}.table-wrap table{color:#dbe6f3}.table-wrap th{color:#8eddf4;background:#0c2a55;border-bottom:1px solid rgba(105,186,238,.20)}.table-wrap td{color:#d3dfed;border-bottom:1px solid rgba(111,156,211,.13);background:#081d3c}.table-wrap tr:hover td{background:#0c2851}.table-wrap td:first-child,.table-wrap td:last-child{border-radius:0}.table-wrap .muted{color:#8fa2ba}
.filters{padding:12px;border:1px solid rgba(105,166,228,.16);border-radius:13px;background:rgba(2,13,30,.48)}
.status.ok{color:#71f0ae;background:rgba(23,181,107,.16)}.status.bad{color:#ff9caf;background:rgba(229,65,92,.16)}.status.warn{color:#ffd06e;background:rgba(229,167,43,.15)}.status.blue{color:#8bdff7;background:rgba(43,139,229,.18)}
.profile-empty,.map-card,.doc-grid>div,.worker-chip,.copy-route{color:#b9c8d9;border-color:rgba(111,165,224,.20);background:#071a37}.profile-photo{border-color:rgba(104,190,239,.28)}.info-list{color:#c8d5e4}.info-list b{color:#75dbf6}
.provider-card,.slip-card-pro{border-radius:17px}.provider-card h3,.slip-card-pro h3{color:#fff}.provider-meta span,.slip-meta span{color:#bccbdb;border-color:rgba(112,162,220,.18);background:#071933}.provider-card.inactive{filter:saturate(.45);opacity:.74}
.calendar-head,.calendar-toolbar{color:#fff}.calendar-day{border-color:rgba(112,160,216,.18);background:#081c3a}.calendar-day.outside{background:#051328}.calendar-day.today,.calendar-day.selected{border-color:#61d5f3;background:#0a2c58;box-shadow:inset 0 0 0 2px rgba(99,214,244,.70)}.calendar-day-head,.day-number small{color:#9badc2}.schedule-chip{color:#162137}.timeline-day>header,.incident-day>header{background:linear-gradient(90deg,#06152f,#0d3970)}.timeline-event{border-color:rgba(112,160,216,.18)}.timeline-event.alert{background:#38172a}.incident-card{border-color:rgba(112,160,216,.18);background:#081b39}
.clock-terminal{color:#fff;border-color:rgba(105,175,235,.24);background:linear-gradient(145deg,#020a17,#071f41);box-shadow:0 28px 90px rgba(0,0,0,.42)}.terminal-top{color:#fff;border-color:rgba(255,255,255,.10)}.camera-box{border-color:rgba(105,188,239,.22);background:#000817}.biometric-form{border-color:rgba(105,183,236,.18);background:#081c3a}.biometric-form label{color:#adbed2}.worker-chip b{color:#fff}.worker-chip span{color:#9fc4e8}
.ow-mega-footer,.trust-footer,.contact-banner{color:#c8d5e4;border-color:rgba(109,163,224,.18);background:linear-gradient(120deg,#000,#06162d 55%,#08285a);box-shadow:none}.ow-mega-footer h2,.ow-mega-footer h3,.ow-mega-footer b{color:#fff}.ow-footer-bottom{border-color:rgba(123,168,219,.18)}.app-contact{width:min(1480px,100%);max-width:1480px}
.global-loader{background:rgba(0,5,14,.84)}.loader-card{border:1px solid rgba(108,180,238,.25);background:#061a38}.loader-ring{border-color:rgba(105,215,244,.22);border-top-color:var(--ow-cyan)}

/* Tableta */
@media(max-width:1180px){
  .sidebar{padding:0 18px;gap:10px}.sidebar .brand{min-width:166px}.brand-copy small{display:none}.nav-groups>.side,.nav-cluster>summary{padding:8px 9px}.nav-groups>.logout span{display:none}
  .access-grid{grid-template-columns:1fr 1fr}.access-heading{grid-column:1/-1}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-head>div{max-width:72%}
}
@media(max-width:900px){
  .home-hero-v6{min-height:780px;padding:28px 28px 54px;grid-template-columns:minmax(250px,.75fr) minmax(340px,1.25fr);column-gap:28px}.home-portrait-frame{width:min(37vw,330px)}.home-hero-v6>h1{font-size:clamp(42px,7vw,66px)}
  .sidebar{height:76px;min-height:76px;justify-content:space-between}.sidebar .brand{min-width:0}.brand-copy{display:none}.nav-toggle{display:block}.nav-groups{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);max-height:calc(100vh - 100px);padding:12px;overflow:auto;align-items:stretch;justify-content:stretch;grid-template-columns:minmax(0,1fr);border:1px solid rgba(105,166,229,.25);border-radius:17px;background:#061731;box-shadow:0 28px 70px rgba(0,0,0,.58)}.sidebar.nav-open .nav-groups{display:grid;gap:6px}.nav-groups>.side,.nav-cluster>summary{width:100%;justify-content:space-between;padding:11px 13px}.nav-groups .side span{display:block}.nav-groups>.side i{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(58,130,244,.18);color:#71d6f3}.nav-groups>.logout{margin:6px 0 0!important}.nav-groups>.logout span{display:block}.nav-cluster{width:100%}.nav-cluster-menu{position:static;min-width:0;margin:5px 0 2px 12px;padding:6px;transform:none;border-radius:12px;box-shadow:none;background:#081f40}.nav-cluster-menu .side{justify-content:flex-start}.nav-cluster-menu:before{display:none}.nav-cluster:hover>.nav-cluster-menu{display:none}.nav-cluster[open]>.nav-cluster-menu{display:grid}
  .main{padding-top:15px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{min-height:210px}.page-head h1{font-size:clamp(38px,7vw,60px)}
}

/* Celular */
@media(max-width:640px){
  body:before{display:none}.portal-home:after{display:none}.home-hero-v6{min-height:auto;padding:20px 18px 48px;display:flex;align-items:flex-start;gap:0}.outwork-home-logo{width:145px}.home-language{position:relative!important;top:auto;right:auto;order:1;align-self:flex-end;margin-top:-42px}.home-hero-v6>.pill{order:3;margin-top:30px}.home-hero-v6>h1{order:4;margin-top:12px;font-size:clamp(43px,14vw,62px);letter-spacing:-3px}.home-hero-v6>p{order:5;margin:18px 0 25px;font-size:15px}.home-portrait-frame{order:6;width:min(82vw,360px);align-self:center;padding:12px}.home-portrait-frame:after{inset:12px;border-width:10px}.home-hero-v6:before{right:-42%;top:46%;width:85%;height:52%;opacity:.55}.home-hero-v6:after{left:22%;bottom:28px;width:94%;height:34px}.access-grid{width:calc(100% - 24px);margin:16px auto 44px;padding:14px;grid-template-columns:1fr}.access-heading{grid-column:auto;padding:9px 6px}.access-card{min-height:112px}.modal-box-pro{padding:24px 18px}
  .sidebar{padding:0 12px}.sidebar .brandmark{width:47px;height:47px;flex-basis:47px}.sidebar .brandmark img{width:41px!important;height:41px!important}.main{padding:12px 10px 34px}.topbar{display:grid;gap:10px;padding:12px}.top-actions{width:100%;max-width:100%;display:flex;justify-content:flex-start}.timezone-badge{display:none}.page-head,.page-head.hero-dashboard{min-height:240px;padding:25px 18px;align-items:flex-start}.page-head>div{max-width:100%}.page-head h1{font-size:clamp(38px,12vw,55px);letter-spacing:-2.5px}.page-head:before{left:16%;bottom:24px;width:96%;height:28px}.page-head:after{right:-36%;top:48%;width:88%;height:70%;opacity:.7}.page-head>.btn{position:absolute;right:14px;bottom:14px;width:auto!important}.panel{padding:16px;border-radius:15px}.stats,.module-grid,.grid.two,.grid.four,.filters,.schedule-fields,.copy-tools,.worker-portal-grid{grid-template-columns:1fr}.module{min-height:155px}.section-row{align-items:flex-start;flex-direction:column}.section-row .filters{width:100%}.btn,button.btn,a.btn{width:auto;min-width:0}.form>.btn,.form-actions>.btn,.filters>.btn,.inline-delete>.btn{width:100%}.inline,.actions-cell,.form-actions{flex-wrap:wrap}.inline input,.inline select{min-width:0;flex:1 1 150px}.table-wrap{border-radius:10px}.clock-terminal{padding:13px}.clock-terminal .bio-layout{grid-template-columns:minmax(0,1fr)}.camera-box{min-width:0}.camera-box canvas,.camera-box video,.camera-placeholder{height:280px}.profile-grid{grid-template-columns:1fr}.contact-banner{width:100%;padding:16px}.ow-mega-footer{border-radius:0}
}

/* ===================== V20 · LIGHTBOX, CONTRASTE Y ALINEACIÓN ===================== */
:root{
  --bio-card-surface:linear-gradient(115deg,rgba(1,7,20,.97),rgba(2,15,34,.92)),url('biometric-cards.webp');
  --bio-header-surface:linear-gradient(100deg,rgba(1,6,18,.96),rgba(2,13,31,.89)),url('biometric-header.webp');
  --bio-menu-surface:linear-gradient(100deg,rgba(1,5,17,.97),rgba(5,9,31,.92)),url('biometric-menu.webp');
  --bio-clock-surface:linear-gradient(105deg,rgba(0,5,16,.97),rgba(1,14,32,.91)),url('biometric-clock.webp');
  --lightbox-border:rgba(98,224,240,.40);
  --lightbox-shadow:0 26px 64px rgba(0,0,0,.42),0 0 0 1px rgba(69,205,230,.08),inset 0 1px 0 rgba(255,255,255,.11),inset 0 0 32px rgba(40,207,227,.045);
  --lightbox-shadow-soft:0 17px 42px rgba(0,0,0,.32),0 0 0 1px rgba(69,205,230,.06),inset 0 1px 0 rgba(255,255,255,.09);
}

/* Profundidad tipo lightbox para cajas principales y tarjetas */
.access-card,.modal-box-pro,.topbar,.page-head,.page-head.hero-dashboard,.ops-banner,.panel,.stat,.module,.provider-card,
.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,
.profile-empty,.map-card,.doc-grid>div,.empty-state,.notice,.loader-card,.clock-terminal,.camera-box,.biometric-form,
.calendar-context>div,.calendar-filters,.table-wrap,.filters,.workflow-card{
  border:1px solid var(--lightbox-border);
  box-shadow:var(--lightbox-shadow);
  backdrop-filter:blur(10px) saturate(.78);
  -webkit-backdrop-filter:blur(10px) saturate(.78);
}

/* Cajas internas: borde luminoso más fino para que no compitan con el contenedor */
.provider-meta span,.slip-meta span,.weekday,.calendar-day,.unit-legend span,.repeat-row,.decision-form,.selfie-proof,.gps-status,
.pay-worker,.info-list,.schedule-chip,.portal-row .status,.calendar-status-legend span{
  border-color:rgba(92,218,237,.32);
  box-shadow:var(--lightbox-shadow-soft);
}

.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,
.portal-row,.worker-chip,.copy-route,.profile-empty,.map-card,.doc-grid>div,.provider-meta span,.slip-meta span,.empty-state,
.notice,.loader-card,.filters,.repeat-row,.decision-form,.table-wrap{
  background-image:var(--bio-card-surface);
  background-position:center;
  background-size:cover;
}

/* La textura acompaña, pero no invade textos, datos ni formularios */
.page-head,.page-head.hero-dashboard,.ops-banner{background-image:var(--bio-header-surface)}
.sidebar,.topbar,.nav-cluster-menu{background-image:var(--bio-menu-surface)}
.route-clock .main,.clock-terminal{background-image:var(--bio-clock-surface)}
.camera-box,.biometric-form,.camera-placeholder{
  background-image:linear-gradient(rgba(0,6,18,.90),rgba(0,7,20,.90)),url('biometric-clock.webp');
  background-position:center;
  background-size:cover;
}
.workflow-card.tone-positive,.workflow-row.tone-positive td,.portal-row.tone-positive{background-image:linear-gradient(90deg,rgba(10,109,72,.42),rgba(1,9,23,.90)),url('biometric-cards.webp')}
.workflow-card.tone-progress,.workflow-row.tone-progress td,.portal-row.tone-progress{background-image:linear-gradient(90deg,rgba(137,99,12,.40),rgba(1,9,23,.90)),url('biometric-cards.webp')}
.workflow-card.tone-negative,.workflow-row.tone-negative td,.portal-row.tone-negative{background-image:linear-gradient(90deg,rgba(137,27,50,.42),rgba(1,9,23,.90)),url('biometric-cards.webp')}
.calendar-day.state-positive{background-image:linear-gradient(rgba(4,72,49,.68),rgba(1,13,27,.90)),url('biometric-cards.webp')}
.calendar-day.state-progress,.calendar-day.selected{background-image:linear-gradient(rgba(104,77,10,.65),rgba(1,13,27,.90)),url('biometric-cards.webp')}
.calendar-day.state-negative{background-image:linear-gradient(rgba(91,19,39,.68),rgba(1,13,27,.90)),url('biometric-cards.webp')}
.calendar-day.state-neutral,.calendar-day.outside{background-image:linear-gradient(rgba(6,39,69,.66),rgba(1,13,27,.90)),url('biometric-cards.webp')}
.weekday.weekend,.calendar-day.day-weekend:not(.selected),.calendar-day.state-neutral.day-weekend:not(.selected){background-image:linear-gradient(rgba(27,19,70,.68),rgba(1,10,27,.91)),url('biometric-cards.webp')}

/* Tipografía separada del fondo */
.panel h1,.panel h2,.panel h3,.module h2,.module h3,.slip-card-pro h3,.provider-card h3,.clock-terminal strong,
.page-head h1,.ops-banner h2{color:#fff;text-shadow:0 3px 16px rgba(0,0,0,.82)}
.panel p,.module p,.muted,.camera-help,.provider-meta,.slip-meta,.portal-row small,.worker-chip span{color:#b9c9da}
label,.biometric-form label{color:#c5d4e4;text-shadow:0 2px 8px rgba(0,0,0,.68)}
.table-wrap th{background:rgba(2,16,36,.72)}.table-wrap td{background:rgba(1,11,27,.58)}

/* Elevación discreta solamente en elementos interactivos */
.access-card,.module,.provider-card,.slip-card-pro,.calendar-day{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}
.access-card:hover,.module:hover,.provider-card:hover,.slip-card-pro:hover,.calendar-day:hover{
  transform:translateY(-3px);
  border-color:rgba(116,239,246,.66);
  box-shadow:0 31px 70px rgba(0,0,0,.46),0 0 26px rgba(49,213,230,.10),inset 0 1px 0 rgba(255,255,255,.13);
}

/* Barra superior: navegación, idioma y zona horaria en un mismo eje visual */
.topbar{align-items:center;justify-content:space-between;min-height:68px}
.topbar>div:first-child{display:grid;align-content:center;min-height:44px;line-height:1.2}
.top-actions{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px}
.language-picker,.timezone-badge{
  min-height:46px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(100,210,235,.28);
  border-radius:13px;
  line-height:1;
}
.language-picker{padding:5px 6px 5px 12px;gap:10px}.language-picker span{display:flex;align-items:center;height:34px}
.language-picker select{height:34px;min-height:34px;margin:0;padding-top:0;padding-bottom:0;text-align:center;text-align-last:center}
.timezone-badge{padding:0 14px;text-align:center;white-space:nowrap}

@media(min-width:901px){
  .nav-groups{transform:none;align-items:center;justify-content:center}
  .nav-groups>.side,.nav-cluster>summary{display:flex;align-items:center;justify-content:center;min-height:44px}
}

@media(max-width:900px){
  .nav-groups{transform:none}
  .topbar{align-items:center}
  .top-actions{justify-content:center;flex-wrap:wrap}
  .language-picker,.timezone-badge{min-height:44px}
}

@media(max-width:640px){
  .topbar{justify-items:center;text-align:center}
  .topbar>div:first-child{width:100%;justify-items:center}
  .top-actions{width:100%;justify-content:center}
  .timezone-badge{display:flex;max-width:100%;white-space:normal}
  .language-picker{max-width:100%}
  .panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.clock-terminal,.camera-box,.biometric-form{box-shadow:0 15px 38px rgba(0,0,0,.38),0 0 0 1px rgba(71,205,229,.07),inset 0 1px 0 rgba(255,255,255,.09)}
}

/* LEGACY V15 DESACTIVADO: reemplazado íntegramente por V16.
:root{--pf-green:#08b56b;--pf-green-dark:#078652;--pf-blue:#1599ce;--pf-navy:#10233f;--pf-bg:#f4f7fa;--pf-border:#dde7eb;--pf-soft:#eaf9f3;--pf-blue-soft:#eaf6fd;--shadow:0 8px 28px rgba(18,55,76,.08);--radius:16px}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{background:var(--pf-bg);color:var(--pf-navy)}.app{display:block;width:100%;max-width:100%;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;min-height:100dvh;height:100dvh;padding:18px 14px;background:#fff;background-image:none;border-right:1px solid var(--pf-border);box-shadow:6px 0 24px rgba(22,57,73,.05);overflow-y:auto;overflow-x:hidden}.sidebar:before{display:none}.sidebar .brand{width:100%;min-height:100px;margin:0 0 18px;padding:12px;background:linear-gradient(145deg,#f8fcfb,#edf8f4);border:1px solid #dcebe6;border-radius:18px;box-shadow:none}.sidebar .brandmark{width:92px;height:72px;flex-basis:92px;background:#fff!important;border:1px solid #e0e8e6;box-shadow:0 7px 20px rgba(26,67,75,.08);border-radius:15px}.sidebar .brandmark img{width:82px!important;height:62px!important;max-width:82px!important;max-height:62px!important}.side{min-height:44px;margin:3px 0;padding:8px 10px;color:#526474;border-radius:11px;font-size:13px;font-weight:800;transition:.15s}.side i{width:28px;height:28px;border-radius:8px;background:#eef4f5;color:#607987;font-size:14px}.side:hover{transform:none;background:#f3f8f7;border-color:#e3ecea;color:var(--pf-navy)}.side.active{background:#e6f8f1;color:#067a4a;border-color:#cdeee0;box-shadow:inset 3px 0 var(--pf-green)}.side.active i{background:var(--pf-green);color:#fff}.side.logout{margin-top:16px;background:#fff4f5;color:#d33e56;border:1px solid #f6dfe3}.main{display:block;width:calc(100% - 264px)!important;max-width:calc(100% - 264px)!important;min-width:0;margin-left:264px!important;padding:18px 26px 36px;overflow:visible}.worker-app .main{width:100%!important;max-width:100%!important;margin-left:0!important}.main>*{min-width:0}.topbar{width:100%;max-width:1500px;height:auto;min-height:68px;margin:0 auto 20px;padding:12px 16px;position:sticky;top:10px;border:1px solid var(--pf-border);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 6px 22px rgba(20,53,69,.06);backdrop-filter:blur(12px)}.top-actions{min-width:0;max-width:65%;justify-content:flex-end}.language-picker{flex:0 0 auto;border-radius:10px}.page-head{position:relative;width:100%;max-width:1500px;min-height:170px;margin:0 auto 18px;padding:28px 30px;align-items:center;overflow:hidden;border:1px solid #dcebe7;border-radius:20px;background:linear-gradient(112deg,#eaf6ff 0%,#f7fbfa 48%,#dff8ed 100%)}.page-head:after{content:"";position:absolute;width:240px;height:240px;right:-55px;top:-95px;border-radius:50%;background:linear-gradient(145deg,rgba(22,160,208,.12),rgba(8,181,107,.18))}.page-head>*,.page-head h1,.page-head p{position:relative;z-index:1}.page-head h1{margin:7px 0 5px;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-2px}.page-head p{max-width:760px;font-size:15px}.page-head.hero-dashboard{max-width:1500px;min-height:260px;padding:34px;color:#fff;border:0;background-image:linear-gradient(90deg,rgba(11,38,60,.91),rgba(12,96,91,.72),rgba(8,181,107,.22)),url('office-team-dashboard.webp')}.page-head.hero-dashboard:after{background:rgba(255,255,255,.08)}.panel{width:100%;max-width:1500px;margin-left:auto;margin-right:auto;padding:22px;border:1px solid var(--pf-border);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.panel+.panel{margin-top:16px}.stats{max-width:1500px;margin-left:auto;margin-right:auto;gap:12px}.stat{border:1px solid var(--pf-border);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(18,55,76,.055)}.module-grid{max-width:1500px;margin-left:auto;margin-right:auto;gap:14px}.module{min-height:170px;padding:20px;border:1px solid var(--pf-border);border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(18,55,76,.055)}.module:hover{transform:translateY(-2px);border-color:#bfe9da;box-shadow:0 12px 30px rgba(18,88,76,.10)}.module-ico{border-radius:12px;background:linear-gradient(145deg,var(--pf-blue-soft),var(--pf-soft))}.btn,button.btn,a.btn{min-height:40px;padding:9px 15px;border-radius:9px;box-shadow:none;font-size:12px}.btn:hover{transform:none;box-shadow:0 5px 14px rgba(16,65,72,.12)}.btn.primary{background:var(--pf-green);color:#fff;box-shadow:none}.btn.primary:hover{background:var(--pf-green-dark)}.btn.blue,.btn.soft{background:#e9f7f2;color:#077b4c;border:1px solid #c9eadf}.btn.ghost{background:#fff;color:#4f6372;border:1px solid var(--pf-border)}input,select,textarea{border:1px solid #d7e2e6;border-radius:10px;background:#fff;box-shadow:none}input:focus,select:focus,textarea:focus{border-color:#27b982;box-shadow:0 0 0 3px rgba(8,181,107,.11);outline:0}label{color:#526474;font-size:11px;letter-spacing:.3px}.table-wrap{width:100%;max-width:100%;overflow:auto;border:1px solid #e2eaed;border-radius:12px}.table-wrap table{width:100%;min-width:780px;border-spacing:0}.table-wrap th{padding:12px;background:#f6f9fa;border-bottom:1px solid #e1e8eb}.table-wrap td{padding:11px;border:0;border-bottom:1px solid #edf1f3;border-radius:0!important}.table-wrap tr:last-child td{border-bottom:0}.calendar-shell{width:100%;max-width:1500px;overflow-x:auto;padding:20px}.month-calendar{width:100%;min-width:900px}.calendar-day{border-radius:12px}.schedule-chip{border-radius:7px}.schedule-editor,.copy-tools{width:100%;max-width:1500px}.copy-card{border-radius:16px}.trust-footer{width:100%;max-width:1500px;margin:30px auto 0;padding:18px 22px;border:1px solid var(--pf-border);border-radius:16px;background:#fff;box-shadow:none}.security-seals img{width:54px;height:54px}.contact-banner,.app-contact{width:100%;max-width:1500px;margin:12px auto 0;border-radius:16px;background:linear-gradient(110deg,#102d45,#0c675f 65%,#08a866);box-shadow:none}.clock-stage{width:min(1120px,100%)!important;max-width:1120px!important;margin:24px auto!important}.clock-terminal{width:100%;margin:0 auto;padding:26px;border:1px solid var(--pf-border);border-radius:24px;background:#fff;box-shadow:0 16px 48px rgba(18,55,76,.11)}.clock-terminal .bio-layout{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:26px;align-items:center}.clock-terminal .camera-box{width:100%;margin:0 auto;border-radius:18px}.terminal-top{color:var(--pf-navy)}.worker-chip{border-radius:14px;background:linear-gradient(115deg,#eaf6ff,#e0f8ed);color:var(--pf-navy)}.portal-home{width:100%;max-width:1440px;padding:22px;gap:20px}.portal-home:before{inset:8px;border-radius:30px}.home-hero-v6{border-radius:24px}.access-card{border:1px solid var(--pf-border);border-radius:18px;box-shadow:0 8px 26px rgba(18,55,76,.08)}.access-card:hover{transform:translateY(-2px);border-color:#bde7d8}.home-trust{width:min(1390px,calc(100% - 44px));max-width:1390px}.contact-banner:not(.app-contact){width:min(1390px,calc(100% - 44px));max-width:1390px}
@media(max-width:1000px){.sidebar{position:sticky;top:0;width:100%;height:auto;min-height:0;padding:9px 12px;display:flex;overflow-x:auto;overflow-y:hidden;background:#fff}.sidebar .brand{width:70px;min-width:70px;min-height:58px;margin:0;padding:4px}.sidebar .brandmark{width:58px;height:48px;flex-basis:58px}.sidebar .brandmark img{width:52px!important;height:42px!important}.side{min-width:max-content}.main,.worker-app .main{width:100%!important;max-width:100%!important;margin-left:0!important;padding:14px 16px 30px}.topbar{top:6px}.clock-stage{width:min(900px,100%)!important}.clock-terminal .bio-layout{grid-template-columns:1fr}.camera-box{max-width:620px}.page-head{min-height:150px}}
@media(max-width:640px){.main{padding:10px 10px 24px}.topbar{display:grid;gap:10px}.top-actions{width:100%;max-width:100%;justify-content:flex-start}.page-head{padding:22px 18px;border-radius:16px}.panel{padding:16px;border-radius:14px}.clock-stage{margin:12px auto!important}.clock-terminal{padding:14px;border-radius:18px}.clock-terminal .bio-layout{grid-template-columns:minmax(0,1fr)}.camera-box{min-width:0}.portal-home{padding:10px}.home-trust,.contact-banner:not(.app-contact){width:calc(100% - 20px)}.contact-banner{padding:16px}}
*/

/* ===================== V17 · AJUSTES DE VISIBILIDAD Y CALENDARIO ===================== */

/* Portada sin superposiciones visuales */
.home-hero-v6{grid-template-columns:minmax(380px,.92fr) minmax(440px,1.08fr);column-gap:clamp(46px,6vw,104px)}
.home-hero-v6:before{right:-7%;top:-12%;width:36%;height:52%;border-radius:0 0 0 70px;background:linear-gradient(135deg,rgba(43,108,245,.34),rgba(103,214,244,.18));opacity:.72}
.home-hero-v6:after{left:52%;bottom:72px;width:43%;height:18px;opacity:.92}
.home-portrait-frame{width:min(38vw,560px);aspect-ratio:4/3;padding:10px;border-radius:38px;background:linear-gradient(135deg,#2a6cf5,#6bdaf3);box-shadow:0 30px 90px rgba(25,92,222,.26);overflow:hidden}
.home-portrait-frame:after{display:none}.home-command-visual{border-radius:29px;object-position:center;transform:none}

/* Accesos claramente diferenciados */
.access-grid{grid-template-columns:1.08fr repeat(3,minmax(240px,1fr));gap:17px}
.access-card{position:relative;min-height:176px;padding:19px;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:1fr auto;gap:12px 15px;align-items:center;overflow:hidden;border-width:1px;text-align:left}
.access-card:before{content:"";position:absolute;inset:auto -35px -55px auto;width:130px;height:130px;border-radius:50%;opacity:.20;background:currentColor}
.access-card.mantenimiento{color:#a99cff;border-color:rgba(151,135,255,.40)}.access-card.empresa{color:#68d9f4;border-color:rgba(78,177,246,.42)}.access-card.trabajador{color:#59e2a4;border-color:rgba(45,201,135,.40)}
.access-card>.access-icon{grid-column:1;grid-row:1/3;width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:21px;background:#071a36!important;box-shadow:0 13px 30px rgba(0,0,0,.22)}
.access-card>.access-icon img{width:58px;height:58px;filter:none}
.access-card>.access-copy{grid-column:2;grid-row:1;display:grid;justify-items:center;align-self:center;gap:3px;width:100%;height:auto;text-align:center;background:transparent!important}
.access-copy em{color:currentColor;font-size:9px;font-style:normal;font-weight:950;letter-spacing:1.4px}.access-card .access-copy b{font-size:20px;color:#fff}.access-card .access-copy small{font-size:11px;line-height:1.35;color:#aebed1}
.access-card>.access-enter{grid-column:2;grid-row:2;width:max-content;height:auto;padding:7px 10px;display:inline-flex;align-items:center;gap:9px;border:1px solid currentColor;border-radius:9px;background:transparent!important;color:currentColor;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.7px}.access-enter i{font-size:15px;font-style:normal}
.access-card:hover{transform:translateY(-4px);filter:brightness(1.10)}.access-card:hover .access-enter{color:#fff;background:rgba(255,255,255,.10)!important}

/* Logo de la empresa: grande, limpio y sin marca OUTWORK a la par */
.sidebar .brand.company-logo-only{width:240px;min-width:240px;min-height:70px;padding:5px 10px;justify-content:flex-start;background:transparent}
.sidebar .brand.company-logo-only .brandmark{width:215px;height:66px;flex-basis:215px;border:0;border-radius:0;background:transparent!important;box-shadow:none}
.sidebar .brand.company-logo-only .brandmark img{width:199px!important;height:58px!important;max-width:199px!important;max-height:58px!important;padding:0!important;object-fit:contain!important;filter:drop-shadow(0 0 9px rgba(255,255,255,.30))}

/* Botones y estados con lectura semántica */
.btn,button.btn,a.btn{font-weight:950;border-width:1px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.btn.primary,button.btn.primary,a.btn.primary{color:#fff;border-color:#27d78b;background:linear-gradient(135deg,#10b86d,#27d78b);box-shadow:0 10px 26px rgba(16,184,109,.24)}
.btn.primary:hover{background:linear-gradient(135deg,#0fa762,#22c77f)}
.btn.blue,button.btn.blue,a.btn.blue,.btn.soft{color:#dff8ff;border-color:rgba(102,216,244,.48);background:linear-gradient(135deg,#10477d,#136395)}
.btn.danger,button.btn.danger,a.btn.danger{color:#fff;border-color:#ff6680;background:linear-gradient(135deg,#d83252,#f35f75)}
.status.ok{color:#72f0ae;border:1px solid rgba(65,224,145,.25);background:rgba(20,184,105,.18)}.status.warn{color:#ffe078;border:1px solid rgba(255,205,70,.25);background:rgba(204,146,15,.18)}.status.bad{color:#ff9aac;border:1px solid rgba(255,98,126,.25);background:rgba(218,48,79,.18)}

/* Calendario operativo de alta visibilidad */
.calendar-head{min-height:205px}.calendar-head .view-switch{padding:6px;border:1px solid rgba(99,189,243,.24);background:rgba(3,18,40,.72);box-shadow:0 12px 34px rgba(0,0,0,.20)}.calendar-head .view-switch .btn{min-width:126px}
.calendar-shell{padding:27px;background:linear-gradient(145deg,#061833,#0a244a)}
.calendar-toolbar{grid-template-columns:62px 1fr 62px;margin-bottom:19px}.calendar-toolbar small{color:#7bdff8;font-size:11px}.calendar-toolbar h2{margin-top:6px;color:#fff;font-size:38px;letter-spacing:-1.4px}.calendar-arrow{width:58px;height:58px;border-radius:17px;color:#06233d;border:1px solid #bff6ff;background:linear-gradient(145deg,#efffff,#bfeff5);box-shadow:0 10px 28px rgba(56,199,224,.18)}
.calendar-context{display:grid;grid-template-columns:.8fr 1.25fr 1.25fr;gap:10px;margin:0 0 13px}.calendar-context>div{min-height:72px;padding:13px 15px;display:grid;align-content:center;gap:5px;border:1px solid rgba(112,174,232,.22);border-radius:14px;background:rgba(3,18,41,.72)}.calendar-context span{color:#7f94af;font-size:9px;font-weight:950;letter-spacing:1.1px;text-transform:uppercase}.calendar-context b{color:#fff;font-size:15px}
.calendar-filters{margin-bottom:10px;padding:11px;border:1px solid rgba(113,177,233,.20);border-radius:15px;background:#04152e}.calendar-filters .btn{min-width:150px}.unit-legend{margin:11px 0 10px}.unit-legend span{color:#d9e6f4;border-color:rgba(107,169,230,.20);background:#0b2a52}
.calendar-status-legend{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.calendar-status-legend span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid transparent;border-radius:999px;color:#dce7f4;font-size:10px;font-weight:900}.calendar-status-legend i{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;color:#fff;font-style:normal}.calendar-status-legend .positive{border-color:rgba(39,214,139,.25);background:rgba(16,184,109,.10)}.calendar-status-legend .positive i{background:#12b86d}.calendar-status-legend .progress{border-color:rgba(255,205,69,.25);background:rgba(217,158,20,.10)}.calendar-status-legend .progress i{color:#3a2a00;background:#ffd148}.calendar-status-legend .negative{border-color:rgba(244,91,116,.25);background:rgba(220,50,80,.10)}.calendar-status-legend .negative i{background:#e13b59}.calendar-status-legend .neutral{border-color:rgba(88,177,245,.25);background:rgba(50,124,226,.10)}.calendar-status-legend .neutral i{background:#347be4}
.month-calendar{grid-template-columns:repeat(7,minmax(145px,1fr));gap:9px;min-width:1080px}.weekday{padding:11px 8px;border-radius:10px;color:#bed0e4;background:#0b2b54;font-size:11px;letter-spacing:1px}.weekday.weekend{color:#d6c8ff;background:#28275b}
.calendar-day{min-height:185px;padding:10px;border-radius:17px;border:1px solid rgba(103,162,224,.24);background:#071c3a;box-shadow:inset 0 1px rgba(255,255,255,.025)}.calendar-day:hover{border-color:#69d8f4;box-shadow:0 12px 28px rgba(0,0,0,.26)}.calendar-day.day-weekend:not(.selected){background:linear-gradient(145deg,#111c43,#191d4a)}
.calendar-day.state-positive{border-color:rgba(35,208,131,.34);background:linear-gradient(145deg,#072a2a,#082d3d)}.calendar-day.state-progress{border-color:rgba(255,207,68,.44);background:linear-gradient(145deg,#30270d,#182642)}.calendar-day.state-negative{border-color:rgba(237,73,102,.35);background:linear-gradient(145deg,#34152a,#17213e)}.calendar-day.state-neutral{border-color:rgba(79,158,239,.28)}.calendar-day.outside{opacity:.40;filter:saturate(.55)}
.calendar-day.today{border-color:#ffd34d;box-shadow:inset 0 0 0 2px rgba(255,211,77,.68),0 10px 26px rgba(0,0,0,.20)}.calendar-day.selected{border-color:#ffd34d;background:linear-gradient(145deg,#42320a,#172a4e);box-shadow:inset 0 0 0 3px #ffd34d,0 15px 32px rgba(0,0,0,.28)}
.day-number{width:100%;padding:0 0 10px;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 10px;align-items:center;color:#fff;text-align:left}.day-number>b{grid-column:1;grid-row:1/3;position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#347be4;box-shadow:0 8px 20px rgba(0,0,0,.20)}.day-number>b strong{font-size:21px}.day-number>b i{position:absolute;right:4px;top:2px;font-size:10px;font-style:normal;font-weight:950}.day-number>small{grid-column:2;grid-row:1;display:grid;gap:2px}.day-number>small strong{color:#fff;font-size:12px;letter-spacing:.8px}.day-number>small span{color:#8fa5bf;font-size:9px}.day-state{grid-column:2;grid-row:2;width:max-content;max-width:100%;padding:4px 7px;border-radius:7px;color:#b9c8d9;background:rgba(255,255,255,.07);font-size:8px;font-style:normal;font-weight:950;text-transform:uppercase;letter-spacing:.55px}.state-selected{display:none}
.state-positive .day-number>b{background:linear-gradient(145deg,#10ad66,#26d58a)}.state-progress .day-number>b{color:#3a2a00;background:linear-gradient(145deg,#ffbf2f,#ffe36b)}.state-progress .day-number>b strong{color:#3a2a00}.state-negative .day-number>b{background:linear-gradient(145deg,#d93052,#f2677c)}.state-neutral .day-number>b{background:linear-gradient(145deg,#286cf4,#51b9f1)}.calendar-day.selected .day-number>b{color:#342700;background:linear-gradient(145deg,#ffbe2c,#ffe36d)}.calendar-day.selected .day-number>b strong{color:#342700}.calendar-day.selected .state-default{display:none}.calendar-day.selected .state-selected{display:inline;color:#ffe276}.calendar-day.selected .day-state{border:1px solid rgba(255,213,76,.34);background:rgba(255,205,52,.10)}
.day-events{gap:6px}.schedule-chip{padding:8px 9px;border:1px solid color-mix(in srgb,var(--unit-color) 42%,transparent);border-left:5px solid var(--unit-color);border-radius:9px;color:#172033;background:color-mix(in srgb,var(--unit-color) 13%,#fff);box-shadow:0 5px 12px rgba(0,0,0,.08)}.schedule-chip strong{font-size:11px}.schedule-chip span{color:#4d5b6d;font-size:9px}.schedule-chip.free{border-color:rgba(40,200,127,.42);border-left-color:#13bd72;background:#e5fff2}.month-calendar.week-view .calendar-day{min-height:430px}

@media(max-width:1180px){.access-grid{grid-template-columns:1fr 1fr}.access-heading{grid-column:1/-1}.sidebar .brand.company-logo-only{width:205px;min-width:205px}.sidebar .brand.company-logo-only .brandmark{width:185px;flex-basis:185px}.sidebar .brand.company-logo-only .brandmark img{width:170px!important;max-width:170px!important}}
@media(max-width:900px){.home-hero-v6{grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr)}.home-portrait-frame{width:min(42vw,430px)}.sidebar .brand.company-logo-only{width:180px;min-width:180px}.sidebar .brand.company-logo-only .brandmark{width:165px;height:58px;flex-basis:165px}.sidebar .brand.company-logo-only .brandmark img{width:152px!important;height:50px!important;max-width:152px!important;max-height:50px!important}.calendar-context{grid-template-columns:1fr 1fr}.calendar-context>div:last-child{grid-column:1/-1}}
@media(max-width:640px){.home-hero-v6{display:flex}.home-portrait-frame{width:100%;aspect-ratio:4/3;border-radius:27px}.home-command-visual{border-radius:20px}.home-hero-v6:before,.home-hero-v6:after{display:none}.access-grid{grid-template-columns:1fr}.access-heading{grid-column:auto}.access-card{width:100%;min-height:142px;grid-template-columns:62px minmax(0,1fr)}.access-card>.access-icon{width:62px;height:62px}.access-card>.access-icon img{width:51px;height:51px}.access-card .access-copy b{font-size:19px}.sidebar .brand.company-logo-only{width:170px;min-width:170px}.sidebar .brand.company-logo-only .brandmark{width:158px;height:54px;flex-basis:158px}.sidebar .brand.company-logo-only .brandmark img{width:146px!important;height:47px!important;max-width:146px!important;max-height:47px!important}.calendar-head .view-switch{width:100%}.calendar-head .view-switch .btn{width:50%}.calendar-shell{padding:14px}.calendar-toolbar{grid-template-columns:48px 1fr 48px}.calendar-arrow{width:46px;height:46px}.calendar-toolbar h2{font-size:27px}.calendar-context{grid-template-columns:1fr}.calendar-context>div:last-child{grid-column:auto}.calendar-status-legend{display:grid;grid-template-columns:1fr 1fr}.calendar-status-legend span{justify-content:flex-start}.month-calendar{min-width:1030px}.calendar-day{min-height:170px}}

/* Semáforo de solicitudes e incidencias */
.workflow-state{display:inline-flex;margin:0 0 8px}.workflow-card,.workflow-row td{transition:background .18s ease,border-color .18s ease}.workflow-card{position:relative;overflow:hidden;border-left:5px solid #3f83e5}.workflow-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#3f83e5}.workflow-card.tone-positive{border-color:rgba(39,214,139,.34);border-left-color:#20cf82;background:linear-gradient(90deg,rgba(17,181,107,.15),#081b39 42%)}.workflow-card.tone-progress{border-color:rgba(255,207,68,.34);border-left-color:#ffd147;background:linear-gradient(90deg,rgba(213,157,19,.15),#081b39 42%)}.workflow-card.tone-negative{border-color:rgba(241,84,111,.34);border-left-color:#ef536f;background:linear-gradient(90deg,rgba(218,51,81,.15),#081b39 42%)}.workflow-card.tone-neutral{border-left-color:#4c91ee}
.workflow-row .workflow-state{display:flex;width:max-content}.workflow-row td:first-child{border-left:5px solid #4c91ee}.workflow-row.tone-positive td{background:linear-gradient(90deg,rgba(16,177,104,.13),#081d3c 38%)}.workflow-row.tone-positive td:first-child{border-left-color:#20cf82}.workflow-row.tone-progress td{background:linear-gradient(90deg,rgba(211,153,17,.13),#081d3c 38%)}.workflow-row.tone-progress td:first-child{border-left-color:#ffd147}.workflow-row.tone-negative td{background:linear-gradient(90deg,rgba(214,49,80,.13),#081d3c 38%)}.workflow-row.tone-negative td:first-child{border-left-color:#ef536f}
.workflow-select{font-weight:950;border-width:2px}.workflow-select.tone-positive{color:#087a49;border-color:#24c97e;background:#e9fff4}.workflow-select.tone-progress{color:#755300;border-color:#e6b62e;background:#fff8d9}.workflow-select.tone-negative{color:#a92440;border-color:#e95d76;background:#fff0f3}.workflow-select.tone-neutral{color:#155a9b;border-color:#66a8eb;background:#eef7ff}
.portal-row{position:relative;padding:13px 14px;border:1px solid rgba(109,165,225,.18);border-left:5px solid #4c91ee;border-radius:12px;background:#081c3a}.portal-row.tone-positive{border-left-color:#20cf82;background:linear-gradient(90deg,rgba(17,181,107,.15),#081c3a 44%)}.portal-row.tone-progress{border-left-color:#ffd147;background:linear-gradient(90deg,rgba(210,153,17,.15),#081c3a 44%)}.portal-row.tone-negative{border-left-color:#ef536f;background:linear-gradient(90deg,rgba(216,50,80,.15),#081c3a 44%)}

/* ===================== V18 · IDENTIDAD BIOMÉTRICA SUMINISTRADA ===================== */

/* Fondo general limpio; las imágenes se concentran en zonas funcionales */
body{background:#010713}

/* Portada y banner principal */
.home-hero-v6{background-image:linear-gradient(90deg,rgba(0,5,18,.98) 0%,rgba(0,10,29,.91) 43%,rgba(2,19,48,.52) 100%),url('biometric-header.webp');background-position:center;background-size:cover;border-color:rgba(75,219,244,.24);box-shadow:0 30px 95px rgba(0,0,0,.48),inset 0 0 0 1px rgba(92,231,248,.08)}
.home-portrait-frame{padding:8px;border:1px solid rgba(81,231,249,.46);background:linear-gradient(135deg,#16dfef,#1779e8 56%,#8855ee);box-shadow:0 28px 85px rgba(0,188,240,.24),0 0 0 9px rgba(15,194,229,.05)}
.home-command-visual{width:100%;height:100%;object-fit:cover;object-position:center}
.home-accent-bar{background:linear-gradient(90deg,#19ebd4,#31b5ff 50%,#a65cff);box-shadow:0 0 26px rgba(44,215,244,.58)}

/* Tarjetas de acceso creadas con la composición biométrica */
.access-card{isolation:isolate;background-color:#06152f;background-image:linear-gradient(105deg,rgba(3,13,33,.98) 0%,rgba(4,19,43,.93) 57%,rgba(4,24,48,.50) 100%),url('biometric-cards.webp');background-repeat:no-repeat;background-size:cover,150% auto;box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04)}
.access-card.mantenimiento{background-position:center,12% 15%}.access-card.empresa{background-position:center,52% 51%}.access-card.trabajador{background-position:center,88% 83%}
.access-card>*{position:relative;z-index:2}.access-card:before{z-index:1;filter:blur(4px)}
.access-card>.access-icon{background:rgba(2,15,35,.80)!important;backdrop-filter:blur(10px)}
.access-card>.access-enter{background:rgba(2,14,32,.72)!important;backdrop-filter:blur(8px)}

/* Ventana de ingreso consistente con los nuevos fondos */
.modal-box-pro{color:#fff;border:1px solid rgba(86,225,245,.32);background-image:linear-gradient(130deg,rgba(2,10,28,.97),rgba(3,24,48,.92)),url('biometric-cards.webp');background-size:cover;background-position:center;box-shadow:0 36px 120px rgba(0,0,0,.62),0 0 50px rgba(21,205,232,.10)}
.modal-box-pro h2,.modal-box-pro label{color:#fff}.modal-box-pro .modal-icon{border:1px solid rgba(86,222,243,.24);background:#08254a}.modal-box-pro .modal-close{color:#fff;border-color:rgba(255,255,255,.18);background:#071a35}

/* Menú tecnológico */
.sidebar{background-color:#030817;background-image:linear-gradient(180deg,rgba(2,8,23,.92),rgba(3,15,39,.88)),url('biometric-menu.webp');background-size:cover;background-position:center 34%;border-right-color:rgba(110,83,237,.28);box-shadow:16px 0 54px rgba(0,0,0,.36)}
.sidebar:before{background:linear-gradient(180deg,rgba(109,65,239,.18),transparent 75%)}
.nav-groups>.side,.nav-cluster>summary{border-color:transparent;background:rgba(4,13,35,.54);backdrop-filter:blur(9px)}
.nav-groups>.side:hover,.nav-groups>.side.active,.nav-cluster.active>summary{border-color:rgba(91,224,244,.32);background:linear-gradient(90deg,rgba(17,181,214,.22),rgba(103,67,232,.17));box-shadow:inset 3px 0 #42e5e0,0 8px 24px rgba(0,0,0,.20)}
.nav-cluster-menu{border-color:rgba(87,215,241,.25);background:rgba(3,16,40,.95)}

/* Encabezados y banners sin los fondos fotográficos anteriores */
.page-head,.page-head.hero-dashboard,.ops-banner{color:#fff;border-color:rgba(76,205,237,.28);background-color:#031127;background-image:linear-gradient(90deg,rgba(1,8,24,.98) 0%,rgba(2,18,42,.90) 48%,rgba(3,27,60,.48) 100%),url('biometric-header.webp');background-size:cover;background-position:center;box-shadow:0 20px 58px rgba(0,0,0,.24)}
.page-head h1,.page-head p,.page-head.hero-dashboard h1,.page-head.hero-dashboard p,.ops-banner h2,.ops-banner p{color:#fff}.page-head p,.ops-banner p{color:#b8cbe0}
.page-head:after{background:radial-gradient(circle,rgba(41,223,238,.20),transparent 66%)}
.page-head .pill,.hero-dashboard .pill{color:#8df4f3;border-color:rgba(83,229,243,.28);background:rgba(8,88,115,.24)}
.recovery-body{background-image:linear-gradient(120deg,rgba(1,8,24,.92),rgba(3,21,48,.94)),url('biometric-header.webp')}

/* Módulos y botones con lenguaje visual biométrico */
.module{isolation:isolate;border-color:rgba(83,178,229,.22);background:linear-gradient(145deg,#061a36,#081f42)}
.module:before{z-index:-1;right:-8px;top:0;width:47%;height:100%;border-radius:0;opacity:.25;background-image:linear-gradient(90deg,rgba(5,23,48,.12),rgba(5,23,48,.72)),url('biometric-cards.webp');background-size:cover;background-position:center}
.module:hover{border-color:rgba(72,229,229,.48);box-shadow:0 18px 44px rgba(0,0,0,.30),0 0 28px rgba(42,211,229,.08)}
.btn.primary,button.btn.primary,a.btn.primary{background:linear-gradient(135deg,#0abf83,#24e2b0);box-shadow:0 10px 28px rgba(19,214,161,.22)}
.btn.blue,button.btn.blue,a.btn.blue,.btn.soft{background:linear-gradient(135deg,#0b4778,#0b7693);border-color:rgba(90,225,241,.50);box-shadow:0 10px 26px rgba(24,170,211,.16)}

/* Reloj biométrico */
.route-clock .main{background-image:linear-gradient(rgba(1,7,19,.82),rgba(1,7,19,.94)),url('biometric-clock.webp');background-size:cover;background-position:center;background-attachment:fixed}
.clock-terminal{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(63,231,230,.34);background-image:linear-gradient(115deg,rgba(0,7,20,.97),rgba(2,20,42,.88)),url('biometric-clock.webp');background-size:cover;background-position:center;box-shadow:0 32px 100px rgba(0,0,0,.54),0 0 45px rgba(26,205,228,.10)}
.clock-terminal:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent,rgba(26,226,215,.045) 49%,transparent 50%);background-size:100% 8px;pointer-events:none}
.terminal-top{color:#eaffff}.scan-dot{background:#28f0cf;box-shadow:0 0 0 8px rgba(40,240,207,.10),0 0 22px rgba(40,240,207,.58)}
.camera-box{background:rgba(0,7,20,.88);backdrop-filter:blur(9px)}.biometric-form{background:rgba(3,18,41,.84);backdrop-filter:blur(12px)}

/* Pie de página con la composición de contacto */
body .ow-mega-footer{border:1px solid rgba(86,203,238,.20);background-color:#020817!important;background-image:linear-gradient(90deg,rgba(1,7,20,.99) 0%,rgba(2,12,29,.96) 42%,rgba(5,16,44,.72) 72%,rgba(5,15,39,.62) 100%),url('biometric-footer.webp')!important;background-size:cover!important;background-position:center 42%!important;box-shadow:0 -18px 54px rgba(0,0,0,.34)!important}
body .ow-footer-top h2{max-width:720px;text-shadow:0 3px 22px rgba(0,0,0,.62)}
body .ow-footer-grid,body .ow-footer-bottom{position:relative;z-index:1}
body .ow-trust-item{border-color:rgba(72,212,235,.16);background:rgba(3,21,45,.82);backdrop-filter:blur(8px)}

@media(max-width:1000px){
  .sidebar{background-image:linear-gradient(90deg,rgba(2,8,23,.96),rgba(7,16,45,.91)),url('biometric-menu.webp');background-position:center 43%}
  .route-clock .main{background-attachment:scroll}
}
@media(max-width:640px){
  .home-hero-v6{background-position:60% center}.home-portrait-frame{box-shadow:0 20px 55px rgba(0,178,225,.20)}
  .access-card{background-size:cover,180% auto}.access-card.mantenimiento{background-position:center,10% 10%}.access-card.empresa{background-position:center,50% 47%}.access-card.trabajador{background-position:center,90% 84%}
  .page-head,.page-head.hero-dashboard,.ops-banner{background-position:58% center}
  .clock-terminal{background-position:center top}
  body .ow-mega-footer{background-position:58% top!important}
}

/* ===================== V19 · LIMPIEZA TOTAL Y FONDOS CENTRADOS ===================== */
:root{
  --bio-card-surface:linear-gradient(115deg,rgba(1,8,22,.92),rgba(3,20,43,.82)),url('biometric-cards.webp');
  --bio-header-surface:linear-gradient(100deg,rgba(1,7,20,.88),rgba(2,15,34,.72)),url('biometric-header.webp');
  --bio-menu-surface:linear-gradient(100deg,rgba(2,6,20,.90),rgba(8,11,38,.78)),url('biometric-menu.webp');
  --bio-clock-surface:linear-gradient(105deg,rgba(0,6,18,.90),rgba(2,17,38,.75)),url('biometric-clock.webp');
}

/* Ninguna figura, franja, círculo o bloque decorativo anterior permanece visible */
body:before,.portal-home:before,.portal-home:after,.home-hero-v6:before,.home-hero-v6:after,.home-portrait-frame,.home-accent-bar,
.access-card:before,.access-card:after,.sidebar:before,.page-head:before,.page-head:after,.stat:before,.stat:after,
.module:before,.module:after,.nav-cluster-menu:before,.clock-terminal:before{content:none!important;display:none!important}

html,body{background-color:#010611;background-image:var(--bio-header-surface);background-repeat:no-repeat;background-size:cover;background-position:center;background-attachment:fixed}
.portal-home,.app{background:transparent!important}

/* Portada: una sola imagen, centrada y sin imagen duplicada */
.home-hero-v6{width:100%;min-height:720px;padding:120px clamp(24px,7vw,120px) 84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;border:0;border-radius:0;background-color:transparent;background-image:var(--bio-header-surface);background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:none}
.outwork-home-logo{position:absolute;top:30px;left:50%;width:min(260px,55vw);height:auto;margin:0;transform:translateX(-50%);object-position:center;justify-self:auto}
.home-language{top:28px;right:clamp(20px,4vw,60px)}
.home-hero-v6>.pill{display:inline-flex;align-self:center;justify-self:auto;margin:0 0 18px;color:#83f4f1;border:1px solid rgba(91,231,239,.38);background:rgba(2,15,35,.34);backdrop-filter:blur(8px)}
.home-hero-v6>h1{max-width:1000px;margin:0;text-align:center;font-size:clamp(54px,6.6vw,104px);line-height:.92;letter-spacing:-4px;text-shadow:0 8px 35px rgba(0,0,0,.65)}
.home-hero-v6>p{max-width:760px;margin:25px auto 0;text-align:center;font-size:18px;color:#d4e4f5;text-shadow:0 3px 18px rgba(0,0,0,.75)}
.home-hero-v6>.notice{width:min(760px,100%);margin:28px auto 0}

/* Accesos: sin caja exterior sólida y con la imagen completa en cada opción */
.access-grid{width:min(1480px,calc(100% - 44px));margin:24px auto 72px;padding:0;grid-template-columns:1.05fr repeat(3,minmax(220px,1fr));gap:18px;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.access-heading{display:grid;align-content:center;text-align:center;padding:20px}.access-heading p{margin-left:auto;margin-right:auto}
.access-card{min-height:190px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;border:1px solid rgba(91,224,237,.30);border-radius:24px;background-color:transparent;background-image:var(--bio-card-surface);background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:0 18px 46px rgba(0,0,0,.24)}
.access-card.mantenimiento,.access-card.empresa,.access-card.trabajador{background-position:center}
.access-card>.access-icon{width:68px;height:68px;display:grid;place-items:center;align-self:center;margin:0 auto;border:0;border-radius:0;background:transparent!important;box-shadow:none;backdrop-filter:none}
.access-card>.access-icon img{width:62px;height:62px;filter:none}.access-card>.access-copy{width:100%;display:grid;justify-items:center;align-self:center;gap:4px;text-align:center}.access-card .access-copy b{font-size:21px;text-align:center}.access-card .access-copy small{text-align:center}
.access-card>.access-enter{width:auto;margin-left:auto;margin-right:auto;padding:8px 13px;align-self:center;border:1px solid currentColor;background:transparent!important;backdrop-filter:none}

/* Ventana de acceso sin emoji ni color sólido */
.modal-box-pro{background-color:transparent;background-image:var(--bio-card-surface);background-repeat:no-repeat;background-size:cover;background-position:center}
.modal-icon{width:76px;height:76px;margin:0 auto 18px;display:grid;place-items:center;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.modal-icon img{width:70px;height:70px;display:block;object-fit:contain}.modal-box-pro h2{text-align:center}.modal-box-pro .modal-close{background:rgba(2,12,29,.40)}

/* Todos los encabezados usan un único fondo centrado, sin bandas ni polígonos */
.page-head,.page-head.hero-dashboard,.ops-banner{min-height:260px;padding:36px clamp(24px,4vw,58px);display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(80,214,237,.30);background-color:transparent;background-image:var(--bio-header-surface);background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:0 20px 58px rgba(0,0,0,.25)}
.page-head.hero-dashboard{min-height:330px}.page-head>div,.ops-banner>div{width:min(900px,100%);max-width:900px;margin:auto;text-align:center}.page-head p,.ops-banner p{margin-left:auto;margin-right:auto}.page-head>.btn{position:absolute;right:24px;top:24px;margin:0;background:rgba(2,12,28,.38)}
.dashboard-company-logo{display:block;width:min(290px,72vw);height:92px;margin:18px auto 14px;padding:0;object-fit:contain;border:0;background:transparent;filter:invert(1) grayscale(1) brightness(2) drop-shadow(0 0 10px rgba(255,255,255,.22));mix-blend-mode:screen}
.page-head .pill,.hero-dashboard .pill{background:rgba(2,15,35,.32)}

/* Paneles, estadísticas, módulos, comprobantes y fichas: imagen completa, nunca un color sólido */
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,
.portal-row,.worker-chip,.copy-route,.profile-empty,.map-card,.doc-grid>div,.provider-meta span,.slip-meta span,.empty-state,.notice,.loader-card{
  border-color:rgba(88,203,231,.24);background-color:transparent;background-image:var(--bio-card-surface);background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:0 16px 44px rgba(0,0,0,.22);text-align:center
}
.panel{background-attachment:local;text-align:center}.panel>.form,.panel>form,.panel .table-wrap,.panel table,.panel .info-list{text-align:left}.panel>h1,.panel>h2,.panel>h3,.panel>p{margin-left:auto;margin-right:auto;text-align:center}.stats{grid-template-columns:repeat(6,minmax(0,1fr))}.stat{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat b,.stat span{position:static;text-align:center}.stat span{max-width:150px}
.module{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.module h2,.module p{text-align:center}.module-ico{width:70px;height:70px;margin:0 auto 14px;border:0;border-radius:0;background:transparent!important;box-shadow:none}.module-ico img{width:58px;height:58px}
.slip-grid{align-items:stretch}.slip-card-pro{background-position:center}.slip-meta span,.provider-meta span{box-shadow:none}.slip-header,.slip-footer{border-color:rgba(93,197,226,.22)}
.empty-state{text-align:center}

/* Formularios y botones conservan legibilidad, pero usan textura biométrica */
.filters,.repeat-row,.decision-form{border-color:rgba(88,197,226,.20);background-color:transparent;background-image:var(--bio-card-surface);background-repeat:no-repeat;background-size:cover;background-position:center}
.btn,button.btn,a.btn{border-color:rgba(97,207,232,.38);background-color:transparent;background-image:linear-gradient(rgba(2,15,35,.62),rgba(2,15,35,.62)),url('biometric-cards.webp');background-size:cover;background-position:center;box-shadow:none}
.btn.primary,button.btn.primary,a.btn.primary{border:1px solid rgba(53,229,170,.60);background-image:linear-gradient(rgba(6,157,111,.76),rgba(13,194,145,.76)),url('biometric-cards.webp')}
.btn.blue,button.btn.blue,a.btn.blue,.btn.soft{border-color:rgba(94,220,241,.54);background-image:linear-gradient(rgba(8,73,118,.76),rgba(7,114,143,.76)),url('biometric-cards.webp')}
.btn.danger,button.btn.danger,a.btn.danger{border:1px solid rgba(255,111,133,.55);background-image:linear-gradient(rgba(178,35,64,.80),rgba(222,64,91,.80)),url('biometric-cards.webp')}

/* Tablas y listados sin bandas sólidas */
.table-wrap{border-color:rgba(88,201,229,.22);background-color:transparent;background-image:var(--bio-card-surface);background-repeat:no-repeat;background-size:cover;background-position:center}
.table-wrap th,.table-wrap td{border-color:rgba(100,187,219,.20);background:rgba(2,13,31,.24)}.table-wrap th{color:#91e5f5}.table-wrap tr:hover td{background:rgba(21,131,165,.18)}
.workflow-card.tone-positive,.workflow-row.tone-positive td,.portal-row.tone-positive{background-image:linear-gradient(90deg,rgba(15,153,98,.28),rgba(1,12,29,.60)),url('biometric-cards.webp');background-size:cover;background-position:center}
.workflow-card.tone-progress,.workflow-row.tone-progress td,.portal-row.tone-progress{background-image:linear-gradient(90deg,rgba(197,141,15,.27),rgba(1,12,29,.60)),url('biometric-cards.webp');background-size:cover;background-position:center}
.workflow-card.tone-negative,.workflow-row.tone-negative td,.portal-row.tone-negative{background-image:linear-gradient(90deg,rgba(190,38,67,.28),rgba(1,12,29,.60)),url('biometric-cards.webp');background-size:cover;background-position:center}

/* Calendario sin casillas azules sólidas; se mantienen únicamente los estados semánticos */
.calendar-shell{background-image:var(--bio-header-surface)}.calendar-context>div,.calendar-filters,.unit-legend span,.weekday,.calendar-day{background-color:transparent;background-image:var(--bio-card-surface);background-repeat:no-repeat;background-size:cover;background-position:center}
.calendar-day.state-positive{background-image:linear-gradient(rgba(5,89,61,.50),rgba(2,21,35,.64)),url('biometric-cards.webp')}.calendar-day.state-progress,.calendar-day.selected{background-image:linear-gradient(rgba(126,94,12,.48),rgba(2,21,35,.64)),url('biometric-cards.webp')}.calendar-day.state-negative{background-image:linear-gradient(rgba(113,25,48,.48),rgba(2,21,35,.64)),url('biometric-cards.webp')}.calendar-day.state-neutral,.calendar-day.outside{background-image:linear-gradient(rgba(8,52,92,.42),rgba(2,21,35,.64)),url('biometric-cards.webp')}
.weekday.weekend,.calendar-day.day-weekend:not(.selected),.calendar-day.state-neutral.day-weekend:not(.selected){background-color:transparent;background-image:linear-gradient(rgba(34,25,82,.42),rgba(2,15,34,.65)),url('biometric-cards.webp');background-size:cover;background-position:center}
.day-number>b,.state-positive .day-number>b,.state-progress .day-number>b,.state-negative .day-number>b,.state-neutral .day-number>b,.calendar-day.selected .day-number>b{background-color:transparent;background-image:linear-gradient(rgba(2,14,32,.32),rgba(2,14,32,.32)),url('biometric-cards.webp');background-size:cover;background-position:center}

/* Reloj biométrico: una sola composición por área y sin líneas añadidas */
.route-clock .main,.clock-terminal{background-color:transparent;background-image:var(--bio-clock-surface);background-repeat:no-repeat;background-size:cover;background-position:center}.camera-box,.biometric-form,.camera-placeholder{background-color:transparent;background-image:linear-gradient(rgba(0,8,22,.74),rgba(0,8,22,.74)),url('biometric-clock.webp');background-size:cover;background-position:center}
.camera-placeholder{align-content:center;gap:14px}.camera-placeholder-icon{width:62px;height:62px;display:block;margin:auto}.camera-placeholder strong{max-width:250px;margin:auto;color:#fff;font-size:22px;line-height:1.15}
.scan-dot{background:#25e5c5}.selfie-proof,.gps-status{background-color:rgba(2,20,39,.30)}

/* Pie de página exclusivamente con el nuevo fondo de contacto */
body .ow-mega-footer,.trust-footer,.contact-banner{background-color:transparent!important;background-image:linear-gradient(90deg,rgba(1,7,20,.92),rgba(2,12,29,.72)),url('biometric-footer.webp')!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important}

@media(max-width:1180px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.access-grid{grid-template-columns:1fr 1fr}.access-heading{grid-column:1/-1}.nav-groups{justify-content:flex-end}}
@media(max-width:900px){
  .home-hero-v6{min-height:680px;padding:120px 28px 70px;background-position:center}.sidebar{background-position:center}.nav-groups{background-color:transparent;background-image:var(--bio-menu-surface);background-size:cover;background-position:center}.nav-cluster-menu{position:static!important;inset:auto!important;width:auto!important;max-height:none;margin:5px 0 2px 12px!important;padding:10px!important;overflow:visible;transform:none!important;background-color:#f4f8fc!important;background-image:none!important}.nav-cluster-menu .side{min-height:62px!important}
  .page-head,.page-head.hero-dashboard,.ops-banner{background-position:center}.page-head>.btn{position:static;margin:18px auto 0}.page-head{display:grid}.page-head>div{max-width:100%}
}
@media(max-width:640px){
  html,body{background-attachment:scroll}.home-hero-v6{min-height:640px;padding:118px 18px 58px;align-items:center;text-align:center}.outwork-home-logo{top:22px;width:185px}.home-language{position:absolute!important;top:78px;right:50%;margin:0;transform:translateX(50%)}.home-hero-v6>.pill{margin-top:0}.home-hero-v6>h1{font-size:clamp(44px,14vw,62px);letter-spacing:-3px}.home-hero-v6>p{font-size:15px}
  .access-grid{width:calc(100% - 24px);grid-template-columns:1fr}.access-heading{grid-column:auto}.access-card{min-height:180px}
  .stats,.module-grid{grid-template-columns:1fr}.stat,.module{min-height:165px}.page-head,.page-head.hero-dashboard,.ops-banner{min-height:280px;padding:28px 18px;background-position:center}.page-head>.btn{width:100%!important}.modal-box-pro{background-position:center}
  .panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.table-wrap{background-position:center}
  body .ow-mega-footer{background-position:center!important}
}

/* V20 FINAL · debe permanecer al final de la cascada */
:root{--bio-card-surface:linear-gradient(115deg,rgba(1,7,20,.97),rgba(2,15,34,.92)),url('biometric-cards.webp');--bio-header-surface:linear-gradient(100deg,rgba(1,6,18,.96),rgba(2,13,31,.89)),url('biometric-header.webp');--bio-menu-surface:linear-gradient(100deg,rgba(1,5,17,.97),rgba(5,9,31,.92)),url('biometric-menu.webp');--bio-clock-surface:linear-gradient(105deg,rgba(0,5,16,.97),rgba(1,14,32,.91)),url('biometric-clock.webp');--lightbox-border:rgba(98,224,240,.40);--lightbox-shadow:0 26px 64px rgba(0,0,0,.42),0 0 0 1px rgba(69,205,230,.08),inset 0 1px 0 rgba(255,255,255,.11),inset 0 0 32px rgba(40,207,227,.045);--lightbox-shadow-soft:0 17px 42px rgba(0,0,0,.32),0 0 0 1px rgba(69,205,230,.06),inset 0 1px 0 rgba(255,255,255,.09)}
.access-card,.modal-box-pro,.topbar,.page-head,.page-head.hero-dashboard,.ops-banner,.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,.profile-empty,.map-card,.doc-grid>div,.empty-state,.notice,.loader-card,.clock-terminal,.camera-box,.biometric-form,.calendar-context>div,.calendar-filters,.table-wrap,.filters,.workflow-card{border:1px solid var(--lightbox-border);box-shadow:var(--lightbox-shadow);backdrop-filter:blur(10px) saturate(.78);-webkit-backdrop-filter:blur(10px) saturate(.78)}
.provider-meta span,.slip-meta span,.weekday,.calendar-day,.unit-legend span,.repeat-row,.decision-form,.selfie-proof,.gps-status,.pay-worker,.info-list,.schedule-chip,.portal-row .status,.calendar-status-legend span{border-color:rgba(92,218,237,.32);box-shadow:var(--lightbox-shadow-soft)}
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,.profile-empty,.map-card,.doc-grid>div,.provider-meta span,.slip-meta span,.empty-state,.notice,.loader-card,.filters,.repeat-row,.decision-form,.table-wrap{background-image:var(--bio-card-surface);background-position:center;background-size:cover}
.page-head,.page-head.hero-dashboard,.ops-banner{background-image:var(--bio-header-surface)}.sidebar,.topbar{background-image:var(--bio-menu-surface)}.route-clock .main,.clock-terminal{background-image:var(--bio-clock-surface)}
.camera-box,.biometric-form,.camera-placeholder{background-image:linear-gradient(rgba(0,6,18,.90),rgba(0,7,20,.90)),url('biometric-clock.webp');background-position:center;background-size:cover}
.workflow-card.tone-positive,.workflow-row.tone-positive td,.portal-row.tone-positive{background-image:linear-gradient(90deg,rgba(10,109,72,.42),rgba(1,9,23,.90)),url('biometric-cards.webp')}.workflow-card.tone-progress,.workflow-row.tone-progress td,.portal-row.tone-progress{background-image:linear-gradient(90deg,rgba(137,99,12,.40),rgba(1,9,23,.90)),url('biometric-cards.webp')}.workflow-card.tone-negative,.workflow-row.tone-negative td,.portal-row.tone-negative{background-image:linear-gradient(90deg,rgba(137,27,50,.42),rgba(1,9,23,.90)),url('biometric-cards.webp')}
.calendar-day.state-positive{background-image:linear-gradient(rgba(4,72,49,.68),rgba(1,13,27,.90)),url('biometric-cards.webp')}.calendar-day.state-progress,.calendar-day.selected{background-image:linear-gradient(rgba(104,77,10,.65),rgba(1,13,27,.90)),url('biometric-cards.webp')}.calendar-day.state-negative{background-image:linear-gradient(rgba(91,19,39,.68),rgba(1,13,27,.90)),url('biometric-cards.webp')}.calendar-day.state-neutral,.calendar-day.outside{background-image:linear-gradient(rgba(6,39,69,.66),rgba(1,13,27,.90)),url('biometric-cards.webp')}.weekday.weekend,.calendar-day.day-weekend:not(.selected),.calendar-day.state-neutral.day-weekend:not(.selected){background-image:linear-gradient(rgba(27,19,70,.68),rgba(1,10,27,.91)),url('biometric-cards.webp')}
.panel h1,.panel h2,.panel h3,.module h2,.module h3,.slip-card-pro h3,.provider-card h3,.clock-terminal strong,.page-head h1,.ops-banner h2{color:#fff;text-shadow:0 3px 16px rgba(0,0,0,.82)}.panel p,.module p,.muted,.camera-help,.provider-meta,.slip-meta,.portal-row small,.worker-chip span{color:#b9c9da}label,.biometric-form label{color:#c5d4e4;text-shadow:0 2px 8px rgba(0,0,0,.68)}.table-wrap th{background:rgba(2,16,36,.72)}.table-wrap td{background:rgba(1,11,27,.58)}
.access-card,.module,.provider-card,.slip-card-pro,.calendar-day{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.access-card:hover,.module:hover,.provider-card:hover,.slip-card-pro:hover,.calendar-day:hover{transform:translateY(-3px);border-color:rgba(116,239,246,.66);box-shadow:0 31px 70px rgba(0,0,0,.46),0 0 26px rgba(49,213,230,.10),inset 0 1px 0 rgba(255,255,255,.13)}
.topbar{align-items:center;justify-content:center;gap:clamp(18px,6vw,70px);min-height:68px}.topbar>div:first-of-type{display:grid;align-content:center;justify-items:center;min-height:44px;line-height:1.2;text-align:center}.top-actions{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px}.language-picker,.timezone-badge{min-height:46px;margin:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(100,210,235,.28);border-radius:13px;line-height:1}.language-picker{padding:5px 6px 5px 12px;gap:10px}.language-picker span{display:flex;align-items:center;height:34px}.language-picker select{height:34px;min-height:34px;margin:0;padding-top:0;padding-bottom:0;text-align:center;text-align-last:center}.timezone-badge{padding:0 14px;text-align:center;white-space:nowrap}
/* ===================== V21 · BOXES SÓLIDOS TRANSPARENTES Y CALENDARIO LIMPIO ===================== */
:root{
  --box-solid:rgba(3,15,34,.88);
  --box-solid-strong:rgba(2,11,27,.94);
  --box-solid-soft:rgba(7,25,49,.80);
  --box-line:rgba(91,211,231,.34);
}

/* Las imágenes permanecen únicamente en el fondo general; cada box usa un plano sólido translúcido */
.access-card,.modal-box-pro,.topbar,.page-head,.page-head.hero-dashboard,.ops-banner,.panel,.stat,.module,.provider-card,
.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,
.profile-empty,.map-card,.doc-grid>div,.empty-state,.notice,.loader-card,.clock-terminal,.camera-box,.biometric-form,
.calendar-context>div,.calendar-filters,.table-wrap,.filters,.workflow-card,.repeat-row,.decision-form,.provider-meta span,
.slip-meta span,.selfie-proof,.gps-status,.info-list,.pay-worker{
  background-color:var(--box-solid);
  background-image:none!important;
  border-color:var(--box-line);
}
.modal-box-pro,.clock-terminal,.loader-card{background-color:var(--box-solid-strong)}
.camera-box,.biometric-form{background-color:rgba(1,10,25,.91)}
.camera-placeholder{background-color:rgba(4,22,42,.88);background-image:none!important}
.topbar,.page-head,.page-head.hero-dashboard,.ops-banner{background-color:rgba(2,12,29,.87)}
.table-wrap th{background:rgba(8,35,64,.90)}
.table-wrap td,.workflow-row td{background-color:rgba(3,19,39,.82);background-image:none!important}
.btn,button.btn,a.btn{background-image:none!important;background-color:rgba(8,42,73,.92)}
.btn.primary,button.btn.primary,a.btn.primary{background-image:none!important;background-color:#0eae76}
.btn.blue,button.btn.blue,a.btn.blue,.btn.soft{background-image:none!important;background-color:rgba(8,91,126,.92)}
.btn.danger,button.btn.danger,a.btn.danger{background-image:none!important;background-color:#cf3654}

/* Estados de solicitudes e incidencias: color funcional sobre superficies limpias */
.workflow-card.tone-positive,.portal-row.tone-positive,.workflow-row.tone-positive td{background-color:rgba(6,63,47,.84);background-image:none!important}
.workflow-card.tone-progress,.portal-row.tone-progress,.workflow-row.tone-progress td{background-color:rgba(74,57,14,.86);background-image:none!important}
.workflow-card.tone-negative,.portal-row.tone-negative,.workflow-row.tone-negative td{background-color:rgba(68,20,35,.86);background-image:none!important}
.workflow-card.tone-neutral,.portal-row.tone-neutral,.workflow-row.tone-neutral td{background-color:rgba(6,31,58,.86);background-image:none!important}

/* Encabezado de Horarios: título y controles centrados en una sola columna */
.page-head.calendar-head{
  min-height:300px;
  padding:34px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.page-head.calendar-head>div{width:min(760px,100%);max-width:760px;display:flex;flex-direction:column;align-items:center;text-align:center}
.calendar-head .pill{margin:0 auto 12px}
.calendar-head h1{margin:0;text-align:center}
.calendar-head .view-switch{width:auto;min-width:334px;margin:18px auto 0;padding:6px;display:flex;justify-content:center;gap:8px;border:1px solid rgba(90,213,235,.30);border-radius:16px;background:rgba(1,12,29,.78);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.calendar-head .view-switch .btn{min-width:150px;justify-content:center;text-align:center}
.calendar-head p{margin:18px auto 0;max-width:700px;text-align:center;color:#b9c9da}

/* Calendario: casillas sólidas, estados claros y contenido alineado */
.calendar-shell{background-color:rgba(1,10,25,.91);background-image:none!important;border-radius:24px}
.calendar-context>div,.calendar-filters,.unit-legend span,.weekday,.calendar-day{background-image:none!important}
.calendar-context>div,.calendar-filters{background-color:rgba(5,22,43,.88)}
.unit-legend span{background-color:rgba(7,28,51,.86)}
.weekday{display:grid;place-items:center;min-height:42px;color:#c8d6e6;background-color:rgba(8,31,58,.88)}
.weekday.weekend{color:#ddd4ff;background-color:rgba(35,27,74,.86)}
.calendar-day{background-color:rgba(5,24,47,.90);background-image:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 13px 28px rgba(0,0,0,.22)}
.calendar-day.state-positive{background-color:rgba(5,62,46,.86);background-image:none!important;border-color:rgba(42,211,137,.42)}
.calendar-day.state-progress{background-color:rgba(78,61,14,.88);background-image:none!important;border-color:rgba(255,210,70,.48)}
.calendar-day.state-negative{background-color:rgba(70,21,38,.87);background-image:none!important;border-color:rgba(239,82,109,.40)}
.calendar-day.state-neutral{background-color:rgba(5,28,54,.89);background-image:none!important;border-color:rgba(82,171,235,.34)}
.calendar-day.day-weekend:not(.selected),.calendar-day.state-neutral.day-weekend:not(.selected){background-color:rgba(25,25,63,.88);background-image:none!important}
.calendar-day.outside{background-color:rgba(4,16,32,.76);background-image:none!important;opacity:.48}
.calendar-day.selected{background-color:rgba(82,64,15,.92);background-image:none!important;border-color:#ffd34d;box-shadow:inset 0 0 0 3px #ffd34d,0 15px 32px rgba(0,0,0,.30)}
.day-number{align-items:center;text-align:left}
.day-number>b,.state-positive .day-number>b,.state-progress .day-number>b,.state-negative .day-number>b,.state-neutral .day-number>b,.calendar-day.selected .day-number>b{background-image:none!important}
.state-positive .day-number>b{background-color:#16b875}.state-progress .day-number>b{background-color:#ffd34d}.state-negative .day-number>b{background-color:#df405d}.state-neutral .day-number>b{background-color:#3685dc}.calendar-day.selected .day-number>b{background-color:#ffd34d}
.day-state{background:rgba(1,9,22,.42);border:1px solid rgba(255,255,255,.08)}
.schedule-chip{color:#f5fbff;background:color-mix(in srgb,var(--unit-color) 24%,rgba(3,18,36,.94));box-shadow:0 7px 16px rgba(0,0,0,.20)}
.schedule-chip span{color:#c7d5e4}.schedule-chip.free{color:#dff8eb;background:rgba(8,64,48,.88)}

@media(max-width:640px){
  .page-head.calendar-head{min-height:290px;padding:28px 16px;align-items:center}
  .page-head.calendar-head>div{width:100%;align-items:center}
  .calendar-head .view-switch{width:100%;min-width:0;max-width:360px}
  .calendar-head .view-switch .btn{width:50%;min-width:0}
  .calendar-head p{font-size:14px}
}

/* ===================== V22 · CLARIDAD Y PERMISOS GRANULARES ===================== */
:root{
  --box-solid:rgba(10,34,59,.91);
  --box-solid-strong:rgba(7,27,50,.96);
  --box-solid-soft:rgba(13,42,70,.88);
  --box-line:rgba(107,222,238,.46);
}
body{color:#f4f9ff}
.topbar,.page-head,.page-head.hero-dashboard,.ops-banner{background-color:rgba(9,31,55,.92)}
.panel p,.module p,.permission-intro,.muted,.camera-help,.provider-meta,.slip-meta,.portal-row small,.worker-chip span{color:#c8d7e6}
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,.profile-empty,.map-card,.doc-grid>div,.empty-state,.notice,.table-wrap,.filters,.workflow-card{background-color:var(--box-solid)}
.table-wrap th{background:rgba(17,52,84,.96);color:#dff7ff}.table-wrap td,.workflow-row td{background-color:rgba(10,35,61,.90);color:#eef7ff}
input,select,textarea{background:#f7f9fc;color:#17243a;border-color:#cbd9e4}input::placeholder,textarea::placeholder{color:#6d7d91}
.btn,button.btn,a.btn,.access-enter{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
.actions-cell .btn,.form-actions .btn{justify-content:center;text-align:center}.access-card>.access-enter{justify-content:center;text-align:center}
.role-summary{display:grid;justify-items:start;gap:5px;min-width:155px}.role-summary b{color:#fff}.role-summary small{color:#b8cadb}.role-summary .btn{margin-top:4px;min-width:118px}
.permission-intro{margin:4px 0 18px;line-height:1.55}
.permission-launch{min-width:230px}
body.permission-modal-open{overflow:hidden}
.permission-lightbox{position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,5,15,.76);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.permission-lightbox.show{display:flex}
.permission-dialog{position:relative;width:min(960px,100%);max-height:calc(100dvh - 48px);padding:30px;overflow:auto;border:1px solid rgba(108,229,241,.56);border-radius:25px;background:rgba(8,30,54,.98);box-shadow:0 34px 100px rgba(0,0,0,.68),0 0 40px rgba(45,208,229,.10),inset 0 1px rgba(255,255,255,.10);color:#fff}
.permission-dialog>h2{margin:11px 52px 4px 0;color:#fff;font-size:clamp(27px,4vw,38px)}.permission-dialog>p{margin:0 52px 20px 0;color:#c4d4e4;line-height:1.55}.permission-dialog>select{margin:7px 0 18px}
.permission-close{position:absolute;right:20px;top:20px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(121,217,235,.38);border-radius:50%;background:rgba(15,51,82,.94);color:#fff;font-size:27px;line-height:1;cursor:pointer}
.permission-checklist{display:grid;border:1px solid rgba(98,205,226,.34);border-radius:18px;overflow:hidden;background:rgba(4,19,38,.72)}
.permission-check-head,.permission-check-row{display:grid;grid-template-columns:minmax(260px,1fr) 120px 120px;align-items:stretch}
.permission-check-head{min-height:45px;background:rgba(18,62,94,.94);color:#dffaff;font-size:11px;font-weight:950;letter-spacing:.7px;text-transform:uppercase}.permission-check-head>span{display:grid;place-items:center;padding:10px}.permission-check-head>span:first-child{place-items:center start;padding-left:18px}
.permission-check-row{min-height:68px;border-top:1px solid rgba(102,205,226,.18);background:rgba(10,38,65,.80)}.permission-check-row:nth-child(odd){background:rgba(13,45,74,.82)}
.permission-area-label{min-width:0;padding:12px 18px;display:grid;align-content:center;gap:3px;cursor:pointer}.permission-area-label b{color:#fff;font-size:14px}.permission-area-label small{color:#afc4d7;font-size:11px;line-height:1.35}
.permission-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;border-left:1px solid rgba(102,205,226,.18);color:#dff8ff;cursor:pointer}.permission-choice input{width:22px;height:22px;margin:0;accent-color:#10c785}.permission-choice span{font-size:10px;font-weight:900;text-transform:uppercase}.permission-choice:has(input:checked){background:rgba(14,174,118,.16);color:#8ff1c7}.permission-unavailable{display:grid;place-items:center;border-left:1px solid rgba(102,205,226,.18);color:#70879b}
.permission-lightbox.is-admin .permission-checklist{opacity:.72}.permission-lightbox.is-admin .permission-dialog:after{content:"El rol Administrador conserva acceso completo para evitar bloqueos del sistema.";display:block;margin-top:13px;padding:11px 14px;border:1px solid rgba(64,206,150,.34);border-radius:11px;background:rgba(8,104,72,.22);color:#bff7dd;font-size:12px;font-weight:800}
.permission-actions{position:sticky;bottom:-30px;margin:22px -30px -30px;padding:17px 30px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid rgba(103,210,231,.26);background:rgba(7,27,50,.98)}

/* Portada: logo e idioma mantienen una zona propia y no se superponen */
.home-language{min-width:245px}.home-language select{flex:1;text-align:center;text-align-last:center}.outwork-home-logo{z-index:7}
.access-heading,.access-card,.access-copy,.access-copy small{text-align:center}.access-card>.access-copy{justify-items:center}.access-card>.access-enter{margin-left:auto;margin-right:auto}

@media(max-width:760px){
  .home-hero-v6{min-height:700px;padding:205px 20px 62px;align-items:center;text-align:center}
  .outwork-home-logo{top:25px;width:220px;max-width:66vw}
  .home-language{position:absolute!important;top:112px;right:50%;width:min(350px,calc(100% - 36px));min-width:0;margin:0;transform:translateX(50%);padding:8px 10px 8px 14px}
  .home-language span{display:flex}.home-language select{min-width:0;width:100%;height:40px}
  .home-hero-v6>.pill{margin-top:0}.home-hero-v6>h1{margin-top:18px}.home-hero-v6>p{max-width:360px;line-height:1.65}
  .access-grid{padding:18px}.access-heading{padding:15px 8px 18px}.access-card{padding:26px 20px;gap:10px;min-height:205px}.access-card>.access-enter{min-width:150px}
}
@media(max-width:640px){
  .permission-lightbox{padding:10px}.permission-dialog{max-height:calc(100dvh - 20px);padding:22px 14px;border-radius:19px}.permission-dialog>h2{margin-right:43px}.permission-dialog>p{margin-right:0}
  .permission-close{right:13px;top:13px;width:38px;height:38px}
  .permission-check-head,.permission-check-row{grid-template-columns:minmax(150px,1fr) 67px 67px}.permission-check-head>span{padding:8px 3px;font-size:9px}.permission-check-head>span:first-child{padding-left:11px}
  .permission-area-label{padding:10px}.permission-area-label b{font-size:12px}.permission-area-label small{font-size:9px}.permission-choice input{width:20px;height:20px}.permission-choice span{font-size:8px}
  .permission-actions{bottom:-22px;margin:18px -14px -22px;padding:13px 14px;display:grid;grid-template-columns:1fr}.permission-actions .btn{width:100%}
  .permission-launch{width:100%;min-width:0}.role-summary{justify-items:stretch;text-align:center}.role-summary .btn{width:100%}
}

/* ===================== V23 · CORRECCIÓN VISIBLE MÓVIL Y FOOTER DEL LIGHTBOX ===================== */
:root{
  --box-solid:rgba(15,46,76,.94);
  --box-solid-strong:rgba(10,34,62,.98);
  --box-solid-soft:rgba(19,55,87,.92);
  --box-line:rgba(112,231,242,.58);
}
html,body{background-color:#081a2d}
.main{color:#f7fbff}
.topbar,.page-head,.page-head.hero-dashboard,.ops-banner{background-color:rgba(12,40,69,.95);border-color:rgba(112,231,242,.50)}
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,.profile-empty,.map-card,.doc-grid>div,.empty-state,.notice,.table-wrap,.filters,.workflow-card{background-color:rgba(13,42,71,.94)}
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell{box-shadow:0 18px 44px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.08)}
.panel p,.module p,.permission-intro,.muted,.camera-help,.portal-row small{color:#d5e2ee}
.table-wrap th{background:#174a76;color:#effcff}.table-wrap td,.workflow-row td{background:#0e355a;color:#f5faff}
.btn,button.btn,a.btn{min-height:44px;padding:10px 17px;font-size:12px;font-weight:900;letter-spacing:.15px}
.btn.primary,button.btn.primary,a.btn.primary{background-color:#0bc686;box-shadow:0 8px 22px rgba(11,198,134,.22)}
.btn.blue,button.btn.blue,a.btn.blue,.btn.soft{background-color:#117aa5;border-color:#35bee0;color:#fff}

/* El diálogo tiene tres zonas: encabezado fijo, checklist desplazable y botones siempre visibles. */
.permission-lightbox{padding:12px;background:rgba(0,6,18,.84)}
.permission-dialog{
  width:min(960px,100%);
  height:min(880px,calc(100dvh - 24px));
  max-height:calc(100dvh - 24px);
  padding:24px 24px 0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-width:2px;
  background:#0b2a49;
}
.permission-dialog>.pill,.permission-dialog>h2,.permission-dialog>p,.permission-dialog>label,.permission-dialog>select{flex:0 0 auto}
.permission-dialog>.permission-checklist{flex:1 1 auto;min-height:150px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.permission-check-head{position:sticky;top:0;z-index:4;background:#1a5b86}
.permission-actions{
  position:static;
  z-index:8;
  flex:0 0 auto;
  bottom:auto;
  margin:0 -24px;
  padding:14px 24px calc(14px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:minmax(130px,.55fr) minmax(220px,1fr);
  justify-content:end;
  gap:12px;
  border-top:2px solid rgba(104,222,239,.44);
  background:#081f3a;
  box-shadow:0 -12px 32px rgba(0,0,0,.34);
}
.permission-actions .btn{width:100%;min-height:48px;font-size:13px}
.permission-actions .btn.ghost{background:#173d61;color:#eef8ff;border-color:#5f8eae}
.permission-actions .btn.primary{background:#09c985;color:#fff;border-color:#65f1be}
.permission-lightbox.is-admin .permission-dialog:after{display:none}

/* Portada móvil/tableta: logo, idioma y contenido ocupan franjas separadas. */
.access-card{background-color:#0c3153!important;border-width:2px;box-shadow:0 16px 38px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07)}
.access-card.mantenimiento{border-color:rgba(169,156,255,.62)}.access-card.empresa{border-color:rgba(104,217,244,.68)}.access-card.trabajador{border-color:rgba(89,226,164,.66)}
.access-card>.access-enter{min-width:154px;min-height:42px;background:#071d36!important;justify-content:center}
.access-heading{padding-top:24px;padding-bottom:24px}.access-heading h2{margin-top:8px;margin-bottom:8px}

@media(max-width:900px){
  .home-hero-v6{min-height:620px;padding:215px 22px 48px;justify-content:flex-start;align-items:center;text-align:center}
  .outwork-home-logo{top:26px;width:205px;max-width:62vw}
  .home-language{position:absolute!important;top:124px;right:50%;width:min(360px,calc(100% - 32px));min-width:0;margin:0;transform:translateX(50%);padding:8px 11px 8px 15px;border-width:2px}
  .home-language span{display:flex}.home-language select{min-width:0;width:100%;height:42px}
  .home-hero-v6>.pill{margin:0 0 16px}.home-hero-v6>h1{margin:0;font-size:clamp(44px,12vw,68px);line-height:.94}.home-hero-v6>p{max-width:520px;margin-top:22px;line-height:1.6}
}
@media(max-width:640px){
  .permission-lightbox{padding:6px}.permission-dialog{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);padding:18px 12px 0;border-radius:17px}
  .permission-dialog>h2{margin:7px 42px 3px 0;font-size:25px}.permission-dialog>p{margin:0 0 11px;font-size:11px;line-height:1.4}.permission-dialog>select{margin:5px 0 10px;min-height:40px}
  .permission-close{right:10px;top:10px}
  .permission-check-head,.permission-check-row{grid-template-columns:minmax(128px,1fr) 64px 64px}.permission-check-row{min-height:60px}
  .permission-area-label{padding:8px}.permission-area-label small{display:none}.permission-choice input{width:23px;height:23px}
  .permission-actions{margin:0 -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr 1.35fr;gap:8px}
  .permission-actions .btn{min-height:48px;padding:8px 6px;font-size:11px}
  .home-hero-v6{min-height:600px;padding:214px 18px 42px}.outwork-home-logo{top:28px;width:196px}.home-language{top:124px;width:calc(100% - 28px)}
  .home-hero-v6>.pill{font-size:10px}.home-hero-v6>h1{font-size:clamp(43px,13.5vw,60px)}.home-hero-v6>p{font-size:14px;margin-top:20px}
  .access-grid{margin-top:18px;padding:18px;gap:18px}.access-heading{padding:16px 8px 22px}.access-card{min-height:215px;padding:26px 20px}
}

/* ===================== V24 · CAMBIO ESTRUCTURAL VISIBLE Y ACCIONES SIEMPRE ACCESIBLES ===================== */
:root{
  --v24-surface:rgba(18,57,91,.96);
  --v24-surface-strong:rgba(9,35,62,.985);
  --v24-line:rgba(112,224,242,.68);
  --v24-muted:#d8e7f3;
}

/* Más claridad: superficies uniformes, bordes definidos y texto sin competir con el fondo. */
.topbar,.page-head,.page-head.hero-dashboard,.ops-banner,
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card,
.timeline-day,.incident-day,.incident-card,.portal-row,.worker-chip,.copy-route,
.profile-empty,.map-card,.doc-grid>div,.empty-state,.notice,.table-wrap,.filters,.workflow-card{
  background-color:var(--v24-surface)!important;
  border-color:var(--v24-line)!important;
  background-blend-mode:multiply;
}
.panel,.stat,.module,.provider-card,.slip-card-pro,.calendar-shell,.copy-card{
  box-shadow:0 20px 46px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.10),0 0 0 1px rgba(73,207,231,.10)!important;
}
.panel h1,.panel h2,.panel h3,.module h1,.module h2,.module h3,.stat,
.section-row h1,.section-row h2,.section-row h3{color:#fff}
.panel p,.module p,.permission-intro,.muted,.camera-help,.portal-row small,.page-head p{color:var(--v24-muted)!important}
.btn,button.btn,a.btn,.access-enter{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.2!important;
}

/* Portada: logo e idioma comparten un encabezado real, sin posiciones superpuestas. */
.home-hero-v6{
  min-height:720px!important;
  padding:30px clamp(26px,5vw,76px) 76px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
}
.home-masthead{
  position:relative!important;
  z-index:10;
  order:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  margin:0 0 118px;
}
.home-masthead .outwork-home-logo{
  position:static!important;
  inset:auto!important;
  width:230px!important;
  max-width:38vw!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  object-position:center!important;
}
.home-masthead .home-language{
  position:static!important;
  inset:auto!important;
  width:280px!important;
  min-width:280px!important;
  margin:0!important;
  transform:none!important;
  border:2px solid rgba(105,221,241,.52)!important;
  background:#092846!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
}
.home-masthead .home-language select{height:44px;text-align:center;text-align-last:center}
.home-hero-v6>.pill{order:1!important;margin:0 0 22px!important}
.home-hero-v6>h1{order:2!important;margin:0!important;text-align:center!important}
.home-hero-v6>p{order:3!important;margin:26px auto 0!important;text-align:center!important}
.home-hero-v6>.notice{order:4!important;margin-top:28px!important}

.access-grid{gap:22px!important}
.access-heading{padding:30px 14px 26px!important;text-align:center}
.access-heading h2{font-size:clamp(36px,4vw,54px)!important;line-height:1!important}
.access-card{
  background:#123b60!important;
  border-width:2px!important;
  box-shadow:0 20px 46px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.10)!important;
}
.access-card>.access-enter{background:#071d36!important;border:1px solid currentColor!important}

/* El pie de acciones queda anclado físicamente al lightbox y nunca depende del scroll. */
.permission-dialog{
  position:relative!important;
  height:min(880px,calc(100dvh - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  padding-bottom:86px!important;
  background:var(--v24-surface-strong)!important;
}
.permission-dialog>.permission-checklist{min-height:0!important;overflow-y:auto!important}
.permission-actions{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  min-height:76px;
  margin:0!important;
  padding:12px 24px calc(12px + env(safe-area-inset-bottom))!important;
  align-items:center!important;
  background:#061d36!important;
  border-top:2px solid rgba(103,222,239,.62)!important;
  box-shadow:0 -14px 32px rgba(0,0,0,.48)!important;
}
.permission-actions .btn{visibility:visible!important;opacity:1!important;min-height:50px!important}
.permission-actions .btn.ghost{background:#214e73!important;color:#fff!important;border:1px solid #79a9c8!important}
.permission-actions .btn.primary{background:#08c985!important;color:#fff!important;border:1px solid #68efbd!important}

@media(max-width:900px){
  .home-hero-v6{min-height:auto!important;padding:28px 22px 68px!important}
  .home-masthead{flex-direction:column;justify-content:center;gap:30px;margin-bottom:74px}
  .home-masthead .outwork-home-logo{width:225px!important;max-width:72vw!important}
  .home-masthead .home-language{width:min(380px,100%)!important;min-width:0!important}
  .home-hero-v6>.pill{margin-bottom:20px!important}
}
@media(max-width:640px){
  .home-hero-v6{padding:26px 16px 56px!important}
  .home-masthead{gap:28px;margin-bottom:66px}
  .home-masthead .outwork-home-logo{width:210px!important;max-width:68vw!important}
  .home-masthead .home-language{width:100%!important;padding:9px 12px 9px 15px!important}
  .home-masthead .home-language span{display:flex!important}
  .home-hero-v6>h1{font-size:clamp(42px,13vw,58px)!important;line-height:.94!important}
  .home-hero-v6>p{font-size:15px!important;line-height:1.65!important;margin-top:24px!important}
  .access-grid{padding:16px!important;gap:20px!important}
  .access-card{min-height:190px!important;padding:23px 18px!important}
  .permission-lightbox{padding:5px!important}
  .permission-dialog{height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important;padding:16px 11px 79px!important}
  .permission-actions{min-height:70px;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;grid-template-columns:minmax(92px,.8fr) minmax(150px,1.3fr)!important;gap:7px!important}
  .permission-actions .btn{min-width:0!important;min-height:48px!important;padding:7px 5px!important;font-size:10px!important;white-space:normal!important}
}

/* ===================== V25 · PERMISOS RESPONSIVOS Y ACCIONES VISIBLES ===================== */
/* El desenfoque y el recorte del panel no deben limitar el lightbox al panel. */
.panel:has(.permission-lightbox){
  overflow:visible!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.permission-lightbox{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:2147483000!important;
  padding:clamp(8px,2vw,24px)!important;
  overflow:hidden!important;
  background:rgba(0,7,18,.88)!important;
}
.permission-lightbox.show{display:flex!important}
.permission-dialog{
  position:relative!important;
  width:min(960px,calc(100vw - 32px))!important;
  height:min(860px,calc(100dvh - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  padding:clamp(18px,2.4vw,28px) clamp(16px,2.6vw,28px) 0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:2px solid rgba(103,222,239,.72)!important;
  border-radius:22px!important;
  background:#092744!important;
  box-shadow:0 30px 90px rgba(0,0,0,.72)!important;
}
.permission-dialog>.pill,
.permission-dialog>h2,
.permission-dialog>p,
.permission-dialog>label,
.permission-dialog>select{flex:0 0 auto}
.permission-dialog>h2{margin-top:9px!important}
.permission-dialog>p{margin-bottom:14px!important}
.permission-dialog>select{margin:5px 0 14px!important;min-height:44px}
.permission-close{
  z-index:10!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:#153f62!important;
  border:1px solid #79b7d3!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
}
.permission-checklist{
  flex:1 1 auto!important;
  min-height:180px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  border:1px solid rgba(103,222,239,.48)!important;
  background:#061b32!important;
}
.permission-check-head,.permission-check-row{
  grid-template-columns:minmax(240px,1fr) 112px 112px!important;
}
.permission-check-head{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  background:#15577f!important;
}
.permission-check-row{background:#0b3152!important}
.permission-check-row:nth-child(odd){background:#0d385d!important}
.permission-area-label b{color:#fff!important;font-size:14px!important}
.permission-area-label small{color:#c5d8e8!important;font-size:11px!important}
.permission-choice{
  min-width:0;
  color:#e9f8ff!important;
  background:rgba(3,18,34,.18);
  transition:background .15s ease,color .15s ease;
}
.permission-choice:hover{background:rgba(25,147,187,.17)}
.permission-choice input{
  appearance:none;
  -webkit-appearance:none;
  width:28px!important;
  height:28px!important;
  border:2px solid #a8c9dc!important;
  border-radius:7px!important;
  background:#fff!important;
  cursor:pointer;
}
.permission-choice input:checked{
  background-color:#19dfa0!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23063823' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:20px 20px!important;
  border-color:#19dfa0!important;
}
.permission-choice input:focus-visible{outline:3px solid #7ee8ff;outline-offset:3px}
.permission-choice span{font-size:11px!important;color:inherit!important}
.permission-choice:has(input:checked){background:rgba(7,164,110,.25)!important;color:#aaffd8!important}
.permission-choice:has(input:disabled){cursor:not-allowed}
.permission-choice input:disabled{opacity:.72;cursor:not-allowed}
.permission-actions{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-height:76px!important;
  flex:0 0 auto!important;
  margin:0 calc(0px - clamp(16px,2.6vw,28px))!important;
  padding:12px clamp(16px,2.6vw,28px) calc(12px + env(safe-area-inset-bottom))!important;
  display:grid!important;
  grid-template-columns:minmax(130px,.55fr) minmax(240px,1fr)!important;
  align-items:center!important;
  justify-content:end!important;
  gap:12px!important;
  background:#051a30!important;
  border-top:2px solid rgba(103,222,239,.62)!important;
  box-shadow:0 -12px 28px rgba(0,0,0,.38)!important;
}
.permission-actions .btn{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:10px 14px!important;
  font-size:13px!important;
  line-height:1.25!important;
  white-space:normal!important;
  visibility:visible!important;
  opacity:1!important;
}
.permission-actions .btn.ghost{
  color:#fff!important;
  background:#214e73!important;
  border:1px solid #8bc4df!important;
}
.permission-actions .btn.primary{
  color:#fff!important;
  background:#08b878!important;
  border:1px solid #72f2c2!important;
  box-shadow:0 8px 22px rgba(8,184,120,.24)!important;
}

@media(max-width:900px){
  .permission-check-head,.permission-check-row{
    grid-template-columns:minmax(190px,1fr) 88px 88px!important;
  }
}

@media(max-width:640px){
  .route-company-users .page-head,
  .route-maintenance-users .page-head{min-height:180px!important}
  .route-company-users .page-head h1,
  .route-maintenance-users .page-head h1{font-size:clamp(34px,11vw,48px)!important}
  .permission-launch{width:100%!important;min-height:50px!important}
  .permission-lightbox{padding:5px!important}
  .permission-dialog{
    width:calc(100vw - 10px)!important;
    height:calc(100dvh - 10px)!important;
    max-height:calc(100dvh - 10px)!important;
    padding:14px 10px 0!important;
    border-radius:16px!important;
  }
  .permission-dialog>.pill{padding:6px 9px!important;font-size:9px!important}
  .permission-dialog>h2{margin:7px 42px 3px 0!important;font-size:24px!important;line-height:1.05!important}
  .permission-dialog>p{margin:0 0 9px!important;font-size:11px!important;line-height:1.4!important}
  .permission-dialog>label{font-size:10px!important}
  .permission-dialog>select{margin:4px 0 9px!important;min-height:40px!important;padding:8px 10px!important}
  .permission-close{right:9px!important;top:9px!important;width:38px!important;height:38px!important}
  .permission-checklist{display:block!important;min-height:140px!important;border-radius:12px!important}
  .permission-check-head{display:none!important}
  .permission-check-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    min-height:0!important;
    border-top:0!important;
    border-bottom:1px solid rgba(103,222,239,.32)!important;
  }
  .permission-area-label{
    grid-column:1 / -1;
    min-height:54px;
    padding:9px 11px!important;
    border-bottom:1px solid rgba(103,222,239,.22);
  }
  .permission-area-label b{font-size:12px!important}
  .permission-area-label small{display:block!important;font-size:9px!important;line-height:1.3!important}
  .permission-choice,.permission-unavailable{
    min-height:58px!important;
    border-left:0!important;
  }
  .permission-choice+.permission-choice,
  .permission-choice+.permission-unavailable{border-left:1px solid rgba(103,222,239,.25)!important}
  .permission-choice input{width:26px!important;height:26px!important}
  .permission-choice span{font-size:10px!important}
  .permission-actions{
    min-height:72px!important;
    margin:0 -10px!important;
    padding:9px 9px calc(9px + env(safe-area-inset-bottom))!important;
    grid-template-columns:minmax(92px,.75fr) minmax(168px,1.35fr)!important;
    gap:7px!important;
  }
  .permission-actions .btn{min-height:50px!important;padding:8px 7px!important;font-size:11px!important}

  /* Los accesos se presentan como fichas, sin tabla horizontal. */
  .route-company-users .table-wrap,
  .route-maintenance-users .table-wrap{
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .route-company-users .table-wrap table,
  .route-maintenance-users .table-wrap table{min-width:0!important;border-spacing:0!important}
  .route-company-users .table-wrap tr:first-child,
  .route-maintenance-users .table-wrap tr:first-child{display:none!important}
  .route-company-users .table-wrap tr:not(:first-child),
  .route-maintenance-users .table-wrap tr:not(:first-child){
    display:grid!important;
    margin-bottom:14px;
    overflow:hidden;
    border:1px solid rgba(103,222,239,.36);
    border-radius:14px;
    background:#0a2d4d;
    box-shadow:0 10px 24px rgba(0,0,0,.22);
  }
  .route-company-users .table-wrap td,
  .route-maintenance-users .table-wrap td{
    display:grid!important;
    grid-template-columns:minmax(86px,.42fr) minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-width:0;
    overflow-wrap:anywhere;
    padding:11px!important;
    border:0!important;
    border-bottom:1px solid rgba(103,222,239,.16)!important;
    border-radius:0!important;
    background:#0b3152!important;
  }
  .route-company-users .table-wrap td:last-child,
  .route-maintenance-users .table-wrap td:last-child{border-bottom:0!important}
  .route-company-users .table-wrap td:before,
  .route-maintenance-users .table-wrap td:before{
    color:#9ccce0;
    font-size:9px;
    font-weight:950;
    letter-spacing:.55px;
    text-transform:uppercase;
  }
  .route-company-users .table-wrap td:nth-child(1):before{content:"Nombre"}
  .route-company-users .table-wrap td:nth-child(2):before{content:"Correo"}
  .route-company-users .table-wrap td:nth-child(3):before{content:"Rol y permisos"}
  .route-company-users .table-wrap td:nth-child(4):before{content:"Estado"}
  .route-company-users .table-wrap td:nth-child(5):before{content:"Acciones"}
  .route-maintenance-users .table-wrap td:nth-child(1):before{content:"Empresa"}
  .route-maintenance-users .table-wrap td:nth-child(2):before{content:"Usuario"}
  .route-maintenance-users .table-wrap td:nth-child(3):before{content:"Correo"}
  .route-maintenance-users .table-wrap td:nth-child(4):before{content:"Rol y permisos"}
  .route-maintenance-users .table-wrap td:nth-child(5):before{content:"Estado"}
  .route-maintenance-users .table-wrap td:nth-child(6):before{content:"Acciones"}
  .route-company-users .role-summary,
  .route-maintenance-users .role-summary{justify-items:stretch!important;text-align:left!important;min-width:0!important}
  .route-company-users .role-summary .btn,
  .route-maintenance-users .role-summary .btn,
  .route-company-users .actions-cell .btn,
  .route-maintenance-users .actions-cell .btn{width:100%!important;min-height:46px!important}
  .route-company-users .actions-cell,
  .route-maintenance-users .actions-cell{display:grid!important;grid-template-columns:minmax(86px,.42fr) minmax(0,1fr)!important}
  .route-company-users .actions-cell:before,
  .route-maintenance-users .actions-cell:before{grid-row:1 / span 2}
  .route-company-users .actions-cell form,
  .route-maintenance-users .actions-cell form{width:100%;margin:0}
}

@media(max-width:380px){
  .permission-area-label small{display:none!important}
  .permission-area-label{min-height:46px}
  .permission-actions{grid-template-columns:minmax(82px,.7fr) minmax(145px,1.3fr)!important}
  .permission-actions .btn{font-size:10px!important}
  .route-company-users .table-wrap td,
  .route-maintenance-users .table-wrap td{grid-template-columns:74px minmax(0,1fr)}
  .route-company-users .actions-cell,
  .route-maintenance-users .actions-cell{grid-template-columns:74px minmax(0,1fr)!important}
}

/* ===================== V29 · ENCABEZADO NUEVO, AISLADO Y SIN SUPERPOSICIONES ===================== */
.ow-app-header{
  --owh-surface:#030918;
  --owh-surface-soft:#07172c;
  --owh-line:rgba(92,213,235,.24);
  --owh-cyan:#55dce8;
  position:sticky;
  top:0;
  z-index:1200;
  width:100%;
  color:#f5fbff;
  background:linear-gradient(110deg,rgba(2,7,20,.99),rgba(4,12,32,.98)),url('biometric-menu.webp') center/cover;
  border-bottom:1px solid var(--owh-line);
  box-shadow:0 14px 38px rgba(0,0,0,.32);
}
.ow-header-top{
  width:min(1440px,100%);
  min-height:94px;
  margin:0 auto;
  padding:15px 28px;
  display:grid;
  grid-template-columns:minmax(190px,280px) minmax(0,1fr);
  align-items:center;
  gap:26px;
}
.ow-header-brand{
  min-width:0;
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  color:#fff;
  text-decoration:none;
}
.ow-header-brand>img{width:54px;height:54px;display:block;object-fit:contain}
.ow-header-brand>span{display:grid;gap:5px;line-height:1}.ow-header-brand strong{font-size:17px;letter-spacing:1px}.ow-header-brand small{color:#95aac0;font-size:9px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.ow-header-brand.has-company-logo>img{width:min(210px,100%);max-width:210px;height:62px;filter:invert(1) grayscale(1) brightness(2) drop-shadow(0 0 10px rgba(255,255,255,.18));mix-blend-mode:screen}
.ow-session{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:11px}
.ow-session-user{min-width:170px;display:grid;justify-items:end;gap:5px;text-align:right;line-height:1.15}.ow-session-user strong{max-width:260px;overflow:hidden;color:#fff;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.ow-session-user small{max-width:280px;overflow:hidden;color:#aabbd0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.ow-language,.ow-timezone,.ow-header-action{min-height:48px;margin:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(91,191,225,.28);border-radius:12px;background:#071a33;color:#dce8f5;box-shadow:none}
.ow-language{padding:5px 6px 5px 13px;gap:10px}.ow-language>span{color:#9fb1c5;font-size:10px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}.ow-language select{width:66px;min-width:66px;height:36px;min-height:36px;margin:0;padding:0 24px 0 8px;border:0;border-radius:8px;background:#041329;color:#fff;font-size:14px;font-weight:900;text-align:center;text-align-last:center;box-shadow:none}
.ow-timezone{max-width:190px;padding:0 15px;overflow:hidden;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.ow-header-action{padding:0 15px;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.ow-header-action:hover{color:#fff;border-color:rgba(99,225,238,.62);background:#0b2949}.ow-logout{gap:8px;color:#ff9bab;border-color:rgba(255,101,126,.25);background:rgba(83,15,37,.38)}.ow-logout i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.08);font-style:normal}
.ow-menu-toggle{display:none;width:48px;height:48px;padding:10px;border:1px solid rgba(92,205,231,.35);border-radius:12px;background:#092445}.ow-menu-toggle span{display:block;width:24px;height:2px;margin:5px auto;border-radius:2px;background:#fff}
.ow-nav-shell{width:100%;border-top:1px solid rgba(92,205,231,.13);background:rgba(1,8,23,.70)}
.ow-primary-nav{width:min(1100px,100%);min-height:58px;margin:0 auto;padding:6px 22px;display:flex;align-items:center;justify-content:center;gap:8px}
.ow-nav-item{min-width:92px;min-height:44px;margin:0;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;appearance:none;border:1px solid transparent;border-radius:10px;background:transparent;color:#aab8c9;font:800 13px/1 inherit;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:none}.ow-nav-item i{color:#62dbe8;font-size:11px;font-style:normal}.ow-nav-item:hover,.ow-nav-item.active,.ow-nav-item[aria-expanded="true"]{color:#fff;border-color:rgba(88,214,233,.38);background:rgba(23,82,119,.40);box-shadow:inset 0 -3px var(--owh-cyan)}
.ow-menu-panels{width:100%;background:#f3f7fa}
.ow-menu-panel[hidden]{display:none!important}
.ow-menu-panel:not([hidden]){width:min(1440px,100%);margin:0 auto;padding:24px 28px 28px;display:grid;grid-template-columns:minmax(210px,250px) minmax(0,1fr);align-items:stretch;gap:24px;color:#17334d;border-top:4px solid #29bfce;animation:owMenuReveal .16s ease-out}
@keyframes owMenuReveal{from{opacity:.25;transform:translateY(-5px)}to{opacity:1;transform:none}}
.ow-menu-heading{padding:16px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;border-right:1px solid #d5e4eb}.ow-menu-heading>small{color:#078397;font-size:9px;font-weight:950;letter-spacing:1.2px}.ow-menu-heading>strong{margin:6px 0 7px;color:#102f49;font-size:25px;line-height:1}.ow-menu-heading>span{color:#677d8e;font-size:11px;line-height:1.45}
.ow-menu-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch;gap:12px}
.ow-menu-link{min-width:0;min-height:88px;padding:14px 15px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;color:#17334d;text-decoration:none;border:1px solid #d6e4ea;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(22,55,77,.06);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.ow-menu-link>i{width:46px;height:46px;display:grid;place-items:center;color:#07839a;border-radius:12px;background:#e7f6fa;font-size:19px;font-style:normal}.ow-menu-link>span{min-width:0;display:grid;gap:5px;text-align:left}.ow-menu-link strong{color:#14324c;font-size:13px}.ow-menu-link small{color:#708392;font-size:10px;line-height:1.35}.ow-menu-link:hover{transform:translateY(-2px);border-color:#70cfd7;box-shadow:0 12px 25px rgba(16,101,118,.12)}
.ow-worker-header .ow-header-top{grid-template-columns:minmax(190px,280px) minmax(0,1fr)}

@media(max-width:1100px){
  .ow-app-header{position:sticky}
  .ow-header-top{min-height:136px;padding:12px 18px;grid-template-columns:minmax(160px,1fr) 48px;grid-template-rows:62px 58px;gap:4px 14px}
  .ow-header-brand{grid-column:1;grid-row:1}.ow-header-brand.has-company-logo>img{width:min(190px,48vw);height:56px}
  .ow-menu-toggle{grid-column:2;grid-row:1;display:block}
  .ow-session{grid-column:1/-1;grid-row:2;justify-content:center;gap:8px}.ow-session-user{margin-right:auto;justify-items:start;text-align:left}.ow-session-user strong{max-width:220px}.ow-session-user small{max-width:240px}
  .ow-language,.ow-timezone,.ow-header-action{min-height:44px}.ow-timezone{max-width:170px}
  .ow-nav-shell{display:none}.ow-app-header.nav-open .ow-nav-shell{display:block}
  .ow-primary-nav{padding:10px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ow-nav-item{width:100%;min-width:0}
  .ow-menu-panel:not([hidden]){padding:20px 18px 24px;grid-template-columns:1fr;gap:14px}.ow-menu-heading{padding:5px 2px 15px;border-right:0;border-bottom:1px solid #d5e4eb}.ow-menu-heading>strong{font-size:22px}.ow-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .ow-header-top{min-height:156px;padding:10px 12px;grid-template-rows:62px 78px}.ow-header-brand>img{width:48px;height:48px}.ow-header-brand.has-company-logo>img{width:min(160px,48vw);height:52px}.ow-header-brand strong{font-size:14px}.ow-header-brand small{font-size:8px}
  .ow-session{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px}.ow-session-user{grid-column:1;min-width:0;margin:0}.ow-session-user strong,.ow-session-user small{max-width:100%}.ow-session-user small{font-size:9px}.ow-timezone{display:none}.ow-language{grid-column:2;padding-left:8px}.ow-language>span{display:none}.ow-language select{width:58px;min-width:58px}.ow-header-action{grid-column:3;min-width:44px;padding:0 10px}.ow-logout span{display:none}.ow-logout i{width:24px;height:24px}
  .ow-primary-nav{grid-template-columns:1fr;padding:10px 12px}.ow-menu-grid{grid-template-columns:1fr}.ow-menu-panel:not([hidden]){padding:16px 12px 18px}.ow-menu-link{min-height:78px}
  .ow-worker-header .ow-header-top{min-height:146px;grid-template-columns:minmax(0,1fr);grid-template-rows:58px 72px}.ow-worker-header .ow-header-brand{grid-column:1;justify-content:center}.ow-worker-header .ow-session{grid-column:1;grid-row:2}.ow-worker-header .ow-header-action{display:flex}
}

@media(max-width:400px){
  .ow-header-top{padding-left:9px;padding-right:9px}.ow-header-brand.has-company-logo>img{width:135px}.ow-session{grid-template-columns:minmax(0,1fr) auto auto}.ow-session-user strong{font-size:12px}.ow-language select{width:52px;min-width:52px}.ow-menu-toggle{width:44px;height:44px}.ow-menu-link{grid-template-columns:40px minmax(0,1fr);padding:12px}.ow-menu-link>i{width:40px;height:40px}
}

/* ===================== V30 · ACCIONES COMERCIALES Y PAGO ONVO ===================== */
.home-commercial-actions{
  position:relative;
  z-index:8;
  width:min(880px,calc(100% - 38px));
  margin:-28px auto 28px;
  padding:7px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  border:1px solid rgba(89,213,238,.30);
  border-radius:17px;
  background:rgba(2,13,31,.91);
  box-shadow:0 18px 46px rgba(0,0,0,.40);
  backdrop-filter:blur(14px);
}
.commercial-action{
  min-width:0;
  min-height:66px;
  margin:0;
  padding:9px 10px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(100,191,237,.26);
  border-radius:12px;
  color:#fff;
  background:linear-gradient(145deg,#0b2f64,#0b4d77);
  box-shadow:none;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,filter .16s ease;
}
.commercial-action:hover{transform:translateY(-2px);filter:brightness(1.12);border-color:#6de0f0}
.commercial-action>span{min-width:52px;padding:8px 7px;border-radius:9px;color:#001526;background:#69e0ef;font-size:11px;font-weight:950;letter-spacing:.4px;text-align:center}
.commercial-action>b{min-width:0;color:#fff;font-size:11px;line-height:1.25;letter-spacing:.5px;text-align:left}
.commercial-action.support{background:linear-gradient(145deg,#102958,#214a89)}
.commercial-action.demo{background:linear-gradient(145deg,#064a54,#08747a)}
.commercial-action.demo>span{background:#8ff1db}
.commercial-modal{position:fixed;inset:0;z-index:10000;padding:22px;display:none;align-items:center;justify-content:center;overflow:auto;background:rgba(0,5,15,.86);backdrop-filter:blur(14px)}
.commercial-modal.show{display:flex}.commercial-modal-open{overflow:hidden}
.commercial-dialog{position:relative;width:min(94vw,720px);max-height:calc(100dvh - 32px);padding:30px;overflow:auto;border:1px solid rgba(99,209,235,.30);border-radius:25px;color:#fff;background:linear-gradient(145deg,#06162e,#0b2b55);box-shadow:0 38px 110px rgba(0,0,0,.68)}
.commercial-dialog.maintenance-dialog{width:min(94vw,820px)}
.commercial-dialog h2{margin:12px 46px 8px 0;color:#fff;font-size:clamp(27px,4vw,40px);letter-spacing:-1px}.commercial-dialog>p{margin:0 0 17px;color:#b8c8da;line-height:1.55}
.commercial-dialog>.pill{color:#8fe8f5;border-color:rgba(105,220,239,.28);background:rgba(40,114,231,.17)}
.commercial-close{position:absolute;right:18px;top:18px;width:42px;height:42px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#fff;background:#102f5b;font-size:25px;line-height:1;cursor:pointer}
.commercial-form{display:grid;gap:14px}.commercial-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.commercial-fields label{display:grid;gap:7px;color:#b9c9da;font-size:11px;font-weight:850;letter-spacing:.3px}.commercial-fields label.wide{grid-column:1/-1}.commercial-fields input,.commercial-fields textarea{width:100%;margin:0;color:#14223a;background:#fff}.commercial-fields textarea{resize:vertical;line-height:1.45}
.form-trap{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.maintenance-services{margin:0 0 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.maintenance-services span{padding:10px 11px;border:1px solid rgba(105,199,237,.20);border-radius:10px;color:#d7e8f5;background:rgba(7,44,82,.58);font-size:11px;font-weight:750}.maintenance-services span:before{content:'✓';margin-right:8px;color:#68e1ef;font-weight:950}
.commercial-note{margin:0!important;padding:11px 13px;border:1px solid rgba(105,216,239,.18);border-radius:10px;color:#cce9f2!important;background:rgba(8,68,96,.38)}
.commercial-submit{min-height:52px;padding:12px 16px;border:0;border-radius:11px;color:#fff;background:linear-gradient(90deg,#276af5,#61dcec);box-shadow:0 12px 30px rgba(36,105,241,.28);font-size:12px;font-weight:950;letter-spacing:.55px;cursor:pointer}.commercial-submit i{margin-left:8px;font-style:normal}.commercial-submit:disabled{cursor:wait;filter:saturate(.55);opacity:.78}
.commercial-response{display:none;padding:11px 13px;border-radius:10px;font-size:12px;font-weight:800}.commercial-response.ok,.commercial-response.bad{display:block}.commercial-response.ok{color:#bdf8d9;border:1px solid rgba(61,216,141,.30);background:#093723}.commercial-response.bad{color:#ffd2da;border:1px solid rgba(255,105,128,.30);background:#421529}

@media(max-width:900px){
  .home-commercial-actions{margin:0 auto 26px}
  .commercial-action{min-height:62px;padding:8px 7px;gap:6px}.commercial-action>span{min-width:45px;font-size:10px}.commercial-action>b{font-size:9px}
}
@media(max-width:620px){
  .home-commercial-actions{width:calc(100% - 34px);margin:0 auto 25px;padding:6px;gap:5px;border-radius:14px}
  .commercial-action{min-height:64px;padding:7px 5px;grid-template-columns:1fr;gap:4px;text-align:center}.commercial-action>span{min-width:0;padding:5px 4px;font-size:9px}.commercial-action>b{font-size:8px;line-height:1.18;text-align:center;letter-spacing:.2px}
  .commercial-modal{padding:8px}.commercial-dialog,.commercial-dialog.maintenance-dialog{width:100%;max-height:calc(100dvh - 16px);padding:24px 16px 18px;border-radius:20px}.commercial-dialog h2{font-size:28px}.commercial-fields,.maintenance-services{grid-template-columns:1fr}.commercial-fields label.wide{grid-column:auto}.commercial-close{right:12px;top:12px}
}

/* ===================== V31 · PORTALES CENTRADOS SIN ENCABEZADO ===================== */
.access-grid{
  width:min(1120px,calc(100% - 44px))!important;
  margin:42px auto 72px!important;
  grid-template-columns:repeat(3,minmax(220px,1fr))!important;
  justify-content:center!important;
  align-items:stretch;
}
@media(max-width:900px){
  .access-grid{
    width:min(760px,calc(100% - 32px))!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
}
@media(max-width:640px){
  .access-grid{
    width:calc(100% - 24px)!important;
    margin:34px auto 48px!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:stretch!important;
  }
}

/* ===================== V32 · LOGO EMPRESA GRANDE EN COLORES ORIGINALES ===================== */
.hero-dashboard>div{
  display:grid;
  justify-items:center;
  align-content:center;
}
.dashboard-company-logo{
  width:min(640px,72vw)!important;
  max-width:100%!important;
  height:220px!important;
  margin:0 auto 18px!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  background:transparent!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
@media(max-width:640px){
  .dashboard-company-logo{
    width:calc(100vw - 64px)!important;
    height:180px!important;
    margin-bottom:14px!important;
  }
}

/* ===================== V33 · RELOJ BAJO EL TEXTO DEL PORTAL ===================== */
.hero-dashboard>div>.light-cta{
  position:static!important;
  width:min(260px,100%)!important;
  margin:20px auto 0!important;
  justify-self:center!important;
}

/* ===================== V34 · SELECTOR REGIONAL ===================== */
.home-masthead .home-language{
  width:min(430px,100%)!important;
}
.home-masthead .home-language select{
  min-width:0!important;
  font-size:13px!important;
}
.ow-language select[data-compact-locale]{
  width:78px!important;
  min-width:78px!important;
  padding-left:5px!important;
  padding-right:20px!important;
  font-size:11px!important;
}
@media(max-width:640px){
  .home-masthead .home-language{width:100%!important}
}

/* ===================== V35 · SEGURIDAD, AVISOS Y VALIDACIÓN ===================== */
.ow-system-modal{position:fixed;inset:0;z-index:100000;display:none;place-items:center;padding:20px;background:rgba(0,7,20,.82);backdrop-filter:blur(12px)}
.ow-system-modal.show{display:grid}.ow-modal-open{overflow:hidden}
.ow-system-dialog{width:min(540px,100%);border:1px solid rgba(90,218,255,.45);border-radius:24px;padding:28px;background:linear-gradient(145deg,#0c2a49,#06172d);box-shadow:0 30px 90px rgba(0,0,0,.55);color:#fff;display:grid;grid-template-columns:62px 1fr;gap:18px}
.ow-system-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#22d5f6,#2f78ff);color:#02111f;font-size:30px;font-weight:950}
.ow-system-kicker{font-size:11px;letter-spacing:.14em;color:#5ee4ff;font-weight:900}.ow-system-copy h2{margin:5px 0 8px;font-size:25px}.ow-system-message{color:#d5e6f5;line-height:1.55}.ow-system-message p{margin:0}.ow-system-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:5px}
.ow-system-modal[data-type="bad"] .ow-system-icon{background:linear-gradient(135deg,#ff7b8e,#ff3e65);color:#fff}.ow-system-modal[data-type="warn"] .ow-system-icon,.ow-system-modal[data-type="required"] .ow-system-icon{background:linear-gradient(135deg,#ffe071,#ff9f43)}.ow-system-modal[data-type="ok"] .ow-system-icon{background:linear-gradient(135deg,#51efc0,#18b789)}
.ow-field-error{outline:3px solid rgba(255,74,105,.7)!important;border-color:#ff4a69!important;box-shadow:0 0 0 5px rgba(255,74,105,.14)!important}.ow-field-wrap-error>label,.ow-field-wrap-error label:first-child{color:#ff9caf!important}.ow-has-server-error{border-left:4px solid #ff4a69;padding-left:14px}
.file-actions{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.report-summary-grid,.maintenance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.report-summary-grid>div,.maintenance-metrics>div{padding:18px;border:1px solid rgba(86,209,255,.22);border-radius:16px;background:rgba(4,25,48,.58)}.report-summary-grid b,.maintenance-metrics b{display:block;font-size:23px;color:#64e6ff}.report-summary-grid small,.maintenance-metrics small{color:#a7c4da}.cleanup-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cleanup-options .check{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px}
.mark-result-card{margin:0 auto 18px;width:min(720px,100%);padding:18px 22px;border:1px solid rgba(68,224,176,.45);border-radius:18px;background:rgba(8,55,60,.72);display:grid;grid-template-columns:1fr auto;gap:14px}.mark-result-card.warn{border-color:rgba(255,191,71,.55);background:rgba(75,49,10,.65)}.mark-result-card.bad{border-color:rgba(255,74,105,.55);background:rgba(74,14,32,.65)}.mark-result-card b{font-size:18px}.mark-result-card span{color:#cde2ee}.mark-result-stats{display:flex;gap:16px}.mark-result-stats strong{display:block;font-size:20px;color:#fff}.mark-result-stats small{font-size:10px;text-transform:uppercase;color:#9fc0d4}
@media(max-width:760px){.ow-system-dialog{grid-template-columns:1fr}.ow-system-icon{width:50px;height:50px}.report-summary-grid,.maintenance-metrics,.cleanup-options{grid-template-columns:1fr}.mark-result-card{grid-template-columns:1fr}}

/* ===================== V36 · PORTAL TRABAJADOR Y CALENDARIO PERSONAL ===================== */
.worker-portal-head{max-width:1500px}.worker-calendar-shell{text-align:left!important;padding:22px}.worker-calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:14px;margin-bottom:14px}.worker-calendar-toolbar h2{margin:3px 0 2px;color:var(--pf-navy,#10233f)!important;font-size:26px}.worker-calendar-toolbar p{margin:0;color:#687789!important}.worker-calendar-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid #c9eadf;border-radius:12px;background:#e9f7f2;color:#077b4c;font-size:28px;font-weight:900}.worker-calendar-switch{display:flex;gap:7px;padding:4px;border:1px solid #dce8e5;border-radius:12px;background:#f5f9f8}.worker-calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 13px}.worker-calendar-legend span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid #dde7eb;background:#fff}.worker-calendar-legend span:before{content:"";width:8px;height:8px;border-radius:50%;background:#94a3b8}.worker-calendar-legend .schedule:before{background:#08b56b}.worker-calendar-legend .late:before{background:#ef4444}.worker-calendar-legend .incident:before{background:#f59e0b}.worker-calendar-legend .request:before{background:#7c3aed}.worker-calendar-legend .mark:before{background:#1599ce}.worker-calendar-scroll{width:100%;overflow-x:auto;padding-bottom:4px}.worker-calendar{display:grid;grid-template-columns:repeat(7,minmax(138px,1fr));gap:7px;min-width:1000px}.worker-weekday{text-align:center;padding:7px;color:#607080;font-size:10px;font-weight:950;letter-spacing:.8px}.worker-calendar-day{min-height:230px;padding:9px;border:1px solid #dfe9e7;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(18,55,76,.045)}.worker-calendar-day.outside{opacity:.48;background:#f4f7f8}.worker-calendar-day.today{border-color:#08b56b;box-shadow:inset 0 0 0 2px rgba(8,181,107,.35)}.worker-calendar-day.has-alert{border-color:#f6c66b}.worker-calendar-day>header{display:flex;justify-content:space-between;align-items:center;padding:0 2px 8px;border-bottom:1px solid #edf1f3}.worker-calendar-day>header div{display:flex;align-items:center;gap:6px}.worker-calendar-day>header b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e9f7f2;color:#077b4c;font-size:15px}.worker-calendar-day>header span,.worker-calendar-day>header small{color:#6c7a88;font-size:9px;font-weight:900}.worker-day-events{display:grid;gap:5px;margin-top:8px}.worker-event{display:grid;gap:2px;padding:7px 8px;border-left:3px solid #94a3b8;border-radius:7px;background:#f7f9fa;overflow:hidden}.worker-event b,.worker-event span,.worker-event small{overflow:hidden;text-overflow:ellipsis}.worker-event b{font-size:10px;color:#20344b}.worker-event span{font-size:9px;color:#536474;line-height:1.3}.worker-event small{font-size:8px;color:#7a8793;text-transform:uppercase;font-weight:900}.worker-event.schedule{border-color:#08b56b;background:#eaf9f3}.worker-event.mark{border-color:#1599ce;background:#eaf6fd}.worker-event.late{border-color:#ef4444;background:#fff0f1}.worker-event.incident{border-color:#f59e0b;background:#fff8e8}.worker-event.request{border-color:#7c3aed;background:#f5f0ff}.worker-event.empty{border-style:dashed;background:#fafcfc}.worker-calendar.week-view .worker-calendar-day{min-height:410px}.worker-request-panel{text-align:left!important}.worker-request-panel>.section-row,.worker-request-panel>.form{text-align:left}.worker-portal-content-grid{width:100%;max-width:1500px;margin:16px auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.worker-portal-content-grid>.panel{margin:0!important;height:auto;text-align:left!important}.worker-requests-panel .section-row,.worker-payroll-panel .section-row{text-align:left}.portal-counter{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e9f7f2;color:#077b4c;font-size:17px;font-weight:950}.worker-request-list{display:grid}.worker-request-list .portal-row{align-items:flex-start;padding:14px;border-bottom:1px solid #edf1f3}.worker-request-list .portal-row:last-child{border-bottom:0}.worker-request-list .portal-row>div{text-align:left}.worker-request-list .portal-row p{margin:6px 0;color:#617182!important;font-size:12px}.worker-payroll-panel .slip-grid{grid-template-columns:1fr;margin-top:12px}.worker-payroll-panel .slip-card-pro{text-align:left}.worker-portal-content-grid+.panel{margin-top:16px}
@media(max-width:1050px){.worker-calendar-toolbar{grid-template-columns:42px minmax(0,1fr) 42px}.worker-calendar-switch{grid-column:1/-1;justify-self:center}.worker-portal-content-grid{grid-template-columns:1fr}}
@media(max-width:640px){.worker-calendar-shell{padding:13px}.worker-calendar-toolbar{gap:8px}.worker-calendar-toolbar h2{font-size:21px}.worker-calendar{grid-template-columns:repeat(7,minmax(122px,1fr));min-width:880px}.worker-calendar-day{min-height:210px}.worker-request-panel .grid.four{grid-template-columns:1fr}.worker-request-list .portal-row{display:grid}.worker-request-list .portal-row>.status{justify-self:start}.worker-portal-content-grid{gap:12px}}

/* Alineación con el tema biométrico azul ya usado en el portal publicado */
.worker-calendar-toolbar h2{color:#fff!important}.worker-calendar-toolbar p{color:#9fb0c5!important}.worker-calendar-arrow{border-color:rgba(94,220,241,.45);background:#0d3767;color:#cfefff}.worker-calendar-switch{border-color:rgba(91,178,223,.24);background:rgba(3,19,43,.66)}.worker-calendar-legend span{color:#b9c9dc;border-color:rgba(91,178,223,.22);background:#071a37}.worker-weekday{color:#8eddf4}.worker-calendar-day{border-color:rgba(88,203,231,.22);background-color:#071a37;background-image:linear-gradient(rgba(3,18,40,.78),rgba(5,32,66,.82)),var(--bio-card-surface);background-size:cover;background-position:center;box-shadow:0 8px 22px rgba(0,0,0,.20)}.worker-calendar-day.outside{background:#041329;opacity:.42}.worker-calendar-day.today{border-color:#53e3bc;box-shadow:inset 0 0 0 2px rgba(53,227,188,.42),0 8px 22px rgba(0,0,0,.20)}.worker-calendar-day.has-alert{border-color:#ffd06e}.worker-calendar-day>header{border-color:rgba(102,182,226,.18)}.worker-calendar-day>header b{background:#0d3767;color:#8eddf4}.worker-calendar-day>header span,.worker-calendar-day>header small{color:#91a6bc}.worker-event{background:#071a37}.worker-event b{color:#eef6ff}.worker-event span{color:#b9c9dc}.worker-event small{color:#87a0b8}.worker-event.schedule{border-color:#37dca3;background:rgba(7,83,66,.58)}.worker-event.mark{border-color:#5fdcf4;background:rgba(8,70,111,.63)}.worker-event.late{border-color:#ff7189;background:rgba(95,20,42,.62)}.worker-event.incident{border-color:#ffd06e;background:rgba(91,60,7,.62)}.worker-event.request{border-color:#b69cff;background:rgba(53,34,100,.64)}.worker-event.empty{color:#8094aa;border-color:rgba(121,165,207,.28);background:rgba(3,17,37,.52)}.portal-counter{background:#0d3767;color:#8eddf4}.worker-request-list .portal-row{border-color:rgba(93,197,226,.20)}.worker-request-list .portal-row p{color:#9fb0c5!important}

/* V37 · Migración controlada BLEND */
.migration-guard{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(52,211,153,.38)!important}.migration-guard h2{margin:4px 0 7px}.migration-source-metrics{margin-bottom:16px}.migration-existing{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.migration-existing span{padding:8px 11px;border-radius:999px;background:rgba(13,55,103,.65);border:1px solid rgba(94,220,241,.2);color:#b9c9dc;font-size:11px;font-weight:800}.migration-progress-card{overflow:hidden}.migration-percent{font-size:30px;color:#5fdcf4}.migration-progress{height:14px;border-radius:999px;background:#06142d;border:1px solid rgba(94,220,241,.2);overflow:hidden;margin:18px 0}.migration-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1599ce,#37dca3);transition:width .3s ease}.migration-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 18px}.migration-step-grid>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:12px;background:rgba(4,23,50,.68);border:1px solid rgba(91,178,223,.2)}.migration-step-grid span{color:#9fb0c5;font-size:11px;font-weight:800}.migration-step-grid b{color:#eef6ff;font-size:12px}.migration-progress-card>button{min-width:270px}
@media(max-width:800px){.migration-guard{align-items:flex-start}.migration-step-grid{grid-template-columns:1fr}.migration-progress-card>button{width:100%;min-width:0}}

/* ===================== V38 · RESPONSIVE SEGURO Y SIN SUPERPOSICIONES ===================== */
*,*::before,*::after{box-sizing:border-box}
.main,.panel,.page-head,.ops-banner,.table-wrap,.form,.grid,.section-row{min-width:0;max-width:100%}
.btn,button.btn,a.btn{height:auto;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.25}
h1,h2,h3,p,label,small,strong,span,td,th{overflow-wrap:anywhere;word-break:normal}
input,select,textarea{min-width:0;max-width:100%}
.section-row{flex-wrap:wrap}.section-row>div{min-width:0;max-width:100%}
.actions-cell{flex-wrap:wrap}.actions-cell form{min-width:0;max-width:100%}

@media(max-width:760px){
  body{overflow-x:hidden}.main{width:100%;padding:12px!important;overflow-x:hidden}
  .panel,.page-head,.ops-banner{width:100%;padding:18px 14px!important;border-radius:18px!important;overflow:hidden}
  .page-head,.page-head.hero-dashboard,.ops-banner{min-height:170px!important;display:grid!important;place-items:center!important}
  .page-head>.btn{position:static!important;width:100%!important;margin-top:12px!important}
  .page-head h1,.ops-banner h2{max-width:100%;font-size:clamp(30px,10vw,44px)!important;line-height:1.02!important;letter-spacing:-1px!important}
  .page-head p,.ops-banner p{font-size:13px!important;line-height:1.45!important}
  .grid,.grid.two,.grid.three,.grid.four,.filters,.maintenance-metrics,.report-summary-grid{grid-template-columns:minmax(0,1fr)!important}
  .form>button,.form>.btn,.filters>.btn,.section-row>.btn{width:100%!important}
  .phone-field{grid-template-columns:minmax(105px,.42fr) minmax(0,1fr)!important}
  .table-wrap{width:100%;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch}
  .table-wrap table{max-width:none}.table-wrap td,.table-wrap th{white-space:normal!important}
  .actions-cell{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.actions-cell form,.actions-cell .btn{width:100%!important}
  .ow-system-modal{padding:10px!important;align-items:center!important}.ow-system-dialog{width:100%!important;max-height:calc(100dvh - 20px)!important;padding:20px 15px!important;overflow:auto!important;grid-template-columns:1fr!important;gap:12px!important}.ow-system-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.ow-system-actions .btn{width:100%!important;min-width:0!important}
}
@media(max-width:420px){
  .main{padding:8px!important}.panel,.page-head,.ops-banner{padding:15px 11px!important;border-radius:15px!important}
  .btn,button.btn,a.btn{width:100%;padding:11px 9px!important;font-size:12px!important}
  .phone-field,.ow-system-actions{grid-template-columns:1fr!important}
  .status,.pill{max-width:100%;white-space:normal;text-align:center}
}

/* ===================== V39 · DASHBOARD EJECUTIVO EMPRESARIAL ===================== */
.executive-company-head{min-height:360px!important}.executive-company-head>div{display:grid;justify-items:center;gap:12px}.executive-company-head .dashboard-company-logo{height:170px!important;margin:0 auto!important}.executive-company-meta{max-width:1100px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.executive-company-meta span{padding:8px 11px;display:flex;align-items:center;gap:6px;border:1px solid rgba(104,220,240,.22);border-radius:999px;color:#aebfd2;background:rgba(2,17,39,.60);font-size:10px}.executive-company-meta b{color:#f4fbff;font-size:11px}.executive-company-head>.light-cta{top:auto!important;right:24px!important;bottom:24px!important}
.executive-kpis{margin:16px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.executive-kpis article{min-width:0;min-height:120px;padding:17px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:13px;border:1px solid rgba(86,203,231,.24);border-radius:18px;background-image:linear-gradient(135deg,rgba(4,25,53,.94),rgba(5,43,74,.82)),var(--bio-card-surface);background-size:cover;box-shadow:0 15px 38px rgba(0,0,0,.22)}.executive-kpis article.needs-attention{border-color:rgba(255,182,69,.42)}.executive-kpi-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(105,224,241,.28);border-radius:15px;color:#75e8f4;background:rgba(9,91,125,.34);font-size:23px;font-style:normal;font-weight:900}.executive-kpi-icon.location{color:#8aaeff;background:rgba(54,75,146,.35)}.executive-kpi-icon.clock{color:#54e5b4;background:rgba(21,118,91,.32)}.executive-kpi-icon.alert{color:#ffd06f;background:rgba(141,88,15,.36)}.executive-kpis article>div{min-width:0;display:grid;gap:3px}.executive-kpis small{color:#94a9bf;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.executive-kpis b{color:#fff;font-size:29px;line-height:1}.executive-kpis em{overflow:hidden;color:#a9bed0;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.executive-grid{display:grid;gap:13px;margin-bottom:13px}.executive-grid-primary,.executive-grid-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-card{min-width:0;min-height:365px;display:flex;flex-direction:column;overflow:hidden;text-align:left;border:1px solid rgba(86,203,231,.24);border-radius:20px;background-image:linear-gradient(145deg,rgba(4,21,46,.96),rgba(7,38,70,.88)),var(--bio-card-surface);background-size:cover;box-shadow:0 18px 45px rgba(0,0,0,.24)}.executive-card>header{min-height:82px;padding:18px 19px 13px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(104,197,225,.14)}.executive-card header>div{min-width:0}.executive-card header small{display:block;margin-bottom:5px;color:#63ddec;font-size:9px;font-weight:950;letter-spacing:.12em}.executive-card h2{margin:0!important;color:#fff!important;font-size:18px!important;line-height:1.16;text-align:left!important}.executive-period{flex:0 0 auto;padding:6px 8px;border:1px solid rgba(108,196,223,.16);border-radius:8px;color:#92aac0;background:rgba(2,16,35,.44);font-size:9px}.executive-card>footer{margin-top:auto;padding:12px 19px;border-top:1px solid rgba(104,197,225,.13)}.executive-card>footer a{color:#72e3ef;font-size:10px;font-weight:850;text-decoration:none}.executive-card>footer a:hover{color:#fff}
.attendance-body{padding:21px 18px;display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:18px}.executive-donut{--value:0;width:138px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#35dca3 calc(var(--value)*1%),#1599ce calc(var(--value)*1% + 1%),rgba(78,126,166,.18) 0);box-shadow:0 0 28px rgba(40,211,178,.12)}.executive-donut:before{content:"";grid-area:1/1;width:101px;aspect-ratio:1;border-radius:50%;background:#061a37;box-shadow:inset 0 0 20px rgba(61,197,226,.08)}.executive-donut>div{z-index:1;grid-area:1/1;display:grid;justify-items:center}.executive-donut b{color:#fff;font-size:28px}.executive-donut span{color:#8fa8bd;font-size:9px;text-transform:uppercase}.executive-metric-list{display:grid}.executive-metric-list>div,.executive-summary-lines>div{padding:9px 0;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(99,184,213,.12)}.executive-metric-list>div:last-child,.executive-summary-lines>div:last-child{border:0}.executive-metric-list span,.executive-summary-lines span{color:#a7b9ca;font-size:10px}.executive-metric-list b,.executive-summary-lines b{color:#fff;font-size:13px}.negative{color:#ff7d94!important}.warning{color:#ffd06f!important}
.executive-bars{height:245px;padding:24px 17px 15px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px}.executive-bar-column{height:100%;min-width:0;display:grid;grid-template-rows:18px minmax(0,1fr) 15px 14px;align-items:end;justify-items:center;gap:3px}.executive-bar-value{color:#dffaff;font-size:9px;font-weight:900}.executive-bar-track{width:min(28px,80%);height:100%;display:flex;align-items:flex-end;overflow:hidden;border-radius:6px;background:rgba(48,96,136,.20)}.executive-bar-track i{width:100%;min-height:4px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#52e3bd,#1599ce);box-shadow:0 0 12px rgba(58,220,202,.22)}.executive-bar-column b{color:#d9e9f3;font-size:9px}.executive-bar-column small{color:#718ba2;font-size:8px;white-space:nowrap}
.executive-horizontal-bars{padding:17px 19px;display:grid;gap:13px}.executive-horizontal-bars>div>div{margin-bottom:5px;display:flex;justify-content:space-between;gap:12px}.executive-horizontal-bars span{max-width:80%;overflow:hidden;color:#b5c7d7;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.executive-horizontal-bars b{color:#fff;font-size:10px}.executive-horizontal-bars i,.request-status-bars i{height:7px;display:block;overflow:hidden;border-radius:999px;background:rgba(53,98,136,.24)}.executive-horizontal-bars em{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#169ccb,#48dcb4)}
.executive-total{color:#68e1ef;font-size:28px;line-height:1}.executive-summary-lines{padding:17px 19px}.request-status-bars{padding:19px;display:grid;gap:18px}.request-status-bars span{margin-bottom:7px;display:flex;justify-content:space-between;color:#a7b9ca;font-size:10px}.request-status-bars span b{color:#fff}.request-status-bars em{height:100%;display:block;border-radius:inherit}.request-status-bars .pending{background:#ffd06f}.request-status-bars .approved{background:#39dba6}.request-status-bars .finalized{background:#57bde9}
.document-overview{padding:20px 19px 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.document-overview>div{padding:13px;border:1px solid rgba(92,191,221,.14);border-radius:12px;background:rgba(4,21,45,.44)}.document-overview strong{display:block;color:#fff;font-size:18px}.document-overview span{color:#829bb1;font-size:9px}.document-module-tags{padding:0 19px 15px;display:flex;flex-wrap:wrap;gap:6px}.document-module-tags span{padding:5px 7px;border:1px solid rgba(96,187,216,.15);border-radius:7px;color:#8fa8bd;background:rgba(3,16,36,.38);font-size:8px;text-transform:capitalize}.document-module-tags b{color:#dffaff}
.executive-quick-actions{margin:16px 0 4px;padding:19px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(86,203,231,.24);border-radius:20px;background-image:linear-gradient(110deg,rgba(4,21,46,.95),rgba(7,42,74,.82)),var(--bio-card-surface);background-size:cover}.executive-quick-actions small{color:#5fdcf4;font-size:9px;font-weight:950;letter-spacing:.12em}.executive-quick-actions h2{margin:5px 0 0!important;color:#fff!important;font-size:18px!important}.executive-quick-actions nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.executive-quick-actions a{min-width:92px;min-height:48px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(103,202,230,.19);border-radius:12px;color:#dcebf5;background:rgba(4,24,51,.58);font-size:10px;font-weight:850;text-decoration:none}.executive-quick-actions a:hover{border-color:#5fdcf4;background:rgba(8,81,111,.50)}.executive-quick-actions img,.executive-quick-actions a>span{width:21px;height:21px;display:grid;place-items:center;object-fit:contain}
@media(max-width:1200px){.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid-primary .workforce-card{grid-column:1/-1}.executive-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid-secondary .executive-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.executive-company-head{min-height:330px!important}.executive-company-head .dashboard-company-logo{height:130px!important}.executive-company-head>.light-cta{position:static!important;width:100%!important;margin-top:10px!important}.executive-company-meta{gap:5px}.executive-company-meta span{padding:6px 8px;font-size:8px}.executive-kpis,.executive-grid-primary,.executive-grid-secondary{grid-template-columns:1fr}.executive-grid-primary .workforce-card,.executive-grid-secondary .executive-card:last-child{grid-column:auto}.executive-kpis article{min-height:105px}.executive-card{min-height:0}.attendance-body{grid-template-columns:125px minmax(0,1fr);gap:12px}.executive-donut{width:120px}.executive-donut:before{width:88px}.executive-bars{height:225px;padding-left:10px;padding-right:10px}.executive-quick-actions{align-items:stretch;flex-direction:column}.executive-quick-actions nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.executive-quick-actions a{width:100%}}
@media(max-width:420px){.executive-kpis{gap:9px}.executive-kpis article{grid-template-columns:45px minmax(0,1fr);padding:13px}.executive-kpi-icon{width:45px;height:45px}.executive-kpis b{font-size:25px}.attendance-body{grid-template-columns:1fr;justify-items:center}.executive-metric-list{width:100%}.executive-card>header{padding:15px 14px}.executive-bars{gap:4px}.executive-bar-track{width:20px}.document-overview{grid-template-columns:1fr}.executive-quick-actions nav{grid-template-columns:1fr 1fr}}

/* ===================== V15 · ACTIVOS Y BÚSQUEDA PREDICTIVA ===================== */
.ow-predictive-input{padding-right:42px!important;background-image:radial-gradient(circle at center,#60dce9 0 2px,transparent 3px);background-repeat:no-repeat;background-position:calc(100% - 18px) 50%;background-size:10px 10px}.ow-predictive-input.is-predicting{background-image:conic-gradient(from 90deg,#61e4ef,transparent 75%);animation:owPredictivePulse .7s linear infinite}.route-inactive-workers .page-head{border-color:rgba(255,177,88,.36)}.route-inactive-workers .page-head .pill{color:#ffd18a}.route-inactive-workers table tbody tr{background:rgba(41,28,34,.16)}@keyframes owPredictivePulse{50%{filter:brightness(1.3)}}

/* V15.1 · fichas profesionales de personal en teléfono */
@media(max-width:760px){
  .route-workers .workers-active-table,.route-inactive-workers .table-wrap{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
  .route-workers .workers-active-table table,.route-inactive-workers .table-wrap table{display:block!important;width:100%!important;min-width:0!important;border-spacing:0!important}
  .route-workers .workers-active-table tbody,.route-inactive-workers .table-wrap tbody{display:grid!important;gap:14px!important;width:100%!important}
  .route-workers .workers-active-table tr:first-child,.route-inactive-workers .table-wrap tr:first-child{display:none!important}
  .route-workers .workers-active-table tr:not(:first-child),.route-inactive-workers .table-wrap tr:not(:first-child){display:grid!important;width:100%!important;min-width:0!important;padding:14px!important;border:1px solid rgba(93,207,232,.28)!important;border-radius:18px!important;background:linear-gradient(145deg,#103e67,#0c3155)!important;box-shadow:0 12px 28px rgba(0,0,0,.20)!important;overflow:hidden!important}
  .route-workers .workers-active-table td,.route-inactive-workers .table-wrap td{width:100%!important;min-width:0!important;min-height:42px!important;margin:0!important;padding:9px 0!important;display:grid!important;grid-template-columns:102px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;border:0!important;border-bottom:1px solid rgba(123,202,226,.13)!important;border-radius:0!important;background:transparent!important;color:#f1f8ff!important;overflow-wrap:normal!important;word-break:normal!important;white-space:normal!important;text-align:left!important}
  .route-workers .workers-active-table td:last-child,.route-inactive-workers .table-wrap td:last-child{border-bottom:0!important}
  .route-workers .workers-active-table td:before,.route-inactive-workers .table-wrap td:before{display:block;color:#7fdff0;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
  .route-workers .workers-active-table td:nth-child(1):before{content:"Foto"}.route-workers .workers-active-table td:nth-child(2):before{content:"Código"}.route-workers .workers-active-table td:nth-child(3):before{content:"Funcionario"}.route-workers .workers-active-table td:nth-child(4):before{content:"Documento"}.route-workers .workers-active-table td:nth-child(5):before{content:"Sede / punto"}.route-workers .workers-active-table td:nth-child(6):before{content:"Área"}.route-workers .workers-active-table td:nth-child(7):before{content:"Salario"}.route-workers .workers-active-table td:nth-child(8):before{content:"Estado"}.route-workers .workers-active-table td:nth-child(9):before{content:"Acciones"}.route-workers .workers-active-table td:nth-child(10):before{content:"PIN"}
  .route-inactive-workers .table-wrap td:nth-child(1):before{content:"Código"}.route-inactive-workers .table-wrap td:nth-child(2):before{content:"Funcionario"}.route-inactive-workers .table-wrap td:nth-child(3):before{content:"Documento"}.route-inactive-workers .table-wrap td:nth-child(4):before{content:"Sede anterior"}.route-inactive-workers .table-wrap td:nth-child(5):before{content:"Fecha"}.route-inactive-workers .table-wrap td:nth-child(6):before{content:"Motivo"}.route-inactive-workers .table-wrap td:nth-child(7):before{content:"Comprobante"}.route-inactive-workers .table-wrap td:nth-child(8):before{content:"Acción"}
  .route-workers .workers-active-table .file-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.route-workers .workers-active-table .file-actions .btn{width:100%!important;min-height:42px!important}
  .route-workers .workers-active-table .actions-cell{display:grid!important;grid-template-columns:102px minmax(0,1fr)!important}.route-workers .workers-active-table .actions-cell:before{grid-row:1/span 2}.route-workers .workers-active-table .actions-cell>a,.route-workers .workers-active-table .actions-cell>form{grid-column:2;width:100%!important}.route-workers .workers-active-table .actions-cell .btn{width:100%!important;min-height:45px!important}
  .route-workers .workers-active-table td:nth-child(10) form,.route-inactive-workers .table-wrap td:last-child form{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.route-workers .workers-active-table td:nth-child(10) input{width:100%!important;min-width:0!important}.route-workers .workers-active-table td:nth-child(10) .btn,.route-inactive-workers .table-wrap td:last-child .btn{width:100%!important}
}
@media(max-width:390px){.route-workers .workers-active-table td,.route-inactive-workers .table-wrap td{grid-template-columns:84px minmax(0,1fr)!important}.route-workers .workers-active-table .actions-cell{grid-template-columns:84px minmax(0,1fr)!important}}

/* V15.2 · fichas móviles automáticas en todos los departamentos */
@media(max-width:760px){
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards{width:100%!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards table{display:block!important;width:100%!important;min-width:0!important;border-spacing:0!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards tbody{display:grid!important;width:100%!important;gap:14px!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards .ow-table-head{display:none!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards tr:not(.ow-table-head){display:grid!important;width:100%!important;min-width:0!important;padding:14px!important;border:1px solid rgba(93,207,232,.25)!important;border-radius:18px!important;background:linear-gradient(145deg,#103e67,#0c3155)!important;box-shadow:0 12px 28px rgba(0,0,0,.20)!important;overflow:hidden!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td{width:100%!important;min-width:0!important;min-height:42px!important;margin:0!important;padding:9px 0!important;display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;border:0!important;border-bottom:1px solid rgba(123,202,226,.13)!important;border-radius:0!important;background:transparent!important;color:#f1f8ff!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;text-align:left!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td:last-child{border-bottom:0!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td:before{content:attr(data-label);display:block;color:#7fdff0;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;overflow-wrap:normal}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td>form,body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td>.decision-form{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td input,body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td select,body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td textarea,body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td .btn{width:100%!important;min-width:0!important;max-width:100%!important}
  body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards .file-actions,body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards .actions-cell{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
}
@media(max-width:390px){body:not(.route-workers):not(.route-inactive-workers) .table-wrap.ow-mobile-cards td{grid-template-columns:86px minmax(0,1fr)!important}}

/* V21 · Horarios compactos, selección predictiva e inactivos aislados */
.schedule-more{width:100%;min-height:42px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px dashed rgba(105,216,244,.55);border-radius:10px;background:rgba(4,20,42,.72);color:#86e6f6;font-size:11px;font-weight:950;text-align:left;cursor:pointer}.schedule-more:hover{border-style:solid;background:rgba(9,50,83,.88)}.schedule-more small{color:#9db1c7;font-size:9px;font-weight:850}.calendar-day .day-events{align-content:start}.calendar-day{min-height:265px}.month-calendar.week-view .calendar-day{min-height:300px}
body.schedule-lightbox-open{overflow:hidden}.schedule-day-lightbox{position:fixed;inset:0;z-index:10060;padding:24px;display:grid;place-items:center;background:rgba(0,8,22,.78);backdrop-filter:blur(12px)}.schedule-day-lightbox[hidden]{display:none!important}.schedule-day-dialog{width:min(920px,100%);max-height:min(820px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(104,222,242,.45);border-radius:24px;background:linear-gradient(145deg,#0b3157,#071b36);box-shadow:0 32px 90px rgba(0,0,0,.62)}.schedule-day-dialog>header{padding:22px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(106,207,235,.20)}.schedule-day-dialog>header span{color:#75ddec;font-size:10px;font-weight:950;letter-spacing:.12em}.schedule-day-dialog>header h2{margin:5px 0 2px;color:#fff;font-size:27px}.schedule-day-dialog>header p{margin:0;color:#9fb3c8;text-transform:capitalize}.schedule-day-close{flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(123,218,239,.34);border-radius:13px;background:#0d4770;color:#fff;font-size:27px;cursor:pointer}.schedule-day-search{padding:16px 24px;border-bottom:1px solid rgba(106,207,235,.16)}.schedule-day-search label{display:block;margin-bottom:7px;color:#8eddec}.schedule-day-search input{width:100%;background:#f5f8fc}.schedule-day-groups{padding:18px 24px 24px;display:grid;gap:14px;overflow:auto}.schedule-day-unit{overflow:hidden;border:1px solid rgba(91,202,229,.28);border-radius:17px;background:rgba(3,19,40,.48)}.schedule-day-unit>header{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(11,64,101,.66)}.schedule-day-unit>header span{color:#7fcee4;font-size:9px;font-weight:950;letter-spacing:.08em}.schedule-day-unit>header h3{margin:3px 0 0;color:#fff;font-size:17px}.schedule-day-unit>header b{color:#bceff6;font-size:11px}.schedule-day-worker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(91,202,229,.14)}.schedule-day-worker{min-width:0;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:#08284a;color:#fff;text-align:left;cursor:pointer}.schedule-day-worker:hover{background:#0c3c66}.schedule-day-worker span{min-width:0;display:grid;gap:3px}.schedule-day-worker b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.schedule-day-worker small{color:#93abc0;font-size:9px}.schedule-day-worker em{flex:0 0 auto;padding:6px 8px;border-radius:8px;background:#0b765f;color:#bdf7e5;font-size:10px;font-style:normal;font-weight:950}
.schedule-worker-heading{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-worker-heading label{margin:0}.schedule-worker-heading span{padding:5px 9px;border-radius:999px;background:#0d4770;color:#9beaf4;font-size:10px;font-weight:950}.schedule-worker-picker{position:relative;padding:12px;border:1px solid rgba(99,210,236,.32);border-radius:15px;background:rgba(3,19,40,.54)}.schedule-worker-picker>input{width:100%;background:#f5f8fc}.schedule-worker-results{position:absolute;z-index:80;top:66px;left:12px;right:12px;max-height:310px;overflow:auto;border:1px solid #bcdce7;border-radius:13px;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.34)}.schedule-worker-option{width:100%;padding:11px 13px;display:grid;gap:3px;border:0;border-bottom:1px solid #e6eff3;background:#fff;color:#142f49;text-align:left;cursor:pointer}.schedule-worker-option:last-child{border-bottom:0}.schedule-worker-option:hover{background:#e9f8f4}.schedule-worker-option b{font-size:12px}.schedule-worker-option small{color:#637789;font-size:9px}.schedule-worker-result-empty{padding:14px;color:#697c8d;font-size:11px}.schedule-worker-tags{min-height:58px;margin-top:10px;display:flex;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:7px}.schedule-worker-empty{align-self:center;color:#8198ae;font-size:11px}.schedule-worker-tag{max-width:100%;display:inline-flex;align-items:center;gap:8px;padding:6px 7px 6px 10px;border:1px solid rgba(80,218,188,.35);border-radius:11px;background:rgba(7,91,73,.54);color:#e9fff8}.schedule-worker-tag>span{min-width:0;display:grid}.schedule-worker-tag b{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.schedule-worker-tag small{color:#9bd4c7;font-size:8px}.schedule-worker-tag button{flex:0 0 26px;width:26px;height:26px;padding:0;border:0;border-radius:8px;background:rgba(0,0,0,.25);color:#fff;font-size:17px;cursor:pointer}.schedule-worker-actions{margin-top:9px;display:flex;flex-wrap:wrap;gap:8px}.schedule-worker-actions+.muted,.schedule-worker-actions+small{display:block;margin-top:8px}.inactive-predictive-form{max-width:780px;margin-top:18px;display:grid;gap:8px}.inactive-search-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:start}.inactive-predictive-form .worker-autocomplete{width:100%}.inactive-predictive-form small{color:#91a7bc}.inactive-worker-result{overflow:visible}.inactive-worker-card{display:grid;gap:20px}.inactive-worker-card>div>span{color:#76ddec;font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.inactive-worker-card h2{margin:5px 0;color:#fff}.inactive-worker-card p{margin:0;color:#9eb2c7}.inactive-worker-card dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inactive-worker-card dl>div{padding:13px;border:1px solid rgba(94,207,232,.22);border-radius:13px;background:rgba(5,27,53,.62)}.inactive-worker-card dt{color:#7fcfde;font-size:9px;font-weight:950;text-transform:uppercase}.inactive-worker-card dd{margin:5px 0 0;color:#eef8ff;font-size:12px;overflow-wrap:anywhere}.inactive-worker-card form{justify-self:start}
@media(max-width:760px){.schedule-day-lightbox{padding:0;place-items:stretch}.schedule-day-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.schedule-day-dialog>header,.schedule-day-search,.schedule-day-groups{padding-left:16px;padding-right:16px}.schedule-day-worker-list{grid-template-columns:1fr}.schedule-day-worker{min-height:64px}.inactive-worker-card dl{grid-template-columns:1fr 1fr}.schedule-worker-actions,.inactive-search-action{display:grid;grid-template-columns:1fr}.schedule-worker-actions .btn,.inactive-search-action .btn{width:100%}}
@media(max-width:430px){.inactive-worker-card dl{grid-template-columns:1fr}.schedule-day-dialog>header h2{font-size:22px}}
/* Consentimiento biométrico: diálogo independiente, legible y adaptable. */
.bio-consent-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(1,7,20,.84);backdrop-filter:blur(10px)}
.bio-consent-dialog{width:min(760px,100%);max-height:min(88vh,820px);overflow:auto;padding:clamp(22px,4vw,38px);border:1px solid rgba(85,215,255,.55);border-radius:26px;background:#0d2944;color:#eef8ff;box-shadow:0 28px 80px rgba(0,0,0,.55)}
.bio-consent-dialog h2{margin:8px 0 4px;font-size:clamp(1.45rem,4vw,2.2rem);line-height:1.1}.bio-consent-dialog p{line-height:1.55;color:#d4e4f3}.bio-consent-dialog .bio-law{margin-top:0;color:#65e5ff;font-weight:800}
.bio-consent-check{display:flex;gap:12px;align-items:flex-start;margin:22px 0;padding:16px;border:1px solid rgba(85,215,255,.35);border-radius:16px;background:#071b30;line-height:1.45}.bio-consent-check input{width:22px;height:22px;flex:0 0 auto;margin-top:2px;accent-color:#09c98d}
.bio-consent-dialog .form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.bio-consent-dialog button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:600px){.bio-consent-modal{padding:8px;align-items:end}.bio-consent-dialog{max-height:94vh;border-radius:22px 22px 0 0;padding:22px 18px}.bio-consent-dialog .form-actions .btn{width:100%;min-height:50px}}
.geofence-lockbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border:1px solid #3aaed8;border-radius:16px;background:#082746}.geofence-lockbar div{display:grid;gap:4px}.geofence-lockbar span{color:#bdd1e6}.geofence-lockbar.authorized{border-color:#17c891;background:#07392f}.geofence-map-barrier{position:absolute;z-index:900;inset:62px 0 0;display:grid;place-content:center;text-align:center;gap:7px;padding:20px;border-radius:12px;background:rgba(2,13,31,.82);color:#fff;backdrop-filter:blur(3px)}.geofence-map-barrier span{color:#bdd1e6}.field-error{min-height:22px;color:#ff718d;font-weight:800}.geofence-auth.open{display:flex}.repo-preview{width:120px;height:86px;object-fit:cover;border:1px solid #3e6c8b;border-radius:10px;background:#fff}.repo-preview.pdf{object-fit:contain}.repository-empty{padding:34px;text-align:center;color:#bdd1e6}@media(max-width:640px){.geofence-lockbar{align-items:stretch;flex-direction:column}.repo-preview{width:92px;height:70px}}

/* Formularios de alta plegables y retorno exclusivo de Mantenimiento */
.create-form-launch{display:flex;justify-content:flex-end;margin:0 0 16px}
.create-form-toggle{min-height:50px;letter-spacing:.25px}
.collapsible-create-panel[hidden]{display:none!important}
.maintenance-return-floating{position:fixed;right:18px;bottom:18px;z-index:9800;margin:0}
.maintenance-return-floating .btn{box-shadow:0 16px 42px rgba(5,20,42,.28);border:1px solid rgba(255,255,255,.42)}
@media(max-width:620px){.create-form-launch{justify-content:stretch}.create-form-launch .btn{width:100%}.maintenance-return-floating{left:12px;right:12px;bottom:12px}.maintenance-return-floating .btn{width:100%}}

/* V18 · video facial breve y resumen de horarios activos */
#snapCam.recording{pointer-events:none;position:relative;overflow:hidden}
#snapCam.recording:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:rgba(255,255,255,.88);transform-origin:left;animation:owFaceVideoProgress var(--face-capture-duration,2.1s) linear forwards}
@keyframes owFaceVideoProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.active-schedules-overview{display:grid;gap:18px}
.active-schedule-groups{display:grid;gap:18px}
.active-schedule-unit{border:1px solid rgba(88,203,231,.24);border-radius:20px;overflow:hidden;background:rgba(2,15,35,.48)}
.active-schedule-unit>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;background:rgba(6,31,61,.55);cursor:pointer;list-style:none;user-select:none;transition:background .18s ease,border-color .18s ease}
.active-schedule-unit>summary::-webkit-details-marker{display:none}
.active-schedule-unit>summary:hover,.active-schedule-unit>summary:focus-visible{background:rgba(10,49,91,.78)}
.active-schedule-unit>summary:focus-visible{outline:2px solid rgba(88,203,231,.72);outline-offset:-2px}
.active-schedule-unit[open]>summary{border-bottom:1px solid rgba(88,203,231,.20)}
.active-schedule-unit>summary span{display:block;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.active-schedule-unit>summary h3{margin:3px 0 0;font-size:21px}
.active-schedule-summary-meta{display:flex;align-items:center;gap:14px;white-space:nowrap;color:#b9f7ff}
.active-schedule-summary-meta i{width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.active-schedule-unit[open] .active-schedule-summary-meta i{transform:rotate(225deg)}
.active-schedule-content{overflow:hidden}
.active-schedule-unit .table-wrap{border:0;border-radius:0;margin:0}
.active-schedule-unit table{margin:0}
.schedule-break{display:block;margin-top:4px;color:var(--muted)}
@media(max-width:720px){.active-schedule-unit>summary{align-items:flex-start}.active-schedule-summary-meta{padding-top:4px}.active-schedule-unit .actions-cell{min-width:190px}}

/* V19 · resumen compacto: una sola línea por trabajador */
.compact-schedule-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.compact-schedule-grid{min-width:980px;display:grid;background:rgba(4,26,52,.28)}
.compact-schedule-header,.compact-worker-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(430px,1.75fr) minmax(500px,1.55fr);align-items:center}
.compact-schedule-header{min-height:38px;background:rgba(22,91,142,.64);color:#eefaff;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.compact-schedule-header>span,.compact-worker-row>div{min-width:0;padding:10px 14px;border-right:1px solid rgba(87,190,222,.16)}
.compact-schedule-header>span:last-child,.compact-worker-row>div:last-child{border-right:0}
.compact-worker-row{min-height:62px;border-top:1px solid rgba(87,190,222,.18);background:rgba(12,55,91,.56)}
.compact-worker-row:hover{background:rgba(15,67,108,.72)}
.compact-worker-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f4fbff}
.compact-worker-name b{font-size:13px}
.compact-schedule-line{display:flex;align-items:center;gap:7px;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.compact-schedule-token{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(92,211,232,.24);border-radius:999px;background:rgba(4,30,57,.66);color:#dff8ff;font-size:11px;line-height:1}
.compact-schedule-token strong{color:#78e8f3;font-size:11px;letter-spacing:.02em}
.compact-schedule-token em{color:#f4fbff;font-size:11px;font-style:normal;font-weight:800}
.compact-schedule-actions{display:grid;grid-template-columns:minmax(130px,1fr) auto auto auto;align-items:center;gap:7px;white-space:nowrap}
.compact-schedule-picker{height:38px;min-height:38px;padding:6px 28px 6px 9px;font-size:11px}
.compact-schedule-actions .btn{min-height:38px!important;padding:8px 12px!important;font-size:11px!important;white-space:nowrap!important}
.compact-schedule-delete,.compact-schedule-delete-all{display:block;margin:0}
.compact-schedule-actions .outline-danger{background:rgba(216,54,88,.14)!important;color:#ff9eb2!important;border-color:rgba(255,94,126,.62)!important}
.compact-schedule-actions .outline-danger:hover{background:rgba(216,54,88,.28)!important;color:#fff!important}
@media(max-width:720px){.compact-schedule-grid{min-width:1100px}.compact-schedule-header,.compact-worker-row{grid-template-columns:190px 410px 500px}.compact-schedule-header>span,.compact-worker-row>div{padding:9px 11px}.compact-schedule-token{padding:5px 8px}}

/* DASHBOARDS COMPACTOS DE REPORTES */
.report-period-panel{padding:18px 22px}.report-period-bar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.report-period-bar>div{display:grid;gap:6px;min-width:170px}.report-period-bar label,.report-detail-filters label{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8fa7bd)}.report-period-bar strong{margin-left:auto;align-self:center;padding:10px 14px;border-radius:999px;background:rgba(18,170,222,.12);border:1px solid rgba(18,170,222,.3);white-space:nowrap}.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.report-kpi{padding:20px;border-radius:20px;background:linear-gradient(145deg,rgba(8,39,69,.98),rgba(10,65,100,.9));border:1px solid rgba(83,190,229,.24);box-shadow:0 14px 32px rgba(0,0,0,.14);display:grid;gap:5px}.report-kpi small{font-size:.72rem;font-weight:900;letter-spacing:.1em;color:#9fb7ca}.report-kpi b{font-size:clamp(1.65rem,3vw,2.55rem);line-height:1;color:#fff}.report-kpi span{font-size:.82rem;color:#c2d2df}.report-kpi.alert{border-color:rgba(255,87,113,.48);background:linear-gradient(145deg,rgba(77,25,43,.98),rgba(126,35,59,.88))}.report-kpi.warn{border-color:rgba(255,183,77,.45);background:linear-gradient(145deg,rgba(73,51,20,.98),rgba(112,75,27,.9))}.report-kpi.success{border-color:rgba(38,211,151,.42);background:linear-gradient(145deg,rgba(12,69,59,.98),rgba(15,102,80,.88))}.report-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px;margin-bottom:18px}.report-trend,.report-breakdown{min-height:260px}.report-bars{display:grid;gap:10px;margin-top:18px}.report-bar-row{display:grid;grid-template-columns:54px minmax(80px,1fr) 42px minmax(90px,auto);align-items:center;gap:10px;font-size:.82rem}.report-bar-row time{font-weight:900}.report-bar-row>div{height:11px;border-radius:999px;background:rgba(129,159,183,.16);overflow:hidden}.report-bar-row i{display:block;width:var(--bar);height:100%;border-radius:inherit;background:linear-gradient(90deg,#0aa6d9,#19d39b);min-width:3px}.report-bar-row b{text-align:right}.report-bar-row span{color:#ffbd62;font-size:.75rem}.report-breakdown-list{display:grid;gap:10px;margin-top:16px}.report-breakdown-list>div{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;background:rgba(113,157,188,.09);border:1px solid rgba(113,157,188,.16)}.report-breakdown-list span{font-weight:800}.report-detail-shell,.maintenance-cleanup,.action-create-shell,.worker-history-shell{padding:0;overflow:hidden}.report-detail-shell>summary,.maintenance-cleanup>summary,.action-create-shell>summary,.worker-history-shell>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;background:rgba(10,44,74,.55);user-select:none}.report-detail-shell>summary::-webkit-details-marker,.maintenance-cleanup>summary::-webkit-details-marker,.action-create-shell>summary::-webkit-details-marker,.worker-history-shell>summary::-webkit-details-marker{display:none}.report-detail-shell>summary span,.maintenance-cleanup>summary span,.action-create-shell>summary span,.worker-history-shell>summary span{display:grid;gap:4px}.report-detail-shell>summary small,.maintenance-cleanup>summary small,.action-create-shell>summary small,.worker-history-shell>summary small{color:var(--muted,#91a9bd)}.report-detail-shell>summary i,.maintenance-cleanup>summary i,.action-create-shell>summary i,.worker-history-shell>summary i{font-style:normal;font-size:1.4rem;transition:transform .2s ease}.report-detail-shell[open]>summary i,.maintenance-cleanup[open]>summary i,.action-create-shell[open]>summary i,.worker-history-shell[open]>summary i{transform:rotate(180deg)}.report-detail-body{padding:20px 22px 24px}.report-detail-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end;gap:12px}.report-detail-filters>div{display:grid;gap:6px}.report-detail-filters .btn{min-height:44px}.result-limit-note{margin:16px 0 10px;color:var(--muted,#91a9bd);font-size:.8rem}.bounded-results{max-height:64vh;overflow:auto;border-radius:16px}.bounded-card-results{max-height:68vh;overflow:auto;padding-right:5px}.maintenance-cleanup{border-color:rgba(255,76,105,.35);margin-top:18px}.maintenance-cleanup>summary{background:rgba(110,24,44,.22)}.maintenance-cleanup form{padding:18px 22px 22px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.maintenance-cleanup form input{max-width:210px}.action-create-shell{margin-bottom:18px}.worker-history-shell{margin-top:18px}.worker-history-shell .worker-portal-content-grid{margin-top:18px}.worker-history-shell>.report-detail-body>.panel{margin-top:18px}
@media(max-width:1050px){.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-dashboard-grid{grid-template-columns:1fr}.report-detail-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.report-kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.report-kpi{padding:15px}.report-kpi b{font-size:1.65rem}.report-period-bar>*{width:100%}.report-period-bar strong{margin-left:0;text-align:center}.report-detail-filters{grid-template-columns:1fr}.report-bar-row{grid-template-columns:44px minmax(70px,1fr) 34px}.report-bar-row span{grid-column:2/4}.maintenance-cleanup form>*{width:100%;max-width:none!important}.report-detail-shell>summary,.maintenance-cleanup>summary,.action-create-shell>summary,.worker-history-shell>summary{padding:17px}.report-detail-body{padding:16px}}

/* V20 · comprobantes automáticos, resultados agrupados y Pago de Servicio */
.worker-combobox-input{width:100%;min-width:0}
select[data-worker-combobox="1"][hidden]{display:none!important}
.worker-autocomplete{position:relative;width:100%;min-width:0}
.worker-autocomplete-results{position:absolute;z-index:10040;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow:auto;padding:6px;border:1px solid rgba(72,207,235,.55);border-radius:13px;background:#061b35;box-shadow:0 18px 42px rgba(0,0,0,.48)}
.worker-autocomplete-results[hidden]{display:none!important}
.worker-autocomplete-option{width:100%;min-height:48px;padding:9px 11px;display:grid;gap:3px;border:0;border-radius:9px;color:#f3f9ff;background:transparent;text-align:left;cursor:pointer}
.worker-autocomplete-option:hover,.worker-autocomplete-option.active{background:rgba(29,149,192,.34)}
.worker-autocomplete-option b{font-size:.82rem}.worker-autocomplete-option small{color:#91b0c8;font-size:.7rem}
.worker-autocomplete-empty{padding:13px;color:#9cb3c8;font-size:.78rem;text-align:center}
.payroll-automation-status{display:flex;align-items:center;justify-content:space-between;gap:22px}.payroll-automation-status p{margin-bottom:0}.payroll-dates{display:flex;gap:10px;flex-wrap:wrap}.payroll-dates span{display:grid;gap:3px;min-width:150px;padding:13px 16px;border:1px solid rgba(76,207,232,.28);border-radius:14px;background:rgba(4,34,62,.55)}.payroll-dates small{color:#8fb0c8;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.grouped-result-list,.incident-groups{display:grid;gap:20px}.result-unit-group,.incident-group{overflow:hidden;border:1px solid rgba(85,205,232,.28);border-radius:22px;background:rgba(8,42,71,.7)}.result-unit-group>header,.incident-group>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:#071f3b;border-bottom:1px solid rgba(85,205,232,.22)}.result-unit-group>header small,.incident-group>header small{display:block;color:#8ea8c1;font-size:.7rem;font-weight:950;letter-spacing:.09em}.result-unit-group>header h3,.incident-group>header h3{margin:4px 0 0}.result-unit-group>header>b,.incident-group>header>b{color:#baf7ff;white-space:nowrap}.result-unit-group .slip-grid{padding:14px;max-height:none}.incident-group .incident-list{padding:14px}.bulk-decision{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,1fr) auto;gap:10px;padding:14px;border-bottom:1px solid rgba(85,205,232,.16)}.incident-select{display:flex;align-items:center;gap:8px;color:#baf7ff;font-size:.78rem;font-weight:850}.incident-select input{width:18px;height:18px}.resolution-note{padding:10px 12px;border-radius:10px;background:rgba(31,197,146,.1);color:#bdf6df}
.service-calculator{overflow:visible}.service-control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-control-grid>div{display:grid;gap:6px}.service-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.service-summary span{display:grid;gap:5px;padding:18px;border:1px solid rgba(80,202,230,.25);border-radius:16px;background:rgba(5,34,63,.7)}.service-summary small{color:#91abc1;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.service-summary b{font-size:1.35rem}.service-summary em{color:#8faec4;font-size:.72rem;font-style:normal}.service-maintenance-switch{margin:4px 0 14px;display:flex;align-items:center;gap:9px;color:#bdebf5;font-weight:850}.service-maintenance-switch input{width:20px;height:20px}.service-maintenance-panel{margin:0 0 18px;padding:16px;display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:11px;border:1px solid rgba(255,186,75,.38);border-radius:16px;background:rgba(81,53,12,.18)}.service-maintenance-panel[hidden]{display:none!important}.service-maintenance-panel>div{display:grid;gap:5px}.service-maintenance-results{grid-column:1/-1;display:flex!important;align-items:center;gap:15px!important;padding-top:5px;color:#c5d8e8}.service-table{margin-bottom:18px;overflow-x:auto;overflow-y:visible}.service-table table{min-width:1080px}.service-table th:nth-child(1){width:210px}.service-table th:nth-child(2){width:350px}.service-table th:nth-child(3){width:115px}.service-table th:nth-child(4){width:175px}.service-table td{vertical-align:top}.service-table td:first-child b{display:block;padding-top:13px}.service-table .service-percent{padding-top:19px;font-size:1.05rem;font-weight:950;color:#75e5f2}.service-table input[readonly]{opacity:.72;background:rgba(123,151,176,.12)}.service-worker-autocomplete .worker-autocomplete-results{position:static;margin-top:6px}.service-destination{margin-top:10px;display:inline-flex;padding:7px 9px;border:1px solid rgba(53,218,168,.32);border-radius:999px;color:#7ce7c1;background:rgba(25,129,99,.16);font-size:.7rem;font-weight:950;white-space:nowrap}.approved-service-table tfoot th{background:rgba(7,31,59,.95);color:#f5fbff}.service-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.service-actions span{max-width:760px;color:#9cb3c8;font-size:.78rem}.service-finalize{margin-top:14px;display:flex;justify-content:flex-end}.service-period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}.service-period-card{display:grid;gap:7px;padding:17px;border:1px solid rgba(83,198,228,.25);border-radius:17px;background:rgba(7,39,68,.7);color:inherit;text-decoration:none}.service-period-card:hover{border-color:#55d5ea;transform:translateY(-1px)}.service-period-card .status{justify-self:start}.service-period-card strong{font-size:1.3rem;color:#baf7ff}
.head-actions,.service-add-people,.service-period-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-add-people{margin:-5px 0 18px}.service-add-people span{color:#9cb3c8;font-size:.78rem}.service-remove-person{margin-top:8px;width:28px;height:28px;border:1px solid rgba(255,107,133,.42);border-radius:50%;background:rgba(255,76,112,.12);color:#ff9aad;font-size:1.15rem;font-weight:900;cursor:pointer}.service-remove-person:hover{background:rgba(255,76,112,.25)}.service-period-filters{margin:16px 0 20px}.service-period-actions{margin-top:6px}.service-period-actions .btn{flex:1;justify-content:center;padding:9px 11px;font-size:.73rem}
@media(max-width:1050px){.service-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-maintenance-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.payroll-automation-status{align-items:stretch;flex-direction:column}.payroll-dates{display:grid;grid-template-columns:1fr 1fr}.service-summary,.service-control-grid{grid-template-columns:1fr}.service-maintenance-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.service-actions{align-items:stretch;flex-direction:column}.service-actions .btn,.service-finalize .btn,.head-actions .btn{width:100%}.service-add-people{align-items:stretch;flex-direction:column}.service-add-people .btn{width:100%}.service-finalize{display:block}.bulk-decision{grid-template-columns:1fr}.result-unit-group>header,.incident-group>header{align-items:flex-start}.result-unit-group>header>b,.incident-group>header>b{font-size:.8rem}}
@media(max-width:430px){.service-maintenance-panel{grid-template-columns:1fr}.service-maintenance-results{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.payroll-dates{grid-template-columns:1fr}.result-unit-group>header,.incident-group>header{flex-direction:column}.result-unit-group>header>b,.incident-group>header>b{white-space:normal}}

/* V22 · texto siempre visible en buscadores predictivos */
input.ow-predictive-input,
.worker-autocomplete input[type="search"],
.schedule-worker-picker>input[type="search"],
.schedule-day-search input[type="search"]{
  width:100%;
  background:#fff!important;
  color:#10263d!important;
  -webkit-text-fill-color:#10263d!important;
  caret-color:#087f9e!important;
  color-scheme:light;
  opacity:1!important;
  font-weight:750;
}
input.ow-predictive-input::placeholder,
.worker-autocomplete input[type="search"]::placeholder,
.schedule-worker-picker>input[type="search"]::placeholder,
.schedule-day-search input[type="search"]::placeholder{
  color:#6b7d90!important;
  -webkit-text-fill-color:#6b7d90!important;
  opacity:1!important;
}
input.ow-predictive-input:focus,
.worker-autocomplete input[type="search"]:focus,
.schedule-worker-picker>input[type="search"]:focus,
.schedule-day-search input[type="search"]:focus{
  border-color:#27c8e7!important;
  outline:3px solid rgba(39,200,231,.22)!important;
  box-shadow:0 0 0 1px rgba(39,200,231,.2)!important;
}
input.ow-predictive-input::selection,
.worker-autocomplete input[type="search"]::selection,
.schedule-worker-picker>input[type="search"]::selection,
.schedule-day-search input[type="search"]::selection{background:#b9edf4;color:#071c31}
input.ow-predictive-input:-webkit-autofill,
.worker-autocomplete input[type="search"]:-webkit-autofill,
.schedule-worker-picker>input[type="search"]:-webkit-autofill,
.schedule-day-search input[type="search"]:-webkit-autofill{
  -webkit-text-fill-color:#10263d!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
}
.worker-autocomplete input[type="search"]:disabled{-webkit-text-fill-color:#536779!important;color:#536779!important;opacity:.82!important}

/* V22.1 · contraste explícito dentro de las sugerencias predictivas */
.schedule-worker-results .schedule-worker-option{
  background:#fff!important;
  color:#142f49!important;
  -webkit-text-fill-color:#142f49!important;
  opacity:1!important;
}
.schedule-worker-results .schedule-worker-option b{
  color:#142f49!important;
  -webkit-text-fill-color:#142f49!important;
  opacity:1!important;
  font-weight:950;
}
.schedule-worker-results .schedule-worker-option small{
  color:#536d82!important;
  -webkit-text-fill-color:#536d82!important;
  opacity:1!important;
}
.schedule-worker-results .schedule-worker-option:hover,
.schedule-worker-results .schedule-worker-option:focus-visible{
  background:#e9f8f4!important;
  outline:2px solid #27c8e7;
  outline-offset:-2px;
}
.schedule-worker-results .schedule-worker-result-empty{
  color:#536d82!important;
  -webkit-text-fill-color:#536d82!important;
  background:#fff;
  opacity:1!important;
}
.worker-autocomplete-results .worker-autocomplete-option b{
  color:#f3f9ff!important;
  -webkit-text-fill-color:#f3f9ff!important;
  opacity:1!important;
}
.worker-autocomplete-results .worker-autocomplete-option small,
.worker-autocomplete-results .worker-autocomplete-empty{
  color:#a9c3d8!important;
  -webkit-text-fill-color:#a9c3d8!important;
  opacity:1!important;
}

/* V31 - flujo vertical seguro, desplegables sin traslape y cifras responsivas */
.worker-autocomplete:not(.service-worker-autocomplete) .worker-autocomplete-results{position:static;margin-top:6px;max-height:220px}
.payroll-preview-panel{overflow:visible}
.payroll-preview-panel .notice{margin:14px 0 0}
.payroll-preview-panel .grid.four{grid-template-columns:minmax(260px,1.25fr) minmax(210px,.8fr) auto}
.payroll-preview-panel .align-end{align-items:flex-end}
.report-kpi{min-width:0;overflow:hidden}
.report-kpi b{font-size:clamp(1.35rem,2.05vw,2.2rem);line-height:1.08;min-width:0;max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
@media(max-width:1050px){.payroll-preview-panel .grid.four{grid-template-columns:1fr 1fr}.payroll-preview-panel .align-end{grid-column:1/-1}.report-kpi b{font-size:clamp(1.4rem,4vw,2.1rem)}}
@media(max-width:640px){.payroll-preview-panel .grid.four{grid-template-columns:1fr}.payroll-preview-panel .align-end{grid-column:auto}.report-kpi b{font-size:clamp(1.2rem,6vw,1.65rem)}}
.ow-billing-chip{display:inline-flex;flex-direction:column;gap:1px;min-width:max-content;padding:5px 9px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);line-height:1.05;color:#fff}.ow-billing-chip small{font-size:8px;font-weight:800;letter-spacing:.08em;opacity:.75}.ow-billing-chip b{font-size:10px;font-weight:800;white-space:nowrap}.ow-billing-chip.is-paid{border-color:rgba(35,213,157,.45);background:rgba(9,155,112,.16)}.ow-billing-chip.is-pending{border-color:rgba(255,190,70,.5);background:rgba(190,118,15,.18)}@media(max-width:900px){.ow-billing-chip{padding:4px 7px}.ow-billing-chip small{display:none}.ow-billing-chip b{font-size:9px}}

/* OUTWORK · Cristal azul y oro. Presentation only; printing retains original styles. */
@media screen {
html:root {
 --ow-bg:#06111f;--ow-card:#0c1d2d;--ow-gold:#efcc86;--ow-blue:#48b9ff;--ow-mint:#82e4d1;
 --bg:#06111f;--bg-2:#0a1928;--panel:#0c1d2d;--panel-2:#102639;--surface:#0c1d2d;--canvas:#06111f;
 --ink:#eaf2fa;--text:#eaf2fa;--muted:#b2c4d5;--line:#324c63;--white:#fff;
 --cyan:#eac47d;--cyan-2:#c69542;--blue:#48b9ff;--blue2:#8ddaff;--purple:#83baff;
 --violet:#eac47d;--violet-dark:#c69542;--violet-soft:#273044;--green:#74dbc1;--green2:#39a9d8;
 --green-dark:#72e2bd;--green-soft:#123c38;--amber:#efcc86;--amber-soft:#3b301a;--red:#ff9ca7;--red-soft:#422633;
 --lime:#efcc86;--gold:#efcc86;--navy:#071522;--dark:#071522;
 --shadow:0 18px 48px #0005, inset 0 1px 0 #ffffff0b;
 color-scheme:dark;color:var(--text)!important;background:var(--bg)!important;
}
html body {
 color:#eaf2fa!important;background-color:#06111f!important;
 background-image:linear-gradient(90deg,#03101bef,#03101bc4),url('outwork-visual/atmosphere-v2.png')!important;
 background-position:center!important;background-size:cover!important;background-attachment:fixed!important;
}
body :is(.home-page,.portal-page,.portal-home,.login-page,.login,.app,.app-shell,.shell,.main,.portal-main,.portal-content,.content,.worker-portal-content-grid){background:transparent!important;color:#eaf2fa!important}
body .portal-page>.portal-shell{background:linear-gradient(135deg,#142b3deb,#06131fe8)!important;border-color:#49657a!important}
body :is(.public-services,.home-commercial-actions,.system-dialog,.loading-card,.user-edit-form,.cart-drawer,.permission-item,.protected-user-row){background:#102638!important;color:#eaf2fa!important;border-color:#456076!important}
body :is(.logo-tile.principal img,.portal-logos img){filter:brightness(0) invert(1)!important}
body .portal-choice>i{display:block;width:76px;height:76px;min-height:76px;flex-shrink:0}
body .portal-card .portal-icon::before{content:none}
body .access-icon{background-image:url('outwork-visual/people.svg')!important;background-size:75%!important;background-repeat:no-repeat!important;background-position:center!important}
body .access-card.mantenimiento .access-icon{background-image:url('outwork-visual/settings.svg')!important}
body .access-card.empresa .access-icon{background-image:url('outwork-visual/company.svg')!important}
body .access-icon img{visibility:hidden}
body :is(.home-hero,.home-hero-v6,.login-art,.login-hero,.login-brand){
 background:linear-gradient(90deg,#04111de8,#04111d66),url('outwork-visual/atmosphere-v2.png') center/cover!important;
 color:#f0f6fb!important;border-color:#526177!important;
}
body :is(h1,h2,h3,h4){color:#f1d49c!important}
body :is(.home-hero,.home-hero-v6,.login-brand) h1{color:#faf7ef!important;text-shadow:0 3px 24px #0008!important}
body :is(.home-hero,.home-hero-v6) h1 span{color:#f1cd87!important}
body :is(p,small,.muted,.subtitle,.description,.breadcrumb,.legend,.chart-note,.chart-label){color:#b8cad9!important}
body :is(label,legend,.access-copy b,.portal-card strong,.connection-row strong,.page-top strong){color:#e4eef6!important}
body :is(.eyebrow,.nav-label,.portal-section-title,.access-copy em){color:#efcc86!important}
body :is(.panel,.stat,.metric,.kpi,.card,.quick-card,.product-card,.order-card,.cashier-card,.table-card,.report-card,.integration-card,.document-card,.portal-card,.portal-choice,.access-card,.restaurant-portal,.service-card,.setup-card,.login-card,.login-panel,.login-form,.modal-card,.modal-box-pro,.provider-card,.worker-request-panel,.worker-payroll-panel,.maintenance-company-card,.company-panel,.branch-card,.workflow-card,.executive-card,.workforce-card,.service-period-card,.accounting-document-card,.filter-bar,.filters,.compact-list,.home-plans article){
 color:#eaf2fa!important;border-color:#47637b!important;
 background:linear-gradient(135deg,#ffffff09,transparent 42%),linear-gradient(155deg,#142b3deb,#06131ff5)!important;
 box-shadow:inset 0 1px 0 #e8cc883d,inset 0 -1px 0 #38b8ff33,0 12px 30px #0004!important;
 border-radius:16px;
}
body :is(.panel-head,.modal-head,.portal-head,.topbar,.home-nav,.maintenance-top,.ow-header-brand,.ow-nav-shell,.ow-primary-nav,.company-brand){background:#071726f5!important;color:#eaf2fa!important;border-color:#385269!important}
body :is(.sidebar,.portal-sidebar){background:linear-gradient(160deg,#112839,#05111f 75%)!important;color:#eaf2fa!important;border-color:#496178!important;box-shadow:5px 0 35px #0003!important}
body :is(.sidebar,.portal-sidebar) :is(a,button,.brand,.brand-copy,.brand small){color:#c7d9e8!important}
body :is(.sidebar,.portal-sidebar,.nav,.ow-primary-nav) :is(a.active,button.active),body .ow-nav-item.active{
 background:linear-gradient(110deg,#e8c17929,#2b9be92b)!important;color:#ffe1a4!important;border-color:#c49e59!important;
 box-shadow:inset 3px 0 #efcc86!important;
}
body :is(.ow-menu-panel,.nav-cluster-menu,.portal-action-dropdown,.dropdown-menu,.sidebar-action-menu .portal-action-dropdown){background:#0b2133!important;color:#e8f1fa!important;border-color:#47647a!important;box-shadow:0 14px 35px #0007!important}
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]){
 background:#071725!important;color:#f0f6fc!important;border-color:#49647c!important;box-shadow:inset 0 2px 5px #0002!important;
}
body :is(input,textarea)::placeholder{color:#92a9bc!important;opacity:1}
body select option{background:#0b1d2e!important;color:#f0f6fc!important}
body :is(input,select,textarea):focus-visible{outline:2px solid #5bc8ff;outline-offset:2px;border-color:#6cd2ff!important}
body input:is([type=checkbox],[type=radio]){accent-color:#e8c179}
body :is(button,.btn,.button){color:#eaf2fa!important;border-color:#4d6880!important;background-color:#153148!important}
body :is(.btn.primary,button.primary,.button.primary,.btn.violet,button.violet,.btn.blue,button.blue,.btn.green,button.green,.access-enter){
 background:linear-gradient(125deg,#f4da9e,#d3a652)!important;color:#152030!important;border-color:#efd293!important;text-shadow:none!important;box-shadow:0 3px 14px #d8ad4c1f!important;
}
body :is(.btn.secondary,.secondary,.btn.ghost,.ghost){background:#0d2639!important;color:#cce9fd!important;border-color:#426b89!important}
body :is(button,.btn,a):focus-visible{outline:2px solid #82dcff;outline-offset:3px}
body :is(button,.btn):disabled{opacity:.5}
body :is(.btn.danger,button.danger,.btn.red,button.red){background:#532838!important;color:#ffc2cb!important;border-color:#c36c7e!important}
body :is(.portal-card,.portal-choice,.access-card,.quick-card,.restaurant-portal):hover{border-color:#e4c28a!important;box-shadow:0 0 22px #38b8ff20,inset 0 1px #efcc8880!important}
body :is(.nav-icon,.stat-icon,.executive-kpi-icon,.empty-icon,.portal-icon,.access-icon,.system-icon,.document-icon,.portal-choice>i){
 color:#f0d292!important;background:radial-gradient(circle at 35% 25%,#34536b,#071725 70%)!important;border:1px solid #89b6c8;border-radius:50%;
 box-shadow:inset 0 1px 5px #f1d39a44,0 0 14px #2daeff25!important;
}
body .portal-choice>i{background-image:url('outwork-visual/shop.svg')!important;background-size:65%!important;background-repeat:no-repeat!important;background-position:center!important;font-size:0}
body .portal-choice.maintenance>i{background-image:url('outwork-visual/settings.svg')!important}
body .portal-choice.restaurant>i{background-image:url('outwork-visual/company.svg')!important}
body .portal-icon{font-size:0;background-image:url('outwork-visual/company.svg')!important;background-size:65%!important;background-repeat:no-repeat!important;background-position:center!important}
body .maintenance .portal-icon{background-image:url('outwork-visual/settings.svg')!important}
body .guest .portal-icon{background-image:url('outwork-visual/eye.svg')!important}
body :is(table,.table-wrap,.table-responsive){color:#deebf6!important;background-color:#081a29!important}
body :is(th,thead th){background:#112a3e!important;color:#efd49e!important;border-color:#39556c!important}
body :is(td,tbody td){background-color:transparent!important;color:#deebf6!important;border-color:#2c4356!important}
body :is(td strong,.num,.amount,.kpi strong,.stat strong,.metric strong){color:#f0f5fa!important}
body tbody tr:nth-child(even){background:#ffffff03!important}
body tbody tr:hover{background:#1c3f5670!important}
body :is(.health,.detail-list div,.balance-bar,.payment-assurance,.feature-pills span,.pill,.active-portal-badge,.billing-plan-pill){background:#123142!important;color:#c8e4f1!important;border-color:#48738c!important}
body :is(.badge,.status-pill,.status,.notice,.alert,.toast,#toast,.ow-system-icon){background:#102f43!important;color:#d7eeff!important;border-color:#5286a4!important}
body :is(.success,.notice.success,.alert.success,.toast.success,.status-positive,.state-positive,.badge.green,.status-listo,.status-entregado){background:#10382f!important;color:#9cebd0!important;border-color:#4e9d87!important}
body :is(.error,.notice.error,.alert.error,.toast.error,.state-negative,.badge.red){background:#422330!important;color:#ffb9c4!important;border-color:#a86279!important}
body :is(.warning,.notice.warning,.alert.warning,.badge.amber,.status-pendiente){background:#3a301c!important;color:#f7d89a!important;border-color:#967d4b!important}
body :is(.badge.gray,.state-neutral){background:#263645!important;color:#cedae6!important}
body dialog{background:#0b1e2e!important;color:#eaf2fa!important;border:1px solid #66829a;box-shadow:0 25px 90px #0009!important}
body dialog::backdrop{background:#010b16bc!important;backdrop-filter:blur(6px)}
body :is(.modal-card,.modal-box-pro) :is(h2,h3){color:#f1d49c!important}
body .chart{background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#38556a44 45px,#38556a44 46px)!important}
body .chart-bar{background:linear-gradient(#69d7ff,#1988dd)!important}
body .chart-bar.pale{background:linear-gradient(#f6dca3,#b88a3d)!important}
body .legend i{background:#48b9ff!important}body .legend i.pale{background:#eac47d!important}
body :is(.login-art,.login-brand,.home-hero-v6,.home-hero) p{color:#ccdce9!important}
body :is(.login-art,.login-brand) h2{color:#f4d9a1!important}
body .access-copy small,body .portal-card span{color:#bdcedb!important}
body .commercial-action{background:linear-gradient(135deg,#183247,#091a29)!important;border-color:#486779!important;color:#ecd09a!important}
body :is(.login-links,.text-link,.reference-list a){color:#90d5ff!important}
body :is(.connection-row,.flow-step,.workspace,.sidebar-foot,.sidebar-bottom,.page-footer){border-color:#31495e!important}
/* Paper documents retain their own light canvas, QR codes and original colours. */
body :is(.invoice-receipt-card,.invoice-letter,.slip-card-pro){color-scheme:light;background:#fff!important;color:#172033!important}
body :is(.invoice-receipt-card,.invoice-letter,.slip-card-pro) :is(h1,h2,h3,p,small,td,th,strong){color:#172033!important;background-color:transparent!important}
@media(max-width:700px){html body{background-attachment:scroll!important}body :is(.home-hero,.home-hero-v6,.login-art,.login-brand){background-position:65% center!important}}
@media(prefers-reduced-motion:reduce){body :is(.portal-card,.access-card,.portal-choice,.btn){transition:none}}
}

@media screen {body .portal-card.company .portal-icon{background-image:url('outwork-visual/company.svg')!important}body :is(.kpi>span,.empty,.empty strong,.empty-state,.empty-state strong,.chart-note,.flow-step>span,.breadcrumb strong,.stat-top,.stat-label){color:#c3d5e4!important}body .sidebar nav a.active>span{color:#f1d49c!important}body .kpi>strong:not(.kpi-amount){white-space:normal;overflow-wrap:anywhere;font-size:clamp(20px,2vw,28px)}body .access-card>.access-enter{background:linear-gradient(125deg,#f4da9e,#d3a652)!important;color:#152030!important}body :is(.ow-system-modal,.commercial-modal){background:#010b16b0!important;box-shadow:none!important;border-radius:0}body .responsive-table tr{background:#0b2031!important}body .notice.danger{background:#422330!important;color:#ffb9c4!important}}
@media screen {
body .portal-shell{background:#06111f!important}
body :is(.sales-dashboard-filter,.sales-ranking p,.predictive-results,.modifier-group,.modifier-option,.survey-question-grid>article,.table-manager-grid>article,.credential-result,.command-confirmation,.catalog-category-section>header,.catalog-product-card,.location-choice,.accounting-module-tabs,.accounting-filters,.accounting-export-bar,.accounting-context,.accounting-advanced,.admin-sensitive-permissions,.accounting-document-grid article,.accounting-purchase-total span,.system-loading>div,.system-confirm>article,.pickup-ready-alert>article,.cash-reopen-authorizers label,.payment-methods label>span,.support-nav-card){background:linear-gradient(135deg,#142b3d,#081725)!important;color:#deebf6!important;border-color:#45647b!important}
body :is(.sales-metrics,.ped-summary-metrics,.accounting-metrics) article{background:linear-gradient(145deg,#193c50,#071725)!important;border:1px solid #45677e;box-shadow:inset 0 2px #eac47d55,0 9px 24px #0003!important}
body :is(.sales-dashboard-filter,.accounting-filters,.accounting-advanced,.accounting-export-bar,.accounting-context,.support-nav-card) :is(label,b,strong,summary,span){color:#dbeaf6!important}
body :is(.active-portal-badge,.avatar,.avatar strong,.support-nav-card strong,.support-nav-card small){color:#cfe8f9!important}
body :is(.accounting-box-tabs,.accounting-module-tabs) button.active{background:linear-gradient(125deg,#f4da9e,#d3a652)!important;color:#152030!important}
body :is(.pos-receipt,.invoice-letter,.invoice-sheet,.financial-sheet){background:#fff!important;color:#172033!important;color-scheme:light}
body :is(.pos-receipt,.invoice-letter,.invoice-sheet,.financial-sheet) :is(h1,h2,h3,p,small,td,th,strong,span,label,b){color:#172033!important;background-color:transparent!important}
body :is(.pos-receipt,.invoice-letter,.invoice-sheet,.financial-sheet) table{background:#fff!important}
}
@media screen {body .active-portal-badge :is(b,strong,span){color:#efcc86!important}body .accounting-box-tabs{background:#10283b!important;border-color:#45647b!important}}

/* OUTWORK visual revision 2: internal modules */
@media screen {
body :is(.module-tabs,.country-context,.predictive-builder,.drawer-foot,.finance-line,.finance-notice,.finance-summary>div,.finance-suggestions,.approval-company,.stock-total,.prepared-output,.prepared-message,.quantity-stepper,.attached-line,.predictive-total,.brand,.login-shell,.login-card,.permission-group,.schedule-card,.worker-card,.report-card,.filter-bar,.summary-card){background:linear-gradient(135deg,#142b3d,#081725)!important;color:#deebf6!important;border-color:#496a82!important;box-shadow:inset 0 1px #eac47d44,0 5px 18px #0003!important}
body :is(.module-tabs a,.country-context span,.country-context b,.finance-summary strong,.finance-summary span,.predictive-builder label span,.predictive-total,.predictive-total strong,.brand small,.form-grid label>span){color:#d8eaf7!important}
body :is(.module-tabs a.active,.module-tabs a:hover){background:linear-gradient(125deg,#f4da9e,#d3a652)!important;color:#152030!important}
body :is(.finance-suggestions button,.route-finance-order details form,.route-finance-cash details form){background:#102638!important;color:#e4eff8!important;border-color:#496a82!important}
body :is(.finance-summary strong,.stock-total strong,.predictive-total strong){color:#f2d293!important}
body :is(.page-head,.page-header,hr,details,.predictive-builder,.attached-lines){border-color:#496a82!important}
body .danger-zone{background:#422330!important;color:#ffbdc8!important;border-color:#a86279!important}
body .sidebar .brand{background:linear-gradient(135deg,#173449,#091b2b)!important}
body :is(.nav-icon,.module-tabs a>span:first-child){font-size:0!important;width:30px;height:30px;min-width:30px;display:inline-block;background-image:url('outwork-visual/company.svg')!important;background-size:75%!important;background-position:center!important;background-repeat:no-repeat!important}
body .module-tabs a>span:first-child{background-color:#102638!important;border-radius:50%;border:1px solid #64879b}
body .sidebar nav a[data-nav]>span:first-child{font-size:0!important;width:27px;height:27px;flex:0 0 27px;background:url('outwork-visual/finance.svg') center/90% no-repeat!important}
body :is(.ow-nav-item,nav a:has(>img[src*="icon-"]),nav a:has(>span)):is([href*="route=workers"],[href*="route=units"],[href*="route=schedules"],[href*="route=payroll"],[href*="route=reports"]){color:#deebf6!important}
body nav a>img[src*="icon-"]{filter:sepia(1) saturate(.65) brightness(1.8)!important}
body .side-link[data-admin-section]{font-size:0!important;display:flex;align-items:center;gap:10px}
body .side-link[data-admin-section]::before{content:'';display:inline-block;flex:0 0 28px;width:28px;height:28px;background:url('outwork-visual/company.svg') center/90% no-repeat}
body .side-link[data-admin-section]::after{font-size:14px;content:attr(aria-label)}
}
@media screen{body a[href*="route=cart"] .nav-icon,body .module-tabs a[href*="route=cart"]>span:first-child{background-image:url('outwork-visual/shop.svg')!important} body a[href*="route=catalog"] .nav-icon,body .module-tabs a[href*="route=catalog"]>span:first-child{background-image:url('outwork-visual/shop.svg')!important} body a[href*="route=purchases"] .nav-icon,body .module-tabs a[href*="route=purchases"]>span:first-child{background-image:url('outwork-visual/shop.svg')!important} body a[href*="route=sales"] .nav-icon,body .module-tabs a[href*="route=sales"]>span:first-child{background-image:url('outwork-visual/shop.svg')!important} body a[href*="route=quotes"] .nav-icon,body .module-tabs a[href*="route=quotes"]>span:first-child{background-image:url('outwork-visual/shop.svg')!important} body a[href*="route=users"] .nav-icon,body .module-tabs a[href*="route=users"]>span:first-child{background-image:url('outwork-visual/people.svg')!important} body a[href*="route=workers"] .nav-icon,body .module-tabs a[href*="route=workers"]>span:first-child{background-image:url('outwork-visual/people.svg')!important} body a[href*="route=contacts"] .nav-icon,body .module-tabs a[href*="route=contacts"]>span:first-child{background-image:url('outwork-visual/people.svg')!important} body a[href*="route=settings"] .nav-icon,body .module-tabs a[href*="route=settings"]>span:first-child{background-image:url('outwork-visual/settings.svg')!important} body a[href*="route=maintenance"] .nav-icon,body .module-tabs a[href*="route=maintenance"]>span:first-child{background-image:url('outwork-visual/settings.svg')!important} body a[href*="route=work-home"] .nav-icon,body .module-tabs a[href*="route=work-home"]>span:first-child{background-image:url('outwork-visual/settings.svg')!important} body a[href*="route=fiscal"] .nav-icon,body .module-tabs a[href*="route=fiscal"]>span:first-child{background-image:url('outwork-visual/settings.svg')!important} body a[href*="route=finance"] .nav-icon,body .module-tabs a[href*="route=finance"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important} body a[href*="route=reports"] .nav-icon,body .module-tabs a[href*="route=reports"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important} body a[href*="route=accounting"] .nav-icon,body .module-tabs a[href*="route=accounting"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important} body a[href*="route=audit"] .nav-icon,body .module-tabs a[href*="route=audit"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important} body a[href*="route=movements"] .nav-icon,body .module-tabs a[href*="route=movements"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important} body a[href*="route=inventory"] .nav-icon,body .module-tabs a[href*="route=inventory"]>span:first-child{background-image:url('outwork-visual/boxes.svg')!important} body a[href*="route=stock"] .nav-icon,body .module-tabs a[href*="route=stock"]>span:first-child{background-image:url('outwork-visual/boxes.svg')!important} body a[href*="route=receiving"] .nav-icon,body .module-tabs a[href*="route=receiving"]>span:first-child{background-image:url('outwork-visual/boxes.svg')!important} body a[href*="route=purchase-approvals"] .nav-icon,body .module-tabs a[href*="route=purchase-approvals"]>span:first-child{background-image:url('outwork-visual/boxes.svg')!important} body .side-link:is([data-admin-section="summary"],[data-maintenance-section="summary"])::after{content:'Resumen'} body .side-link:is([data-admin-section="catalog"],[data-maintenance-section="catalog"])::after{content:'Productos'} body .side-link:is([data-admin-section="commands"],[data-maintenance-section="commands"])::after{content:'Comandas QR'} body .side-link:is([data-admin-section="users"],[data-maintenance-section="users"])::after{content:'Usuarios y roles'} body .side-link:is([data-admin-section="surveys"],[data-maintenance-section="surveys"])::after{content:'Encuestas'} body .side-link:is([data-admin-section="accounting"],[data-maintenance-section="accounting"])::after{content:'Contabilidad'} body .side-link:is([data-admin-section="settings"],[data-maintenance-section="settings"])::after{content:'Configuración'} body .side-link:is([data-admin-section="companies"],[data-maintenance-section="companies"])::after{content:'Empresas'} body .side-link:is([data-admin-section="locations"],[data-maintenance-section="locations"])::after{content:'Sedes y áreas'} body .side-link:is([data-admin-section="tables"],[data-maintenance-section="tables"])::after{content:'Mesas y comandas QR'} body .side-link:is([data-admin-section="ads"],[data-maintenance-section="ads"])::after{content:'Anuncios y recomendaciones'} body .side-link:is([data-admin-section="customers"],[data-maintenance-section="customers"])::after{content:'Clientes fiscales'} body .side-link:is([data-admin-section="fiscal"],[data-maintenance-section="fiscal"])::after{content:'Facturación electrónica'} body .side-link:is([data-admin-section="audit"],[data-maintenance-section="audit"])::after{content:'Bitácora e historial'} }

@media screen{body label>span,body .finance-summary>div>span{color:#c5d9e9!important}body .ow-menu-link>i{font-size:0!important;background:url("outwork-visual/company.svg") center/75% no-repeat!important;border:1px solid #64879b;border-radius:50%}html body .sidebar a[href*="route=cart"] .nav-icon,html body .module-tabs a[href*="route=cart"]>span:first-child,html body .ow-menu-link[href*="route=cart"]>i{background-image:url('outwork-visual/shop.svg')!important}html body .sidebar a[href*="route=catalog"] .nav-icon,html body .module-tabs a[href*="route=catalog"]>span:first-child,html body .ow-menu-link[href*="route=catalog"]>i{background-image:url('outwork-visual/shop.svg')!important}html body .sidebar a[href*="route=purchases"] .nav-icon,html body .module-tabs a[href*="route=purchases"]>span:first-child,html body .ow-menu-link[href*="route=purchases"]>i{background-image:url('outwork-visual/shop.svg')!important}html body .sidebar a[href*="route=sales"] .nav-icon,html body .module-tabs a[href*="route=sales"]>span:first-child,html body .ow-menu-link[href*="route=sales"]>i{background-image:url('outwork-visual/shop.svg')!important}html body .sidebar a[href*="route=quotes"] .nav-icon,html body .module-tabs a[href*="route=quotes"]>span:first-child,html body .ow-menu-link[href*="route=quotes"]>i{background-image:url('outwork-visual/shop.svg')!important}html body .sidebar a[href*="route=users"] .nav-icon,html body .module-tabs a[href*="route=users"]>span:first-child,html body .ow-menu-link[href*="route=users"]>i{background-image:url('outwork-visual/people.svg')!important}html body .sidebar a[href*="route=workers"] .nav-icon,html body .module-tabs a[href*="route=workers"]>span:first-child,html body .ow-menu-link[href*="route=workers"]>i{background-image:url('outwork-visual/people.svg')!important}html body .sidebar a[href*="route=inactive-workers"] .nav-icon,html body .module-tabs a[href*="route=inactive-workers"]>span:first-child,html body .ow-menu-link[href*="route=inactive-workers"]>i{background-image:url('outwork-visual/people.svg')!important}html body .sidebar a[href*="route=contacts"] .nav-icon,html body .module-tabs a[href*="route=contacts"]>span:first-child,html body .ow-menu-link[href*="route=contacts"]>i{background-image:url('outwork-visual/people.svg')!important}html body .sidebar a[href*="route=company-users"] .nav-icon,html body .module-tabs a[href*="route=company-users"]>span:first-child,html body .ow-menu-link[href*="route=company-users"]>i{background-image:url('outwork-visual/people.svg')!important}html body .sidebar a[href*="route=settings"] .nav-icon,html body .module-tabs a[href*="route=settings"]>span:first-child,html body .ow-menu-link[href*="route=settings"]>i{background-image:url('outwork-visual/settings.svg')!important}html body .sidebar a[href*="route=maintenance"] .nav-icon,html body .module-tabs a[href*="route=maintenance"]>span:first-child,html body .ow-menu-link[href*="route=maintenance"]>i{background-image:url('outwork-visual/settings.svg')!important}html body .sidebar a[href*="route=work-home"] .nav-icon,html body .module-tabs a[href*="route=work-home"]>span:first-child,html body .ow-menu-link[href*="route=work-home"]>i{background-image:url('outwork-visual/settings.svg')!important}html body .sidebar a[href*="route=fiscal"] .nav-icon,html body .module-tabs a[href*="route=fiscal"]>span:first-child,html body .ow-menu-link[href*="route=fiscal"]>i{background-image:url('outwork-visual/settings.svg')!important}html body .sidebar a[href*="route=finance"] .nav-icon,html body .module-tabs a[href*="route=finance"]>span:first-child,html body .ow-menu-link[href*="route=finance"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=reports"] .nav-icon,html body .module-tabs a[href*="route=reports"]>span:first-child,html body .ow-menu-link[href*="route=reports"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=accounting"] .nav-icon,html body .module-tabs a[href*="route=accounting"]>span:first-child,html body .ow-menu-link[href*="route=accounting"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=audit"] .nav-icon,html body .module-tabs a[href*="route=audit"]>span:first-child,html body .ow-menu-link[href*="route=audit"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=movements"] .nav-icon,html body .module-tabs a[href*="route=movements"]>span:first-child,html body .ow-menu-link[href*="route=movements"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=payroll"] .nav-icon,html body .module-tabs a[href*="route=payroll"]>span:first-child,html body .ow-menu-link[href*="route=payroll"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=service-pay"] .nav-icon,html body .module-tabs a[href*="route=service-pay"]>span:first-child,html body .ow-menu-link[href*="route=service-pay"]>i{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar a[href*="route=inventory"] .nav-icon,html body .module-tabs a[href*="route=inventory"]>span:first-child,html body .ow-menu-link[href*="route=inventory"]>i{background-image:url('outwork-visual/boxes.svg')!important}html body .sidebar a[href*="route=stock"] .nav-icon,html body .module-tabs a[href*="route=stock"]>span:first-child,html body .ow-menu-link[href*="route=stock"]>i{background-image:url('outwork-visual/boxes.svg')!important}html body .sidebar a[href*="route=receiving"] .nav-icon,html body .module-tabs a[href*="route=receiving"]>span:first-child,html body .ow-menu-link[href*="route=receiving"]>i{background-image:url('outwork-visual/boxes.svg')!important}html body .sidebar a[href*="route=purchase-approvals"] .nav-icon,html body .module-tabs a[href*="route=purchase-approvals"]>span:first-child,html body .ow-menu-link[href*="route=purchase-approvals"]>i{background-image:url('outwork-visual/boxes.svg')!important}html body .sidebar a[href*="route=units"] .nav-icon,html body .module-tabs a[href*="route=units"]>span:first-child,html body .ow-menu-link[href*="route=units"]>i{background-image:url('outwork-visual/company.svg')!important}html body .sidebar a[href*="route=attendance"] .nav-icon,html body .module-tabs a[href*="route=attendance"]>span:first-child,html body .ow-menu-link[href*="route=attendance"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar a[href*="route=clock"] .nav-icon,html body .module-tabs a[href*="route=clock"]>span:first-child,html body .ow-menu-link[href*="route=clock"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar a[href*="route=schedules"] .nav-icon,html body .module-tabs a[href*="route=schedules"]>span:first-child,html body .ow-menu-link[href*="route=schedules"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar a[href*="route=incidents"] .nav-icon,html body .module-tabs a[href*="route=incidents"]>span:first-child,html body .ow-menu-link[href*="route=incidents"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar a[href*="route=requests"] .nav-icon,html body .module-tabs a[href*="route=requests"]>span:first-child,html body .ow-menu-link[href*="route=requests"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar a[href*="route=files"] .nav-icon,html body .module-tabs a[href*="route=files"]>span:first-child,html body .ow-menu-link[href*="route=files"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar a[href*="route=emails"] .nav-icon,html body .module-tabs a[href*="route=emails"]>span:first-child,html body .ow-menu-link[href*="route=emails"]>i{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar nav a[data-nav="overview"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar nav a[data-nav="journal"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar nav a[data-nav="accounts"]>span:first-child{background-image:url('outwork-visual/boxes.svg')!important}html body .sidebar nav a[data-nav="reports"]>span:first-child{background-image:url('outwork-visual/finance.svg')!important}html body .sidebar nav a[data-nav="integrations"]>span:first-child{background-image:url('outwork-visual/company.svg')!important}html body .sidebar nav a[data-nav="fiscal"]>span:first-child{background-image:url('outwork-visual/settings.svg')!important}html body .sidebar nav a[data-nav="periods"]>span:first-child{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar nav a[data-nav="audit"]>span:first-child{background-image:url('outwork-visual/eye.svg')!important}html body .sidebar nav a[data-nav="settings"]>span:first-child{background-image:url('outwork-visual/settings.svg')!important}body .side-link[data-admin-section="summary"]::before{background-image:url('outwork-visual/finance.svg')!important}body .side-link[data-admin-section="catalog"]::before{background-image:url('outwork-visual/boxes.svg')!important}body .side-link[data-admin-section="commands"]::before{background-image:url('outwork-visual/eye.svg')!important}body .side-link[data-admin-section="users"]::before{background-image:url('outwork-visual/people.svg')!important}body .side-link[data-admin-section="surveys"]::before{background-image:url('outwork-visual/people.svg')!important}body .side-link[data-admin-section="accounting"]::before{background-image:url('outwork-visual/finance.svg')!important}body .side-link[data-admin-section="settings"]::before{background-image:url('outwork-visual/settings.svg')!important}}