.prev-link{position:fixed;left:16px;bottom:calc(var(--dock-h) + env(safe-area-inset-bottom) + 26px);z-index:44;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 14px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary) 18%,var(--brand-bg));border:1px solid color-mix(in srgb,var(--brand-primary) 45%,transparent);color:var(--text);text-decoration:none;font-weight:700;font-size:13.5px;box-shadow:0 8px 22px color-mix(in srgb,var(--brand-primary) 30%,transparent)}.prev-link:active{transform:scale(.97)}.sem-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.sem-chip{flex:1;min-width:96px;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;color:var(--muted)}.sem-num{font-size:22px;font-weight:800;line-height:1.1;color:var(--text)}.sem-vencida{border-color:#7f1d1d}.sem-vencida .sem-num{color:#f87171}.sem-proxima{border-color:#854d0e}.sem-proxima .sem-num{color:#fbbf24}.sem-vigente{border-color:#166534}.sem-vigente .sem-num{color:#4ade80}.badge-ob-vencida{background:#7f1d1d;color:#fecaca}.badge-ob-proxima{background:#854d0e;color:#fef3c7}.badge-ob-vigente{background:#166534;color:#dcfce7}.badge-ob-baja{background:var(--surface);color:var(--muted);border:1px solid var(--line)}.ob-list{list-style:none;padding:0;margin:8px 0}.ob-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:8px}.ob-name{font-weight:700;margin-left:6px}.ob-meta{color:var(--muted);font-size:13px;margin:4px 0 0}.ob-datefila{display:flex;align-items:center;gap:8px;margin-top:8px}.ob-datefila input[type=date]{margin:0;flex:1}.ob-datefila button{width:auto;margin:0;padding:8px 12px;font-size:14px}.cal-nav{display:flex;align-items:center;gap:8px;margin:12px 0 4px}.cal-nav button{width:auto;min-width:44px;margin:0;padding:8px 14px}.cal-nav h2{flex:1;text-align:center;margin:0;font-size:17px;text-transform:capitalize}.cal-day{margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line);font-weight:700;font-size:14px;color:var(--text)}.prev-aviso{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--brand-primary) 35%,transparent);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--text);margin:8px 0}.catalog-check{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 4px;border-bottom:1px solid var(--line);cursor:pointer}.catalog-check input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;margin:2px 0 0;accent-color:var(--brand-primary)}.catalog-check .cat-name{font-weight:700}.catalog-check .cat-meta{color:var(--muted);font-size:12.5px}.ficha-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.ficha-box label{font-size:12.5px;color:var(--muted);display:block;margin-top:6px}.warranty-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 10px;border-radius:999px;background:#854d0e;color:#fef3c7;font-size:12px;font-weight:700;white-space:nowrap}.btn-libro{width:auto;margin:4px 0 8px;padding:8px 12px;font-size:14px}.ob-item .inline-actions button{width:auto}:root{--brand-primary: #6ea8fe;--brand-bg: #0b0d10;--on-primary: #000000;--mix-fg: #ffffff;--accent-readable: #6ea8fe;--accent: var(--brand-primary);--accent-soft: color-mix(in srgb, var(--brand-primary) 14%, transparent);--surface: color-mix(in srgb, var(--brand-bg) 94%, var(--mix-fg) 6%);--surface-2: color-mix(in srgb, var(--brand-bg) 87%, var(--mix-fg) 13%);--line: color-mix(in srgb, var(--brand-bg) 82%, var(--mix-fg) 18%);--text: color-mix(in srgb, var(--mix-fg) 96%, var(--brand-bg) 4%);--muted: color-mix(in srgb, var(--mix-fg) 58%, var(--brand-bg) 42%);--ok: #30d158;--warn: #ffd60a;--amber: #ffb02d;--alert: #ff453a;--info: #0a84ff;--dock-h: 76px;--ex: cubic-bezier(.16, 1, .3, 1);--spring: cubic-bezier(.34, 1.56, .64, 1)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--brand-bg);color:var(--text);-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:color-mix(in srgb,var(--brand-bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--brand-primary) 20%,transparent)}.brand-chip{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:18px;font-weight:800;background:var(--accent-soft);color:var(--accent-readable);border:1px solid color-mix(in srgb,var(--brand-primary) 40%,transparent)}.brand-word{font-weight:800;font-size:15px;letter-spacing:.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.top-exit{width:44px;min-height:44px;margin:0;padding:0;flex:none;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:17px;cursor:pointer}.localpill{display:inline-flex;align-items:center;gap:5px;margin:0;width:auto;max-width:34vw;min-height:44px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:99px;padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer}.localpill span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.localpill-chev{color:var(--muted);font-size:11px}.sede-active{border-color:var(--accent)}.shell-main{flex:1;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom) + 26px)}.a2hs{display:flex;align-items:center;gap:10px;margin:10px 14px 0;padding:10px 12px;border-radius:12px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--brand-primary) 35%,transparent);color:var(--text);font-size:13px}.a2hs span{flex:1}.a2hs button{width:44px;min-height:44px;margin:0;padding:0;background:transparent;border:none;color:var(--muted);font-size:16px;cursor:pointer}.foot{text-align:center;color:var(--ink-subtle, #a8adb4);font-size:11px;letter-spacing:1px;padding:22px 0 10px}.dock{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;height:66px;border-radius:22px;display:flex;align-items:center;justify-content:space-around;background:color-mix(in srgb,var(--surface) 84%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb,var(--brand-primary) 22%,transparent);box-shadow:0 12px 34px #00000073;max-width:560px;margin:0 auto}.ditem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:58px;min-height:52px;margin:0;padding:4px 0;background:none;border:none;color:var(--muted);font-size:10px;font-weight:700;text-decoration:none;cursor:pointer}.ditem .i{font-size:21px;line-height:1;position:relative}.ditem.on{color:var(--accent-readable)}.dock-badge{position:absolute;top:-4px;right:-10px;background:var(--alert);color:#fff;font-size:10px;font-weight:800;line-height:1;padding:2px 5px;border-radius:99px}.dplus{width:58px;height:58px;flex:none;margin:-30px 0 0;padding:0;border:none;border-radius:50%;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--brand-primary) 60%,#ffffff 40%),var(--brand-primary));color:var(--on-primary);font-size:30px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 8px 24px color-mix(in srgb,var(--brand-primary) 45%,transparent),0 0 0 6px color-mix(in srgb,var(--brand-bg) 85%,transparent)}.hero{position:relative;border-radius:22px;overflow:hidden;margin:14px 0 16px;min-height:150px;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 140% at 50% 0%,color-mix(in srgb,var(--brand-primary) 16%,var(--brand-bg)) 0%,color-mix(in srgb,var(--brand-bg) 97%,var(--mix-fg) 3%) 55%,var(--brand-bg) 100%);border:1px solid var(--line)}.hero-aura{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;pointer-events:none;filter:blur(52px);opacity:.55;background:radial-gradient(38% 40% at 32% 30%,color-mix(in srgb,var(--brand-primary) 60%,transparent),transparent 70%),radial-gradient(34% 36% at 70% 62%,color-mix(in srgb,var(--brand-primary) 35%,transparent),transparent 70%);animation:auraBreath 16s var(--ex) infinite alternate}@keyframes auraBreath{0%{transform:translate3d(-4%,-2%,0) scale(1)}to{transform:translate3d(5%,3%,0) scale(1.16)}}.hero-inner{position:relative;z-index:2;text-align:center;padding:20px 18px}.hero-logo,.hero-mark,.hero-name,.hero-sub{opacity:0;transform:translateY(14px);animation:heroIn .9s var(--ex) forwards}.hero-logo{font-size:40px;line-height:1;filter:drop-shadow(0 4px 18px rgba(0,0,0,.5))}.hero-mark{font-size:52px;line-height:1;color:var(--accent-readable);text-shadow:0 0 24px color-mix(in srgb,var(--brand-primary) 90%,transparent),0 0 70px color-mix(in srgb,var(--brand-primary) 45%,transparent);animation:heroIn .9s var(--ex) forwards,markPulse 2.6s ease-in-out .9s infinite}@keyframes markPulse{0%,to{opacity:1}50%{opacity:.72}}.hero-name{margin:10px 0 0;font-size:clamp(24px,6.5vw,34px);font-weight:800;letter-spacing:1.2px;animation-delay:.08s;background:linear-gradient(100deg,var(--accent-readable) 42%,var(--mix-fg) 50%,var(--accent-readable) 58%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:heroIn .9s var(--ex) .08s forwards,shine 7s ease-in-out 2s infinite}.hero-sub{margin:4px 0 0;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--muted);animation-delay:.16s}@keyframes heroIn{to{opacity:1;transform:none}}@keyframes shine{0%,72%{background-position:120% 0}88%,to{background-position:-60% 0}}.hero-wordmark{background:none;-webkit-text-fill-color:currentColor;color:var(--mix-fg);animation:heroIn .9s var(--ex) .08s forwards}.hero-wordmark .wm-accent{color:var(--accent-readable)}.ghero{position:relative;border-radius:20px;overflow:hidden;margin:14px 0 16px;min-height:96px;display:flex;align-items:center;border:1px solid var(--line);background:radial-gradient(120% 140% at 50% 0%,color-mix(in srgb,var(--brand-primary) 14%,var(--brand-bg)) 0%,var(--brand-bg) 100%)}.ghero-aura{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;filter:blur(46px);opacity:.5;pointer-events:none;background:radial-gradient(40% 44% at 30% 40%,color-mix(in srgb,var(--brand-primary) 55%,transparent),transparent 70%);animation:auraBreath 16s var(--ex) infinite alternate}.ghero-inner{position:relative;z-index:2;padding:16px 18px}.ghero-inner h1{margin:0;font-size:22px;font-weight:800}.ghero-inner p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}.gcard{display:block;width:100%;margin:0 0 12px;padding:16px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:20px;color:var(--text);cursor:pointer;font:inherit}.gcard:active{background:var(--surface-2)}.gcard-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#14140f;background:linear-gradient(145deg,var(--brand-primary),color-mix(in srgb,var(--brand-primary) 62%,#000));box-shadow:0 2px 8px color-mix(in srgb,var(--brand-primary) 30%,transparent)}.sedes-portada{display:grid;gap:10px}@media (min-width: 720px){.sedes-portada{grid-template-columns:1fr 1fr}}.gcard-top{display:flex;align-items:center;gap:10px}.gcard-name{font-weight:800;font-size:17px;flex:1}.gcard-badge{background:var(--alert);color:#fff;font-size:11px;font-weight:900;border-radius:99px;padding:4px 9px;white-space:nowrap}.gcard-nums{display:flex;gap:22px;margin-top:12px}.gcard-nums b{font-size:22px;font-weight:900;display:block}.gcard-nums span{font-size:11px;color:var(--muted);font-weight:600}.gcard-states{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.pinpad{display:flex;flex-direction:column;align-items:center}.pp-dots{display:flex;gap:14px;margin:14px 0 8px;height:16px}.pp-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);box-sizing:border-box;transition:all .12s}.pp-dot.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--brand-primary) 80%,transparent)}.pp-dot.win{background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px color-mix(in srgb,var(--brand-primary) 95%,transparent);transform:scale(1.35);transition:transform .25s var(--spring),box-shadow .25s}.pp-dots.err,.pp-read.err{animation:ppShake .35s}@keyframes ppShake{20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.pp-read{margin:10px 0 4px;font-size:28px;font-weight:700;letter-spacing:10px;color:var(--accent-readable);min-height:34px;font-variant-numeric:tabular-nums;text-indent:10px}.pp-eye{width:auto;margin:2px 0 14px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:13px;padding:7px 15px;min-height:44px;border-radius:20px;cursor:pointer;letter-spacing:.5px}.pp-pad{display:grid;grid-template-columns:repeat(3,72px);gap:13px;justify-content:center}.pp-key{width:72px;height:72px;margin:0;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;cursor:pointer;transition:transform .06s,background .06s}.pp-key:active{transform:scale(.92);background:var(--surface-2)}.pp-key.aux{font-size:20px;color:var(--muted);border:none;background:transparent}.pp-key:disabled{opacity:.4;cursor:default}.pp-msg{min-height:22px;color:var(--accent-readable);font-size:14px;margin:14px 0 0;font-weight:600;text-align:center}.lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:var(--brand-bg);display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.lock-inner{text-align:center;max-width:340px;width:100%}.lock-title{font-size:22px;font-weight:800}.lock-sub{color:var(--muted);font-size:14px;margin:6px 0 10px}.lock-exit{width:auto;margin:18px auto 0;background:transparent;border:none;color:var(--muted);font-size:14px;text-decoration:underline;cursor:pointer;padding:10px;min-height:44px}.fab-assistant{position:fixed;right:16px;bottom:calc(var(--dock-h) + env(safe-area-inset-bottom) + 26px);z-index:44;width:54px;height:54px;margin:0;padding:0;border:none;border-radius:50%;background:var(--brand-primary);color:var(--on-primary);font-size:24px;cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb,var(--brand-primary) 40%,transparent)}.chat-sheet{display:flex;flex-direction:column}.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin:10px 0;min-height:120px;max-height:46vh}.chat-msg{max-width:86%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap}.chat-yo{align-self:flex-end;background:var(--brand-primary);color:var(--on-primary);border-bottom-right-radius:4px}.chat-ia{align-self:flex-start;background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:4px}.chat-typing{color:var(--muted)}.chat-form{display:flex;gap:8px}.chat-form input{flex:1;margin:0}.chat-form button{width:auto;margin:0;min-height:44px;padding:8px 16px}.plan-move-btn{margin:4px 0 8px}.plan-editbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--brand-primary) 40%,transparent);border-radius:12px;padding:10px 12px;margin:4px 0 8px;font-size:13px}.plan-editbar>span{flex:1;min-width:140px}.plan-editbar .inline-actions{margin:0}.maphint{color:var(--muted);font-size:12.5px;margin:6px 2px 10px}.planwrap{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}.planwrap img{width:100%;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.planwrap.editing{outline:2px dashed var(--accent);outline-offset:2px;touch-action:none}.plan-pin{position:absolute;transform:translate(-50%,-100%);z-index:3;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}.planwrap.editing .plan-pin{cursor:grab}.plan-pin.drag{cursor:grabbing;opacity:.85}.plan-pin-dot{position:relative;width:22px;height:22px;min-height:0;margin:0;padding:0;border-radius:50% 50% 0;transform:rotate(45deg);background:var(--accent);border:2px solid var(--brand-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 35%,transparent);cursor:pointer}.plan-pin-dot:after{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px;border-radius:50%}.plan-pin-lbl{margin-top:5px;font-size:10.5px;font-weight:800;background:color-mix(in srgb,var(--brand-bg) 90%,transparent);color:var(--text);padding:2px 7px;border-radius:8px;white-space:nowrap;border:1px solid var(--line);pointer-events:none}.plan-pin-x{position:absolute;top:-10px;right:-14px;width:24px;height:24px;margin:0;padding:0;border-radius:50%;border:2px solid var(--brand-bg);background:var(--alert);color:#fff;font-size:12px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.unplaced{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.uz{width:auto;margin:0;min-height:44px;background:var(--surface-2);border:1px dashed var(--accent);color:var(--accent-readable);border-radius:99px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer}.uz:disabled{opacity:.6;cursor:default}.uz-sel{background:var(--accent);color:var(--on-primary);border-style:solid}.plan-upload{background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:18px;text-align:center;margin:10px 0}.plan-upload button{max-width:300px;margin:8px auto}.zone-qr{text-align:center;margin:10px 0}.zone-qr img{width:148px;height:148px;background:#fff;border-radius:12px;padding:6px}.login-page{min-height:100vh;display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top)) 16px env(safe-area-inset-bottom);box-sizing:border-box}.login-hero{min-height:42vh;margin:calc(-10px - env(safe-area-inset-top)) -16px 14px;border:none;border-radius:0 0 26px 26px;background:radial-gradient(120% 130% at 50% -6%,color-mix(in srgb,var(--brand-primary) 22%,var(--brand-bg)) 0%,var(--brand-bg) 64%)}.login-hero .hero-inner{padding-top:6vh}.login-hero .hero-name{letter-spacing:clamp(4px,2.4vw,10px);font-weight:300}.login-hero .hero-sub{letter-spacing:4px}.hero-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:1}.hero-glow-1{width:300px;height:300px;background:var(--brand-primary);top:-120px;left:-80px;animation:heroFloat 9s ease-in-out infinite}.hero-glow-2{width:240px;height:240px;background:color-mix(in srgb,var(--brand-primary) 50%,#000);top:-70px;right:-100px;animation:heroFloat 11s ease-in-out infinite reverse}@keyframes heroFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(22px,16px) scale(1.08)}}@media (prefers-reduced-motion: reduce){.hero-mark,.hero-glow,.hero-aura{animation:none}}.login-wrap,.home-wrap{max-width:360px;margin:0 auto;padding:8px 0 24px;text-align:center;width:100%}.login-page .foot{margin-top:auto}input,select,textarea,button{display:block;width:100%;box-sizing:border-box;margin:8px 0;padding:12px;border-radius:10px;border:1px solid var(--line);font-size:16px;background:var(--surface);color:var(--text);font-family:inherit}button{background:linear-gradient(180deg,#ffffff38 0,#fff0 2px),linear-gradient(180deg,color-mix(in srgb,#ffffff 9%,var(--brand-primary)) 0%,var(--brand-primary) 55%);color:var(--on-primary);border:none;font-weight:700;cursor:pointer;min-height:44px}button:disabled{opacity:.55}.error{color:#f87171}.list-wrap,.form-wrap,.detail-wrap{max-width:520px;margin:0 auto;padding:4px 16px 16px}.list-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.list-header h1{flex:1;font-size:21px;margin:8px 0}.btn-link,.btn-ghost{background:linear-gradient(180deg,#ffffff38 0,#fff0 2px),linear-gradient(180deg,color-mix(in srgb,#ffffff 9%,var(--brand-primary)) 0%,var(--brand-primary) 55%);color:var(--on-primary);border:none;border-radius:10px;padding:8px 12px;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.ticket-list{list-style:none;padding:0}.ticket-list li{margin-bottom:8px}.ticket-list a{display:flex;gap:10px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none}.ticket-list a:active{background:var(--surface-2)}.badge{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--surface-2);white-space:nowrap}.badge-cerrado{background:#166534;color:#dcfce7}.badge-rechazado,.badge-cancelado{background:#7f1d1d;color:#fecaca}.badge-verificacion{background:#854d0e;color:#fef3c7}.badge-en_curso{background:#1e3a8a;color:#dbeafe}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.actions button,.actions select{width:auto}.back{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;margin:10px 0 4px;font-size:14px;width:auto;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}textarea{font-family:inherit}label{display:block;text-align:left;font-size:13px;color:var(--muted);margin-top:8px}.empty{color:var(--muted)}.offline-banner{background:#78350f;color:#fed7aa;padding:8px 12px;border-radius:8px;font-size:14px}.photo-gallery{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.add-photo{margin:12px 0}.add-photo button{width:auto}.add-photo-hint{margin:8px 0 0;font-size:.86rem;color:var(--muted);max-width:46ch;line-height:1.45}.photo-thumb{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--brand-bg) 92%,transparent);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.consent-banner{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;max-width:400px;width:100%;max-height:84vh;overflow-y:auto;box-sizing:border-box}.consent-check{display:flex;align-items:center;gap:8px;text-align:left;font-size:14px;margin:10px 0}.consent-check input{width:auto;margin:0}.consent-aviso{text-align:left;font-size:12.5px;color:var(--muted);background:var(--surface-2);border-radius:10px;padding:10px 12px;margin:8px 0}.consent-details{text-align:left;font-size:12.5px;color:var(--muted);margin:8px 0}.consent-details summary{cursor:pointer;color:var(--accent-readable);font-weight:600;min-height:44px;display:flex;align-items:center}.signature-pad{margin:12px 0;padding:12px;background:var(--surface);border-radius:8px}.signature-pad p{margin:0 0 8px;font-size:13px;color:var(--muted)}.signature-pad .actions button{width:auto}.stats-cards{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.stats-card{flex:1;min-width:120px;background:var(--surface);border-radius:14px;border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.stats-num{font-size:22px;font-weight:800;color:var(--text)}.geo-chips{display:flex;flex-wrap:wrap;gap:8px}.geo-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;min-height:32px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--accent-readable);text-decoration:none;font-size:13px}.ai-block{margin:16px 0;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.ai-block h2{margin-top:0;font-size:16px}.ai-alert{background:#7f1d1d;color:#fecaca;padding:8px 12px;border-radius:8px;font-weight:700}.ai-warn{background:#78350f;color:#fed7aa;padding:8px 12px;border-radius:8px}.semaforo{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--surface-2)}.semaforo-verde{background:#166534;color:#dcfce7}.semaforo-ambar{background:#854d0e;color:#fef3c7}.semaforo-rojo{background:#7f1d1d;color:#fecaca}.ai-riesgo{color:var(--muted);font-size:13px}.ai-pasos{margin:4px 0 8px;padding-left:20px}.ai-pasos li{margin-bottom:4px}.comment-list{list-style:none;padding:0}.comment-list li{background:var(--surface);border-radius:8px;padding:10px 12px;margin-bottom:8px}.comment-meta{font-size:12px;color:var(--muted)}.comment-body{margin:4px 0 0;white-space:pre-wrap}.org-switcher{width:auto;max-width:30vw;margin:0;padding:8px;font-size:13px;background:transparent;color:var(--text);min-height:44px}.photo-item{position:relative;display:inline-block}.inv-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.inv-row-actions button,.inv-row-actions .geo-chip{width:auto}.photo-fraud-chip{position:absolute;bottom:6px;left:6px;right:6px;background:#b42020eb;color:#fff;font-size:.72rem;padding:2px 6px;border-radius:6px;text-align:center}.notice{background:#78350f;color:#fed7aa;padding:8px 12px;border-radius:8px;font-size:14px}.badge-alerta{background:#7f1d1d;color:#fecaca;margin-left:4px}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.inline-actions button{width:auto;margin:0;min-height:44px;padding:8px 12px;font-size:14px}.portal-links{margin:12px 0}.portal-link-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:8px}.portal-url{display:block;font-size:12px;word-break:break-all;color:var(--accent-readable);margin:6px 0}.portal-link-row button{width:auto;min-height:44px;padding:8px 12px;font-size:14px}.pin-box{background:var(--surface);border:2px solid #854d0e;border-radius:12px;padding:16px;margin:12px 0;text-align:center}.pin-box p{margin:4px 0;font-size:14px}.pin-value{font-size:32px;font-weight:700;letter-spacing:6px;color:#fef3c7}.pin-box button{width:auto;margin:8px auto 0;min-height:44px;padding:8px 16px}.bell-btn{position:relative;width:44px;margin:0;min-height:44px;min-width:44px;padding:8px;background:transparent;border:1px solid var(--line);border-radius:10px;font-size:18px;cursor:pointer;flex:none}.bell-badge{position:absolute;top:2px;right:2px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;line-height:1;padding:3px 5px;border-radius:999px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:900}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:20px 20px 0 0;width:100%;max-width:520px;max-height:82vh;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box}.sheet-header{display:flex;align-items:center;gap:8px}.sheet-header h2{flex:1;margin:0;font-size:18px}.notif-list{list-style:none;padding:0;margin:8px 0}.notif-list li{display:flex;align-items:stretch;gap:6px;margin-bottom:8px}.notif-item{flex:1;text-align:left;background:var(--brand-bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0;color:inherit;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-height:44px}.notif-unread .notif-item{border-color:var(--accent)}.notif-title{font-weight:600;display:flex;align-items:center;gap:6px}.notif-dot{width:8px;height:8px;border-radius:999px;background:var(--accent);display:inline-block}.notif-body{font-size:13px;color:var(--muted);white-space:pre-wrap}.notif-date{font-size:12px;color:var(--muted)}.notif-delete{width:44px;min-height:44px;margin:0;background:transparent;border:1px solid var(--line);border-radius:10px;cursor:pointer}.push-box{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.push-box h3{margin:4px 0;font-size:14px;color:var(--muted)}.zeus-banner{position:sticky;top:0;z-index:950;display:flex;align-items:center;gap:12px;background:#7f1d1d;color:#fecaca;padding:8px 12px;font-size:14px;font-weight:600}.zeus-banner span{flex:1}.zeus-banner button{width:auto;margin:0;min-height:44px;padding:8px 16px;background:#fecaca;color:#7f1d1d;font-weight:700}.home-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.kpi-click{border:1px solid var(--line);cursor:pointer;text-align:left;margin:0;width:auto}.kpi-click:active{background:var(--surface-2)}.team-row{background:var(--surface);border-radius:8px;padding:10px 12px}.team-row select,.team-row input{width:auto;margin:0;min-height:44px;font-size:14px}.qr-video{width:100%;max-height:280px;border-radius:8px;border:1px solid var(--line);background:#000;margin:8px 0}.sticker-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:16px 0}.sticker{background:#fff;color:#000;border:1px dashed #94a3b8;border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;break-inside:avoid;page-break-inside:avoid}.sticker img{width:128px;height:128px}.sticker span{font-size:12px}.table-scroll{overflow-x:auto}.stats-table{border-collapse:collapse;width:100%;font-size:13px}.stats-table th,.stats-table td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;white-space:nowrap}.row-sobrecoste td{background:#7f1d1d59}@media print{body{background:#fff;color:#000}.no-print,.back,.bell-btn,.org-switcher,.sheet-overlay,.zeus-banner,.home-nav,.top,.dock,.fab-assistant,.foot,.a2hs,.localpill,.hero,.ghero{display:none!important}.list-wrap,.print-area{max-width:none;padding:0}.shell-main{padding-bottom:0}.stats-card{border:1px solid #999;background:#fff;color:#000}.stats-num{color:#000}.badge{border:1px solid #999;background:#fff;color:#000}.stats-table th,.stats-table td{border-bottom:1px solid #999}.row-sobrecoste td{background:#eee}.ticket-list a,.ticket-list li{background:#fff;color:#000}.sticker{border:1px dashed #000}}.search-input{margin:8px 0 4px}.filter-label{font-size:12px;color:var(--muted);margin:8px 0 0}.chip-row{display:flex;gap:6px;overflow-x:auto;padding:4px 0;margin:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{width:auto;margin:0;min-height:44px;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:13px;white-space:nowrap;cursor:pointer;flex:0 0 auto}.chip-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-readable)}.badge-prio-critica{background:#7f1d1d;color:#fecaca}.badge-prio-alta{background:#854d0e;color:#fef3c7}.inline-actions a.btn-ghost{margin:0}.av-audio{width:100%;min-height:44px}.av-video{width:100%;max-height:280px;border-radius:8px;background:#000}.gcard,.kpi-click,.dplus,.ditem,.chip,.uz,.btn-link{transition:transform .18s var(--spring)}.gcard:active,.kpi-click:active,.chip:active,.uz:active,.btn-link:active{transform:scale(.975)}.dplus:active{transform:scale(.92)}.ditem:active{transform:scale(.9)}@media (prefers-reduced-motion: reduce){.hero-aura,.ghero-aura,.hero-logo,.hero-name,.hero-sub{animation:none!important}.hero-name{-webkit-text-fill-color:var(--accent-readable);color:var(--accent-readable)}.hero-logo,.hero-name,.hero-sub{opacity:1!important;transform:none!important}.pp-dots.err,.pp-read.err{animation:none}.pp-dot.win{transition:none;transform:none}.gcard,.kpi-click,.dplus,.ditem,.chip,.uz,.btn-link,.pp-key{transition:none}}.pub-photo-step{margin:16px 0;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:left}.pub-photo-step h2{margin-top:0;font-size:16px}.pub-photo-step input[type=file]{min-height:44px}.pub-photo-hint{font-size:12.5px;color:var(--muted);margin:6px 0 0}.pw-wrap{position:relative}.pw-wrap input{padding-right:52px;width:100%}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-width:44px;min-height:44px;padding:0;background:none;border:none;font-size:19px;line-height:1;color:var(--muted);cursor:pointer}.pw-eye:focus-visible{outline:2px solid var(--brand-primary, #7aa2ff);border-radius:8px}.ic{display:inline-block;vertical-align:-.22em;flex:none}.btn-link,.btn-ghost{gap:6px}.ditem .i{display:inline-flex;align-items:center;justify-content:center}.dplus .ic,.fab-assistant .ic,.top-exit .ic,.bell-btn>.ic,.notif-delete .ic,.pw-eye .ic{vertical-align:middle}.route-in{animation:routeIn .18s var(--ex) both}@keyframes routeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sheet-overlay,.consent-overlay{animation:overlayIn .18s ease both}@keyframes overlayIn{0%{opacity:0}}.sheet,.consent-banner{animation:sheetUp .32s var(--spring) both}@keyframes sheetUp{0%{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}.dplus{position:relative}.fab-assistant:after,.dplus:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--brand-primary);opacity:0;pointer-events:none;animation:asstPulse 3.4s var(--ex) infinite}.dplus:after{animation-duration:4.6s;animation-delay:1.2s}@keyframes asstPulse{0%{opacity:.4;transform:scale(.88)}70%,to{opacity:0;transform:scale(1.3)}}@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))){.top{background:var(--brand-bg)}.dock{background:var(--surface)}}.gcard,.stats-card,.ticket-list a,.ob-item,.team-row,.portal-link-row,.comment-list li,.sheet{background:linear-gradient(180deg,color-mix(in srgb,var(--mix-fg) 8%,transparent) 0,transparent 2px),linear-gradient(180deg,color-mix(in srgb,var(--mix-fg) 3%,var(--surface)) 0%,var(--surface) 46%)}.badge-cerrado,.semaforo-verde,.badge-ob-vigente{box-shadow:0 0 10px #30d15838}.badge-verificacion,.semaforo-ambar,.badge-ob-proxima{box-shadow:0 0 10px #ffd60a2e}.badge-en_curso{box-shadow:0 0 10px #0a84ff42}.badge-rechazado,.badge-cancelado,.semaforo-rojo,.badge-ob-vencida,.badge-alerta{box-shadow:0 0 10px #ff453a3d}.badge-prio-alta{box-shadow:0 0 10px #ffb02d38}.badge-prio-critica{position:relative;box-shadow:0 0 10px #ff453a4d}.badge-prio-critica:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 14px 2px #ff453a99;opacity:.2;pointer-events:none;animation:critBreath 2.8s ease-in-out infinite}@keyframes critBreath{0%,to{opacity:.15}50%{opacity:.6}}.skel{display:grid;gap:10px;margin:12px 0}.skel-bar{position:relative;overflow:hidden;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.skel-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(100deg,transparent 25%,color-mix(in srgb,var(--brand-primary) 16%,transparent) 50%,transparent 75%);animation:skelSweep 1.6s ease-in-out infinite}@keyframes skelSweep{to{transform:translate(100%)}}.skel-card{height:56px;border-radius:12px}.skel-line{height:13px}.skel-title{height:26px;width:55%;border-radius:8px;margin-bottom:4px}.skel-w60{width:60%}.btn-ghost,.ticket-list a,.notif-item,.bell-btn,.top-exit,.localpill,.inline-actions button,.cal-nav button,.chat-form button,.actions button,.fab-assistant{transition:transform .08s ease}.btn-ghost:active,.ticket-list a:active,.notif-item:active,.bell-btn:active,.top-exit:active,.localpill:active,.inline-actions button:active,.cal-nav button:active,.chat-form button:active,.actions button:active{transform:scale(.97)}.fab-assistant:active{transform:scale(.93)}.home-stagger>*{animation:riseIn .5s var(--ex) both}.home-stagger>:nth-child(2){animation-delay:.07s}.home-stagger>:nth-child(3){animation-delay:.14s}.home-stagger>:nth-child(4){animation-delay:.2s}.home-stagger>:nth-child(n+5){animation-delay:.26s}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media print{.route-in,.home-stagger>*{animation:none!important;opacity:1!important;transform:none!important}.stats-card,.ticket-list a{background:#fff}.badge,.stats-card,.ticket-list a,.semaforo{box-shadow:none}.badge-prio-critica:after{display:none}.skel{display:none}}@media (prefers-reduced-motion: reduce){.route-in,.home-stagger>*{animation:none;opacity:1;transform:none}.sheet-overlay,.consent-overlay,.sheet,.consent-banner{animation:none}.fab-assistant:after,.dplus:after{animation:none;opacity:0}.badge-prio-critica:after{animation:none;opacity:.3}.skel-bar:after{animation:none}.btn-ghost,.ticket-list a,.notif-item,.bell-btn,.top-exit,.localpill,.inline-actions button,.cal-nav button,.chat-form button,.actions button,.fab-assistant{transition:none}}.coste-linea{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0}.coste-linea button{width:auto;margin:0;padding:8px 14px;font-size:14px}.coste-origen{color:var(--muted);font-size:13px}.coste-form{margin:0 0 12px}.coste-form input{max-width:240px}.coste-cierre{flex-basis:100%;margin-bottom:4px}.coste-cierre input{max-width:240px}.coste-hint{display:block;color:var(--muted);font-size:12.5px}.baja-form{margin:8px 0 4px}.baja-form input{max-width:320px}
