:root{
    --navy-950:#081a2c;
    --navy-900:#0d2742;
    --navy-800:#12395f;
    --blue-700:#185fa5;
    --blue-600:#2277c8;
    --cyan-500:#22b8cf;
    --teal-500:#12a594;
    --green-500:#20a56a;
    --amber-500:#f2a93b;
    --red-500:#e25555;
    --purple-500:#7c6ce7;
    --ink:#142232;
    --muted:#68798a;
    --line:#e4ebf2;
    --soft:#f5f8fb;
    --white:#fff;
    --sidebar-width:258px;
    --radius:17px;
    --shadow:0 10px 35px rgba(14,42,70,.08);
    --shadow-sm:0 4px 16px rgba(14,42,70,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f6f9fc 0,#f2f6fa 100%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.94rem;min-height:100vh}
a{text-decoration:none}
.app-shell{min-height:100vh;display:flex}

.sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;background:
    radial-gradient(circle at 20% 0,rgba(34,119,200,.34),transparent 35%),
    linear-gradient(180deg,var(--navy-950),var(--navy-900) 55%,#0b3153);padding:18px 14px;overflow-y:auto;z-index:1045;transition:transform .25s ease;box-shadow:12px 0 30px rgba(5,24,42,.08)}
.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:5px 7px 19px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:14px;position:relative}
.brand-mark,.login-logo{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#fff,#dceeff);color:var(--navy-900);font-weight:900;font-size:24px;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.brand-copy strong{display:block;font-size:1.04rem;letter-spacing:.01em}.brand-copy small{display:block;color:#abc6dd;font-size:.75rem;margin-top:2px}.sidebar-close{border:0;background:rgba(255,255,255,.09);color:#fff;border-radius:10px;width:34px;height:34px;margin-left:auto}
.sidebar-caption{padding:8px 12px 6px;text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.14em;color:#779bb9}
.sidebar .nav-link{position:relative;color:#d6e5f1;border-radius:12px;padding:11px 12px;margin:3px 0;display:flex;gap:11px;align-items:center;font-weight:600;transition:.18s ease}
.sidebar .nav-link:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:99px;background:#6ee7f2;transform:translateY(-50%);transition:.18s}
.sidebar .nav-link:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}
.sidebar .nav-link.active{background:linear-gradient(90deg,rgba(34,119,200,.34),rgba(34,184,207,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(130,208,255,.12)}
.sidebar .nav-link.active:before{height:26px}.sidebar .nav-link i{font-size:1.04rem;width:22px;text-align:center;color:#9bc7e7}.sidebar .nav-link.active i{color:#74e3ee}
.sidebar-footer-card{margin:22px 5px 4px;padding:12px;display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:13px;color:#fff}.sidebar-footer-card strong,.sidebar-footer-card small{display:block}.sidebar-footer-card strong{font-size:.78rem}.sidebar-footer-card small{font-size:.69rem;color:#a9c5da}.status-dot{width:10px;height:10px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 5px rgba(61,220,151,.12)}

.sidebar-backdrop{position:fixed;inset:0;background:rgba(4,20,34,.5);backdrop-filter:blur(2px);z-index:1040;opacity:0;visibility:hidden;transition:.2s}
.main-content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-height:100vh}
.topbar{height:76px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,231,240,.9);display:flex;align-items:center;padding:0 26px;position:sticky;top:0;z-index:1020}
.topbar-title strong{display:block;font-size:1.12rem;color:#10283f}.topbar-title span{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}.topbar-actions{display:flex;align-items:center;gap:12px}.today-chip{height:40px;align-items:center;gap:8px;padding:0 13px;background:#f5f8fb;border:1px solid var(--line);border-radius:12px;color:#52687a;font-size:.8rem}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px;margin-right:12px;font-size:1.25rem;color:var(--navy-800)}
.profile-button{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px 10px 5px 6px;min-height:48px;color:var(--ink)}.profile-button:after{margin-left:3px;color:#789}.avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue-700),var(--cyan-500));color:#fff;font-weight:800;box-shadow:0 6px 15px rgba(24,95,165,.22)}.profile-copy{text-align:left;line-height:1.15}.profile-copy strong,.profile-copy small{display:block}.profile-copy strong{font-size:.82rem}.profile-copy small{font-size:.67rem;color:var(--muted);margin-top:3px}
.content-wrap{padding:26px;max-width:1800px;margin:0 auto}.app-footer{display:flex;justify-content:space-between;color:#91a0ae;font-size:.72rem;padding:30px 2px 4px}

.panel,.surface-card{border:1px solid rgba(225,234,242,.95);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden;background:#fff}.panel .card-header,.panel .card-footer{background:#fff;border-color:var(--line);padding:15px 19px}.panel .card-header{display:flex;align-items:center;min-height:54px}.panel .card-body{padding:20px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title-row h5{margin:0;font-size:1rem}.section-kicker{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blue-600)}

.hero-panel{position:relative;overflow:hidden;border:0;border-radius:22px;padding:25px 27px;color:#fff;background:linear-gradient(120deg,#0d3153 0%,#145b8f 53%,#16a0a4 115%);box-shadow:0 16px 40px rgba(14,58,94,.18)}.hero-panel:before,.hero-panel:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.hero-panel:before{width:240px;height:240px;right:-80px;top:-110px}.hero-panel:after{width:150px;height:150px;right:160px;bottom:-110px}.hero-panel>*{position:relative;z-index:1}.hero-panel h2{font-weight:800;font-size:1.55rem;margin:0 0 7px}.hero-panel p{margin:0;color:#d8eaf5;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.hero-panel .btn-light{color:var(--navy-900);font-weight:700}.hero-panel .btn-outline-light{border-color:rgba(255,255,255,.48)}

.stat-card{position:relative;background:#fff;border:1px solid #e7eef4;border-radius:17px;box-shadow:var(--shadow-sm);padding:18px;height:100%;min-height:132px;overflow:hidden;transition:.2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,53,84,.11)}.stat-card:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-28px;top:-29px;background:var(--stat-soft,#e8f2fa)}.stat-icon{width:42px;height:42px;border-radius:13px;background:var(--stat-soft,#e8f2fa);color:var(--stat-color,var(--blue-600));display:grid;place-items:center;margin-bottom:13px;font-size:1.15rem}.stat-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.055em}.stat-value{font-weight:850;font-size:1.31rem;margin-top:5px;line-height:1.25;color:#142b40}.stat-note{font-size:.7rem;color:#90a0ae;margin-top:6px}.stat-blue{--stat-color:#1e6fb4;--stat-soft:#e9f4ff}.stat-green{--stat-color:#168d62;--stat-soft:#e8f8f1}.stat-amber{--stat-color:#c77b0d;--stat-soft:#fff4df}.stat-red{--stat-color:#d24747;--stat-soft:#ffeded}.stat-purple{--stat-color:#705ad4;--stat-soft:#f0edff}.stat-cyan{--stat-color:#108c9f;--stat-soft:#e6f8fa}

.table-responsive{scrollbar-width:thin}.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{padding:.88rem .95rem;border-color:#e9eff4;vertical-align:middle}.table thead th{background:#f8fafc;color:#607183;font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.055em;white-space:nowrap;border-bottom:1px solid #e4ebf2}.table tbody tr{transition:.15s}.table tbody tr:hover{background:#f8fbfe}.table a:not(.btn){color:var(--blue-700);font-weight:700}.actions-col{width:172px}.table-avatar{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:#eaf3fb;color:var(--blue-700);font-weight:800;flex:0 0 37px}.customer-cell{display:flex;align-items:center;gap:10px}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-state i{display:block;font-size:2.2rem;color:#adc0d0;margin-bottom:10px}.empty-state strong{display:block;color:#40566b;margin-bottom:3px}

.badge{font-weight:750;letter-spacing:.015em;padding:.42em .68em;border-radius:7px}.badge-soft-success{background:#e7f7ef;color:#137d55}.badge-soft-danger{background:#ffebeb;color:#c23e3e}.badge-soft-warning{background:#fff3dc;color:#a9680d}.badge-soft-info{background:#e8f4ff;color:#1765a4}.badge-soft-secondary{background:#eef2f5;color:#657482}

.detail-list{display:grid;grid-template-columns:145px 1fr;gap:0;margin:0}.detail-list dt,.detail-list dd{padding:11px 0;border-bottom:1px solid var(--line);margin:0}.detail-list dt{color:var(--muted);font-weight:650}.detail-list dd{font-weight:550}.summary-line{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.summary-line.total{font-size:1.12rem;border-bottom:0;padding-top:17px}.receipt-number{display:inline-flex;align-items:center;gap:7px;background:#e8f3fc;color:var(--navy-800);padding:7px 11px;border-radius:9px;font-weight:800;margin-bottom:13px}.message-preview{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);padding:17px;border-radius:12px}.response-box{white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;background:#0e1e2c;color:#d9e8f3;border-radius:12px;padding:16px;font-size:.78rem}.balance-display{font-size:2rem;font-weight:850;letter-spacing:-.03em}.mini-metric{padding:14px;border-radius:13px;background:#f7fafc;border:1px solid var(--line)}.mini-metric span,.mini-metric strong{display:block}.mini-metric span{font-size:.7rem;color:var(--muted);text-transform:uppercase;font-weight:750}.mini-metric strong{font-size:1.07rem;margin-top:4px}

.form-section{border-bottom:1px solid var(--line);padding-bottom:10px}.form-label{font-weight:700;color:#405469;font-size:.79rem}.form-control,.form-select{border-color:#ccd9e4;min-height:44px;border-radius:11px;color:#1c2f42;background-color:#fff}.form-control::placeholder{color:#9caab6}.form-control:focus,.form-select:focus{border-color:#5b9ed0;box-shadow:0 0 0 .22rem rgba(32,119,190,.11)}.input-group-text{border-color:#ccd9e4;background:#f5f8fb;color:#52687a;border-radius:11px}.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.input-group-text:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.form-check-input:checked{background-color:var(--blue-600);border-color:var(--blue-600)}.form-switch .form-check-input{width:2.8em;height:1.45em}.form-hint{font-size:.72rem;color:#8292a1;margin-top:5px}.field-card{height:100%;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.field-card .form-label{display:flex;align-items:center;gap:7px}.field-icon{width:27px;height:27px;border-radius:8px;background:#e9f3fc;color:var(--blue-700);display:inline-grid;place-items:center}

.btn{border-radius:10px;font-weight:700;padding:.53rem .85rem}.btn-sm{border-radius:8px;padding:.35rem .58rem}.btn-lg{border-radius:12px}.btn-primary{background:linear-gradient(135deg,var(--blue-700),var(--blue-600));border-color:var(--blue-700);box-shadow:0 7px 16px rgba(24,95,165,.16)}.btn-primary:hover{background:linear-gradient(135deg,#15558f,#1c69ad);border-color:#15558f;transform:translateY(-1px)}.btn-dark{background:var(--navy-900);border-color:var(--navy-900)}.btn-light{background:#f5f8fb;border-color:#e4ebf2;color:#40566b}.btn-light:hover{background:#edf3f8;border-color:#d9e4ed}.btn-outline-primary{border-color:#94bad9;color:#1b659f}.btn-outline-secondary{border-color:#c5d0da;color:#586c7d}.action-button{width:34px;height:34px;display:inline-grid;place-items:center;padding:0;border-radius:9px!important}.btn-group>.action-button:not(:first-child),.btn-group>form:not(:first-child) .action-button{margin-left:4px}.btn-group>form{display:inline-flex}

.filter-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:15px;padding:16px}.search-box{position:relative}.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8b9baa}.search-box .form-control{padding-left:40px}.page-actions{align-items:center;gap:8px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.app-alert{display:flex;align-items:flex-start;gap:11px;border:0;border-radius:14px;box-shadow:var(--shadow-sm);padding:14px 16px}.app-alert>i{font-size:1.1rem;margin-top:1px}.alert-success{background:#e9f8f1;color:#126b49}.alert-warning{background:#fff5df;color:#8e5a0b}.alert-danger{background:#ffeded;color:#a73333}.alert-info{background:#eaf5fc;color:#175d8c;border-color:#d8edf9}

.settings-nav{position:sticky;top:96px}.settings-nav .nav-link{color:#586b7d;border-radius:10px;padding:10px 12px;font-weight:700}.settings-nav .nav-link.active,.settings-nav .nav-link:hover{background:#e9f3fb;color:var(--blue-700)}.settings-section{scroll-margin-top:100px}.setting-card{border:1px solid var(--line);border-radius:15px;padding:17px;background:#fff;height:100%}.setting-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.setting-card-header i{font-size:1.15rem;color:var(--blue-600)}.setting-card h6{font-weight:800;margin:0}.setting-card p{font-size:.72rem;color:var(--muted);margin:4px 0 0}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.toggle-row:last-child{border-bottom:0}.toggle-copy strong,.toggle-copy small{display:block}.toggle-copy strong{font-size:.85rem}.toggle-copy small{font-size:.7rem;color:var(--muted);margin-top:3px}.gateway-status{display:flex;align-items:center;gap:10px;padding:13px;border-radius:13px;background:#f6fafc;border:1px solid var(--line)}.gateway-status-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.gateway-status.live .gateway-status-icon{background:#e6f7ef;color:#16865d}.gateway-status.test .gateway-status-icon{background:#fff1d8;color:#b4710e}.gateway-status strong,.gateway-status small{display:block}.gateway-status small{color:var(--muted);font-size:.72rem}.code-chip{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;background:#f0f4f7;color:#476073;border:1px solid #e0e8ee;border-radius:7px;padding:3px 7px}.accordion-button:not(.collapsed){background:#eef6fc;color:var(--navy-800);box-shadow:none}.accordion-button:focus{box-shadow:none}

.payment-summary-card{position:sticky;top:98px;background:linear-gradient(180deg,#fff,#f9fbfd)}.payment-amount-box{padding:17px;border-radius:14px;background:linear-gradient(135deg,#eaf5ff,#edfafa);border:1px solid #d9eaf5}.payment-amount-box .summary-line:last-child{border:0}.method-option{display:flex;align-items:center;gap:8px}.online-indicator{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:750;color:#187956}.online-indicator:before{content:"";width:8px;height:8px;border-radius:50%;background:#27bd80;box-shadow:0 0 0 4px rgba(39,189,128,.12)}.offline-indicator{color:#b66f0d}.offline-indicator:before{background:#f0a126;box-shadow:0 0 0 4px rgba(240,161,38,.13)}

.progress-thin{height:7px;border-radius:99px;background:#edf2f6}.progress-thin .progress-bar{border-radius:99px}.quick-action-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:.17s;color:var(--ink);height:100%}.quick-action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#c9ddea}.quick-action-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#eaf4fc;color:var(--blue-700);font-size:1.15rem}.quick-action-card strong,.quick-action-card small{display:block}.quick-action-card small{font-size:.7rem;color:var(--muted);margin-top:2px}

.guest-bg{min-height:100vh;background:radial-gradient(circle at 15% 20%,#d9eefb,transparent 34%),linear-gradient(135deg,#edf5fb,#f9fbfd)}.login-logo{margin:auto;background:linear-gradient(135deg,var(--navy-800),var(--blue-600));color:#fff}.pagination{margin-bottom:0}.page-link{border-color:#e1e9f0;color:#42647f}.page-item.active .page-link{background:var(--blue-700);border-color:var(--blue-700)}

@media(max-width:1199.98px){.stat-value{font-size:1.16rem}.content-wrap{padding:22px}.settings-nav{position:static}.payment-summary-card{position:static}}
@media(max-width:991.98px){
    .sidebar{transform:translateX(-105%)}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.show{opacity:1;visibility:visible}.main-content{margin-left:0;width:100%}.content-wrap{padding:18px}.topbar{padding:0 16px}.topbar-title span{display:none}.app-footer{padding-bottom:72px}
}
@media(max-width:767.98px){.hero-panel{padding:22px}.hero-panel h2{font-size:1.3rem}.panel .card-body{padding:16px}.toolbar{align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.toolbar-right .btn{flex:1}.detail-list{grid-template-columns:125px 1fr}.content-wrap{padding:15px}.topbar{height:68px}.settings-section{scroll-margin-top:78px}}
@media(max-width:575.98px){.stat-card{min-height:121px;padding:15px}.stat-value{font-size:1.02rem}.stat-icon{width:37px;height:37px}.detail-list{grid-template-columns:105px 1fr;font-size:.82rem}.table{font-size:.81rem}.content-wrap{padding:12px}.page-actions .btn{flex:1 1 auto}.hero-actions .btn{flex:1}.app-footer{display:block;text-align:center}.app-footer span{display:block;margin-top:4px}.profile-button{border:0;background:transparent;padding-right:0}.topbar-title strong{font-size:1rem}.balance-display{font-size:1.65rem}}

@media print{
    body{background:#fff}.sidebar,.topbar,.page-actions,.alert,.btn,.card-footer,.app-footer,.sidebar-backdrop,.toolbar{display:none!important}.main-content{margin:0;width:100%}.content-wrap{padding:0;max-width:none}.panel,.stat-card,.surface-card{box-shadow:none;border:1px solid #ccd3da}.hero-panel{background:#fff!important;color:#000;border:1px solid #bbb}.hero-panel p{color:#444}.table thead th{background:#f2f2f2!important;color:#000}
}
