:root { --brand: #ff6b35; --ink: #14181c; --side: 230px; }
body.app { background: #f4f6f8; }
.app-top { z-index: 1030; }
.app-side { position: fixed; top: 56px; bottom: 0; left: 0; width: var(--side); background: #fff; border-right: 1px solid #e5e8eb; overflow-y: auto; }
.app-side .nav-link { color: #3b4650; padding: .6rem 1.1rem; border-left: 3px solid transparent; }
.app-side .nav-link i { width: 1.4rem; display: inline-block; }
.app-side .nav-link:hover { background: #f4f6f8; }
.app-side .nav-link.active { color: var(--brand); background: #fff3ee; border-left-color: var(--brand); font-weight: 600; }
.app-main { margin-left: var(--side); }
@media (max-width: 991.98px) {
  .app-side { position: static; width: 280px; top: 0; }
  .app-main { margin-left: 0; }
}
.stat-card { border: 0; border-radius: .9rem; box-shadow: 0 1px 3px rgba(20,24,28,.08); }
.stat-card .stat-value { font-size: 1.55rem; font-weight: 700; line-height: 1.1; }
.stat-card .stat-icon { width: 42px; height: 42px; border-radius: .7rem; display: grid; place-items: center; font-size: 1.2rem; }
.card { border: 0; border-radius: .9rem; box-shadow: 0 1px 3px rgba(20,24,28,.08); }
.table > :not(caption) > * > * { vertical-align: middle; }
.table thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7570; white-space: nowrap; }
.client-photo { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; }
.required::after { content: " *"; color: #dc3545; }

/* Login page */
.login-bg { min-height: 100vh; background: linear-gradient(120deg, rgba(10,12,14,.92), rgba(10,12,14,.55)), var(--login-image, linear-gradient(135deg, #1b2026, #3a2a22)); background-size: cover; background-position: center; }
.login-card { max-width: 460px; border-radius: 1.1rem; }
.panel-tabs .btn { font-size: .8rem; }
.hero-title { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 800; line-height: 1.05; }
.otp-input { letter-spacing: .6rem; font-size: 1.6rem; text-align: center; }

@media print { .app-top, .app-side, .no-print { display: none !important; } .app-main { margin: 0; } }
