:root { --masko-navy: #15243b; --masko-blue: #2563eb; --masko-soft: #f4f7fb; }
body { background: var(--masko-soft); }
.logo { color: #fff !important; letter-spacing: .04em; }
.logo-mini strong { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #fff; color: var(--masko-blue); }
.content-header h1 { font-size: 1.65rem; margin-bottom: .25rem; }
.box { border-radius: 14px; box-shadow: 0 8px 30px rgba(21, 36, 59, .06); }
.box-header { padding: 22px 24px 10px; }
.box-body { padding: 22px 24px; }
.stat-card { min-height: 142px; border: 0; }
.stat-icon { width: 48px; height: 48px; display: inline-grid; place-items: center; border-radius: 14px; background: rgba(37, 99, 235, .1); color: var(--masko-blue); font-size: 1.4rem; }
.table thead th { white-space: nowrap; font-weight: 600; color: #526071; background: #f8fafc; border-bottom-width: 1px; }
.table td { vertical-align: middle; }
.filter-card .form-label { font-size: .8rem; font-weight: 600; color: #64748b; }
.money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.badge-soft-success { color: #087f5b; background: #dff8ee; }
.badge-soft-warning { color: #9a6700; background: #fff4cc; }
.badge-soft-danger { color: #b42318; background: #fee4e2; }
.import-warning { background: #fff9e8; }
.import-error { background: #fff0f0; }
.masko-login { min-height: 100vh; background: #fff; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); }
.login-brand-panel { position: relative; display: flex; align-items: flex-end; padding: 8vw; color: #fff; overflow: hidden; background: radial-gradient(circle at 25% 20%, #3b82f6 0, transparent 30%), linear-gradient(145deg, #0f1d33, #183c70 62%, #2563eb); }
.login-brand-panel::after { content: ''; position: absolute; width: 360px; height: 360px; right: -80px; top: 10%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 60px rgba(255,255,255,.04), 0 0 0 120px rgba(255,255,255,.03); }
.login-brand-copy { position: relative; z-index: 1; max-width: 620px; }
.brand-kicker { display: inline-block; margin-bottom: 20px; font-weight: 700; letter-spacing: .24em; }
.login-brand-copy h1 { color: #fff; font-size: clamp(2.3rem, 4vw, 4.6rem); line-height: 1.02; }
.login-brand-copy p { max-width: 520px; font-size: 1.15rem; color: rgba(255,255,255,.78); }
.login-form-panel { display: grid; place-items: center; padding: 40px; }
.login-card { width: min(100%, 440px); }
.login-logo { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 16px; color: #fff; background: var(--masko-blue); font-size: 1.8rem; font-weight: 700; box-shadow: 0 12px 28px rgba(37,99,235,.25); }
@media (max-width: 900px) { .login-shell { grid-template-columns: 1fr; } .login-brand-panel { min-height: 280px; padding: 50px 32px; } .login-brand-copy h1 { font-size: 2.2rem; } .login-form-panel { padding: 48px 24px; } }
