:root{
  --sf-primary:#4f46e5;
  --sf-primary-2:#7c3aed;
  --sf-bg:#f5f7fb;
  --sf-dark:#101828;
  --sf-sidebar:#111827;
  --sf-sidebar-2:#1f2937;
  --sf-card:#ffffff;
  --sf-border:#e5e7eb;
}
*{box-sizing:border-box}
body{background:var(--sf-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827}
a{text-decoration:none}
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#dbeafe 0,#f5f7fb 35%,#ede9fe 100%);padding:20px}
.auth-card{width:100%;max-width:430px;background:#fff;border-radius:28px;padding:34px;border:1px solid rgba(255,255,255,.7)}
.brand-mark{width:66px;height:66px;border-radius:22px;background:linear-gradient(135deg,var(--sf-primary),var(--sf-primary-2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:900;box-shadow:0 18px 36px rgba(79,70,229,.25)}
.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:linear-gradient(180deg,var(--sf-sidebar),#0f172a);color:#fff;z-index:1000;overflow-y:auto;transition:.25s;box-shadow:20px 0 45px rgba(15,23,42,.18)}
.sidebar-brand{padding:22px 22px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:12px;align-items:center}
.sidebar-brand .logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#60a5fa,#a78bfa);display:flex;align-items:center;justify-content:center;font-weight:900;color:white}
.sidebar-brand h5{margin:0;font-weight:800;font-size:18px}.sidebar-brand small{color:#cbd5e1}
.sidebar-section{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:18px 24px 7px}
.nav-link-sf{display:flex;align-items:center;gap:11px;margin:4px 12px;padding:11px 14px;color:#dbeafe;border-radius:14px;font-weight:600;font-size:14px;transition:.18s}
.nav-link-sf:hover,.nav-link-sf.active{background:rgba(255,255,255,.1);color:white;transform:translateX(2px)}
.nav-link-sf .icon{width:24px;text-align:center}
.app-main{margin-left:280px;min-height:100vh;transition:.25s}.topbar{height:74px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--sf-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:800}.topbar-title{font-weight:800;font-size:22px;margin:0}.sidebar-toggle{display:none}.card-sf{border:0;border-radius:22px;background:var(--sf-card);box-shadow:0 12px 35px rgba(15,23,42,.06)}.stat-card{border-radius:24px;background:white;padding:22px;box-shadow:0 12px 35px rgba(15,23,42,.06);border:1px solid rgba(226,232,240,.9);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:999px}.stat-label{color:#64748b;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:30px;font-weight:900;margin-top:8px}.btn-primary{background:linear-gradient(135deg,var(--sf-primary),var(--sf-primary-2));border:0}.btn-primary:hover{filter:brightness(.96)}.table{vertical-align:middle}.badge-soft{background:#eef2ff;color:#4338ca}.form-control,.form-select{border-radius:13px;border-color:#e5e7eb;padding:.72rem .9rem}.select2-container--default .select2-selection--single{height:44px;border:1px solid #e5e7eb;border-radius:13px}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}.modal-content{border:0;border-radius:24px}.print-page{background:#fff}.receipt-box{border:1px solid #111;padding:16px;margin:8px}.paid-seal{display:inline-block;border:3px solid #111;padding:4px 20px;font-weight:900;letter-spacing:.18em;transform:rotate(-8deg)}
@media(max-width:991px){.app-sidebar{transform:translateX(-100%)}.app-sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.sidebar-toggle{display:inline-flex}.topbar{padding:0 16px}.stat-value{font-size:24px}}
@media print{.app-sidebar,.topbar,.no-print,.btn{display:none!important}.app-main{margin-left:0}.container-fluid{padding:0!important}.receipt-box{page-break-inside:avoid}.print-page{background:#fff}}
