*,:before,:after{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{max-width:100%;overflow-x:hidden}body{color:#e2e8f0;background:#0f172a;margin:0}button{font:inherit}.page{max-width:480px;margin:0 auto;padding:24px 16px}.page h1{margin:0 0 16px;font-size:1.25em}.login-page{text-align:center;flex-direction:column;gap:12px;margin-top:15vh;display:flex}.btn{color:#0f172a;border-radius:8px;padding:12px 20px;font-weight:600;text-decoration:none;display:block}.btn-zalo{color:#fff;background:#0068ff}.btn-google{background:#f1f5f9}.btn-dev{color:#94a3b8;background:0 0;border:1px dashed #64748b}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:10;background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.app-brand{align-items:center;gap:8px;font-weight:700;display:flex}.avatar{object-fit:cover;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.avatar-fallback{color:#0f172a;background:#38bdf8;font-weight:700}.account-name{color:#94a3b8;word-break:break-word;border-bottom:1px solid #334155;margin-bottom:8px;padding:4px 8px 8px;font-size:.85em}.account-logout{color:#e2e8f0;cursor:pointer;background:#334155;border:none;border-radius:6px;width:100%;padding:8px}.app-content{flex:1;padding-bottom:92px}.bottom-nav{background:#1e293b;border:1px solid #334155;border-radius:22px;max-width:448px;margin:0 auto;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 10px 28px #0006}.bottom-nav .nav-item{color:#94a3b8;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 0;font-size:.75em;text-decoration:none;display:flex}.bottom-nav .nav-item.active{color:#38bdf8}.nav-icon{width:22px;height:22px}.bottom-nav .nav-item-add{cursor:pointer;justify-content:center}.nav-add-btn{color:#0f172a;background:#38bdf8;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.nav-add-btn svg{width:22px;height:22px}.account-profile{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.account-avatar{width:64px;height:64px;font-size:1.5em}.account-profile .account-name{color:#e2e8f0;border-bottom:none;margin-bottom:0;padding:0;font-size:1.1em;font-weight:600}.account-links{flex-direction:column;gap:8px;display:flex}.account-link-item{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:8px;padding:12px 14px;text-decoration:none;display:block}.account-page .account-logout{width:100%;padding:12px}.notif-group{margin-top:20px}.notif-group h2{align-items:center;gap:8px;margin-bottom:8px;font-size:1em;display:flex}.notif-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.notif-item{background:#1e293b;border-left:4px solid #334155;border-radius:12px;justify-content:space-between;align-items:flex-end;gap:12px;padding:14px;display:flex}.notif-main{min-width:0}.notif-overdue .notif-item{border-left-color:#f87171}.notif-atRisk .notif-item{border-left-color:#fb923c}.notif-needsPayment .notif-item{border-left-color:#fbbf24}.notif-notDue .notif-item{border-left-color:#34d399}.notif-detail{color:#94a3b8;margin-top:4px;font-size:.9em}.overview-section+.overview-section{border-top:1px solid #334155;margin-top:32px;padding-top:24px}.payment-marker{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.payment-marker input{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:6px;font-size:.8em}.payment-marker button{color:#0f172a;cursor:pointer;white-space:nowrap;background:#38bdf8;border:none;border-radius:6px;padding:6px 10px;font-size:.8em;font-weight:600}.payment-marker button:disabled{opacity:.6;cursor:not-allowed}.cashback-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cashback-item{background:#1e293b;border-left:4px solid #38bdf8;border-radius:12px;padding:14px}.cashback-program{color:#38bdf8;margin-top:2px;font-size:.9em}.cashback-checklist{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.cashback-done-btn{color:#0f172a;cursor:pointer;background:#34d399;border:none;border-radius:6px;padding:8px 12px;font-size:.85em;font-weight:600}.cashback-done-btn.min-spend-btn{background:#38bdf8}.cashback-done-btn:disabled{opacity:.6;cursor:not-allowed}.check-done{color:#34d399;align-items:center;gap:4px;font-size:.85em;font-weight:600;display:inline-flex}.empty-state-ok{color:#34d399;align-items:center;gap:6px;display:flex}.history-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.history-item{background:#1e293b;border-left:4px solid #34d399;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.revert-btn{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #64748b;border-radius:6px;flex-shrink:0;padding:6px 10px;font-size:.8em}.revert-btn:disabled{opacity:.6;cursor:not-allowed}.add-card-btn{color:#0f172a;cursor:pointer;white-space:nowrap;background:#38bdf8;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px 14px;font-weight:600;display:inline-flex}.wallet-list{flex-direction:column;gap:16px;margin-top:16px;display:flex}.wallet-card{color:#fff;border-radius:16px;flex-direction:column;gap:22px;padding:18px;display:flex;box-shadow:0 6px 16px #00000059}.wallet-card-top{justify-content:space-between;align-items:center;display:flex}.wallet-card-bank{letter-spacing:.02em;font-weight:700}.wallet-card-actions{gap:6px;display:flex}.wallet-card-actions button{width:28px;height:28px;color:inherit;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.wallet-card-number{letter-spacing:.08em;font-size:1.1em}.wallet-card-bottom{opacity:.9;justify-content:space-between;align-items:center;font-size:.9em;display:flex}.modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-panel{background:#1e293b;border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:90vh;padding:20px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-close{color:#e2e8f0;cursor:pointer;background:0 0;border:none;font-size:1.1em}.card-form{flex-direction:column;gap:12px;display:flex}.card-form label{flex-direction:column;gap:4px;font-size:.9em;display:flex}.form-row{gap:12px;display:flex}.form-row label{flex:1;min-width:0}.card-form input,.card-form select{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:8px}.cashback-period-section{background:#38bdf80f;border:1px dashed #38bdf8;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.cashback-period-section h3{color:#38bdf8;margin:0;font-size:.9em}.field-hint{color:#94a3b8;margin:0;font-size:.8em}.card-form button[type=submit]{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:8px;padding:10px;font-weight:600}.card-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#f87171}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.account-admin-link{color:#e2e8f0;cursor:pointer;text-align:left;background:#334155;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;margin-bottom:6px;padding:8px;display:flex}.admin-content{padding-bottom:92px}.admin-page{max-width:1000px}.admin-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-page-header h1{margin:0}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.9em}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #334155;padding:10px 12px}.admin-table th{color:#94a3b8;font-weight:600}.admin-table-actions{white-space:nowrap;gap:8px;display:flex}.admin-table-actions button{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #64748b;border-radius:6px;padding:4px 10px;font-size:.85em}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-tile{text-align:center;background:#1e293b;border-radius:12px;padding:16px}.stat-value{color:#38bdf8;font-size:1.8em;font-weight:700}.stat-label{color:#94a3b8;margin-top:4px;font-size:.85em}.bank-breakdown-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.audit-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.audit-item{background:#1e293b;border-left:4px solid #64748b;border-radius:12px;padding:14px}.audit-diff{color:#94a3b8;margin:8px 0 0;padding-left:18px;font-size:.85em}.audit-diff li{overflow-wrap:break-word;word-break:break-word}
