/* estilos.css — Estilos generales de la plataforma */
  *{box-sizing:border-box;margin:0;padding:0}
  :root{--green:#4ade80;--primary:#10b981;--amber:#f59e0b;--red:#ef4444;--violet:#8b5cf6}
  body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#fff;min-height:100vh;background:#111;overflow-x:hidden}

  /* BG */
  .bg-fixed{position:fixed;inset:0;z-index:-1}
  .bg-fixed img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(1.35) contrast(0.95)}
  .bg-fixed .overlay{position:absolute;inset:0;background:rgba(0,0,0,.25)}
  .bg-dark{position:fixed;inset:0;z-index:-1;background:#f1f5f9}

  /* NAV */
  nav{background:rgba(0,0,0,.45);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}
  .nav-top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 8px}
  .brand{display:flex;align-items:center;gap:10px;cursor:pointer}
  .brand img{height:38px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
  .brand-name{font-size:1.2rem;font-weight:900;line-height:1}
  .brand-name .g{color:var(--green)}
  .brand-time{font-size:.68rem;color:rgba(255,255,255,.5);margin-top:2px}
  .nav-btns{display:flex;align-items:center;gap:6px}
  .btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;border:none;cursor:pointer;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .15s;white-space:nowrap}
  .btn-primary{background:var(--primary);color:#fff}
  .btn-primary:hover{background:#059669}
  .btn-secondary{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.2)}
  .btn-secondary:hover{background:rgba(255,255,255,.25)}
  .btn-admin-secondary{background:#fff;color:#0f172a;border:1px solid #cbd5e1}
  .btn-admin-secondary:hover{background:#f1f5f9;border-color:#94a3b8}
  .btn-ghost{background:none;color:rgba(255,255,255,.7);border:none;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 10px;border-radius:8px}
  .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
  .btn-danger{background:rgba(239,68,68,.8);color:#fff}
  .btn-danger:hover{background:var(--red)}
  .btn-bell{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
  .nav-actions{display:flex;gap:6px;padding:0 16px 10px}
  .nav-actions .btn{flex:1;justify-content:center;height:36px}
  @media(min-width:640px){.nav-actions{display:none}.desktop-btns{display:flex!important}}
  .desktop-btns{display:none;align-items:center;gap:6px}
  .sep{width:1px;height:24px;background:rgba(255,255,255,.1);margin:0 2px}

  /* PAGES */
  .page{display:none;min-height:calc(100vh - 110px)}
  .page.active{display:block}
  @media(min-width:640px){.page{min-height:calc(100vh - 66px)}}

  /* ── PUBLIC BOARD ─────────────────────────── */
  .hero{min-height:calc(100vh - 110px);display:flex;align-items:center;justify-content:center;padding:20px 16px;position:relative}
  @media(min-width:640px){.hero{min-height:calc(100vh - 66px)}}
  .occ-card{background:rgba(0,0,0,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:24px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
  .occ-bar{height:5px;background:linear-gradient(90deg,var(--primary),var(--green),var(--primary));background-size:200%;animation:shimmer 2s linear infinite}
  .occ-bar.rest{background:rgba(255,255,255,.08);animation:none}
  @keyframes shimmer{0%{background-position:200%}100%{background-position:-200%}}
  .occ-title{text-align:center;padding:20px 20px 8px}
  .occ-title h2{font-size:1.6rem;font-weight:900;text-transform:uppercase}
  .occ-title p{color:rgba(255,255,255,.6);font-size:.9rem;margin-top:4px}
  .gauge{position:relative;width:220px;height:220px;margin:10px auto}
  .gauge svg{transform:rotate(-90deg)}
  .gauge-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .gauge-pct{font-size:2.4rem;font-weight:900;color:rgba(255,255,255,.5)}
  .gauge-cnt{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.4)}
  .gauge-lbl{font-size:.6rem;font-weight:700;letter-spacing:.12em;color:rgba(255,255,255,.3);text-transform:uppercase;margin-top:2px}
  .occ-pill{display:inline-block;margin:18px auto 4px;padding:8px 28px;border-radius:999px;border:2px solid var(--green);color:var(--green);font-size:1.15rem;font-weight:800;letter-spacing:.02em}
  .occ-inforow{margin:14px 16px 16px;background:rgba(255,255,255,.1);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}
  .occ-inforow .row{display:flex;justify-content:space-between;align-items:center}
  .occ-inforow .row .k{color:rgba(255,255,255,.7);font-weight:500}
  .occ-badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:8px;font-size:.82rem;font-weight:700;color:#fff}
  .occ-restbox{margin:8px 16px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:20px;text-align:center}
  .occ-restbox .ico{font-size:1.6rem;margin-bottom:8px}
  .occ-restbox p{font-weight:600;color:rgba(255,255,255,.8);font-size:.92rem}
  .occ-restbox .next{font-weight:800;color:#fff;text-transform:capitalize;margin-top:4px}
  .cards-section{padding:0 16px 32px;max-width:900px;margin:0 auto}
  .glass-card{background:rgba(0,0,0,.2);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:16px}
  .glass-card h3{font-size:1rem;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:8px}
  .glass-card .sub{color:rgba(255,255,255,.55);font-size:.78rem;margin-bottom:14px}
  .stats-grid{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-bottom:16px}
  .stat-box{background:rgba(0,0,0,.2);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px}
  .stat-box .lbl{font-size:.72rem;color:rgba(255,255,255,.55);margin-bottom:4px}
  .stat-box .val{font-size:2rem;font-weight:900;color:var(--primary)}
  .stat-box2{background:rgba(0,0,0,.2);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .stat-box2 h4{font-size:.95rem;font-weight:800;margin-bottom:4px}
  .stat-box2 p{font-size:.75rem;color:rgba(255,255,255,.55)}
  .rank-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.08);border-radius:12px;margin-bottom:8px}
  .rank-item:hover{background:rgba(255,255,255,.13)}
  .rank-num{display:flex;align-items:center;justify-content:center;width:36px;flex-shrink:0}
  .rank-num svg{display:block}
  .rank-name{flex:1;font-weight:600;font-size:.9rem}
  .rank-name small{display:block;color:rgba(255,255,255,.4);font-size:.68rem;font-weight:400}
  .rank-badge{background:rgba(255,255,255,.15);padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:700;flex-shrink:0}

  /* ── CHECK-IN / OUT ─────────────────────────── */
  .form-wrap{max-width:480px;margin:0 auto;padding:24px 16px}
  .form-card{background:rgba(0,0,0,.3);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px}
  .form-card h2{font-size:1.3rem;font-weight:900;margin-bottom:4px;display:flex;align-items:center;gap:8px}
  .form-card .sub{color:rgba(255,255,255,.55);font-size:.82rem;margin-bottom:20px}
  .fld{margin-top:14px}
  .fld label{display:block;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.65);margin-bottom:5px}
  .fld input,.fld select{width:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:10px 12px;color:#fff;font-size:.9rem;outline:none;transition:border .15s}
  .fld input:focus,.fld select:focus{border-color:var(--primary)}
  .fld select option{background:#1a1a2e;color:#fff}
  .fld input[type=date]{color-scheme:dark}
  .form-btn{width:100%;margin-top:18px;padding:13px;border-radius:12px;border:none;background:var(--primary);color:#fff;font-size:1rem;font-weight:800;cursor:pointer;transition:background .15s}
  .form-btn:hover{background:#059669}
  .form-btn:disabled{opacity:.4;cursor:not-allowed}
  .form-btn.out{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
  .form-btn.out:hover{background:rgba(255,255,255,.22)}
  .alert-box{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.83rem;font-weight:600;display:none}
  .alert-success{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:#6ee7b7;display:block}
  .alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#fca5a5;display:block}
  .alert-info{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.3);color:#93c5fd;display:block}
  .success-card{text-align:center;padding:40px 24px}
  .success-card .big-icon{font-size:4rem;margin-bottom:16px}
  .success-card h2{font-size:1.8rem;font-weight:900;margin-bottom:8px}
  .success-card p{color:rgba(255,255,255,.6);margin-bottom:20px}
  .success-card .duration{background:rgba(255,255,255,.1);border-radius:14px;padding:16px;display:inline-block;margin:12px 0 20px}
  .success-card .duration .lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5);margin-bottom:4px}
  .success-card .duration .val{font-size:2rem;font-weight:900;font-family:monospace}

  /* ── EXERCISE LIBRARY ─────────────────────── */
  .lib-sticky{background:rgba(0,0,0,.5);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:110px;z-index:90;padding:12px 16px}
  @media(min-width:640px){.lib-sticky{top:66px}}
  .lib-sticky .sw{position:relative;margin-bottom:8px}
  .lib-sticky .sw input{width:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:8px 12px 8px 34px;color:#fff;font-size:.88rem;outline:none}
  .lib-sticky .sw input::placeholder{color:rgba(255,255,255,.35)}
  .lib-sticky .sw .si{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.8rem;opacity:.5}
  .filter-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:6px}
  .filter-row .flbl{font-size:.68rem;color:rgba(255,255,255,.45);margin-right:2px}
  .chip{font-size:.68rem;padding:4px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:rgba(255,255,255,.65);cursor:pointer;transition:all .12s;font-weight:600}
  .chip:hover{background:rgba(255,255,255,.16)}
  .chip.on{background:var(--primary);border-color:var(--primary);color:#fff}
  .chip.clr{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.12);color:#fca5a5}
  .ex-grid{display:grid;gap:12px;padding:14px 16px;max-width:1000px;margin:0 auto}
  @media(min-width:600px){.ex-grid{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:900px){.ex-grid{grid-template-columns:repeat(3,1fr)}}
  .ex-card{background:rgba(0,0,0,.2);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}
  .ex-card:hover{box-shadow:0 6px 26px rgba(0,0,0,.4)}
  .ex-hd{padding:12px 14px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .ex-nm{font-size:.92rem;font-weight:800;line-height:1.2}
  .ex-eq{font-size:.68rem;color:rgba(255,255,255,.45);margin-top:2px}
  .lvl{font-size:.62rem;padding:3px 8px;border-radius:20px;border:1px solid;font-weight:700;flex-shrink:0}
  .lvl-P{background:rgba(16,185,129,.2);color:#6ee7b7;border-color:rgba(16,185,129,.3)}
  .lvl-I{background:rgba(245,158,11,.2);color:#fcd34d;border-color:rgba(245,158,11,.3)}
  .lvl-A{background:rgba(239,68,68,.2);color:#fca5a5;border-color:rgba(239,68,68,.3)}
  .ex-muscles{padding:0 14px 8px;display:flex;flex-wrap:wrap;gap:4px}
  .m-chip{font-size:.62rem;background:rgba(255,255,255,.12);color:rgba(255,255,255,.72);padding:2px 8px;border-radius:20px;font-weight:600}
  .ex-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 14px}
  .ex-stat{background:rgba(255,255,255,.08);border-radius:8px;padding:6px;text-align:center}
  .ex-stat .sl{font-size:.52rem;color:rgba(255,255,255,.38);text-transform:uppercase;letter-spacing:.07em}
  .ex-stat .sv{font-size:.8rem;font-weight:800}
  .ex-tog{width:100%;background:none;border:none;border-top:1px solid rgba(255,255,255,.06);padding:8px;color:rgba(255,255,255,.45);font-size:.72rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px}
  .ex-tog:hover{color:#fff;background:rgba(255,255,255,.05)}
  .ex-tips{padding:8px 14px 12px;border-top:1px solid rgba(255,255,255,.06);display:none}
  .ex-tips ul{list-style:none;border-left:2px solid var(--primary);padding-left:10px}
  .ex-tips li{font-size:.7rem;color:rgba(255,255,255,.55);margin-bottom:4px;line-height:1.4}

  /* Calendario horario tablero */
  .cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}
  @media(max-width:640px){.cal-week{grid-template-columns:repeat(4,1fr);gap:6px}}
  @media(max-width:420px){.cal-week{grid-template-columns:repeat(3,1fr)}}
  .cal-week-day{border-radius:14px;padding:12px 6px;text-align:center;border:1.5px solid #b6e0a0;background:#dff5cc;transition:all .2s}
  .cal-week-day.today{box-shadow:0 0 0 3px #3B6D11;border-color:#3B6D11!important}
  .cal-week-day.closed{background:rgba(0,0,0,.08);border-color:rgba(255,255,255,.2);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}
  .cwd-name{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#3B6D11;margin-bottom:4px}
  .cwd-num{font-size:22px;font-weight:900;color:#1a3d08;margin-bottom:6px;line-height:1}
  .cal-week-day.closed .cwd-name{color:rgba(255,255,255,.6)}
  .cal-week-day.closed .cwd-num{color:rgba(255,255,255,.6)}
  .cwd-block{font-size:10px;background:#b6e0a0;color:#1a3d08;border-radius:6px;padding:3px 4px;margin:2px 0;font-weight:700}
  .cwd-closed{font-size:10px;color:rgba(255,255,255,.3);margin-top:4px}
  .cal-legend{display:flex;gap:12px;justify-content:flex-end;margin-bottom:10px;flex-wrap:wrap}
  .cal-legend span{display:flex;align-items:center;gap:4px;font-size:11px;color:rgba(255,255,255,.5)}
  .cal-legend span i{width:10px;height:10px;border-radius:2px;display:inline-block}

  /* ── ADMIN ─────────────────────────────────── */
  .admin-layout{display:flex;min-height:calc(100vh - 66px)}
  /* SIDEBAR */
  .admin-sidebar{width:260px;background:#0f172a;border-right:none;padding:0;flex-shrink:0;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:300;transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto}
  .admin-sidebar.open{transform:translateX(0)}
  @media(min-width:768px){.admin-sidebar{position:static;height:auto;transform:none;display:flex}}
  .admin-sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:299;display:none}
  .admin-sidebar-overlay.open{display:block}
  @media(min-width:768px){.admin-sidebar-overlay{display:none!important}}
  .admin-menu-btn{display:flex;align-items:center;gap:8px;background:#0f172a;border:none;color:#fff;padding:12px 16px;font-size:.85rem;font-weight:700;cursor:pointer;width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  @media(min-width:768px){.admin-menu-btn{display:none}}
  .admin-sidebar .s-logo{padding:28px 20px 24px;border-bottom:1px solid rgba(255,255,255,.07)}
  .admin-sidebar .s-logo .s-logo-icon{width:40px;height:40px;background:rgba(59,130,246,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:12px}
  .admin-sidebar .s-logo strong{font-size:1.05rem;font-weight:800;color:#fff;display:block}
  .admin-sidebar .s-logo p{font-size:.72rem;color:#64748b;margin-top:2px}
  .admin-sidebar .s-nav{padding:16px 12px;flex:1}
  .admin-sidebar .s-nav-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:#475569;text-transform:uppercase;padding:0 10px;margin:16px 0 6px}
  .admin-nav-btn{width:100%;text-align:left;background:none;border:none;color:#94a3b8;font-size:.84rem;font-weight:600;padding:10px 14px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .15s;margin-bottom:2px}
  .admin-nav-btn:hover{background:rgba(255,255,255,.06);color:#e2e8f0}
  .admin-nav-btn.on{background:#1e40af;color:#fff}
  .admin-nav-btn .nav-icon{width:20px;text-align:center;font-size:.95rem;flex-shrink:0}
  .admin-main{flex:1;overflow:auto;background:#f1f5f9}
  .admin-content{padding:18px;max-width:1100px;margin:0 auto}
  @media(min-width:640px){.admin-content{padding:32px}}
  .admin-tab{padding:6px 14px;border-radius:8px;border:none;background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0}
  .admin-tab.on{background:#3b82f6;color:#fff}
  .admin-section{display:none}
  .admin-section.on{display:block}
  .admin-section.sec-locked>*:not(.sec-lock){display:none!important}
  .sec-lock{max-width:460px;margin:14vh auto 0;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:30px 26px;text-align:center;box-shadow:0 12px 40px rgba(15,23,42,.18)}
  .sec-lock h2{font-size:1.15rem;font-weight:800;color:#0f172a;margin:8px 0 6px}
  .sec-lock p{font-size:.85rem;color:#64748b;margin-bottom:18px}
  .sec-lock button{background:#0f172a;color:#fff;border:none;border-radius:10px;padding:11px 22px;font-weight:700;font-size:.88rem;cursor:pointer}
  .page-title{margin-bottom:28px}
  .page-title h1{font-size:1.4rem;font-weight:900;color:#0f172a}
  @media(min-width:640px){.page-title h1{font-size:1.8rem}}
  .page-title p{color:#64748b;font-size:.85rem;margin-top:4px}
  /* KPI */
  [data-tip]{cursor:pointer}[data-info]{cursor:help}
  .icon-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#eef2ff;margin-right:9px;vertical-align:middle;flex-shrink:0}
  h1 .icon-badge{width:42px;height:42px;border-radius:13px}
  .icon-badge svg{display:block}
  .kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:28px}
  @media(min-width:768px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}
  .dash-grid-32{display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:16px}
  @media(min-width:900px){.dash-grid-32{grid-template-columns:3fr 2fr}}
  .dash-grid-11{display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:16px}
  @media(min-width:768px){.dash-grid-11{grid-template-columns:1fr 1fr}}
  .kpi{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;position:relative;overflow:hidden;box-shadow:0 1px 4px rgba(15,23,42,.06)}
  .kpi .kl{font-size:.78rem;color:#64748b;margin-bottom:10px;font-weight:500}
  .kpi .kv{font-size:2.4rem;font-weight:900;line-height:1;color:#0f172a}
  .kpi .ks{font-size:.7rem;color:#94a3b8;margin-top:6px}
  .kpi .kico{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}
  .kpi-blue .kv{color:#3b82f6}.kpi-blue .kico{background:#eff6ff;color:#3b82f6}
  .kpi-violet .kv{color:#8b5cf6}.kpi-violet .kico{background:#f5f3ff;color:#8b5cf6}
  .kpi-green .kv{color:#10b981}.kpi-green .kico{background:#ecfdf5;color:#10b981}
  .kpi-amber .kv{color:#f59e0b}.kpi-amber .kico{background:#fffbeb;color:#f59e0b}
  /* Cards admin */
  .admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 1px 4px rgba(15,23,42,.06);margin-bottom:20px}
  .glass-card{background:rgba(0,0,0,.3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:24px;margin-bottom:20px}
  .glass-card h3{color:#fff;font-size:1rem;font-weight:800;margin-bottom:4px}
  .glass-card .sub{color:rgba(255,255,255,.55);font-size:.82rem;margin-bottom:16px}
  .admin-card h3{font-size:1rem;font-weight:800;color:#0f172a;margin-bottom:4px}
  .admin-card .sub{color:#64748b;font-size:.78rem;margin-bottom:16px}
  /* Tables */
  .admin-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(15,23,42,.06)}
  .admin-table{width:100%;border-collapse:collapse;font-size:.82rem}
  .admin-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:700;white-space:nowrap;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:5}
  .admin-table td{padding:12px 16px;border-top:1px solid #f1f5f9;vertical-align:middle;color:#334155}
  .admin-table tr:hover td{background:#f8fafc}
  .badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:700;border:1px solid}
  .badge-green{background:#dcfce7;color:#16a34a;border-color:#bbf7d0}
  .badge-amber{background:#fef3c7;color:#d97706;border-color:#fde68a}
  .badge-red{background:#fee2e2;color:#dc2626;border-color:#fecaca}
  .badge-gray{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}
  .badge-violet{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}
  /* Search bar admin */
  .search-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
  .search-bar input,.search-bar select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;color:#0f172a;font-size:.82rem;outline:none;min-width:0}
  .search-bar input:focus,.search-bar select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
  .search-bar select option{background:#fff;color:#0f172a}
  .search-bar input[type=date]{color-scheme:light}
  .search-bar .s-main{flex:1;min-width:160px;position:relative}
  .search-bar .s-main input{width:100%;padding-left:32px}
  .search-bar .s-main .sico{position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:.4;font-size:.8rem}
  /* Bar chart */
  /* Mini bar */
  /* Holiday calendar */
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px}
  .cal-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
  .cal-header span{font-size:.65rem;text-align:center;color:#94a3b8;font-weight:700;text-transform:uppercase}
  .cal-day{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .12s;background:#f1f5f9;color:#334155}
  .cal-day:hover{background:#e2e8f0;color:#0f172a}
  .cal-day.today{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}
  .cal-day.holiday{background:#fee2e2;color:#dc2626;border-color:#fecaca}
  .cal-day.selected{background:#3b82f6;color:#fff;border-color:#3b82f6}
  .cal-day.empty{background:transparent;cursor:default;border-color:transparent}
  /* Logout */
  .admin-logout{padding:16px 12px;border-top:1px solid rgba(255,255,255,.07)}
  /* Period buttons */
  .period-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
  .period-btn{padding:7px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:.76rem;font-weight:700;cursor:pointer}
  .period-btn.on{background:#3b82f6;border-color:#3b82f6;color:#fff}
  /* Pie chart */
  /* Timer */
  #timer-fab{position:fixed;bottom:24px;right:24px;z-index:200;background:var(--primary);border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:transform .15s}
  #timer-fab:hover{transform:scale(1.1)}
  #timer-fab.hidden{display:none}
  #timer-modal{display:none;position:fixed;inset:0;z-index:300;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
  #timer-modal.open{display:flex}
  .timer-box{background:#111;border:1px solid rgba(255,255,255,.15);border-radius:24px 24px 0 0;padding:24px;width:100%;max-width:400px}
  .timer-box h3{font-size:1rem;font-weight:800;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
  .timer-display{font-size:3.8rem;font-weight:900;text-align:center;color:var(--green);margin:8px 0;letter-spacing:.05em;font-family:monospace}
  .timer-presets{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
  .t-pre{flex:1;min-width:54px;padding:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;font-size:.76rem;font-weight:700;cursor:pointer;text-align:center}
  .t-pre:hover{background:rgba(255,255,255,.17)}
  .timer-btns{display:flex;gap:8px}
  .timer-btns button{flex:1;padding:10px;border-radius:10px;border:none;font-weight:800;font-size:.88rem;cursor:pointer}
  .t-start{background:var(--primary);color:#fff}
  .t-reset{background:rgba(255,255,255,.1);color:#fff}
  /* Reports period */
  .period-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
  .period-btn{padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:rgba(255,255,255,.65);font-size:.76rem;font-weight:700;cursor:pointer}
  .period-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}
  /* Confirm dialog */
  #confirm-modal{display:none;position:fixed;inset:0;z-index:400;align-items:center;justify-content:center;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
  #confirm-modal.open{display:flex}
  .confirm-box{background:#1e293b;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:24px;max-width:360px;width:90%}
  .confirm-box h4{font-size:1rem;font-weight:800;margin-bottom:8px}
  .confirm-box p{font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:20px;line-height:1.5}
  .confirm-btns{display:flex;gap:8px}
  .confirm-btns button{flex:1;padding:10px;border-radius:10px;border:none;font-weight:700;cursor:pointer}
  ::-webkit-scrollbar{width:14px}
  ::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:12px;margin:4px}
  ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.55);border-radius:12px;border:2px solid rgba(0,0,0,.3)}
  ::-webkit-scrollbar-thumb:hover{background:#0ea5e9}
  ::-webkit-scrollbar-thumb:active{background:#0284c7}
  /* Scroll FABs */
  #scroll-fabs{position:fixed;right:24px;bottom:90px;z-index:190;display:flex;flex-direction:column;gap:8px}
  .scroll-fab{width:42px;height:42px;border-radius:50%;border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.5);transition:transform .15s,opacity .2s;background:rgba(30,41,59,.85);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff}
  .scroll-fab:hover{transform:scale(1.12);background:rgba(14,165,233,.8)}
  .scroll-fab.hidden{opacity:0;pointer-events:none}
  #scroll-fabs{align-items:flex-end}
  #fab-row.hidden{display:none!important}
  .scroll-fab.dim{opacity:.35}
  /* Toggle switch */
  .tog{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}
  .tog input{opacity:0;width:0;height:0}
  .tog-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:26px;cursor:pointer;transition:.25s}
  .tog-slider:before{content:'';position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
  .tog input:checked+.tog-slider{background:#0ea5e9}
  .tog input:checked+.tog-slider:before{transform:translateX(18px)}
  /* Horario day card */
  .hor-day{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.05)}
  .hor-day.active{border-left:4px solid #0ea5e9}
  .hor-day-header{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer}
  .hor-day-name{font-size:1rem;font-weight:700;color:#0f172a;flex:1}
  .hor-day-badge{font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:20px}
  .hor-day-badge.open{background:#e0f2fe;color:#0284c7}
  .hor-day-badge.rest{background:#f1f5f9;color:#64748b}
  .hor-day-body{padding:0 20px 18px;display:none}
  .hor-day.active .hor-day-body{display:block}
  .hor-day-add{color:#0ea5e9;font-size:.82rem;font-weight:700;cursor:pointer;background:none;border:none;float:right;margin-top:-4px}
  .hor-block{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
  .hor-block label{font-size:.72rem;color:#64748b;display:block;margin-bottom:3px;font-weight:600}
  .hor-enc{flex:1;min-width:210px}
  .hor-block input[type=text]{width:100%;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;color:#0f172a;font-size:.88rem;outline:none}
  .hor-block input[type=text]:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.18)}
  .cwd-block small{display:block;font-size:.62rem;opacity:.75;font-weight:500;margin-top:1px}
  .hor-block input[type=time]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;color:#0f172a;font-size:.9rem;font-weight:600;outline:none;cursor:pointer}
  .hor-block input[type=time]:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.12)}
  .hor-block .hor-arrow{color:#94a3b8;font-size:1rem;margin-top:18px}
  .hor-block .hor-dur{font-size:.82rem;color:#64748b;margin-top:18px;min-width:60px}
  .hor-block .hor-del{background:none;border:none;cursor:pointer;color:#fca5a5;font-size:1.1rem;margin-top:16px;padding:4px}
  .hor-block .hor-del:hover{color:#ef4444}
  .hor-ico{color:#94a3b8;font-size:1rem;margin-top:18px}
  .login-wrap{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 110px);padding:24px 16px}
  @media(min-width:640px){.login-wrap{min-height:calc(100vh - 66px)}}
  .login-box{background:rgba(15,23,42,.85);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:32px 28px;width:100%;max-width:380px;text-align:center}
  .login-box img{height:64px;margin-bottom:16px}
  .login-box h2{font-size:1.5rem;font-weight:900;margin-bottom:4px}
  .login-box p{color:rgba(255,255,255,.5);font-size:.82rem;margin-bottom:24px}
  #page-admin-login .login-box{background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 40px rgba(15,23,42,.12);backdrop-filter:none}
  #page-admin-login .login-box h2{color:#0f172a}
  #page-admin-login .login-box h2 span{color:#16a34a}
  #page-admin-login .login-box p{color:#64748b}
  #page-admin-login .fld label{color:#334155}
  #page-admin-login .fld input{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
  #page-admin-login .fld input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.15)}
  #asec-manual .fld label{color:#334155}
  #asec-manual .fld input,#asec-manual .fld select{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
  #asec-manual .fld input:focus,#asec-manual .fld select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.15)}
  #asec-manual .fld select option{background:#fff;color:#0f172a}
  #page-admin-login .form-btn{background:#0ea5e9}
  #page-admin-login .form-btn:hover{background:#0284c7}
  #page-admin-login .btn-ghost{color:#64748b}
  #page-admin-login .btn-ghost:hover{background:rgba(15,23,42,.06);color:#0f172a}

  /* ═════ v94 · acabado profesional + rendimiento ═════ */
  nav{background:linear-gradient(180deg,rgba(6,12,24,.86),rgba(6,12,24,.72));border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 6px 24px rgba(0,0,0,.28)}
  .brand{gap:12px}
  .brand img{height:42px}
  .brand-name{font-size:1.28rem;letter-spacing:-.01em}
  .brand-time{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:5px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.8)}
  .clk-date{font-size:.74rem;font-weight:600;color:rgba(255,255,255,.78);letter-spacing:.01em}
  .clk-date .short{display:none}
  .clk-time{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:#eafff3;background:rgba(74,222,128,.14);border:1px solid rgba(74,222,128,.38);padding:2px 9px 2px 8px;border-radius:999px;white-space:nowrap}
  .clk-time b{font-weight:800;letter-spacing:.015em}
  .clk-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:clkPulse 2s ease-out infinite}
  @keyframes clkPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}70%,100%{box-shadow:0 0 0 7px rgba(74,222,128,0)}}
  @media(max-width:520px){.clk-date .long{display:none}.clk-date .short{display:inline}.brand-name{font-size:1.15rem}.brand img{height:38px}}
  .btn-bell{border-radius:12px;width:38px;height:38px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);transition:background .15s,transform .15s}
  .btn-bell:active{transform:scale(.94)}
  .nav-actions{gap:8px;padding:2px 16px 12px}
  .nav-actions .btn,.desktop-btns .btn{border-radius:12px!important;height:40px;font-weight:700;letter-spacing:.005em;box-shadow:0 2px 8px rgba(0,0,0,.22);transition:transform .12s,filter .15s}
  .nav-actions .btn:active,.desktop-btns .btn:active{transform:scale(.97)}
  .nav-actions .btn:hover,.desktop-btns .btn:hover{filter:brightness(1.1)}
  .occ-card{background:linear-gradient(165deg,rgba(8,16,30,.62),rgba(8,16,30,.46));border:1px solid rgba(255,255,255,.14);border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08)}
  .occ-title h2{letter-spacing:.02em;font-size:1.55rem}
  .occ-pill{box-shadow:0 0 24px -6px currentColor}
  .occ-inforow{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
  .form-wrap{padding:20px 16px 36px}
  .form-card{background:linear-gradient(165deg,rgba(8,16,30,.74),rgba(8,16,30,.58));border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:26px 22px;box-shadow:0 24px 70px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.07)}
  .form-card h2{font-size:1.45rem;letter-spacing:-.01em}
  .form-card .sub{font-size:.86rem;line-height:1.45;color:rgba(255,255,255,.62)}
  .fld{margin-top:16px}
  .fld label{font-size:.76rem;letter-spacing:.02em;color:rgba(255,255,255,.72)}
  .fld input,.fld select,.fld textarea{min-height:46px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:11px 14px;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}
  .fld input::placeholder{color:rgba(255,255,255,.35)}
  .fld input:focus,.fld select:focus,.fld textarea:focus{background:rgba(255,255,255,.12);border-color:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.22)}
  .form-btn{min-height:50px;border-radius:14px;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 22px -8px rgba(16,185,129,.7);letter-spacing:.01em;transition:transform .12s,filter .15s,box-shadow .15s}
  .form-btn:hover{background:linear-gradient(135deg,#12c58f,#06a073);filter:none}
  .form-btn:active{transform:scale(.985)}
  .form-btn.out{background:rgba(255,255,255,.1);box-shadow:none}
  .btn-ghost{border-radius:10px}
  .glass-card{border-radius:20px}
  .rank-item{border:1px solid rgba(255,255,255,.07)}
  .login-box{border-radius:24px}
  #page-admin-login .login-box{box-shadow:0 20px 60px rgba(15,23,42,.16)}
  /* Rendimiento en celulares y pantallas táctiles: sin desenfoque de fondo (muy costoso) */
  @media(max-width:900px),(pointer:coarse){
    nav,.occ-card,.glass-card,.stat-box,.stat-box2,.form-card,.ex-card,.lib-sticky,.login-box,#timer-modal,#confirm-modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
    nav{background:rgba(6,12,24,.9)}
    .occ-card{background:linear-gradient(165deg,rgba(8,16,30,.86),rgba(8,16,30,.74))}
    .form-card{background:linear-gradient(165deg,rgba(8,16,30,.9),rgba(8,16,30,.8))}
    .glass-card,.stat-box,.stat-box2,.ex-card{background:rgba(8,16,30,.72)}
    .occ-bar{animation:none}
  }
  @media(prefers-reduced-motion:reduce){.occ-bar,.clk-dot{animation:none}}

  /* Papelera */
  .trash-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fb7185;color:#fff;font-size:.68rem;font-weight:800;align-items:center;justify-content:center}
  .tr-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
  .tr-search{flex:1;min-width:200px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 14px;font-size:.88rem}
  .tr-actions{display:flex;flex-wrap:wrap;gap:8px}
  .tr-btn{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:10px;padding:9px 14px;font-size:.82rem;font-weight:700;cursor:pointer}
  .tr-btn.ok{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
  .tr-btn.bad{background:#fff1f2;border-color:#fecdd3;color:#be123c}
  .tr-btn.bad2{background:#be123c;border-color:#be123c;color:#fff}
  .tr-count{margin-top:12px;font-size:.78rem;color:#64748b;font-weight:600}
  .tr-tag{display:inline-block;background:#f1f5f9;color:#475569;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:600;white-space:nowrap}
  .tr-mini{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:5px 10px;font-size:.74rem;font-weight:700;cursor:pointer}
  .tr-mini.ok{color:#047857;border-color:#a7f3d0;background:#ecfdf5}
  .tr-mini.bad{color:#be123c;border-color:#fecdd3;background:#fff1f2}

  /* v95 · tarjeta de estado al estilo del panel admin + botón Volver */
  .occ-inforow{background:#0f1729;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:6px 16px;gap:0;box-shadow:0 8px 24px rgba(2,6,23,.35)}
  .occ-inforow .row{padding:11px 0;gap:10px}
  .occ-inforow .row+.row{border-top:1px solid rgba(148,163,184,.14)}
  .occ-inforow .row .k{color:#94a3b8;font-weight:600;font-size:.86rem}
  .occ-badge{border-radius:999px;padding:5px 13px;font-size:.8rem;font-weight:700;letter-spacing:.01em;text-align:right}
  .occ-restbox{background:#0f1729;border:1px solid rgba(148,163,184,.18);box-shadow:0 8px 24px rgba(2,6,23,.35)}
  .occ-restbox .next-enc{margin-top:8px;font-size:.84rem;font-weight:600;color:#94a3b8}
  .page .btn-ghost[style*="margin-bottom:10px"]{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px!important;padding:9px 16px 9px 12px;border-radius:999px;background:#0f1729;border:1px solid rgba(148,163,184,.25);color:#e2e8f0;font-size:.84rem;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 18px rgba(2,6,23,.4);transition:transform .12s,background .15s,border-color .15s}
  .page .btn-ghost[style*="margin-bottom:10px"]:hover{background:#16213a;border-color:rgba(74,222,128,.55);color:#fff}
  .page .btn-ghost[style*="margin-bottom:10px"]:active{transform:scale(.97)}

  /* v96 · tarjetas públicas con el diseño del panel admin (azul noche sólido, icono en cápsula) */
  .form-card,.login-box:not(#page-admin-login .login-box){background:#0e1628!important;border:1px solid rgba(148,163,184,.16)!important;box-shadow:0 18px 50px rgba(2,6,23,.55)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .occ-inforow,.occ-restbox{background:#131d33!important;border:1px solid rgba(148,163,184,.16)!important;box-shadow:none!important}
  .occ-inforow .kw{display:inline-flex;align-items:center;gap:11px}
  .ico-chip{width:34px;height:34px;border-radius:10px;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.14);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
  .form-card .fld input,.form-card .fld select,.form-card .fld textarea{background:#131d33!important;border:1px solid rgba(148,163,184,.22)!important}
  .form-card .fld input:focus,.form-card .fld select:focus,.form-card .fld textarea:focus{border-color:#34d399!important}
  #page-admin-login .fld input{background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important;box-shadow:none}
  #page-admin-login .fld input:focus{border-color:#0ea5e9!important;box-shadow:0 0 0 3px rgba(14,165,233,.15)}
  #page-admin-login .fld input::placeholder{color:#94a3b8}

  /* v99 · tablero público: tarjetas de vidrio claras (se ve más la foto), igual en PC y celular */
  #page-tablero .occ-card{background:rgba(0,0,0,.16)!important;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;box-shadow:0 20px 60px rgba(0,0,0,.35)!important}
  #page-tablero .glass-card,#page-tablero .stat-box,#page-tablero .stat-box2{background:rgba(0,0,0,.2)!important;border:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;box-shadow:none!important}
  #page-tablero .rank-item{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.08)}
  #page-tablero .rank-item:hover{background:rgba(255,255,255,.13)!important}
  #page-tablero .occ-inforow,#page-tablero .occ-restbox{background:rgba(12,20,38,.46)!important;border:1px solid rgba(255,255,255,.14)!important}
  #page-tablero .occ-inforow .occ-badge{white-space:nowrap;font-size:.76rem;padding:5px 11px}

  /* v101 · botones de acceso con iconos de línea (como el menú admin) */
  .nav-actions .btn .bi,.desktop-btns .btn .bi,.form-btn .bi{flex-shrink:0}
  .nav-actions .btn,.desktop-btns .btn,.form-btn{gap:8px}
  .form-btn{display:flex;align-items:center;justify-content:center}
  
