﻿:root{--page-bg:linear-gradient(160deg, #05142e 0%, #0a2344 55%, #0f2f5d 100%);--card-bg:#091832bd;--card-border:#79abff33;--text-main:#f5f9ff;--text-soft:#b9c7de;--accent:#4f9cff;--accent-strong:#2c79de;--focus-ring:#4f9cff47}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text-main);background:#041227;margin:0;padding:0;font-family:Manrope,Segoe UI,Tahoma,sans-serif}.home-shell{place-content:center;gap:.75rem;min-height:100dvh;padding:2rem;display:grid}.home-shell a{color:#9bc3ff}.login-shell{background:var(--page-bg);place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;width:min(29rem,100%);padding:1.5rem;box-shadow:0 24px 80px #00000061}.brand-block{margin-bottom:1.25rem}.brand-mark{letter-spacing:.02em;margin:0;font-size:clamp(2rem,7vw,2.6rem);line-height:1}.brand-main{color:var(--text-main)}.brand-accent{color:var(--accent)}.brand-tag{color:#bcd4ff;margin:.75rem 0 .35rem;font-weight:600}.brand-subtag{color:var(--text-soft);margin:0;font-size:.9rem}.login-form{gap:.65rem;display:grid}.field-label{color:#d9e6ff;font-size:.9rem}.field-input{width:100%;color:var(--text-main);background:#051023bf;border:1px solid #97bbff59;border-radius:.65rem;outline:none;padding:.72rem .8rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.field-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-ring)}.login-button{background:linear-gradient(180deg, var(--accent), var(--accent-strong));color:#fff;cursor:pointer;border:none;border-radius:.7rem;margin-top:.45rem;padding:.8rem 1rem;font-size:1rem;font-weight:700}.login-button:hover{filter:brightness(1.05)}.security-note{color:var(--text-soft);margin:.4rem 0 0;font-size:.83rem}@media (max-width:430px){.login-card{padding:1.15rem}}.dash-shell{min-height:100dvh;color:var(--text-main);background:linear-gradient(155deg,#071830 0%,#0c2548 45%,#0f2e57 100%);gap:1.75rem;padding:2.5rem clamp(1.25rem,4vw,3.5rem) 3rem;display:grid}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.dash-eyebrow{text-transform:uppercase;letter-spacing:.25em;color:#9bcbffb3;margin:0 0 .35rem;font-size:.85rem}.dash-title{margin:0;font-size:clamp(2rem,4vw,2.9rem)}.dash-subtitle{color:var(--text-soft);max-width:36rem;margin:.5rem 0 0}.dash-actions{gap:.4rem;display:grid}.dash-label{color:#cde4ffd9;font-size:.85rem}.dash-select{color:var(--text-main);background:#071223b3;border:1px solid #85bcff59;border-radius:.65rem;min-width:12rem;padding:.55rem .75rem}.dash-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.dash-card{background:#07142bc7;border:1px solid #75b0ff40;border-radius:.9rem;padding:1rem 1.2rem;box-shadow:0 18px 45px #020c1c59}.dash-card-label{color:#b9d2f0cc;margin:0 0 .6rem;font-size:.85rem}.dash-card-value{color:#8cc6ff;margin:0;font-size:1.6rem;font-weight:600}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.dash-panel{background:#071328bf;border:1px solid #75b0ff33;border-radius:1rem;flex-direction:column;gap:0;min-height:240px;padding:0;display:flex}.dash-panel-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dash-panel-header h2{margin:0;font-size:1.05rem}.dash-panel-pill{color:#a8d0ff;background:#7db6ff2e;border:1px solid #7db6ff73;border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.dash-panel-body{flex:1;align-items:center;display:flex}.dash-empty{color:#c2dbf5d9;border:1px dashed #7db6ff66;border-radius:.9rem;gap:.35rem;width:calc(100% - 2.4rem);margin:1.2rem;padding:1rem;font-size:.9rem;display:grid}.dash-footer{color:#bbd2edcc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dash-footer a{color:#9bc3ff}.dash-source{color:#accaebcc;margin:.5rem 0 0;font-size:.8rem}.dash-alert{color:#ffd5d5;background:#3c0a14b3;border:1px solid #ff969666;border-radius:.9rem;gap:.35rem;padding:1rem 1.25rem;display:grid}.dash-alert h2{margin:0;font-size:1.05rem}.dash-alert p{margin:0}.dash-metric-list{gap:.6rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.dash-metric-item{background:#091c36a6;border:1px solid #75b0ff2e;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.65rem .75rem;font-size:.9rem;display:flex}.dash-metric-item strong{color:#b5dcff}.dash-chart{gap:1rem;height:100%;padding:1.1rem 1.2rem 1.4rem;display:grid}.dash-chart-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dash-chart-head h3{margin:0;font-size:1rem}.dash-chart-head span{color:#b6d2eecc;font-size:.82rem}.dash-chart-action{align-items:center;display:flex}.dash-select--inline{min-width:11rem;padding:.4rem .6rem;font-size:.85rem}.dash-filter-stack{gap:.4rem;display:grid}.dash-chart-body{height:100%;min-height:200px}.att-shell{min-height:100dvh;color:var(--text-main);background:radial-gradient(circle at top,#0f2445 0%,#081831 55%,#061225 100%);gap:1.75rem;padding:2.5rem clamp(1.25rem,4vw,3.5rem) 3rem;display:grid}.att-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.att-eyebrow{text-transform:uppercase;letter-spacing:.25em;color:#9bcbffb3;margin:0 0 .35rem;font-size:.85rem}.att-title{margin:0;font-size:clamp(2rem,4vw,2.7rem)}.att-subtitle{color:var(--text-soft);max-width:36rem;margin:.5rem 0 0}.att-actions{gap:.4rem;display:grid}.att-label{color:#cde4ffd9;font-size:.85rem}.att-input{color:var(--text-main);background:#071223b3;border:1px solid #85bcff59;border-radius:.65rem;min-width:12rem;padding:.55rem .75rem}.att-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.att-tile{background:#07142bc7;border:1px solid #75b0ff40;border-radius:.9rem;padding:1rem 1.2rem;box-shadow:0 18px 45px #020c1c59}.att-tile-label{color:#b9d2f0cc;margin:0 0 .6rem;font-size:.85rem}.att-tile-value{color:#8cc6ff;margin:0;font-size:1.6rem;font-weight:600}.att-grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr) minmax(220px,320px);gap:1.5rem;display:grid}.att-panel{background:#071328bf;border:1px solid #75b0ff33;border-radius:1rem;flex-direction:column;gap:1rem;min-height:280px;padding:1.1rem 1.2rem;display:flex}.att-panel--wide{min-height:360px}.att-panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.att-panel-head h2{margin:0;font-size:1rem}.att-chip{color:#a8d0ff;background:#7db6ff2e;border:1px solid #7db6ff73;border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.att-search{width:100%;color:var(--text-main);background:#071223b3;border:1px solid #85bcff59;border-radius:.6rem;padding:.5rem .75rem}.att-panel-body{flex:1;align-items:center;display:flex}.att-empty{color:#c2dbf5d9;border:1px dashed #7db6ff66;border-radius:.9rem;width:100%;padding:1rem;font-size:.9rem}.att-footer{color:#bbd2edcc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.att-footer a{color:#9bc3ff}@media (max-width:1100px){.att-grid{grid-template-columns:1fr}}.legacy-login{color:#ffffffeb;background:radial-gradient(1200px 720px at 50% 8%,#000000eb,#000000b3 44%,#0000 78%) top no-repeat,radial-gradient(900px 500px at 18% 20%,#4d84ff2e,#0000 68%) 0 0/cover no-repeat,radial-gradient(760px 460px at 82% 28%,#0097ff24,#0000 64%) 100% 0/cover no-repeat,radial-gradient(980px 620px at 50% 100%,#113d9638,#0000 72%) bottom/cover no-repeat,linear-gradient(135deg,#05070d 0%,#081326 38%,#0a1e3a 72%,#081326 100%) 50%/cover no-repeat;width:100%;min-height:100dvh;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;position:relative;overflow:hidden}.legacy-login.wrap{justify-content:center;align-items:center;padding:34px 18px 64px;display:flex}.legacy-login .card{-webkit-backdrop-filter:blur(20px)saturate(1.25);z-index:9999;background:linear-gradient(#0059ffab,#000000d2);border:1px solid #093de74b;border-radius:18px;width:min(520px,92vw);padding:28px 28px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 7px #021bf04b,inset 0 1px #ffffff17}.legacy-login .card:before{content:"";opacity:.55;background:linear-gradient(90deg,#0000,#7bbcfff2,#0000);height:2px;position:absolute;top:12px;left:18px;right:18px}.legacy-login .brand{text-align:center;margin-top:8px;margin-bottom:16px}.legacy-login .brand .logo{letter-spacing:.5px;text-shadow:0 10px 24px #2e7cff2e;align-items:baseline;gap:6px;font-size:46px;font-weight:820;line-height:1;display:inline-flex}.legacy-login .brand .logo .bsl{color:#ffffffeb}.legacy-login .brand .logo .n{color:#4184ff}.legacy-login .brand .tag{color:#7bbcff;letter-spacing:.2px;margin-top:10px;font-size:16px;font-weight:600}.legacy-login .brand .subtag{color:#fffffffa;letter-spacing:.6px;margin:12px 0;font-size:13px}.legacy-login .form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.legacy-login .field{position:relative}.legacy-login .input{color:#ffffffeb;background:#0a122475;border:1px solid #ffffff24;border-radius:12px;outline:none;width:100%;padding:14px 14px 14px 46px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.legacy-login .input::placeholder{color:#fffc}.legacy-login .input:focus{background:#0a12248f;border-color:#7bbcff99;box-shadow:0 0 0 4px #2e7cff8c}.legacy-login .icon{opacity:.86;color:#ffffffd1;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.legacy-login .btn{color:#fff;letter-spacing:.3px;cursor:pointer;background:linear-gradient(#2e7cfffa,#1a52c6fa);border:1px solid #ffffff24;border-radius:12px;width:100%;margin-top:8px;padding:14px 16px;font-size:16px;font-weight:740;transition:transform 80ms,box-shadow .15s,filter .15s;box-shadow:0 18px 46px #2e7cff4d}.legacy-login .btn:hover{filter:brightness(1.05);box-shadow:0 22px 62px #2e7cff5c}.legacy-login .btn:active{transform:translateY(1px)}.legacy-login .btn:disabled{opacity:.72;cursor:wait;filter:none;box-shadow:0 18px 46px #2e7cff29}.legacy-login .login-error{color:#ffd3d7;background:#5a0b1980;border:1px solid #ff787866;border-radius:.8rem;margin:0;padding:.8rem .95rem;font-size:.9rem;line-height:1.35}.legacy-login .meta{color:#fffffffa;letter-spacing:.2px;text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:16px;font-size:12.5px;display:flex}.legacy-login .divider{opacity:.55;margin:0 8px}.legacy-login .footer{color:#ffffffb3;letter-spacing:.2px;z-index:1;text-align:center;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px;font-size:12px;display:flex;position:fixed;bottom:36px;left:0;right:0}.legacy-login .bg-iframe{z-index:1;border:none;width:100vw;height:100vh;position:fixed;top:0;left:0}@media (max-width:420px){.legacy-login .card{border-radius:16px;padding:22px 18px 18px}.legacy-login .brand .logo{font-size:40px}}.company-portal-shell{background:#020817;width:100%;height:100dvh;overflow:hidden}.company-portal-frame{border:0;width:100%;height:100%;display:block}.pay-shell{min-height:100dvh;color:var(--text-main);background:linear-gradient(160deg,#0c1b34 0%,#0b203d 55%,#10294d 100%);gap:1.75rem;padding:2.5rem clamp(1.25rem,4vw,3.5rem) 3rem;display:grid}.pay-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.pay-eyebrow{text-transform:uppercase;letter-spacing:.25em;color:#9bcbffb3;margin:0 0 .35rem;font-size:.85rem}.pay-title{margin:0;font-size:clamp(2rem,4vw,2.7rem)}.pay-subtitle{color:var(--text-soft);max-width:36rem;margin:.5rem 0 0}.pay-actions{gap:.4rem;display:grid}.pay-label{color:#cde4ffd9;font-size:.85rem}.pay-select{color:var(--text-main);background:#071223b3;border:1px solid #85bcff59;border-radius:.65rem;min-width:12rem;padding:.55rem .75rem}.pay-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.pay-card{background:#07142bc7;border:1px solid #75b0ff40;border-radius:.9rem;padding:1rem 1.2rem;box-shadow:0 18px 45px #020c1c59}.pay-card-label{color:#b9d2f0cc;margin:0 0 .6rem;font-size:.85rem}.pay-card-value{color:#8cc6ff;margin:0;font-size:1.6rem;font-weight:600}.pay-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.pay-panel{background:#071328bf;border:1px solid #75b0ff33;border-radius:1rem;flex-direction:column;gap:1rem;min-height:240px;padding:1.1rem 1.2rem;display:flex}.pay-panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pay-panel-head h2{margin:0;font-size:1rem}.pay-chip{color:#a8d0ff;background:#7db6ff2e;border:1px solid #7db6ff73;border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.pay-panel-body{flex:1;align-items:center;display:flex}.pay-panel-scroll{align-items:stretch}.pay-table-wrap{width:100%;overflow-x:auto}.pay-table{border-collapse:collapse;width:100%;font-size:.85rem}.pay-table th{text-align:left;color:#cbe4ffd9;border-bottom:1px solid #75b0ff59;padding:.4rem .35rem;font-weight:600}.pay-table td{color:#e7f4ffe6;border-bottom:1px solid #75b0ff26;padding:.45rem .35rem}.pay-state{color:#c2dbf5d9;font-size:.9rem}.pay-error{color:#fca5a5}.pay-audit{gap:1rem;display:grid}.pay-empty{color:#c2dbf5d9;border:1px dashed #7db6ff66;border-radius:.9rem;width:100%;padding:1rem;font-size:.9rem}.pay-footer{color:#bbd2edcc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.pay-footer a{color:#9bc3ff}.adm-shell{min-height:100dvh;color:var(--text-main);background:radial-gradient(circle at top,#0c1d38 0%,#071628 55%,#061223 100%);gap:1.75rem;padding:2.5rem clamp(1.25rem,4vw,3.5rem) 3rem;display:grid}.adm-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.adm-eyebrow{text-transform:uppercase;letter-spacing:.25em;color:#9bcbffb3;margin:0 0 .35rem;font-size:.85rem}.adm-title{margin:0;font-size:clamp(2rem,4vw,2.7rem)}.adm-subtitle{color:var(--text-soft);max-width:36rem;margin:.5rem 0 0}.adm-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.adm-panel{background:#071328bf;border:1px solid #75b0ff33;border-radius:1rem;flex-direction:column;gap:1rem;min-height:220px;padding:1.1rem 1.2rem;display:flex}.adm-panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.adm-panel-head h2{margin:0;font-size:1rem}.adm-chip{color:#a8d0ff;background:#7db6ff2e;border:1px solid #7db6ff73;border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.adm-panel-body{flex:1;align-items:center;display:flex}.adm-empty{color:#c2dbf5d9;border:1px dashed #7db6ff66;border-radius:.9rem;width:100%;padding:1rem;font-size:.9rem}.adm-links{gap:.6rem;display:grid}.adm-link{color:#cfe6ff;background:#0a1a3699;border:1px solid #75b0ff33;border-radius:.75rem;padding:.7rem .85rem;text-decoration:none}.adm-footer{color:#bbd2edcc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.adm-footer a{color:#9bc3ff}.tool-shell{min-height:100dvh;color:var(--text-main);background:linear-gradient(160deg,#0b1f39 0%,#08172c 55%,#0d2446 100%);gap:1.5rem;padding:2.5rem clamp(1.25rem,4vw,3.5rem) 3rem;display:grid}.tool-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.tool-eyebrow{text-transform:uppercase;letter-spacing:.25em;color:#9bcbffb3;margin:0 0 .35rem;font-size:.85rem}.tool-title{margin:0;font-size:clamp(2rem,4vw,2.5rem)}.tool-subtitle{color:var(--text-soft);max-width:36rem;margin:.5rem 0 0}.tool-actions{gap:.6rem;display:flex}.tool-btn{color:#e7f2ff;cursor:pointer;background:#4f9cff40;border:1px solid #7db6ff66;border-radius:.65rem;padding:.45rem .9rem;font-size:.85rem}.tool-btn--ghost{background:0 0}.tool-panel{background:#071328bf;border:1px solid #75b0ff33;border-radius:1rem;align-items:center;min-height:260px;padding:1.1rem 1.2rem;display:flex}.tool-empty{color:#c2dbf5d9;border:1px dashed #7db6ff66;border-radius:.9rem;width:100%;padding:1rem;font-size:.9rem}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.tool-card{color:#d2e6ff;background:#0a1a3699;border:1px solid #75b0ff33;border-radius:.9rem;justify-content:space-between;align-items:center;padding:1rem;text-decoration:none;display:flex}.tool-footer{color:#bbd2edcc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.tool-footer a{color:#9bc3ff}.att-alert{color:#ffd5d5;background:#3c0a14b3;border:1px solid #ff969666;border-radius:.9rem;gap:.35rem;padding:1rem 1.25rem;display:grid}.att-alert h2{margin:0;font-size:1.05rem}.att-alert p{margin:0}.att-list{gap:.6rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.att-list-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:#091c36a6;border:1px solid #75b0ff2e;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;display:flex}.att-list-item--active{border-color:#7db6ff99;box-shadow:0 0 0 2px #7db6ff1f}.att-list-name{margin:0;font-size:.95rem}.att-list-meta{color:#b6d2eeb3;margin:.2rem 0 0;font-size:.8rem}.att-badge{color:#b7d7ff;white-space:nowrap;background:#7db6ff24;border:1px solid #7db6ff59;border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.att-badge--present{color:#8be28f;background:#4caf5029;border-color:#4caf5059}.att-badge--late{color:#ffce85;background:#ff980029;border-color:#ff980059}.att-badge--absent{color:#ffb3a9;background:#f4433629;border-color:#f4433659}.att-badge--on-leave{color:#d7d7d7;background:#9e9e9e29;border-color:#9e9e9e59}.att-detail{gap:.75rem;width:100%;display:grid}.att-detail-row{border-bottom:1px solid #75b0ff29;justify-content:space-between;gap:1rem;padding-bottom:.5rem;display:flex}.att-detail-row span{color:#b6d2eebf;font-size:.85rem}.att-detail-row strong{color:#cfe6ff;font-weight:600}.att-log{gap:.6rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.att-log-row{background:#091c368c;border:1px solid #75b0ff29;border-radius:.75rem;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;display:flex}.att-log-name{margin:0;font-size:.9rem}.att-log-meta{color:#b6d2eeb3;margin:.2rem 0 0;font-size:.78rem}.att-log-right{text-align:right;align-items:end;gap:.35rem;display:grid}.att-log-pill{color:#b7d7ff;background:#7db6ff24;border:1px solid #7db6ff59;border-radius:999px;padding:.2rem .55rem;font-size:.72rem}.att-log-pill.is-ok{color:#8be28f;background:#4caf5029;border-color:#4caf5059}.att-log-pill.is-pending{color:#ffce85;background:#ff980029;border-color:#ff980059}.att-log-time{color:#b6d2eeb3;font-size:.75rem}
