:root{
    --primary:#2563eb;
    --primary-dark:#1d4ed8;
    --secondary:#0f172a;
    --muted:#64748b;
    --border:#dbe3ef;
}
*{box-sizing:border-box}
body{
    margin:0;
    min-height:100vh;
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    background:linear-gradient(135deg,#eaf1ff 0%,#f8fbff 45%,#eef4fb 100%);
    color:var(--secondary);
}
.app-navbar{background:linear-gradient(90deg,#0f172a,#1e3a8a);box-shadow:0 8px 24px rgba(15,23,42,.08)}
.card-soft{border:0;border-radius:20px;box-shadow:0 16px 40px rgba(15,23,42,.08);background:#fff}
.page-title{font-size:1.6rem;font-weight:700}
.text-muted-soft{color:var(--muted)}
.form-control,.form-select{min-height:48px;border-radius:14px;border:1px solid var(--border);box-shadow:none}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(37,99,235,.12)}
.btn{border-radius:14px;font-weight:600}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none}
.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
.stat-card h6{font-size:.9rem;color:var(--muted)}
.stat-card h2{font-size:1.8rem;font-weight:700}
.video-box{max-width:100%;border-radius:16px;overflow:hidden;background:#111827}
.table thead th{background:#f8fbff;color:#334155;border-bottom:1px solid #e5edf8}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-shell{width:100%;max-width:1080px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(15,23,42,.14)}
.login-left{background:linear-gradient(160deg,#1e3a8a 0%,#2563eb 55%,#38bdf8 100%);color:#fff;padding:48px 40px;height:100%}
.brand-tag{display:inline-block;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.85rem;font-weight:600;margin-bottom:22px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.info-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px}
.login-right{padding:42px 34px;background:#fff}
.helper-box{margin-top:22px;padding:16px;border-radius:16px;background:#f8fbff;border:1px solid #e3edf8}
.footer-note{margin-top:18px;text-align:center;color:var(--muted);font-size:.85rem}
.payslip-box{max-width:980px;margin:24px auto;background:#fff;border-radius:20px;box-shadow:0 16px 40px rgba(15,23,42,.08);padding:28px}
@media (max-width:767.98px){
    .container{padding-left:14px;padding-right:14px}
    .info-grid{grid-template-columns:1fr}
    .page-title{font-size:1.3rem}
    .card-soft{border-radius:16px}
}
@media print{
    .no-print{display:none!important}
    body{background:#fff}
    .payslip-box{box-shadow:none;margin:0;max-width:100%;padding:0}
}
