/* SBP employee interface. No build step required. */
:root{--sbp-navy:#102b50;--sbp-blue:#245ce0;--sbp-ink:#172b49;--sbp-muted:#61728a;--sbp-line:#e3eaf3;--sbp-bg:#f3f6fb}
.sbp-ui{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--sbp-ink);background:var(--sbp-bg);font-size:1rem;line-height:1.6}
.sbp-ui a,.sbp-ui button,.sbp-ui input{transition:background-color .18s,border-color .18s,box-shadow .18s}
.sbp-ui :focus-visible{outline:3px solid #82a9ff;outline-offset:4px}
.sbp-ui .btn{border-radius:12px;padding:.75rem 1.1rem;font-weight:650;font-size:.9375rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem}
.sbp-ui .btn-primary{background:var(--sbp-blue);border-color:var(--sbp-blue)}
.sbp-ui .btn-primary:hover{background:#1749bd;border-color:#1749bd}
.sbp-ui .btn-outline-primary{color:#245ce0;border-color:#c5d5f7;background:#fff}
.sbp-ui .btn-outline-primary:hover{background:#eef3ff}
.sbp-ui .text-muted{color:var(--sbp-muted)!important}
.sbp-ui .alert{border-radius:12px;font-size:.9375rem}
.sbp-ui .eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;font-weight:750}
.sbp-ui .card{border:1px solid var(--sbp-line);border-radius:20px;box-shadow:0 5px 22px #19345c05}
.sbp-ui .section-title{font-size:1.125rem;font-weight:750;margin:0}
.sbp-ui .icon-box{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;background:#edf3ff;color:var(--sbp-blue);flex-shrink:0}
.sbp-ui .sbp-nav{background:#fff;border-bottom:1px solid var(--sbp-line);padding:1rem 0;margin-bottom:2rem}
.sbp-ui .navbar-brand{color:var(--sbp-navy);display:flex;align-items:center;gap:.65rem;font-weight:800;font-size:1.125rem}
.sbp-ui .navbar-brand img{width:42px;height:42px;object-fit:contain}
.sbp-ui .nav-link{color:var(--sbp-muted);font-size:.9375rem;font-weight:600;padding:.6rem 1rem!important;border-radius:10px}
.sbp-ui .nav-link:hover,.sbp-ui .nav-link.active{color:#245ce0;background:#edf3ff}
.sbp-ui .nav-user{font-size:.875rem;font-weight:650;color:var(--sbp-ink);margin:0 1.25rem}
.sbp-ui .nav-user small{display:block;font-weight:400;color:var(--sbp-muted);text-transform:capitalize}
.sbp-ui .btn-logout{border:1px solid var(--sbp-line);color:var(--sbp-muted);background:#fff;padding:.55rem .85rem}
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem}
.dashboard-heading h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:750;letter-spacing:-.04em;margin:.25rem 0}
.dashboard-heading p{margin:0;color:var(--sbp-muted)}
.dashboard-date{padding:.65rem 1rem;border:1px solid var(--sbp-line);border-radius:12px;background:white;white-space:nowrap;font-size:.875rem}
.sbp-ui .attendance-card{background:var(--sbp-navy);color:#fff;position:relative;overflow:hidden;border:0;padding:1.75rem;height:100%}
.attendance-card .attendance-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}
.attendance-card .eyebrow{color:#b9cee9}
.attendance-card h2{font-size:1.7rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.6rem}
.attendance-card p{color:#c7d6e9;font-size:.9375rem}
.attendance-card .status-pill{border-radius:100px;background:#ffffff12;color:#e1e9f6;padding:.35rem .7rem;font-size:.8125rem;font-weight:650;border:1px solid #ffffff26}
.attendance-card .status-pill.is-active{background:#143f47;color:#a4f1d5;border-color:#307567}
.attendance-card .attendance-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.3rem 0 1.5rem}
.attendance-details dt{color:#b9cee9;font-size:.8125rem;font-weight:400}
.attendance-details dd{font-weight:650;margin:.25rem 0 0;font-size:.9375rem}
.attendance-card .clock-note{border-top:1px solid #ffffff25;padding-top:1rem;margin:1rem 0 0;font-size:.8125rem}
.sbp-ui .leave-card{padding:1.6rem;height:100%;display:flex;flex-direction:column}
.leave-card .leave-value{font-size:3rem;font-weight:750;letter-spacing:-.06em;color:var(--sbp-navy);line-height:1.2;margin:1.25rem 0 .5rem}
.leave-card .leave-value span{font-size:1rem;font-weight:500;letter-spacing:0;color:var(--sbp-muted)}
.leave-card p{font-size:.9375rem;color:var(--sbp-muted);margin-bottom:1.5rem}
.leave-card .btn{margin-top:auto}
.history-card{overflow:hidden;margin-top:1.5rem}
.history-header{padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.history-header p{font-size:.875rem;margin:.3rem 0 0;color:var(--sbp-muted)}
.history-count{background:#edf3ff;color:#315c9c;padding:.4rem .75rem;border-radius:9px;font-size:.8125rem;white-space:nowrap}
.sbp-ui .history-table{font-size:.875rem;margin:0;white-space:nowrap}
.sbp-ui .history-table th{background:#f8fafd;color:#61728a;font-weight:600;font-size:.8125rem;padding:1rem;border-color:var(--sbp-line)}
.sbp-ui .history-table td{padding:1.1rem 1rem;color:var(--sbp-ink);border-color:#edf1f6}
.sbp-ui .history-table td:first-child,.sbp-ui .history-table th:first-child{padding-left:1.5rem}
.sbp-ui .history-table tbody tr:last-child td{border-bottom:0}
.shift-tag{background:#eef3fb;padding:.3rem .6rem;border-radius:7px;font-weight:550}
.empty-history{padding:2.5rem 1rem!important;white-space:normal!important}
.empty-history .icon-box{margin-bottom:.8rem}
.login-page{min-height:100dvh;display:flex;align-items:center;padding:2rem}
.login-shell{width:100%;max-width:1120px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border:1px solid var(--sbp-line);border-radius:28px;overflow:hidden;box-shadow:0 24px 80px #142e5510}
.login-story{background:var(--sbp-navy);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;gap:4rem}
.login-brand{display:flex;align-items:center;gap:1rem;font-size:1.125rem;font-weight:750}
.login-brand img{height:64px;width:64px;object-fit:contain;background:white;border-radius:16px;padding:6px}
.login-brand small{display:block;font-size:.8125rem;font-weight:400;color:#b9cee9}
.login-story h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.17;letter-spacing:-.045em;font-weight:750;margin:.9rem 0 1.2rem}
.login-story h1 span{color:#9ebfff}
.login-story p{color:#c7d6e9;max-width:340px;font-size:.9375rem}
.login-story .eyebrow{color:#a9c7fa}
.login-features{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.login-features span{border:1px solid #ffffff30;border-radius:9px;padding:.4rem .65rem;font-size:.8125rem;color:#dbe7f7}
.login-story footer{font-size:.8125rem;color:#b9cee9}
.login-form-panel{padding:3.5rem;display:flex;flex-direction:column;justify-content:center}
.login-form-panel h2{font-size:1.875rem;font-weight:750;letter-spacing:-.04em;margin:1rem 0 .5rem}
.login-form-panel .intro{font-size:.9375rem;color:var(--sbp-muted);margin-bottom:2rem}
.login-form-panel .form-label{font-size:.875rem;font-weight:650;margin-bottom:.6rem}
.login-form-panel .form-control{border-radius:12px;padding:.85rem 1rem;border-color:#d9e2ef;font-size:1rem;background:#fbfcfe}
.login-form-panel .form-control:focus{background:white;border-color:#7da1f1;box-shadow:0 0 0 4px #245ce012}
.password-field{position:relative}.password-field .form-control{padding-right:6rem}
.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#315c9c;font-size:.8125rem;padding:.5rem;border-radius:6px}
.login-form-panel .form-check{font-size:.875rem;margin:1.2rem 0 1.5rem}
.login-help{border-top:1px solid var(--sbp-line);padding-top:1.4rem;margin:1.8rem 0 0;color:var(--sbp-muted);font-size:.8125rem;text-align:center}
@media(max-width:991.98px){.sbp-ui .nav-user{margin:1rem 0}.sbp-ui .navbar-collapse{padding-top:1rem}.login-story{padding:2rem}.login-form-panel{padding:2.25rem}.login-page{padding:1.25rem}}
@media(max-width:767.98px){.login-page{padding:1rem}.login-shell{grid-template-columns:1fr;border-radius:20px;max-width:480px}.login-story{padding:1.5rem;gap:0}.login-story .story-content,.login-story footer{display:none}.login-brand img{height:48px;width:48px;border-radius:12px}.login-form-panel{padding:1.75rem}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-date{font-size:.8125rem}.sbp-ui .sbp-nav{margin-bottom:1.5rem}.history-header{padding:1.1rem;align-items:flex-start}.history-count{display:none}.sbp-ui .attendance-card,.sbp-ui .leave-card{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){.sbp-ui *{transition:none!important}}

