@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@100..900&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap";:root,[data-theme=dark]{--bg-color:#121212;--panel-bg:#1e1e1e;--surface-pearl:#2a2a2c;--border-color:#ffffff14;--text-primary:#f5f5f7;--text-secondary:#98989d;--accent-color:#00e5ff;--accent-focus:#09c;--accent-on-dark:#00e5ff;--success-color:#32d74b;--success-bg:#30d15826;--danger-color:#ff453a;--danger-bg:#ff453a26;--warning-color:#ff9f0a;--warning-bg:#ff9f0a26;--shadow-glow:none;--surface-tile-1:#272729;--surface-tile-2:#2a2a2c;--surface-tile-3:#252527;--surface-black:#000;--divider-soft:#ffffff14;--hairline:#ffffff1f;--ink-muted-48:#ffffff7a;--card-border:#2c2c2e;--table-hover:#252525;--alert-bg:#3a1c1c}[data-theme=light]{--bg-color:#f2f2f5;--panel-bg:#fff;--surface-pearl:#fafafc;--border-color:#e5e5ea;--text-primary:#1c1c1e;--text-secondary:#6b6b70;--accent-color:#09c;--accent-focus:#0071e3;--accent-on-dark:#2997ff;--success-color:#2e7d32;--success-bg:#2ba64026;--danger-color:#d32f2f;--danger-bg:#ff000026;--warning-color:#fb8c00;--warning-bg:#fb8c0026;--shadow-glow:none;--surface-tile-1:#f0f0f2;--surface-tile-2:#f5f5f7;--surface-tile-3:#eaeaec;--surface-black:#000;--divider-soft:#f0f0f0;--hairline:#e0e0e0;--ink-muted-48:#7a7a7a;--card-border:#e5e5ea;--table-hover:#f5f5f7;--alert-bg:#fde8e8}[data-theme=light] input,[data-theme=light] select{color:#1d1d1f;background:#fffc;border-color:#e0e0e0}[data-theme=light] td{border-bottom-color:var(--card-border)}[data-theme=light] tr:hover td{background:var(--table-hover)}[data-theme=light] .btn-primary{background:var(--accent-color);color:#fff}[data-theme=light] .btn-primary:hover{background:var(--accent-focus)}[data-theme=light] .btn-secondary{color:var(--accent-color);border:1px solid var(--accent-color);background:0 0}[data-theme=light] .btn-secondary:hover{background:#0066cc0f}[data-theme=light] .btn-success{color:#fff;background:#2ba640;border:1px solid #219634}[data-theme=light] .btn-success:hover{background:#219634}[data-theme=light] .btn-danger{background:var(--danger-color);color:#fff;border:1px solid #f003}[data-theme=light] .btn-danger:hover{background:#ff0000d9}[data-theme=light] .tab-btn:hover{background:#00000008}[data-theme=light] .tab-btn.active{color:#fff;background:var(--accent-color)}[data-theme=light] .badge-active{color:#2ba640;background:#2ba64026}[data-theme=light] .badge-suspended{color:red;background:#ff000026}*{box-sizing:border-box;margin:0;padding:0}body,button,input,select,textarea{font-family:Noto Sans Thai,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.374px;font-size:17px;line-height:1.47}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.logo-section h1{color:var(--text-primary);letter-spacing:0;font-size:40px;font-weight:600}.logo-section p{color:var(--text-secondary);letter-spacing:-.224px;font-size:14px}.theme-toggle{background:var(--panel-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;transition:all .3s;display:flex}.theme-toggle:hover{transform:scale(1.1)}.tabs-nav{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:12px;gap:.5rem;margin-bottom:2rem;padding:.35rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:17px;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:#ffffff08}.tab-btn.active{color:#fff;background:var(--accent-color)}.glass-panel{background:var(--panel-bg);border:1px solid var(--hairline);border-radius:16px;margin-bottom:2rem;padding:20px;overflow:hidden}.table-container{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:800px}th{color:var(--text-secondary);letter-spacing:-.224px;text-transform:uppercase;border-bottom:1px solid var(--card-border);white-space:nowrap;padding:1rem;font-size:14px;font-weight:600}td{border-bottom:1px solid var(--card-border);color:var(--text-primary);white-space:nowrap;padding:1rem;font-size:17px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--table-hover)}.badge{letter-spacing:-.224px;text-transform:uppercase;border-radius:9999px;padding:.25rem .65rem;font-size:14px;font-weight:600;display:inline-block}.badge-active{color:var(--success-color);background:var(--success-bg)}.badge-suspended{color:var(--danger-color);background:var(--danger-bg)}.quota-usage{flex-direction:column;gap:4px;min-width:120px;display:flex}.quota-usage-text{align-items:baseline;gap:4px;line-height:1;display:flex}.quota-usage-used{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.quota-usage-separator{color:var(--text-secondary);opacity:.6;font-size:14px;font-weight:400}.quota-usage-total{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500}.quota-usage-label{color:var(--text-secondary);opacity:.8;margin-left:4px;font-size:12px;font-weight:500}.quota-usage-bar{background:#ffffff14;border-radius:3px;width:100%;height:6px;overflow:hidden}[data-theme=light] .quota-usage-bar{background:#00000014}.quota-usage-fill{border-radius:3px;min-width:0;height:100%;transition:width .3s}.quota-usage-fill[data-has-usage=true]{min-width:2px}.quota-fill-success{background:var(--success-color)}.quota-fill-warning{background:var(--warning-color)}.quota-fill-danger{background:var(--danger-color);animation:2s ease-in-out infinite quota-pulse}@keyframes quota-pulse{0%,to{opacity:1}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.quota-fill-danger{animation:none}}.quota-usage-percent{color:var(--text-secondary);white-space:nowrap;text-align:right;min-width:36px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.quota-bar-row{align-items:center;gap:8px;display:flex}.quota-bar-row .quota-usage-bar{flex:1}.quota-usage-balance{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:400}.quota-usage-empty{color:var(--text-secondary);opacity:.6;font-size:13px}.alert-box{background:var(--alert-bg);color:var(--danger-color);border-left:4px solid var(--danger-color);border-radius:8px;padding:16px 20px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);letter-spacing:-.224px;font-size:14px;font-weight:600}input,select{border:1px solid var(--border-color);color:var(--text-primary);background:#00000040;border-radius:8px;outline:none;padding:.75rem;font-size:17px;transition:all .2s}input:focus,select:focus{border-color:var(--accent-color)}.btn{cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:17px;font-weight:400;transition:all .15s;display:inline-flex}.btn-sm{min-width:36px;min-height:36px;padding:.5rem .7rem;font-size:14px}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;min-width:36px;min-height:36px;padding:.4rem .6rem;font-size:1.1rem}.btn-ghost:hover{color:var(--text-primary);background:#2997ff1a;border-color:#2997ff33}.btn-primary{background:var(--accent-color);color:#fff}.btn-primary:hover{background:var(--accent-focus)}.btn-secondary{color:var(--accent-color);border:1px solid var(--accent-color);background:0 0}.btn-secondary:hover{background:#2997ff0f}.btn-danger{background:var(--danger-bg);color:var(--danger-color);border:1px solid #ef444433}.btn-danger:hover{background:#ef444440}.btn-success{background:var(--success-bg);color:var(--success-color);border:1px solid #10b98133}.btn-success:hover{background:#10b98140}.btn:active{transform:scale(.95)}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.panel-header h2{letter-spacing:.231px;font-size:21px;font-weight:600}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.metric-card{background:var(--panel-bg);border:1px solid var(--card-border);border-radius:16px;padding:20px}.metric-card label{color:var(--text-secondary);letter-spacing:-.224px;font-size:14px;font-weight:600}.metric-card .val{color:var(--accent-color);margin-top:.25rem;font-family:JetBrains Mono,Noto Sans Thai,monospace;font-size:1.75rem;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:9999px}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001a}::-webkit-scrollbar-thumb:hover{background:#fff3}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}.dashboard-layout{background-color:var(--bg-color);min-height:100vh;color:var(--text-primary);transition:background-color .3s;display:flex}.sidebar{background:var(--panel-bg);border-right:1px solid var(--hairline);z-index:1000;flex-direction:column;width:280px;padding:2rem 1.5rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{align-items:center;gap:.75rem;margin-bottom:2.5rem;padding-left:.5rem;display:flex}.sidebar-logo{filter:none}.brand-text h2{letter-spacing:-.5px;color:var(--text-primary);font-size:1.25rem;font-weight:800;line-height:1.2}.brand-text span{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:.7rem;font-weight:500}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:.85rem;width:100%;padding:.85rem 1rem;font-size:17px;font-weight:600;transition:all .2s;display:flex}.nav-item .icon{font-size:1.15rem}.nav-item:hover{color:var(--text-primary);background:#ffffff08}[data-theme=light] .nav-item:hover{background:#00000005}.nav-item.active{color:#fff;background:var(--accent-color)}.nav-item.active:hover{transform:none}[data-theme=light] .nav-item.active,[data-theme=light] .nav-item.active:hover{color:#fff;background:var(--accent-color)}.sidebar-footer{border-top:1px solid var(--hairline);flex-direction:column;gap:1.25rem;margin-top:1rem;padding-top:1.5rem;display:flex}.admin-profile{align-items:center;gap:.75rem;padding-left:.25rem;display:flex}.admin-profile .avatar{background:var(--accent-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:flex}.profile-info{flex-direction:column;display:flex}.profile-info .name{color:var(--text-primary);font-size:14px;font-weight:700}.profile-info .role{color:var(--text-secondary);font-size:14px}.theme-toggle-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:14px;font-weight:600;transition:all .2s;display:flex}[data-theme=light] .theme-toggle-btn{background:#00000008}.theme-toggle-btn:hover{border-color:var(--accent-color);background:#ffffff14}[data-theme=light] .theme-toggle-btn:hover{background:#0000000f}.sidebar-overlay{z-index:999;background:#0006;position:fixed;inset:0}.main-content-container{flex-direction:column;flex-grow:1;min-width:0;margin-left:280px;display:flex}.mobile-header{display:none}.main-content{box-sizing:border-box;flex-grow:1;width:100%;max-width:1400px;margin:0 auto;padding:2.5rem}.content-header{margin-bottom:2rem}.page-title h1{letter-spacing:0;color:var(--text-primary);margin-bottom:.25rem;font-size:40px;font-weight:600}.page-title p{color:var(--text-secondary);letter-spacing:-.224px;font-size:14px}.loading-container{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.spinner{border:3px solid #2997ff26;border-top-color:var(--accent-color);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:15px 0 35px #0006}.main-content-container{margin-left:0}.mobile-header{background:var(--panel-bg);border-bottom:1px solid var(--hairline);z-index:990;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.menu-toggle-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex}.menu-toggle-btn:hover{color:var(--accent-color)}.mobile-logo-title h3{color:var(--text-primary);letter-spacing:-.25px;font-size:1.15rem;font-weight:800}.theme-toggle-btn-mobile{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.main-content{padding:1.5rem 1rem}.page-title h1{font-size:28px}.glass-panel{border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1rem}th,td{padding:.75rem .65rem;font-size:14px}}.bank-account-list{margin-top:.5rem}.bank-account-list-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.bank-account-list-label{color:var(--text-secondary);font-size:14px;font-weight:600}.bank-limit-indicator{color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff0d;border-radius:6px;padding:.25rem .6rem;font-size:14px;font-weight:600}.bank-account-empty-text{color:var(--text-secondary);padding:1rem 0;font-size:17px;font-style:italic}.bank-account-cards{flex-direction:column;gap:.75rem;display:flex}.bank-account-card{border:1px solid var(--hairline);background:#ffffff08;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .2s;display:flex}.bank-account-card:hover{border-color:#2997ff4d}[data-theme=light] .bank-account-card{background:#00000005}.bank-account-card.is-primary{background:#10b9810d;border-color:#10b9814d}[data-theme=light] .bank-account-card.is-primary{background:#10b9810a}.bank-account-card.view-mode{flex-direction:row}.bank-account-card.edit-mode{border-color:var(--accent-color);flex-direction:column;align-items:stretch}.bank-account-card-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.bank-account-card-icon{background:#ffffff0d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;display:flex}[data-theme=light] .bank-account-card-icon{background:#0000000a}.bank-account-card-details{flex-direction:column;gap:.15rem;min-width:0;display:flex}.bank-account-card-main{align-items:center;gap:.5rem;display:flex}.bank-account-card-bank{color:var(--text-primary);font-size:17px;font-weight:700}.bank-account-card-number{color:var(--text-secondary);font-family:monospace;font-size:14px}.bank-account-card-holder{color:var(--text-secondary);font-size:14px}.bank-account-primary-badge{flex-shrink:0;margin-left:auto}.bank-account-card-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.bank-account-card-btns{align-items:center;gap:.35rem;display:flex}.bank-account-primary-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:14px;display:flex}.bank-account-primary-toggle input[type=checkbox]{width:auto;accent-color:var(--accent-color)}.btn-add-account{border:2px dashed var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.85rem;font-size:17px;font-weight:600;transition:all .2s;display:flex}.btn-add-account:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color);background:#2997ff0d}.btn-add-account:disabled{opacity:.4;cursor:not-allowed}.bank-account-badge{border:1px solid var(--hairline);cursor:default;background:#ffffff0a;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .65rem;transition:all .2s;display:inline-flex}[data-theme=light] .bank-account-badge{background:#00000008}.bank-account-badge:hover{border-color:#2997ff4d}.bank-account-badge-bank{color:var(--text-primary);font-size:14px;font-weight:600}.bank-account-badge-number{color:var(--text-secondary);font-family:monospace;font-size:14px}.bank-account-badge-expand{color:var(--accent-color);cursor:pointer;background:#2997ff1a;border-radius:4px;padding:.1rem .4rem;font-size:14px;font-weight:700}.bank-account-expanded{border-top:1px solid var(--hairline);margin-top:.5rem;padding:.5rem 0}.bank-account-expanded-row{align-items:center;gap:.75rem;padding:.35rem 0;font-size:14px;display:flex}.bank-account-expanded-row+.bank-account-expanded-row{border-top:1px solid var(--divider-soft)}.edit-branch-modal{max-height:90vh}.edit-branch-section{border-bottom:1px solid var(--hairline);margin-bottom:1.5rem;padding-bottom:1.5rem}.edit-branch-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.qr-cell{flex-direction:column;display:inline-flex;position:relative}.qr-thumb{cursor:pointer;transition:transform .2s;overflow:hidden;border-radius:8px!important;min-width:48px!important;min-height:48px!important;padding:2px!important}.qr-thumb:hover{transform:scale(1.05)}.qr-thumb img{image-rendering:pixelated;border-radius:6px;display:block}.qr-popover{z-index:1100;background:var(--panel-bg);border:1px solid var(--hairline);border-radius:18px;flex-direction:column;align-items:center;gap:.75rem;width:280px;padding:1.25rem;display:flex}[data-theme=light] .qr-popover{box-shadow:0 12px 40px #0000001f}.qr-popover-img{border:2px solid var(--hairline);background:#fff;border-radius:10px}.qr-popover-instruction{color:var(--text-secondary);text-align:center;font-size:14px;line-height:1.4}.qr-popover-actions{gap:.5rem;width:100%;display:flex}.qr-popover-actions .btn{flex:1;padding:.5rem .75rem!important;font-size:14px!important}.qr-sheet-backdrop{z-index:1201;background:#00000080;position:fixed;inset:0}.qr-sheet{z-index:1202;background:var(--panel-bg);border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;align-items:center;padding:1rem 1.5rem 2rem;display:flex;position:fixed;bottom:0;left:0;right:0}.qr-sheet-handle{background:#ffffff26;border-radius:2px;width:36px;height:4px;margin-bottom:1rem}[data-theme=light] .qr-sheet-handle{background:#0000001f}.qr-sheet-content{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.qr-sheet-img{border:2px solid var(--hairline);background:#fff;border-radius:12px}.qr-sheet-instruction{color:var(--text-secondary);text-align:center;font-size:14px}.qr-sheet-actions{gap:.75rem;width:100%;display:flex}.qr-sheet-actions .btn{flex:1}.qr-copy-pulse{animation:.4s ease-out qrCopyPulse}@keyframes qrCopyPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@media (width<=767px){.qr-popover{display:none!important}.qr-thumb{min-width:40px!important;min-height:40px!important}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon{font-size:1.5rem}.stat-info h3{color:var(--text-secondary);letter-spacing:-.224px;font-size:14px;font-weight:600}.stat-number{color:var(--text-primary);font-size:1.1rem;font-weight:700}
