:root{
  --anbema-navy:#071827; --anbema-ink:#101828; --anbema-blue:#0f6fff; --anbema-cyan:#4cc9f0;
  --anbema-green:#16a34a; --anbema-red:#dc2626; --anbema-amber:#f59e0b;
  --anbema-bg:#eef5fb; --anbema-card:rgba(255,255,255,.92); --anbema-line:#dbe7f1; --anbema-muted:#64748b;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--anbema-ink);background:radial-gradient(circle at top left,rgba(76,201,240,.26),transparent 28rem),radial-gradient(circle at bottom right,rgba(15,111,255,.18),transparent 30rem),linear-gradient(135deg,#edf6fb 0%,#f8fbff 55%,#e8f2fb 100%);min-height:100vh}.anbema-bg,.clock-page{overflow-x:hidden}.bg-orb{position:fixed;border-radius:999px;filter:blur(10px);opacity:.5;pointer-events:none}.orb-a{width:360px;height:360px;background:#b7e7ff;top:-120px;right:-90px}.orb-b{width:270px;height:270px;background:#c7d2fe;bottom:-100px;left:-60px}.glass,.card-login,.card-soft{background:var(--anbema-card)!important;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 24px 70px rgba(7,24,39,.16)!important;border-radius:28px!important}.app-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-wrap{width:min(100%,1060px);display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.hero-panel{padding:36px;color:white;border-radius:30px;background:linear-gradient(145deg,#071827 0%,#0f3154 55%,#0f6fff 130%);position:relative;overflow:hidden;box-shadow:0 28px 90px rgba(7,24,39,.32)}.hero-panel:before{content:"";position:absolute;inset:auto -70px -80px auto;width:280px;height:280px;border-radius:50%;background:rgba(76,201,240,.35);filter:blur(6px)}.brand-row{display:flex;align-items:center;gap:14px;margin-bottom:34px}.brand-mark{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,var(--anbema-blue),var(--anbema-cyan));color:white;display:grid;place-items:center;font-weight:950;font-size:30px;box-shadow:0 16px 36px rgba(15,111,255,.32)}.brand-title{font-weight:950;letter-spacing:-.04em;font-size:1.35rem}.brand-sub{font-size:.82rem;opacity:.78}.hero-title{font-size:clamp(2rem,4vw,3.75rem);line-height:.95;letter-spacing:-.06em;font-weight:950;margin:0 0 16px}.hero-text{max-width:560px;color:#dbeafe;font-size:1.06rem}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}.feature{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px;font-weight:800}.feature small{display:block;color:#bfdbfe;font-weight:600;margin-top:4px}.login-card,.clock-card{width:min(100%,520px);padding:30px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:900;color:var(--anbema-blue);margin:18px 0 6px}.login-card h1,.clock-card h1{margin:.1rem 0 .4rem;font-size:clamp(1.75rem,6vw,2.45rem);line-height:1.05;letter-spacing:-.04em;font-weight:950}.muted{color:var(--anbema-muted);margin-bottom:22px}.segmented{display:flex;gap:6px;background:#eef5fb;border:1px solid var(--anbema-line);border-radius:999px;padding:6px;margin:0 0 22px}.segmented button{border:0;background:transparent;border-radius:999px;padding:10px 14px;font-weight:900;color:#64748b;flex:1}.segmented button.active{background:white;color:var(--anbema-blue);box-shadow:0 8px 18px rgba(15,111,255,.12)}label{display:block;font-weight:850;font-size:.85rem;margin:14px 0 7px}.form-control,.form-select,.input,.pin-display{border:1px solid var(--anbema-line)!important;background:white!important;border-radius:16px!important;padding:14px 15px!important;outline:none;box-shadow:0 6px 20px rgba(7,24,39,.05)!important}.form-control:focus,.form-select:focus,.input:focus,.pin-display:focus{border-color:var(--anbema-blue)!important;box-shadow:0 0 0 4px rgba(15,111,255,.13)!important}.pin-display{text-align:center;letter-spacing:.42em;font-size:1.65rem!important;font-weight:950!important;height:64px;pointer-events:none}.keypad,.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.key-btn,.num-btn{height:62px;border:0!important;border-radius:18px!important;background:white!important;font-size:1.35rem;font-weight:950;color:var(--anbema-ink)!important;box-shadow:0 8px 24px rgba(7,24,39,.08);cursor:pointer;transition:.16s ease}.key-btn:hover,.num-btn:hover{transform:translateY(-1px)}.key-btn:active,.num-btn:active,.big-btn:active,.btn-pro:active{transform:scale(.98)}.key-btn.primary,.num-btn.primary,.key-btn.bg-primary{background:linear-gradient(135deg,var(--anbema-blue),var(--anbema-cyan))!important;color:white!important}.key-btn.danger,.num-btn.danger{background:#fff1f2!important;color:var(--anbema-red)!important}.btn-pro,.btn-primary{background:linear-gradient(135deg,var(--anbema-blue),#0757d8)!important;border:0!important;color:white!important;font-weight:900!important;border-radius:16px!important;padding:13px 18px!important;box-shadow:0 14px 28px rgba(15,111,255,.23)!important}.btn-pro:hover,.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.03)}.btn-success{border:0!important;background:linear-gradient(135deg,#16a34a,#22c55e)!important}.btn-danger{border:0!important;background:linear-gradient(135deg,#dc2626,#fb7185)!important}.btn-warning{border:0!important;background:linear-gradient(135deg,#f59e0b,#fbbf24)!important;color:#2d1a00!important}.admin-link{display:block;text-align:center;margin-top:18px;color:var(--anbema-blue);font-weight:900;text-decoration:none}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1055;padding:12px 18px;border-radius:999px;color:white;font-weight:900;box-shadow:0 18px 40px rgba(0,0,0,.18);max-width:92%;text-align:center}.toast.error{background:var(--anbema-red)}.toast.ok{background:var(--anbema-green)}.top-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pill{background:white;border:1px solid var(--anbema-line);border-radius:999px;padding:10px 16px;text-decoration:none;color:var(--anbema-navy);font-weight:900}.clock{font-variant-numeric:tabular-nums;text-align:center;font-size:clamp(3rem,17vw,5.8rem);font-weight:950;letter-spacing:-.06em;margin-top:10px}.date{text-align:center;text-transform:capitalize;color:var(--anbema-muted);font-weight:750}.state{margin:18px 0;padding:15px;border-radius:20px;text-align:center;background:#edf6ff;border:1px solid #d7eafe}.actions{display:grid;gap:13px}.big-btn{border:0;border-radius:22px;padding:22px;color:white;font-size:1.14rem;font-weight:950;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 14px 30px rgba(0,0,0,.12);cursor:pointer;transition:.16s ease}.enter{background:linear-gradient(135deg,#16a34a,#22c55e)}.exit{background:linear-gradient(135deg,#dc2626,#fb7185)}.pause{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#2d1a00}.resume{background:linear-gradient(135deg,#2563eb,#60a5fa)}.history{margin-top:18px;background:rgba(255,255,255,.62);border-radius:22px;padding:16px;border:1px solid rgba(219,231,241,.75)}.history h3{font-size:.95rem;margin:0 0 10px;font-weight:950}.history div{display:flex;justify-content:space-between;border-top:1px solid var(--anbema-line);padding:10px 0;font-size:.9rem}.history div:first-of-type{border-top:0}.history span{font-weight:900}.history time{color:var(--anbema-muted)}.navbar.anbema-nav{background:rgba(7,24,39,.92)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 14px 35px rgba(7,24,39,.16)!important}.navbar-brand{font-weight:950!important;letter-spacing:-.03em}.container.pb-5,.anbema-main{max-width:1240px}.card{border:1px solid rgba(219,231,241,.85)!important;border-radius:24px!important;box-shadow:0 14px 40px rgba(7,24,39,.08)!important;overflow:hidden}.card-header{border:0!important;padding:16px 18px!important;font-weight:900}.card-header.bg-primary,.card-header.bg-info,.card-header.bg-secondary,.card-header.bg-success,.card-header.bg-danger{background:linear-gradient(135deg,#0f3154,var(--anbema-blue))!important;color:white!important}.table{--bs-table-bg:transparent}.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f8fafc!important;border-bottom:1px solid var(--anbema-line)!important}.table td,.table th{padding:.85rem!important;vertical-align:middle}.table-hover tbody tr:hover{background:#f5faff!important}.badge{border-radius:999px!important;padding:.48em .72em!important}.modal-content{border:0!important;border-radius:26px!important;box-shadow:0 24px 80px rgba(7,24,39,.28)!important}.modal-header{background:#f8fafc;border-bottom:1px solid var(--anbema-line)!important}.alert{border:0!important;border-radius:18px!important;box-shadow:0 10px 26px rgba(7,24,39,.07)}.live-indicator{display:inline-block;width:10px;height:10px;background:#22c55e;border-radius:50%;margin-right:8px;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.65)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.row-active{background:#f0fff4}.row-late{background:#fff5f5;border-left:4px solid var(--anbema-red)}.cal-container{max-height:62vh;overflow:auto;border-radius:18px;border:1px solid var(--anbema-line)}.cal-table{min-width:880px;font-size:.85rem}.cal-table th,.cal-table td{text-align:center;vertical-align:middle;padding:5px!important;border:1px solid #e7eef5!important}.cal-cell-day{width:30px;min-width:30px}.cal-weekend{background:#eef2f7!important;color:#64748b}.cal-vacaciones{background:#06b6d4!important;color:white;font-weight:900}.cal-baja{background:#dc2626!important;color:white;font-weight:900}.cal-name-col{position:sticky;left:0;background:#fff!important;z-index:1;font-weight:900;text-align:left!important;min-width:150px;box-shadow:2px 0 8px rgba(7,24,39,.06)}.cal-header{position:sticky;top:0;background:#071827!important;color:white!important;z-index:2}.cal-header.cal-name-col{z-index:3;background:#071827!important;color:white!important}.report-page{background:white;color:#111827;font-family:Inter,Arial,sans-serif;font-size:12px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #0f6fff;padding-bottom:16px;margin-bottom:18px}.report-logo{font-size:30px;font-weight:950;color:#0f6fff}.report-box{background:#f8fafc;border:1px solid #dbe7f1;border-radius:14px;padding:12px;margin:14px 0}.report-table{width:100%;border-collapse:collapse;margin-top:16px}.report-table th{background:#071827;color:#fff}.report-table th,.report-table td{border:1px solid #dbe7f1;padding:7px;text-align:center}.tot{text-align:right;font-weight:950;margin-top:20px;font-size:14px}.red{color:#dc2626}.vacaciones{background:#e0f7fa;font-weight:900;letter-spacing:3px;color:#006064}.baja{background:#ffebee;font-weight:900;letter-spacing:3px;color:#c62828}@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.hero-panel{display:none}.app-shell,.login-shell{padding:14px}.login-card,.clock-card{padding:22px;border-radius:24px!important}.feature-grid{grid-template-columns:1fr}.clock{font-size:4rem}.navbar .container{gap:12px}.table-responsive{border-radius:18px}.card{border-radius:20px!important}}@media(max-width:560px){.top-row{flex-direction:column}.key-btn,.num-btn{height:58px}.big-btn{padding:19px}.pin-display{font-size:1.35rem!important;letter-spacing:.32em}.login-card h1,.clock-card h1{font-size:2rem}}
