@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
@font-face{font-family:inter;src:url(../media/inter_latin-s.p.c757f81b.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:inter;src:url(../media/inter_vietnamese-s.p.b512ba01.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:96.88%;descent-override:24.12%;line-gap-override:0.0%;size-adjust:100.0%}.inter_b55a65b7-module__d8NlcW__className{font-family:inter,inter Fallback}.inter_b55a65b7-module__d8NlcW__variable{--font-inter:"inter","inter Fallback"}
@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_latin-s.p.1afd078f.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:jetbrainsMono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.jetbrainsmono_8bd57606-module__DKIlIa__className{font-family:jetbrainsMono,jetbrainsMono Fallback}.jetbrainsmono_8bd57606-module__DKIlIa__variable{--font-mono:"jetbrainsMono","jetbrainsMono Fallback"}
:root{--bg:#e5e5e5;--bg-gradient:linear-gradient(135deg,#2d60ff 0%,#539bff 100%);--surface:#fff;--surface2:#f5f7fa;--border:#e6eff5;--accent:#2d60ff;--accent-light:#2d60ff1a;--accent2:#539bff;--accent3:#ff82ac;--text:#343c6a;--text2:#718ebf;--text3:#b1b1b1;--danger:#fe5c73;--warning:#ffbb38;--success:#41d4a8;--sidebar-w:250px;--radius:15px;--radius-lg:25px;--radius-xl:40px;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 20px #0000000f;--shadow-lg:0 10px 40px #00000014;--font:"Inter",-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent2)}.bankdash-outer{background:var(--bg-gradient);min-height:100vh;padding:20px;display:flex}.bankdash-inner{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex:1;min-height:calc(100vh - 40px);display:flex;overflow:hidden}.bankdash-main{flex-direction:column;flex:1;min-height:100%;display:flex;overflow-y:auto}.bankdash-content{flex:1;padding:30px}.login-page{background:var(--bg-gradient);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.login-card{background:var(--surface);border-radius:var(--radius-lg);width:460px;box-shadow:var(--shadow-lg);padding:48px 44px}.login-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:36px;display:flex}.login-logo .logo-mark{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.login-logo .logo-text{color:var(--text);font-size:22px;font-weight:700}.login-title{text-align:center;color:var(--text);margin-bottom:8px;font-size:22px;font-weight:700}.login-sub{color:var(--text2);text-align:center;margin-bottom:32px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-input{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font);outline:none;padding:14px 18px;font-size:14px;transition:border-color .25s,box-shadow .25s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input::placeholder{color:var(--text3)}.input-wrap{position:relative}.input-wrap .toggle-pw{cursor:pointer;color:var(--text2);background:0 0;border:none;font-size:16px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.remember-row{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.checkbox-wrap{cursor:pointer;color:var(--text2);align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-wrap input{accent-color:var(--accent);border-radius:4px;width:16px;height:16px}.forgot-link{color:var(--accent);font-size:14px;font-weight:500;text-decoration:none}.btn-primary{background:var(--accent);border-radius:var(--radius);color:#fff;width:100%;font-family:var(--font);cursor:pointer;border:none;padding:15px;font-size:15px;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 15px #2d60ff4d}.btn-primary:hover{background:#1a4fff;transform:translateY(-1px);box-shadow:0 6px 20px #2d60ff66}.btn-primary:active{transform:translateY(0)}.btn-sm{background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #2d60ff33}.btn-sm:hover{background:#1a4fff}.btn-secondary{border:1.5px solid var(--border);color:var(--text2);font-family:var(--font);cursor:pointer;background:0 0;border-radius:12px;padding:10px 22px;font-size:13px;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-primary2{background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;border:none;border-radius:12px;padding:10px 24px;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #2d60ff33}.btn-primary2:hover{background:#1a4fff}.btn-ai{background:var(--accent-light);width:100%;color:var(--accent);font-family:var(--font);cursor:pointer;border:1.5px solid #2d60ff33;border-radius:12px;padding:12px;font-size:13px;font-weight:600;transition:all .2s}.btn-ai:hover{background:#2d60ff26}.icon-btn{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text2);border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex;position:relative}.icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.notif-dot{background:var(--danger);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;right:5px}.action-btn{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border-radius:10px;padding:6px 14px;font-weight:500;transition:all .2s}.action-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.action-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#fe5c7314}.action-btns{gap:6px;display:flex}.export-btn{background:var(--surface);border:1.5px solid var(--border);color:var(--text2);cursor:pointer;font-size:13px;font-family:var(--font);border-radius:12px;align-items:center;gap:6px;padding:10px 18px;font-weight:500;transition:all .2s;display:flex}.export-btn:hover{border-color:var(--accent);color:var(--accent)}.badge{border-radius:20px;align-items:center;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.badge.paid{color:var(--success);background:#41d4a81f}.badge.pending{color:#d4930a;background:#ffbb381f}.badge.pub{background:var(--accent-light);color:var(--accent)}.badge.draft{color:var(--text3);background:#b1b1b11f}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px;display:grid}.stat-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px;transition:all .3s;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 24px #2d60ff1a}.stat-card:after{content:"";opacity:.06;border-radius:50%;width:90px;height:90px;position:absolute;top:0;right:0;transform:translate(25px,-25px)}.stat-card:first-child:after{background:var(--accent)}.stat-card:nth-child(2):after{background:var(--success)}.stat-card:nth-child(3):after{background:var(--warning)}.stat-card:nth-child(4):after{background:var(--danger)}.stat-icon{margin-bottom:14px;font-size:24px}.stat-label{color:var(--text2);margin-bottom:8px;font-size:12px;font-weight:500}.stat-value{color:var(--text);letter-spacing:-.02em;font-size:26px;font-weight:700}.stat-delta{color:var(--success);margin-top:6px;font-size:12px;font-weight:500}.stat-delta.neg{color:var(--danger)}.charts-grid{grid-template-columns:2fr 1fr;gap:20px;margin-bottom:28px;display:grid}.chart-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.chart-title{color:var(--text);font-size:16px;font-weight:700}.chart-tabs{background:var(--surface2);border-radius:10px;gap:4px;padding:3px;display:flex}.chart-tab{cursor:pointer;color:var(--text2);border-radius:8px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .2s}.chart-tab.active{background:var(--accent);color:#fff}.chart-area{height:200px;position:relative}.fake-chart{width:100%;height:100%}.bar-chart-wrap{align-items:flex-end;gap:10px;height:180px;padding-bottom:28px;display:flex}.bar-item{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.bar{cursor:pointer;border-radius:8px 8px 0 0;width:100%;transition:all .3s}.bar:hover{opacity:.8;transform:scaleX(1.05)}.bar-label{color:var(--text2);text-align:center;font-size:11px;font-weight:500}.donut-wrap{flex-direction:column;align-items:center;gap:16px;display:flex}.donut-legend{flex-direction:column;gap:10px;width:100%;display:flex}.legend-item{justify-content:space-between;align-items:center;font-size:13px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:10px}.table-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.table-header{border-bottom:1.5px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.table-title{color:var(--text);font-size:16px;font-weight:700}table{border-collapse:collapse;width:100%;min-width:1100px}th{text-align:left;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;background:var(--surface2);border-bottom:1.5px solid var(--border);padding:14px 20px;font-size:12px;font-weight:600}td{color:var(--text2);border-bottom:1px solid var(--border);padding:15px 20px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background:#2d60ff05}.thumb{object-fit:cover;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:8px;justify-content:center;align-items:center;width:46px;height:34px;font-size:16px;display:flex}.search-bar{gap:12px;margin-bottom:20px;display:flex}.search-input-wrap{flex:1;position:relative}.search-input-wrap .icon{color:var(--text3);pointer-events:none;font-size:14px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-input{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-xl);width:100%;color:var(--text);font-family:var(--font);outline:none;padding:12px 18px 12px 42px;font-size:14px;transition:border-color .25s,box-shadow .25s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.search-input::placeholder{color:var(--text3)}.form-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:28px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group-full{grid-column:1/-1}.form-label{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.input,.textarea,.select{background:var(--surface2);border:1.5px solid var(--border);width:100%;color:var(--text);font-family:var(--font);border-radius:12px;outline:none;padding:12px 16px;font-size:14px;transition:border-color .25s,box-shadow .25s}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.input::placeholder,.textarea::placeholder{color:var(--text3)}.textarea{resize:vertical;min-height:100px}.rich-editor{background:var(--surface2);border:1.5px solid var(--border);border-radius:12px;width:100%;transition:border-color .25s,box-shadow .25s;overflow:hidden}.rich-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.rich-editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface2);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.rich-editor-sep{background:var(--border);width:1px;height:18px;margin:0 4px;display:inline-block}.rich-editor-toolbar button:hover:not(:disabled){background:var(--accent-light)}.rich-editor-content{min-height:100px;color:var(--text);font-family:var(--font);outline:none;padding:12px 16px;font-size:14px;line-height:1.6}.rich-editor-content p{margin:0 0 6px}.rich-editor-content p:last-child{margin-bottom:0}.rich-editor-content ul,.rich-editor-content ol{margin:4px 0;padding-left:22px}.rich-editor-content a{color:var(--accent);text-decoration:underline}.rich-editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text3);float:left;pointer-events:none;height:0}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface2);padding:40px;transition:all .25s}.upload-zone:hover{border-color:var(--accent);background:var(--accent-light)}.upload-icon{margin-bottom:10px;font-size:36px}.upload-text{color:var(--text2);font-size:14px}.form-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.wizard-tabs{border-radius:var(--radius);border:1.5px solid var(--border);gap:0;margin-bottom:28px;display:flex;overflow:hidden}.wizard-tab{text-align:center;cursor:pointer;background:var(--surface);color:var(--text2);border-right:1.5px solid var(--border);flex:1;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.wizard-tab:last-child{border-right:none}.wizard-tab.active{background:var(--accent-light);color:var(--accent)}.wizard-tab .step-num{background:var(--surface2);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.wizard-tab.active .step-num{background:var(--accent);color:#fff}.wizard-tab.done .step-num{background:var(--success);color:#fff}.ai-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.ai-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px;transition:all .3s}.ai-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.ai-card-icon{margin-bottom:14px;font-size:36px}.ai-card-title{color:var(--text);margin-bottom:8px;font-size:16px;font-weight:700}.ai-card-desc{color:var(--text2);margin-bottom:18px;font-size:13px;line-height:1.7}.ai-textarea{background:var(--surface2);border:1.5px solid var(--border);width:100%;color:var(--text);font-family:var(--font);resize:none;border-radius:12px;outline:none;height:100px;margin-bottom:14px;padding:14px;font-size:13px;transition:border-color .25s}.ai-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.lm-tabs{background:var(--surface2);border-radius:14px;gap:4px;width:fit-content;margin-bottom:24px;padding:5px;display:flex}.lm-tab{color:var(--text2);cursor:pointer;white-space:nowrap;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s}.lm-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #2d60ff40}.lm-tab:hover:not(.active){color:var(--text);background:#2d60ff0d}.analytics-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.avatar-sm{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:13px;font-weight:600;display:flex}.mini-prog{background:var(--surface2);border-radius:100px;width:100px;height:6px;overflow:hidden}.mini-prog-fill{background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:100px;height:100%}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}.pagination{justify-content:center;align-items:center;gap:6px;padding:16px 0;display:flex}.pagination-btn{background:var(--accent-light);color:var(--accent);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);border:none;border-radius:10px;padding:6px 14px;transition:all .2s}.pagination-btn:hover{background:var(--accent);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn:disabled:hover{background:var(--accent-light);color:var(--accent)}.pagination-info{background:var(--accent);color:#fff;border-radius:10px;padding:6px 16px;font-size:13px;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#343c6a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface2)25%,#eee 50%,var(--surface2)75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite shimmer}.empty-state{text-align:center;color:var(--text2);padding:48px;font-size:14px;font-weight:500}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.status-dot.active{background:var(--success)}.status-dot.inactive{background:var(--text3)}
