﻿@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
:root{--bg:#fdfaf6;--bg2:#ffffff;--bg3:#f5f0e6;--border:rgba(93,64,55,0.05);--border2:rgba(93,64,55,0.10);--text:#3e2723;--text2:#5d4037;--text3:#8d6e63;--green:#0f766e;--green2:#ccfbf1;--red:#be123c;--red2:#ffe4e6;--gold:#d4af37;--gold2:#fef8e7;--brown:#5d4037;--brown2:#efebe9;--amber:#b45309;--amber2:#fef3c7;--blue:#0369a1;--blue2:#e0f2fe;--purple:#6d28d9;--purple2:#ede9fe;--radius:20px;--shadow:0 4px 20px rgba(62,39,35,0.04),0 1px 3px rgba(62,39,35,0.02);--shadow-hover:0 10px 25px rgba(62,39,35,0.08),0 4px 6px rgba(62,39,35,0.04)}
body.dark-mode{--bg:#111827;--bg2:#1f2937;--bg3:#273244;--border:rgba(255,255,255,0.06);--border2:rgba(255,255,255,0.11);--text:#f9fafb;--text2:#d1d5db;--text3:#9ca3af;--green2:rgba(15,118,110,0.3);--red2:rgba(190,18,60,0.3);--gold2:rgba(212,175,55,0.2);--brown2:rgba(93,64,55,0.3);--amber2:rgba(180,83,9,0.3);--blue2:rgba(3,105,161,0.3);--purple2:rgba(109,40,217,0.3);--shadow:0 4px 20px rgba(0,0,0,0.4);--shadow-hover:0 10px 25px rgba(0,0,0,0.6)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Be Vietnam Pro',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
body.auth-booting #auth-modal,body.auth-booting #main-app{display:none!important;visibility:hidden!important;}
#boot-screen{display:none;position:fixed;inset:0;z-index:999999;background:linear-gradient(135deg,#065f46 0%,#0d1e2e 72%,#071923 100%);color:#fff;align-items:center;justify-content:center;padding:22px;font-family:'Be Vietnam Pro',sans-serif}
body.auth-booting #boot-screen{display:flex}
body:not(.auth-booting) #boot-screen{display:none!important}
.boot-card{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;animation:fadeIn .18s ease}
.boot-logo{width:72px;height:72px;border-radius:24px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.22);overflow:hidden}
.boot-logo img{width:58px;height:58px;object-fit:contain}
.boot-title{font-size:24px;font-weight:950;letter-spacing:0;line-height:1.15}
.boot-sub{font-size:13px;font-weight:650;color:rgba(255,255,255,.74);line-height:1.55;max-width:330px}
.boot-progress{width:min(260px,72vw);height:5px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;margin-top:4px}
.boot-progress::after{content:'';display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fbbf24,#10b981);animation:bootLoad 1.05s ease-in-out infinite}
@keyframes bootLoad{0%{transform:translateX(-120%)}100%{transform:translateX(260%)}}
input,textarea,select,.selectable{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;}
img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;}
.app{max-width:1080px;margin:0 auto;padding:24px 16px 50px;width:100%}
.blur-text{filter:blur(6px);opacity:.5;pointer-events:none;user-select:none}
.up{color:var(--green)!important;font-weight:700}.dn{color:var(--red)!important;font-weight:700}.neu{color:var(--text2)!important;font-weight:600}
.role-viewer .req-edit{display:none!important}
.tabs::-webkit-scrollbar,.main-tabs-wrap::-webkit-scrollbar,.sync-bar::-webkit-scrollbar,.budget-tabs::-webkit-scrollbar{display:none}
.tabs,.main-tabs-wrap,.sync-bar,.budget-tabs{-ms-overflow-style:none;scrollbar-width:none}
.hdr{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.hdr-left{display:flex;flex-direction:column;gap:6px;width:100%}
.hdr-left h1{font-size:22px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;flex-wrap:wrap}
.h1-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.workspace-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg2);border:1px solid var(--border2);border-radius:14px;min-width:260px;box-shadow:var(--shadow-hover);z-index:100;display:none;flex-direction:column;padding:8px;animation:fadeIn .2s ease}
.workspace-dropdown.show{display:flex}
.ws-item{padding:10px 14px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:.2s;border:1px solid transparent}
.ws-item:hover{background:var(--bg3)}
.ws-item.active{background:var(--gold2);border-color:rgba(212,175,55,.3)}
.ws-name{font-size:13px;font-weight:700;color:var(--text)}
.ws-role{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.02em}
.ws-divider{height:1px;background:var(--border2);margin:6px 0}
.share-btn{background:var(--gold);color:#fff;border:none;padding:6px 12px;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;transition:.2s;box-shadow:0 2px 6px rgba(212,175,55,.25);white-space:nowrap}
.share-btn:hover{background:#cda32f;transform:translateY(-1px)}
.share-split{display:inline-flex;align-items:stretch;border-radius:12px;overflow:hidden;border:1px solid rgba(15,118,110,.14);background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.08);height:32px;flex:0 0 auto}
.share-split-btn{height:100%;border:none;background:#fff;color:var(--green);font-family:inherit;font-size:11px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;cursor:pointer;transition:.18s;white-space:nowrap}
.share-split-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.share-split-btn.share-account{background:linear-gradient(135deg,#0f766e 0%,#0b8f5a 100%);color:#fff}
.share-split-btn.share-sources{background:var(--gold2);color:var(--amber);border-left:1px solid rgba(180,83,9,.14)}
.share-split-btn:hover{filter:brightness(1.03);transform:translateY(-1px)}
.share-split-btn:active{transform:translateY(0)}
.share-split.sources-only .share-split-btn.share-sources{border-left:none;border-radius:12px}
.eye-btn, .notif-btn{background:var(--bg2);border:1px solid var(--border2);color:var(--text);cursor:pointer;transition:all .2s;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.02);padding:0;flex-shrink:0}
.eye-btn:hover, .notif-btn:hover{background:var(--bg3);transform:scale(1.05)}
/* Thêm CSS cho chuông thông báo */
.notif-btn { position: relative; }
.notif-badge { position: absolute; top: -4px; right: -4px; background: var(--red); color: white; border-radius: 50%; width: 14px; height: 14px; font-size: 9px; font-weight: 800; display: flex; align-items: center; justify-content: center; display: none; border: 1.5px solid var(--bg2); }
.notif-badge.has-unread { display: flex; }
.notif-dropdown { position: absolute; top: calc(100% + 8px); right: 0; background: var(--bg2); border: 1px solid var(--border2); border-radius: 14px; width: 320px; box-shadow: var(--shadow-hover); z-index: 101; display: none; flex-direction: column; animation: fadeIn .2s ease; overflow: hidden; }
.notif-dropdown.show { display: flex; }
.notif-header { padding: 12px 16px; border-bottom: 1px solid var(--border); font-weight: 700; font-size: 14px; display: flex; justify-content: space-between; align-items: center; background: var(--bg3); }
.notif-clear-btn { font-size: 11px; color: var(--text3); background: none; border: none; cursor: pointer; font-weight: 600; padding: 4px 8px; border-radius: 6px; transition: 0.2s; }
.notif-clear-btn:hover { background: var(--border2); color: var(--text); }
.notif-list { max-height: 350px; overflow-y: auto; }
.notif-list::-webkit-scrollbar { width: 4px; }
.notif-list::-webkit-scrollbar-thumb { background: rgba(93,64,55,.15); border-radius: 4px; }
.notif-item { padding: 12px 16px; border-bottom: 1px solid var(--border); font-size: 13px; line-height: 1.5; color: var(--text2); display: flex; gap: 10px; align-items: flex-start; transition: 0.2s; overflow:hidden; }
.notif-item:hover { background: var(--bg3); }
.notif-item:last-child { border-bottom: none; }
.notif-item.unread { background: var(--gold2); }
.notif-item.unread:hover { background: rgba(212,175,55,0.3); }
.notif-icon { flex-shrink: 0; width: 24px; height: 24px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 12px; }
.notif-icon.success { background: var(--green2); color: var(--green); }
.notif-icon.error { background: var(--red2); color: var(--red); }
.notif-icon.info { background: var(--blue2); color: var(--blue); }
.notif-time { font-size: 10px; color: var(--text3); margin-top: 4px; }
.notification-message,.notif-message{font-size:14px;line-height:1.55;white-space:normal;word-break:break-word;overflow-wrap:anywhere;min-width:0;color:var(--text2)}
.notification-message strong,.notif-message strong{font-weight:800;color:inherit}
.notification-message em,.notif-message em{opacity:.82;font-style:italic}
.notification-message small,.notif-message small{font-size:12px;color:var(--text3)}

.notif-meta-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:4px; }
.notif-scope-chip { display:inline-flex; align-items:center; gap:4px; font-size:9px; font-weight:800; padding:2px 6px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em; }
.notif-scope-chip.personal { background:var(--green2); color:var(--green); border:1px solid rgba(15,118,110,.18); }
.notif-scope-chip.system { background:var(--purple2); color:var(--purple); border:1px solid rgba(109,40,217,.18); }
.notif-sender { font-size:10px; color:var(--text3); font-weight:700; }
.notif-admin-btn { background:var(--blue); color:#fff; border:none; padding:6px 12px; border-radius:10px; font-size:11px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; transition:.2s; box-shadow:0 2px 6px rgba(3,105,161,.25); white-space:nowrap; }
.notif-admin-btn:hover { transform:translateY(-1px); box-shadow:0 4px 10px rgba(3,105,161,.35); }
/* End CSS chuông thông báo */
.logout-btn{background:var(--red2);border:1px solid rgba(190,18,60,.15);color:var(--red);width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}
.logout-btn:hover{background:var(--red);color:#fff;transform:scale(1.05)}
.sync-bar{display:flex;align-items:center;gap:8px;margin-bottom:20px;background:var(--bg2);padding:6px 12px;border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px rgba(62,39,35,.02);flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.sync-time{font-size:11px;color:var(--text3);font-weight:600;white-space:nowrap;margin-right:auto}
.shared-badge-icon,.sync-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:4px 8px;border-radius:20px;white-space:nowrap;transition:.2s;border:1px solid transparent}
.sync-pill{border:none}
.sync-pill.synced{background:var(--green2);color:var(--green)}
.sync-pill.syncing{background:var(--amber2);color:var(--amber)}
.sync-pill.offline{background:var(--red2);color:var(--red)}
.sync-pill.paused{background:var(--bg3);color:var(--text3)}
.sync-dot{width:5px;height:5px;border-radius:50%;background:currentColor}
.sync-dot.blink{animation:blink 1.5s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.live-pill{font-size:10px;font-weight:700;padding:4px 8px;border-radius:20px;white-space:nowrap;display:flex;align-items:center;gap:3px;border:1px solid transparent;transition:.3s}
.live-pill.active{color:#b45309;background:#fef3c7;border-color:rgba(180,83,9,.15)}
.live-pill.paused{color:var(--text3);background:var(--bg3);border-color:var(--border2)}
.refresh-btn{background:var(--bg3);border:none;color:var(--text2);padding:5px 8px;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:none;white-space:nowrap}
.refresh-btn svg{width:12px;height:12px}
.refresh-btn:hover{background:var(--gold2);color:var(--gold)}
.hero-wrapper{transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s,margin-bottom .4s;max-height:2000px;opacity:1;overflow:hidden;margin-bottom:24px}
.hero-wrapper.hero-wrapper-hidden{max-height:0!important;opacity:0!important;margin:0!important;padding:0!important;border:0!important}
.hero-wrapper.collapsed{max-height:0;opacity:0;margin-bottom:0!important}
.micro-summary{display:none;flex-direction:row;flex-wrap:nowrap;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:8px 12px;margin-top:-8px;margin-bottom:20px;gap:12px;box-shadow:0 1px 3px rgba(62,39,35,.02);animation:fadeIn .3s ease;-ms-overflow-style:none;scrollbar-width:none}
.micro-summary::-webkit-scrollbar{display:none}
.micro-summary.active{display:flex}
.ms-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px}
.ms-lbl{color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:10px}
.ms-val{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--text)}
.ms-divider{width:1px;height:12px;background:var(--border2)}
.hero-split{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;transition:all .3s}
.hero-split.cols-1{grid-template-columns:1fr}
.hero-split.cols-2{grid-template-columns:1fr 1fr}
.hero-split.cols-3{grid-template-columns:1fr 1fr 1fr}
.hero-box{padding:24px;border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;min-height:200px}
.hero-box::before{content:'';position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);pointer-events:none}
.hero-box.asset{background:linear-gradient(135deg,#eeb847 0%,#cca02a 100%);color:#3e2723}
.hero-box.asset::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#3e2723,#5d4037,#3e2723)}
.hero-box.budget{background:linear-gradient(135deg,#475569 0%,#334155 100%);color:#fff}
.hero-box.budget::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#1e293b,#0f172a,#1e293b)}
.hero-box.sales{background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);color:#fff}
.hero-box.sales::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#0c4a6e,#082f49,#0c4a6e)}
.hero-top{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-bottom:8px;position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}
.hero-main-val{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:800;letter-spacing:-.03em;margin-bottom:4px;position:relative;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.1)}
.hero-liquid-box{margin-bottom:16px;padding-bottom:14px;position:relative;z-index:2;border-bottom:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:flex-end}
.hero-liquid-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:800;line-height:1}
.hero-sub-grid{display:grid;position:relative;z-index:2}
.hero-box.asset .hero-sub-grid{grid-template-columns:1fr 1fr 1fr;gap:12px 10px}
.hero-box.asset .hero-sub-grid>div:nth-child(3){grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px dashed rgba(62,39,35,.2);padding-top:10px}
.hero-box.asset .hero-sub-grid>div:nth-child(3) .hero-sub-val{font-size:16px}
.hero-box.budget .hero-sub-grid, .hero-box.sales .hero-sub-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;border-top:1px solid rgba(255,255,255,.2);padding-top:14px;margin-top:auto}
.hero-sub-grid>div{display:flex;flex-direction:column;gap:4px}
.hero-sub-lbl{font-size:11px;opacity:.8;text-transform:uppercase;font-weight:600;letter-spacing:.05em}
.hero-sub-val{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700}
.dash-nav-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:14px}
.dash-nav-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}
.sec-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:.02em;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.sec-title::before{content:'';display:block;width:6px;height:18px;background:var(--gold);border-radius:3px}
.main-tabs-wrap{margin-bottom:24px;border-bottom:2px solid var(--border);display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.main-tab{background:0 0;border:none;font-family:inherit;font-size:16px;font-weight:700;color:var(--text3);cursor:pointer;padding:12px 20px;position:relative;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:12px;margin-bottom:-2px}
.main-tab:hover{color:var(--gold);background:var(--bg2);box-shadow:0 4px 12px rgba(62,39,35,.05);transform:translateY(-2px)}
.main-tab.active{color:var(--text);background:var(--bg2);box-shadow:0 4px 12px rgba(62,39,35,.05)}
.main-tab.active::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:var(--gold);border-radius:3px 3px 0 0}
.tabs{display:flex;gap:6px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:8px;margin-bottom:20px;overflow-x:auto;box-shadow:0 2px 10px rgba(62,39,35,.02);-webkit-overflow-scrolling:touch}
.tab{flex:1;min-width:90px;padding:10px 12px;font-size:13px;font-weight:600;font-family:inherit;text-align:center;cursor:pointer;background:0 0;color:var(--text2);border:none;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}
.tab:hover{color:var(--text);background:var(--bg3);transform:scale(1.02);box-shadow:0 2px 8px rgba(62,39,35,.04)}
.tab.active{background:var(--bg);color:var(--gold);box-shadow:inset 0 0 0 1px rgba(212,175,55,.4),0 2px 8px rgba(212,175,55,.1);font-weight:700;transform:scale(1)}
.sec{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}
.sec-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.sec-total{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;color:var(--gold); width: 100%; text-align: right;}
.asset-summary-row{font-size:12px;color:var(--text3);margin-top:6px;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.asset-summary-row > span{display:flex;align-items:center;white-space:nowrap;gap:4px}
.asset-summary-row .divider{color:var(--border2);font-weight:300}
.asset-history-pl-section{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--bg2),var(--bg3));box-shadow:0 2px 10px rgba(62,39,35,.03)}
.asset-history-pl-title{font-size:14px;font-weight:900;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.asset-history-pl-list{display:flex;flex-direction:column;gap:10px}
.asset-history-pl-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--bg2)}
.asset-history-pl-symbol{font-size:14px;font-weight:900;color:var(--text);overflow-wrap:anywhere}
.asset-history-pl-note,.asset-history-pl-date{font-size:11px;color:var(--text3);line-height:1.45;margin-top:3px}
.asset-history-pl-amount{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:900;white-space:nowrap}
.asset-history-pl-actions{display:inline-flex;gap:6px;flex-shrink:0}
.asset-history-pl-empty{font-size:12px;color:var(--text3);line-height:1.5}
.item-row{display:flex;justify-content:space-between;align-items:center;padding:18px;border:1px solid var(--border);background:var(--bg3);border-radius:16px;margin-bottom:12px;transition:all .2s}
.item-row:last-child{margin-bottom:0}
.item-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:rgba(93,64,55,.15);background:var(--bg2)}
.clickable-row{cursor:pointer;border-left:4px solid transparent}
.clickable-row:hover{border-left-color:var(--gold)}
.item-left{flex:1}
.item-name{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.item-sub{font-size:12px;color:var(--text3);margin-top:10px;font-style:italic}
.item-stats-grid{display:flex;flex-wrap:wrap;gap:20px}
.stat-col{display:flex;flex-direction:column;gap:4px}
.stat-col .lbl{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.stat-col .val{font-size:13px;font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--text)}
.item-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:16px}
.item-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;color:var(--text)}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.02em}
.b-binance{background:var(--gold2);color:var(--gold)}
.b-mexc{background:var(--brown2);color:var(--brown)}
.b-save{background:var(--green2);color:var(--green)}
.b-share{background:var(--brown2);color:var(--brown)}
.b-gold{background:var(--amber2);color:var(--amber)}
.b-other{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}
.b-qty{background:var(--bg);border:1px solid var(--border);color:var(--text2)}
.b-stock{background:var(--blue2);color:var(--blue)}
.action-btns{display:flex;gap:8px;flex-shrink:0}
.asset-action-wrap{position:relative;display:inline-flex;align-items:center;justify-content:flex-end}
.asset-action-more{width:36px;height:36px;border:none;border-radius:12px;background:var(--bg2);color:var(--text2);font-family:inherit;font-size:20px;font-weight:800;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);transition:.18s ease}
.asset-action-more:hover,.asset-action-more.active{background:#fff;border-color:rgba(15,118,110,.22);color:var(--green);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.asset-action-menu{position:absolute;right:0;top:42px;min-width:168px;background:#fff;border:1px solid rgba(15,118,110,.12);border-radius:14px;box-shadow:0 18px 38px rgba(15,23,42,.16);padding:6px;z-index:80;display:none}
.asset-action-menu.open{display:block}
.asset-action-menu button{width:100%;height:38px;border:none;background:transparent;border-radius:10px;display:flex;align-items:center;gap:9px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:800;color:var(--text);cursor:pointer;text-align:left}
.asset-action-menu button:hover{background:var(--green2);color:var(--green)}
.asset-action-menu button.danger{color:var(--red)}
.asset-action-menu button.danger:hover{background:var(--red2);color:var(--red)}
.icon-btn{background:var(--bg2);border:1px solid var(--border2);color:var(--text2);font-size:14px;line-height:1;width:34px;height:34px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;box-shadow:0 1px 2px rgba(62,39,35,.02)}
.icon-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold2)}
.icon-btn.del:hover{border-color:var(--red);color:var(--red);background:var(--red2)}
.add-form{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:20px;margin-top:16px}
.f-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.f-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.f-grid4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.field label{display:block;font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-weight:700}
.field input,.field select,.field textarea{width:100%;max-width:100%;box-sizing:border-box;background:var(--bg2);border:1px solid var(--border2);color:var(--text);font-family:'Be Vietnam Pro',sans-serif;font-size:14px;padding:12px 14px;border-radius:10px;outline:none;transition:all .2s;box-shadow:inset 0 1px 2px rgba(62,39,35,.02)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold2)}
.add-toggle-btn{font-size:13px;font-family:inherit;font-weight:700;background:var(--gold);border:none;color:#fff;padding:10px 20px;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px rgba(212,175,55,.25);white-space:nowrap}
.add-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(212,175,55,.35);background:#cda32f}
.add-toggle-btn.income-btn{background:var(--green);box-shadow:0 4px 10px rgba(15,118,110,.25)}
.add-toggle-btn.income-btn:hover{background:#0d9488;box-shadow:0 6px 14px rgba(15,118,110,.35)}
.submit-btn{width:100%;padding:14px;background:var(--gold);border:none;color:#fff;font-family:inherit;font-size:15px;font-weight:700;border-radius:10px;cursor:pointer;transition:all .2s;margin-top:8px;box-shadow:0 4px 12px rgba(212,175,55,.25)}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(212,175,55,.35);background:#cda32f}
.submit-btn.green{background:var(--green);box-shadow:0 4px 12px rgba(15,118,110,.25)}
.submit-btn.green:hover{background:#0d9488}

/* Nâng cấp Empty State Sinh Động */
.empty { padding: 30px 20px; text-align: center; background: var(--bg3); border: 1px dashed var(--border2); border-radius: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; margin: 10px 0; transition: all 0.3s; }
.empty:hover { background: var(--bg2); border-color: var(--gold); }
.empty-icon { font-size: 36px; opacity: 0.9; line-height: 1; margin-bottom: 4px; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.empty-title { font-size: 15px; font-weight: 800; color: var(--text); }
.empty-desc { font-size: 12.5px; color: var(--text3); max-width: 280px; line-height: 1.5; font-style: normal; }

/* AUTOCOMPLETE STYLES */
.autocomplete-items { position: absolute; border: 1px solid var(--border2); border-top: none; z-index: 99; top: 100%; left: 0; right: 0; background: var(--bg2); border-radius: 0 0 10px 10px; max-height: 200px; overflow-y: auto; box-shadow: var(--shadow-hover); }
.autocomplete-items div { padding: 12px 14px; cursor: pointer; font-size: 13px; color: var(--text); font-weight: 600; border-bottom: 1px dashed var(--border); transition: background 0.2s; }
.autocomplete-items div:last-child { border-bottom: none; border-radius: 0 0 10px 10px; }
.autocomplete-items div:hover { background-color: var(--gold2); color: var(--gold); }
.autocomplete-active { background-color: var(--gold) !important; color: #fff !important; }

/* ONBOARDING TOUR STYLES */
#tour-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99996; pointer-events: none; display: none; }
.tour-spotlight { position: absolute; border-radius: 50%; box-shadow: 0 0 0 9999px rgba(0,0,0,0.6); z-index: 99997; pointer-events: none; transition: all 0.3s ease; }
.tour-tooltip { position: fixed; background: var(--bg2); padding: 20px; border-radius: 16px; z-index: 99998; width: 280px; box-shadow: 0 15px 40px rgba(0,0,0,0.3); border: 2px solid var(--gold); display: none; animation: slideUp 0.3s ease; }
.tour-tooltip::after { content: ''; position: absolute; border-width: 10px; border-style: solid; }
.tour-tooltip h3 { margin: 0 0 8px 0; font-size: 16px; color: var(--gold); display: flex; align-items: center; gap: 6px; }
.tour-tooltip p { margin: 0 0 16px 0; font-size: 13px; color: var(--text); line-height: 1.6; }

/* AI ACCORDION & EXPORT STYLES */
.export-btn { background: var(--bg2); border: 1px solid var(--gold); color: var(--gold); padding: 6px 12px; border-radius: 10px; font-size: 11px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px; transition: 0.2s; font-family: inherit; }
.export-btn:hover { background: var(--gold); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(212,175,55,0.2); }

.ai-col-item { background: var(--bg3); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 8px; overflow: hidden; transition: all 0.3s; cursor: pointer; }
.ai-col-item:hover { border-color: var(--gold); }
.ai-col-hdr { padding: 14px 16px; font-size: 13px; font-weight: 700; color: var(--text); display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ai-col-hdr.warn { color: var(--red); }
.ai-col-hdr.good { color: var(--green); }
.ai-col-body { padding: 0 16px; max-height: 0; overflow: hidden; font-size: 12.5px; color: var(--text2); line-height: 1.6; transition: all 0.3s ease; opacity: 0; }
.ai-col-item.open { background: var(--bg2); border-color: var(--gold); box-shadow: 0 4px 10px rgba(212,175,55,0.1); }
.ai-col-item.open .ai-col-body { padding: 0 16px 16px; max-height: 300px; opacity: 1; }
.ai-col-icon { transition: transform 0.3s; flex-shrink: 0; color: var(--text3); }
.ai-col-item.open .ai-col-icon { transform: rotate(180deg); color: var(--gold); }

.connect-sync-btn{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-family:inherit;font-weight:700;padding:8px 16px;border-radius:20px;border:1.5px dashed;cursor:pointer;transition:all .25s;white-space:nowrap;letter-spacing:.02em}
.connect-sync-btn.coin-btn{background:var(--gold2);border-color:var(--gold);color:var(--amber)}
.connect-sync-btn.coin-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;border-style:solid;transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,.3)}
.connect-sync-btn.stock-btn{background:var(--blue2);border-color:var(--blue);color:var(--blue)}
.connect-sync-btn.stock-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff;border-style:solid;transform:translateY(-1px);box-shadow:0 4px 12px rgba(3,105,161,.3)}
.connect-sync-btn.bank-btn{background:var(--green2);border-color:var(--green);color:var(--green)}
.connect-sync-btn.bank-btn:hover{background:var(--green);border-color:var(--green);color:#fff;border-style:solid;transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,118,110,.3)}
.connect-sync-btn.connected{background:var(--green2);border-style:solid;border-color:rgba(15,118,110,.4);color:var(--green)}
.connect-sync-btn svg{width:14px;height:14px;flex-shrink:0}
.connect-modal-overlay,#family-modal-overlay,#sell-modal-overlay,#vip-modal-overlay,#qr-modal-overlay,#admin-vip-modal-overlay,#vip-info-modal-overlay,#target-alert-modal-overlay,#sale-detail-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(62,39,35,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:8000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.connect-modal,.modal-box{background:var(--bg2);border:1px solid var(--border2);border-radius:24px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px -12px rgba(62,39,35,.25);animation:slideUp .25s cubic-bezier(.34,1.56,.64,1)}
#family-modal-overlay .modal-box{max-width:600px}
@keyframes slideUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.cm-header{padding:24px 24px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cm-header-left{display:flex;align-items:center;gap:14px}
.cm-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.cm-icon.gold{background:var(--gold2)}.cm-icon.blue{background:var(--blue2);color:var(--blue)}.cm-icon.green{background:var(--green2)}
.cm-title{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.cm-subtitle{font-size:13px;color:var(--text3);margin-top:3px}
.cm-close{background:var(--bg3);border:1px solid var(--border2);color:var(--text2);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.cm-close:hover{background:var(--red2);color:var(--red);border-color:rgba(190,18,60,.3)}
.cm-body{padding:20px 24px 24px}
.cm-notice{display:flex;align-items:flex-start;gap:10px;background:var(--amber2);border:1px solid rgba(180,83,9,.2);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:13px;color:var(--amber);font-weight:600;line-height:1.5}
.cm-notice-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.cm-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.cm-step{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;background:var(--bg3);border-radius:14px;border:1px solid var(--border);transition:all .2s}
.cm-step:hover{background:var(--bg2);border-color:var(--border2);box-shadow:var(--shadow)}
.cm-step-num{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;margin-top:1px}
.cm-step-num.gold{background:var(--gold2);color:var(--amber)}.cm-step-num.blue{background:var(--blue2);color:var(--blue)}.cm-step-num.green{background:var(--green2);color:var(--green)}
.cm-step-content{flex:1}
.cm-step-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.cm-step-desc{font-size:12px;color:var(--text3);line-height:1.6}
.cm-step-desc code{background:var(--bg2);border:1px solid var(--border2);padding:1px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text2)}
.cm-exchange-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.cm-exchange-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg2);border:1px solid var(--border2);border-radius:20px;font-size:12px;font-weight:700;color:var(--text2);cursor:default;transition:all .2s}
.cm-exchange-pill:hover{border-color:var(--gold);color:var(--amber);background:var(--gold2)}
.cm-exchange-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.cm-input-row{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.cm-input-row .field{margin:0}
.cm-actions{display:flex;gap:10px}
.cm-btn-primary{flex:1;padding:13px;background:var(--gold);border:none;color:#fff;font-family:inherit;font-size:14px;font-weight:700;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(212,175,55,.25);display:flex;align-items:center;justify-content:center;gap:6px}
.cm-btn-primary:hover{background:#cda32f;transform:translateY(-1px);box-shadow:0 6px 16px rgba(212,175,55,.35)}
.cm-btn-primary.blue-btn{background:var(--blue);box-shadow:0 4px 12px rgba(3,105,161,.25)}
.cm-btn-primary.blue-btn:hover{background:#0284c7;box-shadow:0 6px 16px rgba(3,105,161,.35)}
.cm-btn-primary.green-btn{background:var(--green);box-shadow:0 4px 12px rgba(15,118,110,.25)}
.cm-btn-primary.green-btn:hover{background:#0d9488;box-shadow:0 6px 16px rgba(15,118,110,.35)}
.cm-btn-secondary{padding:13px 20px;background:var(--bg3);border:1px solid var(--border2);color:var(--text2);font-family:inherit;font-size:14px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s}
.cm-btn-secondary:hover{background:var(--bg2);border-color:var(--text3)}
.cm-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text3);font-size:12px;font-weight:600}
.cm-divider::before,.cm-divider::after{content:'';flex:1;height:1px;background:var(--border2)}
.cm-api-tips{background:var(--purple2);border:1px solid rgba(109,40,217,.15);border-radius:12px;padding:14px 16px;font-size:12px;color:var(--purple);font-weight:600;line-height:1.7;margin-bottom:16px}
.cm-api-tips strong{color:var(--purple)}
.budget-hero{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:16px}
.budget-hero-card{border-radius:16px;padding:24px 20px;position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.budget-hero-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.budget-hero-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;border-radius:4px 4px 0 0}
.budget-hero-card.income-card::before{background:var(--green)}
.budget-hero-card.expense-card::before{background:var(--red)}
.budget-hero-card.balance-card::before{background:var(--gold)}
.budget-hero-card.saving-rate-card::before{background:var(--purple)}
.budget-hero-card.cost-card::before{background:var(--amber)}
.budget-hero-card.neutral-card::before{background:var(--text3)}
.budget-hero-card.avg-income-card::before{background:var(--blue)}
.income-daily-passive-line{font-size:11px;font-weight:850;color:var(--green);line-height:1.35;margin-top:6px;white-space:normal}
.income-power-block{border:1px solid var(--border);background:var(--bg2);border-radius:16px;padding:14px;margin-bottom:12px}
.income-power-title{font-size:13px;font-weight:900;color:var(--text);margin-bottom:8px}
.income-power-value{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;color:var(--green);line-height:1.15}
.income-power-note{font-size:12px;color:var(--text3);line-height:1.5;margin-top:8px}
.income-power-formula{font-size:12px;font-weight:800;color:var(--text2);background:var(--bg3);border-radius:10px;padding:8px 10px;margin-top:8px}
.income-daily-card{cursor:pointer}
.income-daily-card:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}
.income-breakdown-overlay{position:fixed;inset:0;z-index:99998;background:rgba(15,23,42,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:18px}
.income-breakdown-overlay.active{display:flex}
.income-breakdown-modal{width:min(720px,100%);max-height:88vh;overflow-y:auto;background:var(--bg2);border:1px solid var(--border2);border-radius:22px;box-shadow:var(--shadow-hover);padding:0}
.income-breakdown-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 20px 14px;border-bottom:1px solid var(--border)}
.income-breakdown-header h3{margin:0;font-size:18px;font-weight:950;color:var(--text);line-height:1.25}.income-breakdown-header p{margin:6px 0 0;color:var(--text3);font-size:13px;font-weight:700;line-height:1.45}
.income-breakdown-close{border:none;background:var(--bg3);color:var(--text2);width:34px;height:34px;border-radius:999px;font-size:18px;font-weight:900;cursor:pointer;flex:0 0 auto}
.income-breakdown-body{padding:16px 20px 20px}
.income-breakdown-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.income-breakdown-summary>div{border:1px solid var(--border);background:var(--bg);border-radius:14px;padding:12px}.income-breakdown-summary span{display:block;font-size:11px;font-weight:900;color:var(--text3);text-transform:uppercase}.income-breakdown-summary b{display:block;margin-top:5px;font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:950;color:var(--text)}
.income-breakdown-formula{border:1px dashed rgba(37,99,235,.28);background:rgba(37,99,235,.06);color:var(--blue);border-radius:14px;padding:11px 12px;font-size:13px;font-weight:850;margin-bottom:14px}
.income-source-list{display:grid;gap:8px;margin:12px 0}.income-source-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--border);background:var(--bg);border-radius:14px;padding:10px 12px;cursor:pointer}.income-source-row:hover{border-color:rgba(37,99,235,.28);background:rgba(37,99,235,.04)}.income-source-icon{font-size:20px}.income-source-info b{display:block;font-size:13px;color:var(--text)}.income-source-info small{display:block;font-size:11px;color:var(--text3);margin-top:2px}.income-source-amount{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;color:var(--green);white-space:nowrap}.income-source-share{font-size:12px;font-weight:950;color:var(--text3);min-width:42px;text-align:right}
.income-source-detail{display:none;border:1px solid var(--border);border-radius:14px;background:var(--bg2);padding:10px;margin:-3px 0 5px 44px}.income-source-detail.active{display:block}.income-source-txn{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--text2);padding:7px 0;border-bottom:1px solid var(--border)}.income-source-txn:last-child{border-bottom:none}.income-source-txn b{font-family:'JetBrains Mono',monospace;color:var(--green);white-space:nowrap}
.income-ai-note{border:1px solid rgba(245,158,11,.2);background:rgba(255,251,235,.86);border-radius:14px;padding:12px;color:var(--text2);font-size:13px;font-weight:760;line-height:1.5;margin-top:12px}
.income-breakdown-actions{display:flex;gap:10px;margin-top:14px}.income-breakdown-actions button{border:none;border-radius:999px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:900;cursor:pointer}.income-breakdown-actions .primary{background:var(--green);color:#fff}.income-breakdown-actions .secondary{background:var(--bg3);color:var(--text)}
@media(max-width:640px){.income-breakdown-overlay{align-items:flex-end;padding:0}.income-breakdown-modal{max-height:92vh;border-radius:22px 22px 0 0}.income-breakdown-summary{grid-template-columns:1fr}.income-source-row{grid-template-columns:30px minmax(0,1fr) auto}.income-source-share{grid-column:2/4;text-align:left}.income-breakdown-actions{flex-direction:column}.income-breakdown-actions button{width:100%}}
.bhc-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:12px;display:block}
.bhc-value{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.income-card .bhc-value{color:var(--green)}.expense-card .bhc-value{color:var(--red)}.balance-card .bhc-value{color:var(--gold)}.saving-rate-card .bhc-value{color:var(--purple)}.cost-card .bhc-value{color:var(--amber)}
.bhc-sub{font-size:14px;color:var(--text3);margin-top:8px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-actions-top{display:flex;gap:12px;margin-bottom:24px}
#sales-hero { grid-template-columns: repeat(5, 1fr); }
.period-bar{display:flex;align-items:center;gap:12px;background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:14px 20px;margin-bottom:20px;box-shadow:var(--shadow);flex-wrap:wrap;scroll-margin-top:20px}
.period-label{font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.period-tabs{display:flex;gap:6px;background:var(--bg3);border-radius:12px;padding:6px}
.ptab{padding:8px 16px;font-size:12px;font-weight:700;font-family:inherit;background:0 0;border:none;color:var(--text2);border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}
.ptab:hover{background:var(--bg2)}
.ptab.active{background:var(--bg2);color:var(--gold);box-shadow:0 1px 4px rgba(62,39,35,.08)}
.period-nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav-btn{background:var(--bg3);border:1px solid var(--border2);color:var(--text2);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.nav-btn:hover{background:var(--gold2);border-color:var(--gold);color:var(--gold)}
.period-display{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--text);min-width:140px;text-align:center}
.budget-tabs{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.btab{padding:8px 18px;font-size:13px;font-weight:600;font-family:inherit;background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}
.btab:hover{border-color:var(--gold);color:var(--gold);background:var(--gold2);transform:translateY(-1px);box-shadow:0 4px 10px rgba(62,39,35,.04)}
.btab.active-income{background:var(--green2);border-color:rgba(15,118,110,.3);color:var(--green);font-weight:700}
.btab.active-expense{background:var(--red2);border-color:rgba(190,18,60,.3);color:var(--red);font-weight:700}
.btab.active-all{background:var(--gold2);border-color:rgba(212,175,55,.3);color:var(--gold);font-weight:700}
#limits-view-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.limit-row{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:0;box-shadow:0 1px 2px rgba(62,39,35,.02);display:block;transition:transform .2s,box-shadow .2s}
.limit-row:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(62,39,35,.04)}
.limit-header{display:flex;justify-content:space-between;font-size:13px;font-weight:600;align-items:center}
.limit-bar-bg{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.limit-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}
.limit-bar-fill.safe{background:var(--green)}.limit-bar-fill.warn{background:var(--amber)}.limit-bar-fill.danger{background:var(--red)}
.limit-edit-row{display:flex;gap:10px;margin-bottom:12px;align-items:center;background:var(--bg3);padding:12px;border-radius:12px;border:1px solid var(--border)}
.limit-edit-row input,.limit-edit-row select{padding:10px;border-radius:8px;border:1px solid var(--border2);font-size:13px;font-family:inherit;width:100%;outline:none}
.limit-edit-row input:focus,.limit-edit-row select:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold2)}
.le-name{flex:2;min-width:120px}.le-type{flex:1;min-width:100px}.le-val{flex:1.5;min-width:100px;font-family:'JetBrains Mono',monospace}
.le-del{background:var(--red2);color:var(--red);border:none;border-radius:8px;width:36px;height:36px;cursor:pointer;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s}
.le-del:hover{background:var(--red);color:#fff}
.txn-box{background:rgba(93,64,55,.02);border:1px solid var(--border2);border-radius:12px;padding:6px;max-height:380px;overflow-y:auto;box-shadow:inset 0 2px 6px rgba(62,39,35,.04)}
.txn-box::-webkit-scrollbar{width:4px}
.txn-box::-webkit-scrollbar-track{background:0 0}
.txn-box::-webkit-scrollbar-thumb{background:rgba(93,64,55,.15);border-radius:4px}
.txn-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;padding:10px 14px;border:1px solid var(--border);background:var(--bg2);border-radius:8px;margin-bottom:6px;transition:all .2s;gap:12px;border-left:3px solid transparent;box-shadow:0 1px 2px rgba(62,39,35,.02)}
.txn-row:last-child{margin-bottom:0}
.txn-row:hover{transform:translateX(2px);border-color:var(--border2);background:#fff;box-shadow:0 3px 8px rgba(62,39,35,.06)}
.txn-row.inc-row{border-left-color:var(--green)}.txn-row.exp-row{border-left-color:var(--red)}
.txn-col-1{display:flex;flex-direction:column;gap:5px}
.txn-meta-cat{align-self:flex-start;text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:9px;color:var(--text2);padding:3px 6px;background:var(--bg3);border-radius:4px;border:1px solid var(--border)}
.txn-date{font-size:10px;color:var(--text3);font-family:'JetBrains Mono',monospace;font-weight:600}
.txn-col-2{display:flex;flex-direction:column;gap:3px;min-width:0}
.txn-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txn-note{font-size:11px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txn-col-3{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.txn-amount{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:800;white-space:nowrap;text-align:right}
.txn-amount.income-amt{color:var(--green)}.txn-amount.expense-amt{color:var(--red)}
.txn-actions{display:flex;gap:6px;flex-shrink:0}
.txn-del{background:var(--bg3);border:none;color:var(--text3);cursor:pointer;font-size:12px;font-weight:700;width:auto;height:auto;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:6px 12px}
.txn-del:hover{background:var(--red2);color:var(--red)}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.chart-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.chart-card canvas{max-height:280px}

.cashflow-donut-panel{background:linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(240,253,244,.72) 100%);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}
.cashflow-donut-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.cashflow-donut-title{font-size:16px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px;line-height:1.25}
.cashflow-donut-title::before{content:'';width:6px;height:18px;border-radius:999px;background:var(--gold);display:inline-block;flex:0 0 auto}
.cashflow-donut-sub{font-size:12px;font-weight:650;color:var(--text3);margin-top:4px;line-height:1.45}
.cashflow-donut-toggle{border:1px solid rgba(15,118,110,.18);background:var(--green2);color:var(--green);height:32px;padding:0 12px;border-radius:999px;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.2s;white-space:nowrap}
.cashflow-donut-toggle:hover{background:var(--green);color:#fff;transform:translateY(-1px)}
.cashflow-donut-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;transition:max-height .28s ease,opacity .22s ease,margin .22s ease;overflow:hidden;max-height:520px;opacity:1}
.cashflow-donut-panel.collapsed .cashflow-donut-body{max-height:0;opacity:0;margin:0;pointer-events:none}
.cashflow-donut-card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:16px;min-width:0;box-shadow:0 2px 10px rgba(62,39,35,.03)}
.cashflow-donut-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cashflow-donut-label{font-size:13px;font-weight:950;color:var(--text);display:flex;align-items:center;gap:7px}.cashflow-donut-total{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:950;white-space:nowrap}.cashflow-donut-total.income{color:var(--green)}.cashflow-donut-total.expense{color:var(--red)}
.cashflow-donut-canvas{height:240px;position:relative;display:flex;align-items:center;justify-content:center}.cashflow-donut-canvas canvas{max-height:240px!important;max-width:100%}
.cashflow-donut-legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.cashflow-donut-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:800;color:var(--text2);max-width:100%}.cashflow-donut-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.cashflow-donut-chip span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.cashflow-donut-empty{height:240px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text3);font-size:13px;font-weight:700;background:var(--bg3);border:1px dashed var(--border2);border-radius:16px;line-height:1.5;padding:16px}
@media(max-width:768px){.cashflow-donut-panel{padding:16px;margin-bottom:16px;width:100%!important;overflow:visible!important}.cashflow-donut-body{grid-template-columns:1fr!important;gap:12px!important;max-height:none!important;overflow:visible!important}.cashflow-donut-panel.collapsed .cashflow-donut-body{max-height:0!important;overflow:hidden!important}.cashflow-donut-card{width:100%!important;min-width:0!important;padding:14px!important;overflow:visible!important}.cashflow-donut-canvas{width:100%!important;height:220px!important;min-height:220px!important;max-height:220px!important}.cashflow-donut-canvas canvas{width:100%!important;max-width:100%!important;height:220px!important;max-height:220px!important}.cashflow-donut-legend{display:flex!important;flex-wrap:wrap!important;gap:6px!important;max-width:100%!important;overflow:visible!important}.cashflow-donut-chip{max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:unset!important;line-height:1.35!important}.cashflow-donut-chip span:last-child{white-space:normal!important;overflow:visible!important;text-overflow:unset!important;max-width:100%!important}}
.sales-donut-panel{background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(255,251,235,.72) 100%)}
.sales-donut-panel .cashflow-donut-title::before{background:var(--gold)}
.sales-donut-panel .cashflow-donut-body{grid-template-columns:1fr 1fr}
.sales-donut-panel .cashflow-donut-chip span:last-child{max-width:210px}
@media(max-width:768px){.sales-donut-panel,.sales-breakdown-panel,.sales-chart-panel{width:100%!important;overflow:visible!important}.sales-donut-panel .cashflow-donut-body,.sales-donut-body,.sales-breakdown-body,.sales-chart-body{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important}.sales-donut-panel .cashflow-donut-card{padding:14px!important}.sales-donut-panel .cashflow-donut-legend,.sales-donut-legend,.sales-chart-legend,.sales-breakdown-legend{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;overflow:visible!important}.sales-donut-panel .cashflow-donut-chip,.sales-donut-chip,.sales-chart-chip,.sales-breakdown-chip{width:100%!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:unset!important;border-radius:12px;justify-content:flex-start}}
.cat-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cat-bar-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg2);border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 2px rgba(62,39,35,.02);transition:transform .2s;margin-bottom:0}
.cat-bar-row:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(62,39,35,.04)}
.cat-bar-info{flex:1;min-width:0}
.cat-bar-name{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-bar-track{height:4px;background:var(--bg3);border-radius:2px;margin-top:8px;overflow:hidden;border:none}
.cat-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}
.cat-bar-pct{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;min-width:44px;text-align:right}
.cat-bar-val{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--text2);min-width:90px;text-align:right;font-weight:600}
.preset-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.preset-btn{padding:8px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .2s;letter-spacing:.02em}
.preset-btn:hover{background:var(--gold2);border-color:var(--gold);color:var(--gold)}
.preset-btn.selected-income{background:var(--green2);border-color:rgba(15,118,110,.3);color:var(--green)}
.preset-btn.selected-expense{background:var(--red2);border-color:rgba(190,18,60,.3);color:var(--red)}
.summary-table{width:100%;border-collapse:collapse}
.summary-table th{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;padding:12px 14px;text-align:left;border-bottom:1px solid var(--border2)}
.summary-table td{padding:14px;border-bottom:1px solid var(--border);font-size:13px}
.summary-table tr:last-child td{border-bottom:none}
.summary-table tr:hover td{background:var(--bg3)}
.summary-table .mono{font-family:'JetBrains Mono',monospace;font-weight:700}
.summary-table .total-row td{font-weight:800;background:var(--bg3);border-top:2px solid var(--border2)}
.rate-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0 10px 0;border-top:1px dashed var(--border2);padding-top:12px}
.rate-card{display:flex;align-items:center;gap:6px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:4px 6px;box-shadow:0 1px 2px rgba(62,39,35,.02);transition:transform .2s}
.rate-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(62,39,35,.05)}
.rate-icon-box{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px}
.rate-icon-box svg{width:12px;height:12px}
.rate-info{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between}
.rate-card-left{display:flex;flex-direction:column}
.rate-card .rl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:0;font-weight:700;line-height:1;margin-bottom:2px}
.rate-card .rv{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:800;color:var(--text);line-height:1}
.rate-card .rb{display:none!important}
.rate-btn-group{display:flex;gap:4px}
.rate-btn{background:var(--bg3);border:none;color:var(--text2);cursor:pointer;padding:0;border-radius:4px;transition:.2s;display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:10px}
.rate-btn:hover{background:var(--gold2);color:var(--gold)}
.rate-btn.del:hover{background:var(--red2);color:var(--red)}
.footer{text-align:center;font-size:12px;color:var(--text3);margin-top:20px;line-height:1.8}
.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(253,250,246,.9);backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center}
.auth-content{background:var(--bg2);border:1px solid var(--border2);border-radius:24px;padding:32px 32px 40px;text-align:center;width:90%;max-width:380px;box-shadow:0 25px 50px -12px rgba(62,39,35,.15)}
.auth-content h2{margin-bottom:20px;font-size:24px;font-weight:800;color:var(--text)}
.auth-tabs{display:flex;gap:8px;margin-bottom:20px;background:var(--bg3);padding:6px;border-radius:14px}
.auth-tab{flex:1;padding:10px;border:none;background:0 0;border-radius:10px;font-weight:700;cursor:pointer;color:var(--text3);transition:all .2s;font-family:inherit}
.auth-tab.active{background:var(--bg2);color:var(--gold);box-shadow:var(--shadow)}
.auth-content input{width:100%;background:var(--bg3);border:2px solid var(--border2);color:var(--text);padding:16px;border-radius:12px;margin-bottom:16px;outline:none;font-size:15px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}
.auth-content input:focus{border-color:var(--gold)}
.auth-content button.main-btn{width:100%;padding:16px;background:var(--gold);border:none;color:#fff;font-weight:700;font-size:16px;border-radius:12px;cursor:pointer;transition:all .2s;margin-top:8px;font-family:inherit}
.auth-content button.main-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(212,175,55,.25);background:#cda32f}
.auth-err{color:var(--red);font-size:13px;margin-top:16px;min-height:20px;font-weight:600}
.save-error-msg{display:none;background:var(--red2);color:var(--red);border:1px solid var(--red);padding:10px;border-radius:8px;font-size:12px;margin-top:10px;text-align:left;font-weight:600;width:100%;box-sizing:border-box}
.save-error-msg.visible{display:block}

/* Feedback Modal Styles */
#feedback-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(62, 39, 35, 0.6); backdrop-filter: blur(8px); z-index: 99999; display: flex; justify-content: center; align-items: center; }
#feedback-modal-overlay .modal-box { width: 90%; max-width: 450px; background: var(--bg2); border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); overflow: hidden; animation: slideUp 0.3s ease; }
#feedback-modal-overlay .cm-header { padding: 20px; border-bottom: 1px solid var(--border2); display: flex; justify-content: space-between; align-items: center; }
#feedback-modal-overlay .cm-header h3 { font-size: 18px; font-weight: 800; color: var(--text); display: flex; align-items: center; gap: 8px; margin: 0; }
#feedback-modal-overlay .cm-body { padding: 20px; }
#feedback-modal-overlay textarea { width: 100%; height: 120px; padding: 12px; border: 1px solid var(--border2); border-radius: 10px; font-family: inherit; font-size: 14px; background: var(--bg3); color: var(--text); resize: none; outline: none; margin-bottom: 16px; }
#feedback-modal-overlay textarea:focus { border-color: var(--gold); }
#feedback-modal-overlay select { width: 100%; padding: 10px; margin-bottom: 12px; border-radius: 8px; border: 1px solid var(--border2); background: var(--bg3); font-family: inherit; font-size: 14px; outline: none; }

.mobile-nav{display:none;position:fixed;bottom:0;left:0;width:100%;background:var(--bg2);border-top:1px solid var(--border);z-index:1000;box-shadow:0 -4px 15px rgba(62,39,35,.05);padding-bottom:env(safe-area-inset-bottom)}
.mnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 0;border:none;background:0 0;color:var(--text3);font-size:11px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit}
.mnav-btn.active{color:var(--gold)}
.mnav-btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sort-select{padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:13px;font-weight:600;font-family:inherit;outline:none;cursor:pointer;transition:all .2s}
.sort-select:focus,.sort-select:hover{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold2);color:var(--gold)}
#toast{visibility:hidden;min-width:250px;background-color:var(--green);color:#fff;text-align:center;border-radius:10px;padding:14px 20px;position:fixed;z-index:10000;left:50%;bottom:30px;transform:translateX(-50%);font-weight:700;font-size:14px;box-shadow:0 4px 15px rgba(0,0,0,.15);transition:opacity .3s,bottom .3s;opacity:0;pointer-events:none}
#toast.show{visibility:visible;opacity:1;bottom:50px}
.limit-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; background: var(--bg3); padding: 16px; border-radius: 12px; margin-bottom: 16px; }
.ls-col { display: flex; flex-direction: column; justify-content: center; }
.ls-col:not(:first-child) { border-left: 1px solid var(--border2); padding-left: 16px; }
.ls-lbl { font-size: 11px; font-weight: 700; color: var(--text3); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.05em; }
.ls-val { font-size: 18px; font-weight: 800; line-height: 1.2; }
.ls-sub { font-size: 11px; color: var(--text3); margin-top: 2px; }
.ls-txt { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.app-logo { height: 60px; width: auto; object-fit: contain; flex-shrink: 0; }
/* Ẩn chức danh dưới logo để giao diện gọn hơn */
.logo-role-badge,
.gamification-badge,
#user-badge,
#logo-gami-badge{
  display:none!important;
}

/* === VHTG PATCH 2026-06-04N-FINAL: final font lock === */
#section-home .journey-section-head h2,
#section-home .home-section-title,
#section-home .growth-section-title,
#section-assets .investment-dashboard-title{
  font-size:18px!important;
  line-height:1.25!important;
}
#section-home .journey-roadmap .journey-node-title,
#section-home .home-growth-kpi-label,
#section-home .growth-metric-label{
  font-size:13.5px!important;
  line-height:1.25!important;
}
#section-home .home-growth-kpi-sub,
#section-home .growth-metric-sub,
#section-home #journey-roadmap-status{
  font-size:12.5px!important;
  line-height:1.45!important;
}
#section-home .home-growth-kpi-value,
#section-home .growth-metric-value{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.12!important;
}

/* === VHTG PATCH 2026-06-04P-FINAL-END: mobile menu readable labels === */
@media(max-width:768px){
  .mobile-nav .mnav-btn{
    min-height:58px!important;
    height:58px!important;
    padding:7px 2px!important;
    gap:4px!important;
    font-size:12px!important;
    line-height:1.05!important;
  }
  .mobile-nav .mnav-btn span{
    display:block!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.05!important;
    font-weight:800!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mobile-nav .mnav-btn svg{
    width:22px!important;
    height:22px!important;
  }
}
@media(max-width:380px){
  .mobile-nav .mnav-btn span{font-size:11px!important}
}

/* === VHTG PATCH 2026-06-04P: mobile nav font + savings banking cards + audit log === */
@media(max-width:768px){
  .mobile-nav .mnav-btn{
    min-height:58px!important;
    height:58px!important;
    padding:7px 2px!important;
    gap:4px!important;
    font-size:12px!important;
    line-height:1.05!important;
  }
  .mobile-nav .mnav-btn span{
    display:block!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.05!important;
    font-weight:800!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mobile-nav .mnav-btn svg{
    width:22px!important;
    height:22px!important;
  }
}
@media(max-width:380px){
  .mobile-nav .mnav-btn span{font-size:11px!important}
}
#tab-save.savings-redesigned>.sec>.sec-hdr,
#tab-save.savings-redesigned .sec>.sec-hdr:first-child{
  display:none!important;
}
.savings-modern-shell,
.savings-modern-shell *{
  box-sizing:border-box;
  min-width:0;
}
.savings-modern-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
  color:#12372A;
  font-family:"Be Vietnam Pro",Inter,system-ui,sans-serif;
}
.savings-modern-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:#fff;
  border:1px solid #E5F1EC;
  border-radius:22px;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.savings-title-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}
.savings-hero-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:18px;
  background:#EAF8EF;
  font-size:28px;
  box-shadow:inset 0 0 0 1px rgba(22,163,74,.08);
}
.savings-title-wrap h2{
  margin:0;
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  color:#12372A;
  letter-spacing:0;
}
.savings-title-wrap p{
  margin:5px 0 0;
  font-size:14px;
  line-height:1.35;
  color:#6B8178;
  font-weight:600;
}
.savings-add-btn{
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#0F7A4A,#16A34A);
  color:#fff;
  min-height:44px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:800 14px/1 "Be Vietnam Pro",Inter,system-ui,sans-serif;
  box-shadow:0 12px 22px rgba(15,122,74,.18);
  cursor:pointer;
}
.savings-add-btn span{
  font-size:18px;
  line-height:1;
}
.savings-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding:16px;
  background:#fff;
  border:1px solid #E5F1EC;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.savings-summary-item{
  display:flex;
  align-items:center;
  gap:13px;
  padding:7px 18px;
  border-right:1px solid #E5F1EC;
}
.savings-summary-item:last-child{border-right:0}
.savings-summary-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#EAF8EF;
  color:#0F7A4A;
  font-weight:900;
}
.savings-summary-item small{
  display:block;
  color:#6B8178;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}
.savings-summary-item strong{
  display:block;
  margin-top:4px;
  color:#12372A;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
  white-space:nowrap;
}
.savings-summary-item strong.up,
.savings-metric strong.up,
.savings-card-footer .up{color:#16A34A}
.savings-card-footer .dn{color:#DC2626}
.savings-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 0;
}
.savings-list-head h3{
  margin:0;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  color:#12372A;
}
.savings-list-head span{
  color:#6B8178;
  font-size:13px;
  font-weight:800;
}
.savings-card-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.savings-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:20px;
  align-items:stretch;
  background:#fff;
  border:1px solid #E5F1EC;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
  padding:20px;
}
.savings-card.is-closed{opacity:.72}
.savings-card-left{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.savings-card-header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.bank-logo{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#FEE2E2,#EF4444);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
  font-weight:900;
  font-size:12px;
  line-height:1;
}
.bank-logo[data-bank*="TIMO"]{background:linear-gradient(135deg,#312E81,#F59E0B)}
.bank-logo[data-bank*="ACB"]{background:linear-gradient(135deg,#1E3A8A,#2563EB)}
.savings-bank-info{
  overflow:hidden;
}
.bank-name{
  color:#12372A;
  font-size:20px;
  line-height:1.1;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.savings-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.badge-rate,
.badge-term{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:8px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.badge-rate{
  background:#EAF8EF;
  color:#16A34A;
}
.badge-term{
  background:#FFF2E0;
  color:#F59E0B;
}
.savings-card-menu{
  justify-self:end;
}
.savings-card-menu .asset-action-wrap{
  position:relative;
}
.savings-card-menu .asset-action-more{
  width:38px!important;
  height:38px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #DDEFE7!important;
  color:#12372A!important;
  box-shadow:0 4px 12px rgba(15,23,42,.06)!important;
}
.savings-card-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px 22px;
}
.savings-metric small{
  display:block;
  color:#6B8178;
  font-size:12.5px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.savings-metric strong{
  display:block;
  margin-top:7px;
  color:#12372A;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.savings-card-footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  color:#6B8178;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.savings-card-footer span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.savings-card-footer b{
  color:#12372A;
  font-weight:900;
}
.savings-card-total{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-end;
  gap:5px;
  padding-left:22px;
  border-left:1px solid #E5F1EC;
  text-align:right;
}
.savings-card-total strong,
.savings-mobile-total strong{
  color:#12372A;
  font-size:19px;
  line-height:1.15;
  font-weight:900;
  white-space:nowrap;
}
.savings-card-total small,
.savings-mobile-total small{
  color:#6B8178;
  font-size:13px;
  font-weight:700;
}
.savings-mobile-total{display:none}
.savings-note{
  padding:13px 16px;
  border:1px solid #D9F2E3;
  border-radius:14px;
  background:#F0FBF5;
  color:#375A4B;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
.savings-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:160px;
  border:1px dashed #DDEFE7;
  border-radius:18px;
  background:#F8FDFA;
  color:#6B8178;
  text-align:center;
}
.savings-empty b{color:#12372A;font-size:16px}
.audit-log-card{
  margin:14px 0;
  padding:16px;
  background:#fff;
  border:1px solid #E5F1EC;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,122,74,.06);
}
.audit-log-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.audit-log-head h3{
  margin:0;
  color:#12372A;
  font-size:17px;
  line-height:1.2;
  font-weight:900;
}
.audit-log-head p{
  margin:4px 0 0;
  color:#6B8178;
  font-size:12.5px;
  line-height:1.4;
  font-weight:600;
}
.audit-log-head>span{
  flex:0 0 auto;
  border-radius:999px;
  background:#EEF8F3;
  color:#0F7A4A;
  padding:6px 10px;
  font-size:11.5px;
  font-weight:900;
}
.audit-log-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.audit-log-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  padding:10px;
  border-radius:14px;
  background:#F8FDFA;
  border:1px solid #EAF4EE;
}
.audit-log-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#EAF8EF;
  color:#0F7A4A;
  font-weight:900;
}
.audit-log-main{
  min-width:0;
}
.audit-log-main strong,
.audit-log-main span,
.audit-log-main small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
}
.audit-log-main strong{
  color:#12372A;
  font-size:13.5px;
  line-height:1.35;
  font-weight:900;
}
.audit-log-main span,
.audit-log-main small{
  color:#6B8178;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}
.audit-log-empty{
  padding:16px;
  border-radius:14px;
  background:#F8FDFA;
  color:#6B8178;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
@media(max-width:768px){
  .savings-modern-shell{gap:14px}
  .savings-modern-header{
    display:grid;
    grid-template-columns:1fr auto;
    padding:14px;
    border-radius:20px;
  }
  .savings-title-wrap{
    justify-content:center;
    gap:10px;
  }
  .savings-hero-icon{
    width:44px;
    height:44px;
    border-radius:15px;
    font-size:22px;
  }
  .savings-title-wrap h2{
    font-size:19px;
    text-align:left;
  }
  .savings-title-wrap p{
    font-size:12px;
  }
  .savings-add-btn{
    width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    border-radius:999px;
    justify-content:center;
  }
  .savings-add-btn b{display:none}
  .savings-add-btn span{font-size:24px}
  .savings-summary{
    grid-template-columns:repeat(2,1fr);
    padding:12px;
    gap:0;
  }
  .savings-summary-item{
    padding:12px;
    border-right:1px solid #E5F1EC;
    border-bottom:1px solid #E5F1EC;
  }
  .savings-summary-item:nth-child(2n){border-right:0}
  .savings-summary-item:nth-child(n+3){border-bottom:0}
  .savings-summary-icon{
    width:38px;
    height:38px;
    border-radius:13px;
  }
  .savings-summary-item small{
    font-size:11.5px;
  }
  .savings-summary-item strong{
    font-size:14px;
  }
  .savings-list-head{
    padding:0 2px;
  }
  .savings-list-head h3{
    font-size:16px;
  }
  .savings-list-head span{
    font-size:12px;
  }
  .savings-card{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    padding:14px;
    border-radius:18px;
  }
  .savings-card-header{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    gap:10px;
    align-items:flex-start;
  }
  .bank-logo{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:10px;
  }
  .bank-name{
    font-size:17px;
    white-space:nowrap;
  }
  .savings-badges{
    gap:5px;
    margin-top:5px;
  }
  .badge-rate,
  .badge-term{
    min-height:19px;
    padding:3px 6px;
    border-radius:7px;
    font-size:9.5px;
  }
  .savings-mobile-total{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    text-align:right;
    max-width:112px;
  }
  .savings-mobile-total strong{
    max-width:112px;
    font-size:14.5px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .savings-mobile-total small{
    font-size:11px;
    white-space:nowrap;
  }
  .savings-card-total{
    display:none;
  }
  .savings-card-menu .asset-action-more{
    width:30px!important;
    height:30px!important;
    font-size:16px!important;
  }
  .savings-card-metrics{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px 12px;
  }
  .savings-metric small{
    font-size:11.5px;
  }
  .savings-metric strong{
    font-size:12.8px;
  }
  .savings-card-footer{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    font-size:11.5px;
    padding-top:2px;
  }
  .amount-value{
    white-space:nowrap;
  }
  .savings-note{
    font-size:12px;
    padding:11px 12px;
  }
  .audit-log-card{
    padding:14px;
    border-radius:16px;
  }
  .audit-log-head{
    flex-direction:column;
    gap:8px;
  }
}

/* === VHTG PATCH 2026-06-04O: auth verification micro UI === */
.auth-verify-warning{
  background:#fff7ed!important;
  border:1px solid rgba(245,158,11,.28)!important;
  color:#92400e!important;
  border-radius:14px!important;
  padding:12px!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:750!important;
}
.auth-inline-btn{
  margin-top:9px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0f7a4a!important;
  color:#fff!important;
  padding:8px 12px!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

/* Nâng cấp VIP styles */
.vip-status-btn{position:absolute;top:0;right:-35px;border:none;padding:2px 6px;border-radius:6px;font-size:9px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;transition:.2s;letter-spacing:.02em;font-family:inherit;vertical-align:top;box-shadow:0 2px 6px rgba(0,0,0,.05);margin-top:2px;z-index:2}
.vip-status-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.1)}
.vs-vip{background:linear-gradient(135deg,#eeb847 0%,#cca02a 100%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(212,175,55,.3)}
.vs-trial{background:var(--blue2);color:var(--blue);border:1px solid rgba(3,105,161,.2);box-shadow:none}
.vs-expired{background:var(--red2);color:var(--red);border:1px solid rgba(190,18,60,.2);box-shadow:none}

.upgrade-btn{background:linear-gradient(135deg,#eeb847 0%,#cca02a 100%);color:#fff;border:none;padding:6px 12px;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;transition:.2s;box-shadow:0 2px 6px rgba(212,175,55,.25);white-space:nowrap}
.upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,175,55,.4)}
.pricing-card{border:2px solid var(--border2);border-radius:16px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg2);position:relative;overflow:hidden}
.pricing-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 20px rgba(212,175,55,.1)}
.pricing-card.popular{border-color:var(--gold);background:var(--gold2)}
.pricing-card.popular::before{content:'TIẾT KIỆM';position:absolute;top:12px;right:-30px;background:var(--gold);color:#fff;font-size:10px;font-weight:800;padding:4px 30px;transform:rotate(45deg)}
.vip-smart-banner{display:none;align-items:center;justify-content:space-between;gap:14px;background:radial-gradient(circle at top left,rgba(212,175,55,.16),transparent 34%),linear-gradient(135deg,var(--gold2),var(--bg2));border:1px solid rgba(212,175,55,.22);border-radius:18px;padding:14px 16px;margin-bottom:16px;box-shadow:0 10px 28px rgba(212,175,55,.10),inset 0 1px 0 rgba(255,255,255,.55)}
.vip-smart-label{font-size:13px;font-weight:900;color:var(--amber);margin-bottom:4px}
.vip-smart-desc{font-size:12px;font-weight:650;color:var(--text2);line-height:1.45}
.vip-smart-cta{border:none;background:linear-gradient(135deg,var(--gold),#c89b2f);color:#fff;border-radius:999px;padding:10px 14px;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px rgba(212,175,55,.25)}
.vip-smart-cta:hover{transform:translateY(-1px)}
.vip-smart-cta:active{transform:scale(.97)}
.vip-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.vip-benefit-list{display:grid;gap:8px;text-align:left;color:var(--text2);font-size:13px;font-weight:700;line-height:1.45;margin-top:14px}
.vip-contact-option{display:flex;gap:10px;align-items:flex-start;background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:10px}
@media(max-width:640px){.vip-smart-banner{align-items:flex-start;flex-direction:column;padding:13px 14px}.vip-smart-cta{width:100%}.vip-plan-grid{grid-template-columns:1fr}}
.pr-title{font-size:18px;font-weight:800;color:var(--text);margin-bottom:8px}
.pr-price{font-size:24px;font-family:'JetBrains Mono',monospace;font-weight:800;color:var(--gold);margin-bottom:4px}
.pr-sub{font-size:12px;color:var(--text3)}
.qr-container{background:#fff;padding:16px;border-radius:16px;border:1px solid var(--border);display:inline-block;margin:16px 0}
.qr-container img{width:100%;max-width:250px;height:auto;display:block;border-radius:8px}
.loader-spinner{border:3px solid var(--bg3);border-top:3px solid var(--gold);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* CẢNH BÁO CHỐT LỜI */
.alert-banner { background: var(--red); color: white; padding: 12px 18px; border-radius: 12px; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; margin-bottom: 20px; animation: alert-blink 1.5s infinite; box-shadow: 0 4px 12px rgba(190,18,60,0.3); }
@keyframes alert-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.85; background: #9f1239; box-shadow: 0 2px 6px rgba(190,18,60,0.2); } }
.target-badge { background: var(--purple2); color: var(--purple); font-size: 10px; padding: 2px 6px; border-radius: 4px; margin-left: 6px; border: 1px solid rgba(109,40,217,0.2); }

/* --- FLOAT QUICK ADD BUTTON (FAB) --- */
.fab-container { position: fixed; bottom: 30px; right: 24px; z-index: 5000; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; touch-action: none; }
.fab-main { width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(135deg, #eeb847 0%, #cca02a 100%); color: #fff; border: none; font-size: 26px; font-weight: 300; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(212,175,55,0.4); cursor: grab; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); line-height: 1; padding-bottom: 4px; position: relative; }
.fab-main:active { cursor: grabbing; }
.fab-main:hover { transform: scale(1.05); box-shadow: 0 6px 20px rgba(212,175,55,0.6); }
.fab-container.active .fab-main { transform: rotate(45deg); background: var(--bg3); color: var(--text); box-shadow: 0 4px 15px rgba(0,0,0,0.1); border: 1px solid var(--border); }
.fab-menu { display: flex; flex-direction: column; gap: 10px; opacity: 0; pointer-events: none; transform: translateY(20px); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); align-items: flex-end; }
.fab-container.active .fab-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.fab-item { background: var(--bg2); border: 1px solid var(--border); padding: 12px 18px; border-radius: 12px; font-size: 13px; font-weight: 700; color: var(--text); cursor: pointer; box-shadow: var(--shadow); display: flex; align-items: center; gap: 8px; transition: all 0.2s; white-space: nowrap; font-family: inherit; }
.fab-item:hover { background: var(--gold2); border-color: var(--gold); color: var(--gold); transform: translateX(-4px); box-shadow: var(--shadow-hover); }

.fab-close-badge { position: absolute; top: -6px; right: -6px; background: var(--red); color: white; border: 2px solid var(--bg); border-radius: 50%; width: 22px; height: 22px; font-size: 11px; font-weight: bold; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.2); z-index: 5001; transition: 0.2s; }
.fab-close-badge:hover { transform: scale(1.15); background: #9f1239; }
#fab-restore { position: fixed; bottom: 30px; right: 24px; z-index: 4999; display: none; background: var(--bg2); color: var(--text); border: 1px solid var(--border); border-radius: 20px; padding: 8px 16px; font-size: 12px; font-weight: 700; cursor: pointer; box-shadow: var(--shadow); transition: 0.2s; font-family: inherit; }
#fab-restore:hover { background: var(--gold2); color: var(--gold); border-color: var(--gold); transform: translateY(-2px); }

/* Nút cộng trung tâm trên Mobile Nav */
.mnav-center-btn { display: none; flex: 1; align-items: center; justify-content: center; border: none; background: transparent; cursor: pointer; padding: 0; outline: none; }
.mnav-fab-inner { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #eeb847 0%, #cca02a 100%); color: #fff; border: none; font-size: 26px; font-weight: 300; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(212,175,55,0.3); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); line-height: 1; padding-bottom: 4px; }
.mobile-nav.fab-active .mnav-fab-inner { transform: rotate(45deg); background: var(--bg3); color: var(--text); box-shadow: 0 2px 8px rgba(0,0,0,0.1); border: 1px solid var(--border); }

/* CUSTOM FOOTER STYLES */
.custom-footer { background: var(--bg2); border: 1px solid var(--border); border-radius: 16px; padding: 16px 24px; margin-top: 24px; display: flex; align-items: center; gap: 20px; box-shadow: var(--shadow); flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.custom-footer::-webkit-scrollbar { display: none; }
.cf-item { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--text2); text-decoration: none; transition: all 0.2s; white-space: nowrap; }
.cf-item.cf-link:hover { color: var(--gold); transform: translateY(-1px); }
.cf-highlight { color: var(--green); }
.cf-icon-box { width: 32px; height: 32px; border-radius: 50%; background: var(--green2); display: flex; align-items: center; justify-content: center; color: var(--green); }
.cf-divider { width: 1px; height: 20px; background: var(--border2); }
#cf-contact { margin-left: auto; }
.cf-text-mobile, .cf-divider-mobile-only { display: none; }

@media(max-width:768px){
  .app-logo { height: 40px; }
  .hdr{gap:10px;margin-bottom:16px}
  .sync-bar { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; padding: 6px 8px !important; gap: 4px !important; width: 100% !important; box-sizing: border-box !important; overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: none !important; -webkit-overflow-scrolling: touch !important; }
  .sync-bar::-webkit-scrollbar { display: none !important; }
  .sync-time { flex: 0 1 auto !important; min-width: 0 !important; margin: 0 auto 0 0 !important; font-size: 10px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; border: none !important; padding: 0 !important; }
  #shared-badge-container, #sync-indicator, .live-pill, .refresh-btn { flex: 0 0 auto !important; margin: 0 !important; white-space: nowrap !important; }
  .live-pill, .sync-pill { font-size: 9px !important; padding: 0 6px !important; height: 24px !important; display: inline-flex !important; align-items: center !important; box-sizing: border-box !important;}
  #sync-label { max-width: 72px !important; overflow: hidden !important; text-overflow: ellipsis !important; display: inline-block !important; }
  .refresh-btn { padding: 0 !important; width: 24px !important; height: 24px !important; min-width: 24px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 6px !important; box-sizing: border-box !important;}
  .refresh-btn svg { width: 13px !important; height: 13px !important; margin: 0 !important; display: block !important; }
  .hdr-left h1{font-size:20px;gap:4px;flex-wrap:nowrap;}
  .h1-actions { flex-shrink: 0; gap: 4px; }
  .h1-actions .txt { display: none; }
  .share-btn { padding: 0; width: 30px; height: 30px; justify-content: center; border-radius: 10px; }
  .share-btn svg { margin-right: 0 !important; width: 14px; height: 14px; }
  .share-split{height:30px;border-radius:10px;max-width:88px}
  .share-split-btn{padding:0 8px;min-width:38px}
  .share-split-btn .txt{display:none!important}
  .share-split-btn svg{width:15px;height:15px}
  .upgrade-btn { padding: 0; width: 30px; height: 30px; justify-content: center; border-radius: 10px; font-size: 13px; }
  .hero-split, .hero-split.wm-cols-1, .hero-split.wm-cols-2, .hero-split.wm-cols-3 { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 12px; margin: 0 -16px 16px -16px; padding: 0 16px 12px 16px; -webkit-overflow-scrolling: touch; }
  .hero-split::-webkit-scrollbar { display: none; }
  .hero-box { flex: 0 0 88% !important; scroll-snap-align: center; min-height: auto; padding: 20px; }
  .hero-main-val{font-size:24px!important}
  .hero-box.asset .hero-sub-grid{grid-template-columns:1fr 1fr;gap:12px}
  .hero-box.asset .hero-sub-grid>div:nth-child(3){flex-direction:column;justify-content:center;text-align:center!important;padding-top:12px;border-top:1px dashed rgba(62,39,35,.2);margin-top:4px}
  .hero-box.budget .hero-sub-grid, .hero-box.sales .hero-sub-grid{grid-template-columns:1fr;gap:10px}
  .hero-box.budget .hero-sub-grid>div, .hero-box.sales .hero-sub-grid>div{text-align:left!important}
  .rate-bar{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:12px}
  .rate-card{width:100%}
  .f-grid3,.f-grid2,.f-grid4{grid-template-columns:1fr;gap:12px}
  .sec{padding:16px}
  .sec-hdr{flex-direction:column;align-items:flex-start;gap:12px}
  .sec-hdr>div:last-child{width:100%;justify-content:space-between}
  .asset-summary-row{font-size:11px;margin-top:4px;justify-content:space-between;width:100%;gap:6px}
  .item-row{flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px}
  .item-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
  .item-right{flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px;gap:8px;margin-top:-4px}
  .ov-item { flex-direction: row !important; align-items: center !important; padding: 10px 14px !important; gap: 8px !important; margin-bottom: 10px !important; }
  .ov-item .item-right { flex-direction: column !important; align-items: flex-end !important; border: none !important; padding-top: 0 !important; gap: 4px !important; justify-content: center !important; margin-top: 0 !important; }
  .ov-item .item-name { font-size: 14px !important; margin-bottom: 2px !important; }
  .ov-item .item-sub { font-size: 11px !important; margin-top: 0 !important; }
  .ov-item .item-val { font-size: 15px !important; }
  .compact-item { padding: 12px 14px !important; gap: 10px !important; margin-bottom: 10px !important; }
  .compact-item .item-name { font-size: 14px !important; margin-bottom: 8px !important; }
  .compact-item .item-stats-grid { gap: 8px 12px !important; }
  .compact-item .item-right { padding-top: 10px !important; margin-top: 2px !important; }
  .budget-hero{grid-template-columns:1fr 1fr;gap:12px}
  .budget-hero > div:last-child { grid-column: 1 / -1; }
  #sales-hero { grid-template-columns: 1fr 1fr; }
  #sales-hero > div:last-child { grid-column: 1 / -1; }
  .budget-hero-card{padding:16px}
  .bhc-value{font-size:20px}
  .budget-actions-top{flex-direction:row;gap:8px}
  .budget-actions-top .add-toggle-btn{font-size:13px;padding:12px 8px;white-space:normal;line-height:1.2;text-align:center}
  .stats-grid{grid-template-columns:1fr;gap:16px}
  .limit-edit-row{flex-wrap:wrap}
  .le-name{width:100%}
  #limits-view-mode{grid-template-columns:1fr;gap:10px}
  .cat-breakdown{grid-template-columns:1fr;gap:10px}
  .txn-box { max-height: 60vh; }
  .txn-row{grid-template-columns:1fr auto;padding:12px;gap:8px}
  .txn-col-1{flex-direction:row;align-items:center;grid-column:1/-1;margin-bottom:2px;gap:8px}
  .txn-col-2{grid-column:1; min-width: 0;}
  .txn-col-3{grid-column:2; flex-direction:column; justify-content:center; align-items:flex-end; gap:8px;}
  .txn-amount{font-size:14px}
  .txn-filter-group { flex-direction: column; align-items: stretch !important; gap: 12px; width: 100%; }
  .txn-filter-group .budget-tabs { width: 100%; justify-content: space-between; gap: 8px; margin-top: 4px; display: flex; }
  .txn-filter-group .budget-tabs .btab { flex: 1; text-align: center; padding: 10px 0; }
  .txn-filter-group .sort-select { width: 100%; padding: 10px 14px; }
  .period-bar{flex-direction:column;align-items:stretch;gap:12px;padding:12px}
  .mobile-nav{display:flex}
  .main-tabs-wrap{display:none}
  .app{padding-bottom:80px}
  .connect-modal,.modal-box{border-radius:16px}
  .cm-actions{flex-direction:column}
  .sec-hdr-right-group{flex-wrap:wrap}
  .limit-summary-grid { grid-template-columns: 1fr 1fr; gap: 12px; padding: 14px; }
  .ls-col:not(:first-child) { border-left: 1px solid var(--border2); padding-left: 12px; border-top: none; padding-top: 0; }
  
  /* Ẩn nút nổi góc phải, hiện nút giữa nav */
  .mnav-center-btn { display: flex; }
  .fab-main, .fab-close-badge, #fab-restore { display: none !important; }
  .fab-container { bottom: calc(env(safe-area-inset-bottom) + 70px); left: 50%; right: auto; transform: translateX(-50%); align-items: center; width: 90%; pointer-events: none; }
  .fab-container.active { pointer-events: auto; }
  .fab-menu { align-items: center; }

  /* CUSTOM FOOTER MOBILE */
  .custom-footer { padding: 12px 12px; gap: 8px; justify-content: flex-start; border-radius: 12px; margin-bottom: 20px; }
  #cf-contact { margin-left: 0; }
  .cf-divider-mobile-only { display: block; height: 14px; }
  .cf-item { font-size: 11px; gap: 4px; flex-shrink: 0; }
  .cf-icon-box { width: 20px; height: 20px; }
  .cf-icon-box svg { width: 12px; height: 12px; }
  .cf-item svg { width: 14px; height: 14px; }
  .cf-text-desktop { display: none; }
  .cf-text-mobile { display: inline; }
  .cf-divider { height: 14px; flex-shrink: 0; }
}

/* GAMIFICATION & NOTIF ACTIONS */
.gamification-badge{display:none!important}
.logo-status-wrap{display:inline-flex;align-items:flex-start;position:relative;margin-right:0;min-height:64px}
.logo-gami-badge{position:absolute;left:74px;top:43px;max-width:112px;background:rgba(254,248,231,.92);color:#b45309;border:1px solid rgba(212,175,55,.28);padding:1px 6px;border-radius:999px;font-size:7.5px;font-weight:800;line-height:1.05;text-align:center;box-shadow:0 1px 3px rgba(212,175,55,.08);display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.logo-gami-badge.show{display:inline-flex;align-items:center;justify-content:center}
.quest-btn{background:var(--amber2);color:var(--amber);border:1px solid rgba(180,83,9,.2);padding:6px 12px;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;transition:.2s;white-space:nowrap}
.quest-btn:hover{background:var(--amber);color:#fff;transform:translateY(-1px)}
.quest-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:10px;display:flex;gap:10px;align-items:flex-start}
.quest-card.done{background:var(--green2);border-color:rgba(15,118,110,.25)}
.quest-icon{width:34px;height:34px;border-radius:10px;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.quest-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:3px}
.quest-desc{font-size:12px;color:var(--text3);line-height:1.45}
.quest-progress{height:6px;background:var(--border);border-radius:99px;overflow:hidden;margin-top:8px}
.quest-progress span{display:block;height:100%;background:var(--gold);border-radius:99px}
@media(max-width:768px){.logo-status-wrap{margin-right:0;min-height:70px}.logo-gami-badge{left:72px!important;top:42px!important;width:auto!important;max-width:110px!important;font-size:7.2px!important;line-height:1.05!important;padding:1px 5px!important;white-space:nowrap!important}.gamification-badge{display:none!important}.sales-subtabs,.budget-subtabs{gap:8px;margin-bottom:14px;padding:6px 2px 10px}.subtab{font-size:12px;padding:12px 14px;border-radius:13px;min-width:max-content;box-shadow:0 4px 12px rgba(62,39,35,.08)}}
.notif-action-link{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;color:var(--blue);cursor:pointer;padding:4px 8px;background:var(--blue2);border-radius:6px;transition:.2s;border:1px dashed rgba(3,105,161,.3)}
.notif-action-link:hover{background:var(--blue);color:#fff;border-style:solid}
.gami-trophy{font-size:60px;margin-bottom:16px;animation:slideUp .5s cubic-bezier(.34,1.56,.64,1)}


/* ADMIN CONSOLE & GEMINI CHATBOT */
.admin-console-btn{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border:none;padding:6px 12px;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer;display:none;align-items:center;transition:.2s;box-shadow:0 2px 8px rgba(15,23,42,.2);white-space:nowrap}
.admin-console-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.28)}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.admin-card{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:14px;cursor:pointer;transition:.2s;text-align:left;color:var(--text);font-family:inherit}
.admin-card:hover{background:var(--bg2);border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.admin-card-icon{font-size:24px;margin-bottom:8px}.admin-card-title{font-size:13px;font-weight:800;margin-bottom:4px}.admin-card-desc{font-size:11px;color:var(--text3);line-height:1.45}
.admin-list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;font-size:13px}.admin-list-email{font-weight:800;color:var(--text);word-break:break-all}.admin-list-role{font-size:10px;color:var(--text3);font-weight:800;text-transform:uppercase;margin-top:2px}

.admin-shell{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-radius:26px;overflow:hidden}
.admin-hero{padding:22px 24px;background:linear-gradient(135deg,#0f172a 0%,#1e293b 55%,#0f766e 130%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;overflow:hidden}
.admin-hero::after{content:'';position:absolute;right:-40px;top:-60px;width:180px;height:180px;background:radial-gradient(circle,rgba(212,175,55,.24),transparent 70%);pointer-events:none}
.admin-hero-left{display:flex;align-items:center;gap:14px;min-width:0;position:relative;z-index:1}.admin-hero-icon{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:24px;border:1px solid rgba(255,255,255,.18)}
.admin-hero-title{font-size:20px;font-weight:900;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-hero-sub{font-size:12px;color:rgba(255,255,255,.72);font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-hero-close{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;width:36px;height:36px;border-radius:12px;cursor:pointer;font-size:17px;position:relative;z-index:1}
.admin-body{padding:20px 22px 22px}.admin-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.admin-mini-stat{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:12px;box-shadow:var(--shadow)}.admin-mini-label{font-size:10px;font-weight:900;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.admin-mini-value{font-size:18px;font-weight:900;color:var(--text);font-family:'JetBrains Mono',monospace}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.admin-card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:16px;cursor:pointer;transition:.2s;text-align:left;color:var(--text);font-family:inherit;box-shadow:0 2px 10px rgba(62,39,35,.03);min-height:112px}.admin-card:hover{background:var(--gold2);border-color:rgba(212,175,55,.45);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.admin-card-icon{width:34px;height:34px;border-radius:12px;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:10px}.admin-card-title{font-size:14px;font-weight:900;margin-bottom:5px;color:var(--text)}.admin-card-desc{font-size:11.5px;color:var(--text3);line-height:1.45;font-weight:600}
.admin-section{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:16px;margin-top:14px;box-shadow:var(--shadow)}.admin-section-title{font-size:14px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px;margin-bottom:12px}.admin-section-title::before{content:'';width:5px;height:16px;background:var(--gold);border-radius:999px;display:block}.admin-add-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.admin-add-grid .field{margin:0}.admin-add-btn{height:44px;white-space:nowrap;padding:0 16px!important;flex:0!important}.admin-list-item{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.admin-list-item:hover{border-color:var(--gold);background:var(--gold2)}
@media(max-width:768px){.admin-shell{border-radius:22px}.admin-hero{padding:18px 16px}.admin-hero-icon{width:42px;height:42px;border-radius:14px;font-size:21px}.admin-hero-title{font-size:16px}.admin-hero-sub{font-size:11px;max-width:230px}.admin-body{padding:14px}.admin-stat-row{grid-template-columns:1fr 1fr 1fr;gap:7px}.admin-mini-stat{padding:10px 8px;border-radius:14px}.admin-mini-label{font-size:8.5px}.admin-mini-value{font-size:14px}.admin-grid{grid-template-columns:1fr;gap:9px}.admin-card{min-height:auto;padding:13px 14px;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}.admin-card-icon{margin:0}.admin-card-desc{font-size:11px}.admin-add-grid{grid-template-columns:1fr}.admin-add-btn{width:100%;height:46px}}
.asset-ai-tools{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);gap:12px;align-items:stretch;margin-bottom:16px}.asset-ai-tools .add-toggle-btn{height:100%;min-height:72px;margin-bottom:0!important}.ai-chat-mini{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:12px;display:flex;flex-direction:column;min-height:150px;box-shadow:0 1px 2px rgba(62,39,35,.02)}.ai-chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ai-chat-title{font-size:13px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:6px}.ai-chat-sub{font-size:10px;color:var(--text3);font-weight:700}.ai-chat-log{background:var(--bg2);border:1px dashed var(--border2);border-radius:12px;padding:10px;min-height:70px;max-height:150px;overflow-y:auto;font-size:12px;line-height:1.55;color:var(--text2);margin-bottom:8px}.ai-chat-msg{margin-bottom:8px}.ai-chat-msg:last-child{margin-bottom:0}.ai-chat-msg.user{color:var(--blue);font-weight:700}.ai-chat-msg.bot{color:var(--text2)}.ai-chat-input-row{display:flex;gap:6px}.ai-chat-input-row input{flex:1;border:1px solid var(--border2);background:var(--bg2);color:var(--text);border-radius:10px;padding:9px 10px;font-size:12px;font-family:inherit;outline:none}.ai-chat-input-row input:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold2)}.ai-chat-send{border:none;background:var(--purple);color:#fff;border-radius:10px;padding:0 12px;font-weight:900;cursor:pointer;transition:.2s}.ai-chat-send:hover{filter:brightness(1.05);transform:translateY(-1px)}
@media(max-width:768px){.admin-grid{grid-template-columns:1fr}.admin-console-btn .txt{display:none}.asset-ai-tools{grid-template-columns:1fr}.ai-chat-mini{min-height:135px}.logo-status-wrap{margin-right:0;min-height:70px;display:inline-flex;align-items:flex-start}.logo-gami-badge{left:72px!important;top:42px!important;max-width:110px!important;font-size:7.2px!important;line-height:1.05!important;padding:1px 5px!important;white-space:nowrap!important}.vip-status-btn{right:-35px}}


/* SMART COMPACT AI / CRM / DEBT / GOALS UPGRADES */
body,button,input,select,textarea{font-family:'Be Vietnam Pro',sans-serif!important}
.mono,.bhc-value,.txn-amount,.item-val,.sec-total{font-family:'JetBrains Mono',monospace!important}
.ai-assistant-compact{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:16px}
.ai-assistant-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ai-assistant-title{font-size:14px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}
.ai-assistant-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ai-mini-btn{border:1px solid var(--border2);background:var(--bg2);color:var(--text2);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer;transition:.2s;white-space:nowrap}
.ai-mini-btn:hover{background:var(--gold2);color:var(--gold);border-color:var(--gold)}
.ai-mini-btn.purple{background:var(--purple);color:#fff;border-color:var(--purple)}
.ai-assistant-body{display:none;margin-top:12px}
.ai-assistant-body.show{display:block}
.ai-chat-mini{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:10px;box-shadow:none}
.ai-chat-log{max-height:180px;overflow-y:auto;background:var(--bg3);border-radius:10px;padding:8px;margin:8px 0;display:flex;flex-direction:column;gap:6px}
.ai-chat-msg{font-size:12px;line-height:1.5;padding:8px 10px;border-radius:10px;max-width:92%}
.ai-chat-msg.bot{background:var(--blue2);color:var(--blue);align-self:flex-start}
.ai-chat-msg.user{background:var(--gold2);color:var(--amber);align-self:flex-end}
.ai-chat-input-row{display:flex;gap:8px}
.ai-chat-input-row input{flex:1;border:1px solid var(--border2);background:var(--bg2);border-radius:10px;padding:10px;font-size:13px;outline:none}
.ai-chat-send{width:38px;border:none;border-radius:10px;background:var(--gold);color:#fff;font-weight:900;cursor:pointer}
.crm-grid,.debt-grid,.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.crm-card,.debt-card,.goal-card,.recurring-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:14px;cursor:pointer;transition:.2s}
.crm-card:hover,.debt-card:hover,.goal-card:hover,.recurring-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);background:var(--bg2)}
.crm-name,.debt-name,.goal-name{font-size:14px;font-weight:800;color:var(--text);margin-bottom:6px}
.crm-meta,.debt-meta,.goal-meta{font-size:12px;color:var(--text3);line-height:1.6}
.crm-badge,.debt-status,.goal-status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:900;margin-top:8px}
.crm-badge.vip{background:var(--gold2);color:var(--amber)}.crm-badge.new{background:var(--blue2);color:var(--blue)}
.customer-info-box{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:12px;margin:0 0 16px 0;position:relative}
.customer-info-title{font-size:12px;font-weight:900;color:var(--text);margin-bottom:10px;text-transform:uppercase;letter-spacing:.03em}
.customer-suggest-list{display:none;position:absolute;z-index:50;left:12px;right:12px;top:calc(100% - 10px);background:var(--bg2);border:1px solid var(--border2);border-radius:14px;box-shadow:var(--shadow-hover);overflow:hidden;max-height:240px}
.customer-suggest-list.open{display:block}
.customer-suggest-item{width:100%;border:0;background:transparent;text-align:left;padding:11px 13px;cursor:pointer;font-family:inherit;border-bottom:1px solid var(--border);color:var(--text)}
.customer-suggest-item:last-child{border-bottom:0}.customer-suggest-item:hover{background:var(--green2)}
.customer-suggest-name{font-size:13px;font-weight:900;color:var(--text)}.customer-suggest-meta{font-size:11.5px;color:var(--text3);margin-top:3px;line-height:1.45}
.customer-search-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.customer-search-input{flex:1;min-width:220px;background:var(--bg2);border:1px solid var(--border2);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:13px;color:var(--text);outline:none}.customer-filter-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.customer-filter-tabs::-webkit-scrollbar{display:none}.customer-filter-btn{border:1px solid var(--border);background:var(--bg2);color:var(--text2);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}.customer-filter-btn.active{background:var(--gold2);color:var(--amber);border-color:rgba(212,175,55,.25)}
.customer-list{display:flex;flex-direction:column;gap:10px}.customer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:14px 16px}.customer-name{font-size:14px;font-weight:900;color:var(--text)}.customer-meta{font-size:12px;color:var(--text3);margin-top:4px;line-height:1.5}.customer-stats{text-align:right;font-size:12px;color:var(--text2);font-weight:800;line-height:1.55}.customer-actions{display:flex;gap:6px;flex-shrink:0}.customer-actions button{border:1px solid var(--border2);background:var(--bg2);color:var(--text);border-radius:10px;padding:8px 10px;font-size:11.5px;font-weight:800;font-family:inherit;cursor:pointer}.customer-actions button:hover{background:var(--green2);color:var(--green)}.customer-tag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;background:var(--bg2);color:var(--text3);margin-top:7px;margin-right:4px}.customer-tag.vip{background:var(--gold2);color:var(--amber)}.customer-tag.care{background:var(--red2);color:var(--red)}.customer-tag.returning{background:var(--green2);color:var(--green)}
@media(max-width:640px){.customer-row{align-items:flex-start;flex-direction:column}.customer-stats{text-align:left}.customer-actions{width:100%}.customer-actions button{flex:1}.customer-search-input{min-width:100%}.customer-suggest-list{left:10px;right:10px}}
.wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.wallet-card,.category-budget-card,.budget-alert-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.wallet-name,.category-budget-name{font-size:12px;font-weight:900;color:var(--text3);margin-bottom:8px}.wallet-balance,.category-budget-value{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:900;color:var(--text)}.wallet-meta,.category-budget-meta{font-size:11.5px;color:var(--text3);font-weight:700;margin-top:6px;line-height:1.45}.budget-progress{height:8px;background:var(--bg3);border-radius:999px;overflow:hidden;margin-top:10px}.budget-progress span{display:block;height:100%;border-radius:999px;background:var(--green)}.budget-progress.warn span{background:var(--gold)}.budget-progress.danger span{background:var(--red)}.quick-preview{background:var(--bg2);border:1px dashed var(--border2);border-radius:14px;padding:12px;margin:12px 0;font-size:13px;line-height:1.7;color:var(--text2)}.order-link-select,.wallet-select{width:100%;padding:12px 14px;border:1px solid var(--border2);border-radius:12px;background:var(--bg2);color:var(--text);font-family:inherit;font-size:13px;outline:none}.wallet-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.budget-alert-card{border-left:4px solid var(--gold);margin-bottom:12px;font-size:13px;font-weight:800;color:var(--text)}@media(max-width:768px){.wallet-grid{grid-template-columns:1fr}.wallet-actions .add-toggle-btn{flex:1}}
.debt-status.due{background:var(--red2);color:var(--red)}.debt-status.ok{background:var(--green2);color:var(--green)}.debt-status.paid{background:var(--bg2);color:var(--text3)}
.sales-subtabs,.budget-subtabs{display:flex;gap:10px;overflow-x:auto;margin:0 0 18px 0;padding:4px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sales-subtabs::-webkit-scrollbar,.budget-subtabs::-webkit-scrollbar{display:none}
.subtab{border:1.5px solid var(--border2);background:var(--bg2);border-radius:14px;padding:11px 16px;font-size:12.5px;font-weight:900;color:var(--text2);cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(62,39,35,.04);letter-spacing:.01em;transition:.2s;min-height:40px}
.subtab:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}
.subtab.active{background:linear-gradient(135deg,#fef8e7 0%,#fef3c7 100%);color:#b45309;border-color:rgba(212,175,55,.45);box-shadow:0 4px 12px rgba(212,175,55,.16)}
.invoice-canvas-wrap{position:absolute;left:-99999px;top:-99999px;width:900px;height:auto;background:#fff}
.progress-ring{width:74px;height:74px;border-radius:50%;background:conic-gradient(var(--green) var(--p), var(--bg3) 0);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.progress-ring span{background:var(--bg2);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:var(--green)}
.goal-row{display:flex;align-items:center;gap:12px}
@media(max-width:760px){.ai-assistant-top{align-items:flex-start;flex-direction:column}.ai-assistant-actions{width:100%}.ai-mini-btn{flex:1;text-align:center}.crm-grid,.debt-grid,.goal-grid{grid-template-columns:1fr}.ai-chat-log{max-height:150px}}

/* SMART HERO TOGGLE FIX - đồng bộ ẩn/hiện thống kê Thu chi & Bán hàng */
.hero-toggle-row{display:flex;justify-content:flex-end;align-items:center;margin:0 0 12px 0;min-width:0;overflow:hidden}
.hero-toggle-btn{border:1.5px solid rgba(212,175,55,.38);background:linear-gradient(135deg,#fffaf0 0%,#fef3c7 100%);color:#9a5b05;border-radius:999px;padding:7px 10px;font-size:11.5px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 2px 8px rgba(212,175,55,.12);transition:.2s;white-space:nowrap;line-height:1;font-family:'Be Vietnam Pro',sans-serif!important;max-width:100%;flex:0 0 auto}
.hero-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(212,175,55,.2);border-color:var(--gold)}
.hero-toggle-btn.is-open{background:linear-gradient(135deg,#0f766e 0%,#0d9488 100%);border-color:rgba(15,118,110,.35);color:#fff;box-shadow:0 3px 10px rgba(15,118,110,.18)}
.hero-toggle-icon{font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.hero-toggle-text{display:inline-block;white-space:nowrap;line-height:1}
.hero-toggle-scope{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid rgba(212,175,55,.22);font-size:9.5px;font-weight:900;letter-spacing:.01em;white-space:nowrap;line-height:1;color:inherit}
.hero-toggle-btn.is-open .hero-toggle-scope{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.25);color:#fff}
.budget-hero.vhtg-hero-collapsed,#sales-hero.vhtg-hero-collapsed,#budget-hero.vhtg-hero-collapsed{display:none!important}
@media(max-width:760px){.hero-toggle-row{justify-content:flex-end;margin:-2px 0 10px 0;overflow:visible}.hero-toggle-btn{width:auto;max-width:100%;padding:7px 9px;font-size:10.5px;border-radius:999px;gap:5px}.hero-toggle-scope{font-size:9px;padding:3px 5px}.hero-toggle-text{max-width:88px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:380px){.hero-toggle-btn{font-size:10px;padding:7px 8px}.hero-toggle-text{max-width:76px}.hero-toggle-scope{font-size:8.5px;padding:3px 4px}}



/* VHTG MOBILE-FIRST ORDER & COMPACT ACTION REFINEMENT */
.sales-subtabs,.budget-subtabs{display:flex!important;gap:6px!important;overflow-x:auto!important;margin:0 0 10px 0!important;padding:4px 2px 7px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.sales-subtabs::-webkit-scrollbar,.budget-subtabs::-webkit-scrollbar,.budget-actions-top::-webkit-scrollbar,.vhtg-action-row::-webkit-scrollbar{display:none}
.subtab{text-transform:uppercase!important;letter-spacing:.025em!important;border:1.5px solid rgba(212,175,55,.28)!important;background:linear-gradient(180deg,var(--bg2),var(--bg3))!important;color:var(--text2)!important;border-radius:12px!important;padding:9px 12px!important;font-size:11.5px!important;font-weight:900!important;min-height:36px!important;box-shadow:0 2px 8px rgba(62,39,35,.035)!important;flex:0 0 auto!important}
.subtab.active{background:linear-gradient(135deg,#eeb847 0%,#cca02a 100%)!important;color:#fff!important;border-color:rgba(212,175,55,.65)!important;box-shadow:0 5px 14px rgba(212,175,55,.22)!important}
.budget-actions-top,.vhtg-action-row{display:flex!important;gap:8px!important;align-items:center!important;overflow-x:auto!important;flex-wrap:nowrap!important;margin:0 0 10px 0!important;padding:2px 2px 8px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{flex:0 0 auto!important;min-height:34px!important;padding:8px 12px!important;border-radius:999px!important;font-size:11px!important;font-weight:900!important;box-shadow:0 2px 8px rgba(62,39,35,.06)!important;white-space:nowrap!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}
.hero-toggle-row{margin:0 0 10px 0!important;justify-content:flex-end!important}
.hero-toggle-btn{padding:6px 9px!important;font-size:10.5px!important;min-height:30px!important;box-shadow:0 1px 6px rgba(212,175,55,.1)!important}
.budget-hero{margin-bottom:12px!important}.budget-hero-card{padding:16px 14px!important}.bhc-label{font-size:9.5px!important;margin-bottom:8px!important}.bhc-value{font-size:20px!important}.bhc-sub{font-size:11px!important}
.ai-assistant-compact{padding:9px!important;border-radius:14px!important;margin-bottom:12px!important}.ai-assistant-top{gap:8px!important}.ai-assistant-title{font-size:12.5px!important}.ai-assistant-actions{gap:6px!important;flex-wrap:nowrap!important}.ai-mini-btn{padding:7px 9px!important;font-size:10.5px!important;border-radius:999px!important;min-height:30px!important;line-height:1!important}.ai-assistant-body{margin-top:8px!important}.ai-chat-mini{padding:8px!important;border-radius:12px!important}.ai-chat-log{max-height:130px!important;font-size:11.5px!important}.ai-chat-input-row input{padding:8px!important;font-size:12px!important}.ai-chat-send{width:32px!important;border-radius:9px!important}
@media(max-width:760px){
  .period-bar{gap:8px!important;padding:10px 12px!important;margin-bottom:10px!important;border-radius:14px!important}
  .period-label{font-size:10px!important}.period-tabs{padding:4px!important;gap:4px!important;overflow-x:auto!important}.ptab{padding:7px 10px!important;font-size:10.5px!important}.period-nav{gap:6px!important}.period-display{font-size:12px!important;min-width:96px!important}.nav-btn{width:29px!important;height:29px!important}
  .sales-subtabs,.budget-subtabs{gap:4px!important;margin-bottom:8px!important;padding-bottom:6px!important}
  .subtab{font-size:10.3px!important;padding:8px 10px!important;min-height:34px!important;border-radius:11px!important}
  .budget-actions-top,.vhtg-action-row{gap:6px!important;margin-bottom:8px!important;padding-bottom:7px!important}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{font-size:0!important;width:38px!important;height:34px!important;min-width:38px!important;padding:0!important;border-radius:12px!important;overflow:hidden!important;position:relative!important}
  .budget-actions-top .add-toggle-btn::first-letter,.vhtg-action-row .add-toggle-btn::first-letter{font-size:16px!important}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{color:transparent!important;text-shadow:none!important}
  .budget-actions-top .add-toggle-btn::before,.vhtg-action-row .add-toggle-btn::before{content:attr(data-icon);font-size:16px;color:#fff;line-height:1;display:flex;align-items:center;justify-content:center}
  .budget-actions-top .add-toggle-btn[data-light="1"]::before,.vhtg-action-row .add-toggle-btn[data-light="1"]::before{color:var(--text)}
  .hero-toggle-row{margin:0 0 8px 0!important}.hero-toggle-btn{font-size:0!important;width:34px!important;height:30px!important;padding:0!important;border-radius:11px!important}.hero-toggle-btn .hero-toggle-icon{font-size:14px!important}.hero-toggle-btn .hero-toggle-text,.hero-toggle-btn .hero-toggle-scope{display:none!important}
  .budget-hero{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:10px!important}.budget-hero-card{padding:12px 10px!important;border-radius:13px!important;min-height:82px!important}.bhc-label{font-size:8.5px!important;margin-bottom:6px!important}.bhc-value{font-size:16px!important}.bhc-sub{font-size:9.5px!important;margin-top:5px!important}
  .ai-assistant-compact{padding:8px!important}.ai-assistant-top{flex-direction:row!important;align-items:center!important}.ai-assistant-title{font-size:11.5px!important;white-space:nowrap}.ai-assistant-actions{margin-left:auto;width:auto!important}.ai-mini-btn{font-size:0!important;width:32px!important;height:30px!important;min-width:32px!important;padding:0!important;border-radius:10px!important;display:inline-flex;align-items:center;justify-content:center}.ai-mini-btn::before{content:attr(data-icon);font-size:15px;color:currentColor}.ai-mini-btn.purple::before{color:#fff}.ai-chat-log{max-height:110px!important}.ai-chat-msg{font-size:11px!important;padding:7px 8px!important}
}



/* VHTG UX FIX: danh mục sát nhau, nút chức năng vẫn có chữ, form mở ngay dưới nút */
.sales-subtabs,.budget-subtabs{
  gap:0!important;
  background:var(--bg2)!important;
  border:1px solid rgba(212,175,55,.25)!important;
  border-radius:14px!important;
  padding:3px!important;
  box-shadow:0 2px 10px rgba(62,39,35,.035)!important;
}
.sales-subtabs .subtab,.budget-subtabs .subtab{
  margin:0!important;
  border-radius:10px!important;
  border:0!important;
  box-shadow:none!important;
  min-height:34px!important;
  padding:8px 11px!important;
  font-size:11px!important;
  letter-spacing:.035em!important;
  flex:0 0 auto!important;
}
.sales-subtabs .subtab + .subtab,.budget-subtabs .subtab + .subtab{
  border-left:1px solid rgba(93,64,55,.08)!important;
}
.sales-subtabs .subtab.active,.budget-subtabs .subtab.active{
  border-left:0!important;
  box-shadow:0 3px 10px rgba(212,175,55,.16)!important;
}
.vhtg-action-form-slot{margin:0 0 10px 0!important;display:block!important;clear:both}
.vhtg-action-form-slot:empty{display:none!important;margin:0!important}
.vhtg-action-form-slot .add-form{margin-top:6px!important;margin-bottom:12px!important;animation:slideUp .22s ease!important}
.budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{
  color:#fff!important;
  text-shadow:none!important;
  font-size:11px!important;
  width:auto!important;
  min-width:auto!important;
  max-width:none!important;
  height:auto!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  gap:5px!important;
  overflow:visible!important;
}
.budget-actions-top .add-toggle-btn::before,.vhtg-action-row .add-toggle-btn::before{content:none!important;display:none!important}
.budget-actions-top .add-toggle-btn[data-light="1"],.vhtg-action-row .add-toggle-btn[data-light="1"]{color:var(--text)!important}
@media(max-width:760px){
  .sales-subtabs,.budget-subtabs{margin:0 0 8px 0!important;padding:3px!important;gap:0!important}
  .sales-subtabs .subtab,.budget-subtabs .subtab{font-size:9.6px!important;padding:8px 9px!important;min-height:33px!important;border-radius:9px!important;font-weight:900!important}
  .budget-actions-top,.vhtg-action-row{gap:5px!important;padding:1px 1px 7px!important;margin:0 0 8px 0!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{
    font-size:10px!important;
    width:auto!important;
    height:32px!important;
    min-width:max-content!important;
    padding:7px 9px!important;
    border-radius:999px!important;
    color:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
  .budget-actions-top .add-toggle-btn::before,.vhtg-action-row .add-toggle-btn::before{content:none!important;display:none!important}
  .budget-actions-top .add-toggle-btn[data-light="1"],.vhtg-action-row .add-toggle-btn[data-light="1"]{color:var(--text)!important}
  .vhtg-action-form-slot .add-form{padding:14px!important;border-radius:14px!important}
}
@media(max-width:390px){
  .sales-subtabs .subtab,.budget-subtabs .subtab{font-size:9px!important;padding:7px 7px!important}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{font-size:9.4px!important;padding:7px 8px!important;height:31px!important}
}



/* VHTG FINAL UX STANDARD: nút rõ hơn, đúng thứ tự thao tác */
.sales-subtabs,.budget-subtabs{
  display:flex!important;
  gap:0!important;
  padding:4px!important;
  margin:0 0 12px 0!important;
  overflow-x:auto!important;
  border:1px solid rgba(212,175,55,.24)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,var(--bg2),var(--bg3))!important;
  box-shadow:0 2px 10px rgba(62,39,35,.035)!important;
  -webkit-overflow-scrolling:touch!important;
}
.sales-subtabs .subtab,.budget-subtabs .subtab{
  flex:1 0 auto!important;
  min-width:118px!important;
  min-height:42px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  border:0!important;
  background:transparent!important;
  color:var(--text2)!important;
  font-size:12.2px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.sales-subtabs .subtab + .subtab,.budget-subtabs .subtab + .subtab{border-left:1px solid rgba(93,64,55,.08)!important}
.sales-subtabs .subtab.active,.budget-subtabs .subtab.active{
  background:linear-gradient(135deg,#eeb847 0%,#cca02a 100%)!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(212,175,55,.22)!important;
}
.budget-actions-top,.vhtg-action-row{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  overflow-x:auto!important;
  flex-wrap:nowrap!important;
  margin:0 0 12px 0!important;
  padding:2px 2px 8px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{
  flex:0 0 auto!important;
  min-width:108px!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 14px!important;
  border-radius:13px!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  color:#fff!important;
  white-space:nowrap!important;
  box-shadow:0 3px 10px rgba(62,39,35,.10)!important;
  font-family:'Be Vietnam Pro',sans-serif!important;
}
.budget-actions-top .add-toggle-btn::before,.vhtg-action-row .add-toggle-btn::before{content:none!important;display:none!important}
.budget-actions-top .add-toggle-btn[data-light="1"],.vhtg-action-row .add-toggle-btn[data-light="1"]{color:var(--text)!important}
.hero-toggle-row{display:flex!important;justify-content:flex-end!important;margin:0 0 10px 0!important;padding:0!important;overflow:visible!important}
.hero-toggle-btn{
  min-height:32px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  gap:6px!important;
  box-shadow:0 1px 7px rgba(212,175,55,.13)!important;
}
.hero-toggle-scope{font-size:9px!important;padding:3px 6px!important}
#sales-hero,#budget-hero{margin-bottom:12px!important}
.tabs .tab{
  min-height:40px!important;
  padding:10px 14px!important;
  font-size:12.5px!important;
  font-weight:800!important;
  border-radius:11px!important;
}
.sec-hdr .add-toggle-btn,.sec-hdr .connect-sync-btn{
  min-height:38px!important;
  padding:9px 14px!important;
  font-size:12px!important;
  border-radius:12px!important;
}
.ai-assistant-compact{padding:10px!important;border-radius:14px!important;margin-bottom:12px!important}
.ai-mini-btn{min-height:34px!important;padding:8px 11px!important;font-size:11px!important;border-radius:11px!important;font-weight:900!important}
@media(max-width:760px){
  .sales-subtabs,.budget-subtabs{margin-bottom:10px!important;padding:3px!important;border-radius:14px!important}
  .sales-subtabs .subtab,.budget-subtabs .subtab{min-width:106px!important;min-height:39px!important;padding:9px 11px!important;font-size:11px!important;border-radius:11px!important}
  .budget-actions-top,.vhtg-action-row{gap:7px!important;margin-bottom:10px!important;padding-bottom:7px!important}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{min-width:98px!important;height:38px!important;min-height:38px!important;padding:0 11px!important;font-size:11px!important;border-radius:12px!important}
  .hero-toggle-btn{min-height:30px!important;padding:6px 10px!important;font-size:10.5px!important}
  .hero-toggle-text{max-width:none!important;overflow:visible!important;text-overflow:clip!important}
  .hero-toggle-scope{display:inline-flex!important;font-size:8.7px!important;padding:3px 5px!important}
  .tabs{gap:5px!important;padding:6px!important}
  .tabs .tab{min-width:82px!important;min-height:38px!important;padding:9px 12px!important;font-size:11.2px!important}
  .sec-hdr .add-toggle-btn,.sec-hdr .connect-sync-btn{min-height:36px!important;padding:8px 12px!important;font-size:11px!important}
  .ai-assistant-top{align-items:center!important;gap:8px!important}
  .ai-assistant-actions{gap:6px!important;flex-wrap:nowrap!important}
  .ai-mini-btn{min-width:auto!important;height:32px!important;min-height:32px!important;padding:0 9px!important;font-size:10.5px!important}
}
@media(max-width:390px){
  .sales-subtabs .subtab,.budget-subtabs .subtab{min-width:98px!important;font-size:10.4px!important;padding:8px 9px!important}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{min-width:90px!important;font-size:10.2px!important;padding:0 9px!important}
  .tabs .tab{min-width:76px!important;font-size:10.6px!important;padding:8px 10px!important}
}


/* FIX: ẩn/hiện nhóm chức năng theo đúng danh mục */
.vhtg-action-row.is-hidden{display:none!important}
.vhtg-action-form-slot:empty{display:none!important}
.vhtg-action-form-slot{margin-bottom:14px}



/* === VHTG PATCH: Mobile AI fix + standard readable type + popup forms === */
html{font-size:16px!important;-webkit-text-size-adjust:100%;}
body{font-size:15px!important;line-height:1.5!important;}
.item-name,.sec-title{font-size:16px!important;}
.item-val,.txn-amount,.bhc-value,.hero-main-val{letter-spacing:-.01em!important;}
.txn-name,.cat-bar-name,.summary-table td,.field input,.field select,.field textarea{font-size:14px!important;}
.bhc-label,.hero-sub-lbl,.field label{font-size:11.5px!important;}
.bhc-sub,.item-sub,.txn-note{font-size:12.5px!important;}

.ai-assistant-compact{overflow:hidden!important;}
.ai-assistant-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;}
.ai-assistant-title{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:15px!important;line-height:1.2!important;}
.ai-assistant-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important;width:auto!important;min-width:0!important;}
.ai-mini-btn{font-family:'Be Vietnam Pro',sans-serif!important;font-size:12px!important;font-weight:800!important;line-height:1!important;width:auto!important;height:36px!important;min-width:auto!important;min-height:36px!important;padding:0 12px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;white-space:nowrap!important;}
.ai-mini-btn::before{content:none!important;}
.ai-mini-btn.purple{color:#fff!important;}
@media(max-width:520px){
  .ai-assistant-compact{padding:10px!important;border-radius:16px!important;}
  .ai-assistant-top{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;}
  .ai-assistant-title{font-size:14px!important;}
  .ai-assistant-actions{gap:6px!important;}
  .ai-mini-btn{font-size:11.5px!important;height:34px!important;min-height:34px!important;padding:0 9px!important;}
}
@media(max-width:380px){
  .ai-assistant-title{font-size:13px!important;}
  .ai-mini-btn{font-size:11px!important;padding:0 7px!important;}
}

.action-popup-overlay{position:fixed;inset:0;background:rgba(62,39,35,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:99990;display:flex;align-items:flex-end;justify-content:center;padding:14px;animation:fadeIn .18s ease;}
.action-popup-card{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:var(--bg2);border:1px solid var(--border2);border-radius:24px 24px 20px 20px;box-shadow:0 24px 70px rgba(62,39,35,.24);animation:slideUp .24s cubic-bezier(.34,1.56,.64,1);padding:14px;}
.action-popup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 14px;border-bottom:1px solid var(--border);margin-bottom:12px;position:sticky;top:0;background:var(--bg2);z-index:2;}
.action-popup-title{font-size:15px;font-weight:900;color:var(--text);letter-spacing:-.01em;display:flex;align-items:center;gap:7px;}
.action-popup-close{width:34px;height:34px;border-radius:12px;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.action-popup-form{display:block!important;margin:0!important;background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important;}
.action-popup-form .submit-btn{min-height:46px!important;border-radius:14px!important;}
@media(min-width:761px){.action-popup-overlay{align-items:center}.action-popup-card{border-radius:24px;padding:18px}}
@media(max-width:760px){
  .action-popup-overlay{padding:10px;align-items:flex-end;}
  .action-popup-card{max-height:84vh;border-radius:22px 22px 0 0;padding:12px;padding-bottom:calc(14px + env(safe-area-inset-bottom));}
  .action-popup-title{font-size:14px;}
  .f-grid2,.f-grid3,.f-grid4{grid-template-columns:1fr!important;gap:12px!important;}
}


/* === VHTG PATCH 2: uppercase tabs, readable mobile font, polished popups, synced FAB === */
:root{--vhtg-body-size:15.5px;--vhtg-mobile-size:15px;}
body{font-size:var(--vhtg-body-size)!important;}
.tabs .tab{
  text-transform:uppercase!important;
  font-size:13.5px!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
  min-height:44px!important;
  padding:11px 16px!important;
}
.sales-subtabs .subtab,.budget-subtabs .subtab{font-size:13px!important;min-height:44px!important;padding:11px 16px!important;}
.budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn,.sec-hdr .add-toggle-btn,.sec-hdr .connect-sync-btn{
  font-size:13px!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 16px!important;
}
.item-name,.sec-title{font-size:17px!important;}
.txn-name,.summary-table td,.field input,.field select,.field textarea{font-size:15px!important;}
.item-val,.txn-amount,.bhc-value,.hero-main-val,.stat-col .val{font-size:15px!important;}
.bhc-value{font-size:22px!important;}
.stat-col .lbl,.field label,.bhc-label{font-size:12px!important;}

.action-popup-overlay{align-items:center!important;padding:18px!important;}
.action-popup-card{
  max-width:620px!important;
  width:min(620px,100%)!important;
  border-radius:24px!important;
  padding:18px!important;
  overflow-x:hidden!important;
}
.action-popup-head{padding:4px 2px 14px!important;margin-bottom:14px!important;}
.action-popup-title{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.action-popup-close{flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:14px!important;font-size:20px!important;}
.action-popup-form{width:100%!important;}
.action-popup-form .f-grid2{grid-template-columns:1fr 1fr!important;gap:14px!important;}
.action-popup-form .f-grid3{grid-template-columns:1fr 1fr 1fr!important;gap:14px!important;}
.action-popup-form .f-grid4{grid-template-columns:1fr 1fr!important;gap:14px!important;}
.action-popup-form .field label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.action-popup-form .field input,.action-popup-form .field select,.action-popup-form .field textarea{min-height:44px!important;font-size:15px!important;}
.action-popup-form .submit-btn{font-size:15px!important;min-height:48px!important;}

.fab-item{font-size:13px!important;font-weight:800!important;}

@media(max-width:760px){
  body{font-size:var(--vhtg-mobile-size)!important;}
  .tabs{gap:6px!important;padding:7px!important;}
  .tabs .tab{font-size:13px!important;min-width:104px!important;min-height:44px!important;padding:11px 14px!important;}
  .sales-subtabs .subtab,.budget-subtabs .subtab{font-size:12.5px!important;min-width:118px!important;min-height:43px!important;padding:10px 13px!important;}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn,.sec-hdr .add-toggle-btn,.sec-hdr .connect-sync-btn{font-size:12.5px!important;min-width:112px!important;height:42px!important;min-height:42px!important;padding:0 14px!important;}
  .item-name,.sec-title{font-size:16.5px!important;}
  .txn-name,.summary-table td,.field input,.field select,.field textarea{font-size:14.5px!important;}
  .item-val,.txn-amount,.stat-col .val{font-size:14.5px!important;}
  .bhc-value{font-size:20px!important;}
  .action-popup-overlay{align-items:flex-end!important;padding:10px!important;}
  .action-popup-card{width:100%!important;max-width:100%!important;max-height:86vh!important;border-radius:24px 24px 0 0!important;padding:14px!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;}
  .action-popup-title{font-size:16px!important;}
  .action-popup-form .f-grid2,.action-popup-form .f-grid3,.action-popup-form .f-grid4{grid-template-columns:1fr!important;gap:12px!important;}
}
@media(max-width:390px){
  .tabs .tab{font-size:12.2px!important;min-width:96px!important;padding:10px 12px!important;}
  .sales-subtabs .subtab,.budget-subtabs .subtab{font-size:11.8px!important;min-width:108px!important;padding:10px 11px!important;}
  .budget-actions-top .add-toggle-btn,.vhtg-action-row .add-toggle-btn{font-size:11.8px!important;min-width:104px!important;}
}


/* === VHTG PATCH 3: Period Bar Balanced + VN-INDEX visibility === */
.period-bar{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(93,64,55,.10)!important;
  box-shadow:0 8px 22px rgba(62,39,35,.055)!important;
  margin:14px 0 18px!important;
}
.period-label{
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  color:var(--text2)!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.period-tabs{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  padding:6px!important;
  min-height:48px!important;
  border-radius:16px!important;
  background:var(--bg3)!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.period-tabs::-webkit-scrollbar{display:none!important;}
.ptab{
  min-width:68px!important;
  min-height:36px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
.ptab.active{
  background:var(--bg2)!important;
  color:var(--gold)!important;
  box-shadow:0 5px 14px rgba(62,39,35,.09)!important;
}
.period-nav{
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.period-display{
  min-width:148px!important;
  font-size:15px!important;
  font-weight:900!important;
  color:var(--text)!important;
  text-align:center!important;
}
.nav-btn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:13px!important;
  font-size:16px!important;
  font-weight:900!important;
}
.period-nav .nav-btn:last-child{
  width:auto!important;
  min-width:54px!important;
  padding:0 12px!important;
  font-size:13px!important;
}
@media(max-width:760px){
  .period-bar{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px 14px!important;
    border-radius:20px!important;
    margin:12px 0 16px!important;
  }
  .period-label{
    font-size:13px!important;
    padding-left:2px!important;
  }
  .period-tabs{
    width:100%!important;
    min-height:54px!important;
    padding:7px!important;
    gap:6px!important;
    border-radius:18px!important;
  }
  .ptab{
    flex:1 0 72px!important;
    min-width:72px!important;
    min-height:40px!important;
    padding:0 12px!important;
    font-size:14px!important;
    border-radius:14px!important;
  }
  .period-nav{
    width:100%!important;
    display:grid!important;
    grid-template-columns:42px 1fr 42px auto!important;
    gap:8px!important;
    align-items:center!important;
  }
  .period-display{
    min-width:0!important;
    font-size:16px!important;
    line-height:42px!important;
    text-align:center!important;
  }
  .nav-btn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
    font-size:18px!important;
  }
  .period-nav .nav-btn:last-child{
    min-width:54px!important;
    height:42px!important;
    font-size:14px!important;
    border-radius:14px!important;
    padding:0 12px!important;
  }
}

/* === VHTG PATCH 2026-06-04N: app type scale + investment alerts === */
:root{
  --vhtg-title-size:18px;
  --vhtg-card-title-size:14px;
  --vhtg-body-size:13px;
  --vhtg-small-size:11.5px;
}
#section-home .journey-section-head h2,
#section-home .home-section-title,
#section-home .investment-dashboard-title,
#section-home .growth-section-title,
#section-assets .investment-dashboard-title{
  font-size:var(--vhtg-title-size)!important;
  line-height:1.25!important;
}
#section-home .journey-roadmap .journey-node-title,
#section-home .home-growth-kpi-label,
#section-home .growth-metric-label,
#section-assets .investment-list-title,
#section-assets .investment-alerts-head h3{
  font-size:var(--vhtg-card-title-size)!important;
  line-height:1.25!important;
}
#section-home .home-growth-kpi-sub,
#section-home .growth-metric-sub,
#section-home #journey-roadmap-status,
#section-assets .investment-dashboard-sub,
#section-assets .investment-alerts-head p{
  font-size:var(--vhtg-body-size)!important;
  line-height:1.45!important;
}
#section-home .home-growth-kpi-value,
#section-home .growth-metric-value{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.12!important;
}
#section-assets .investment-alerts-block{
  margin:0 0 16px!important;
  padding:16px!important;
  border:1px solid #DDEFE7!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#FFFFFF 0%,#F6FCF9 100%)!important;
  box-shadow:0 8px 24px rgba(15,122,74,.07)!important;
}
#section-assets .investment-alerts-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 12px!important;
}
#section-assets .investment-alerts-head h3{
  margin:0!important;
  color:#12372A!important;
  font-weight:950!important;
}
#section-assets .investment-alerts-head p{
  margin:4px 0 0!important;
  color:#6B8178!important;
  font-weight:750!important;
}
#section-assets .investment-alerts-head button{
  border:1px solid #DDEFE7!important;
  background:#fff!important;
  color:#0F7A4A!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
#section-assets .investment-alert-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-shrink:0!important;
}
#section-assets .investment-alerts-block.is-collapsed{
  padding-bottom:12px!important;
}
#section-assets .investment-alerts-block.is-collapsed .investment-alerts-panel{
  display:block!important;
}
#section-assets .investment-alerts-panel{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
#section-assets .investment-alert-card{
  min-width:0!important;
  min-height:124px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #DDEFE7!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,122,74,.06)!important;
}
#section-assets .investment-alert-card.critical{border-color:#FECACA!important;background:#FFF7F7!important}
#section-assets .investment-alert-card.high{border-color:#FED7AA!important;background:#FFFBF3!important}
#section-assets .investment-alert-card.medium{border-color:#BFDBFE!important;background:#F5FBFF!important}
#section-assets .investment-alert-icon{
  width:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#EAFBF1!important;
  color:#0F7A4A!important;
  font-size:15px!important;
  font-weight:950!important;
}
#section-assets .investment-alert-card.critical .investment-alert-icon{background:#FEE2E2!important;color:#DC2626!important}
#section-assets .investment-alert-card.high .investment-alert-icon{background:#FFEDD5!important;color:#EA580C!important}
#section-assets .investment-alert-body{min-width:0!important}
#section-assets .investment-alert-body h4{
  margin:0 0 5px!important;
  font-size:14px!important;
  line-height:1.25!important;
  color:#12372A!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-assets .investment-alert-body p{
  margin:0 0 5px!important;
  color:#12372A!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:900!important;
}
#section-assets .investment-alert-body small{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  color:#6B8178!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
#section-assets .investment-alert-body button{
  margin-top:9px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0F7A4A!important;
  color:#fff!important;
  padding:7px 10px!important;
  font:inherit!important;
  font-size:11.5px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
#section-assets .investment-alert-empty{
  grid-column:1/-1!important;
  padding:18px!important;
  border:1px dashed #DDEFE7!important;
  border-radius:16px!important;
  color:#6B8178!important;
  background:#fff!important;
  font-size:13px!important;
  font-weight:750!important;
}
.investment-center-list{
  display:grid!important;
  gap:10px!important;
  text-align:left!important;
}
.investment-center-item{
  border:1px solid #DDEFE7!important;
  border-radius:16px!important;
  padding:12px!important;
  background:#fff!important;
}
.investment-center-item.critical{border-color:#FECACA!important;background:#FFF7F7!important}
.investment-center-item.high{border-color:#FED7AA!important;background:#FFFBF3!important}
.investment-center-item b,
.investment-center-item span,
.investment-center-item em{
  display:block!important;
}
.investment-center-item b{font-size:14px!important;color:#12372A!important;margin-bottom:5px!important}
.investment-center-item span{font-size:13px!important;color:#4B635B!important;line-height:1.45!important}
.investment-center-item em{font-size:11px!important;color:#6B8178!important;margin-top:6px!important;font-style:normal!important}
.investment-disclaimer,
.investment-settings-modal p{
  margin:12px 0 0!important;
  color:#6B8178!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  text-align:left!important;
}
.investment-setting-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  text-align:left!important;
  margin-top:10px!important;
}
.investment-setting-grid:first-child{margin-top:0!important}
.investment-setting-grid.nums{
  margin-top:12px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.investment-setting-check,
.investment-setting-num{
  min-width:0!important;
  border:1px solid #DDEFE7!important;
  border-radius:14px!important;
  padding:10px!important;
  background:#F7FCFA!important;
  font-size:12px!important;
  font-weight:850!important;
  color:#12372A!important;
}
.investment-setting-num span{display:block!important;margin-bottom:6px!important;color:#6B8178!important}
.investment-setting-num input{
  width:100%!important;
  border:1px solid #DDEFE7!important;
  border-radius:10px!important;
  padding:8px!important;
  font:inherit!important;
}
@media(max-width:768px){
  :root{
    --vhtg-title-size:17px;
    --vhtg-card-title-size:13.5px;
    --vhtg-body-size:12.5px;
  }
  #section-assets .investment-alerts-block{
    padding:14px!important;
    border-radius:18px!important;
  }
  #section-assets .investment-alerts-head{
    align-items:center!important;
  }
  #section-assets .investment-alerts-panel{
    display:flex!important;
    overflow-x:auto!important;
    gap:10px!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #section-assets .investment-alerts-panel::-webkit-scrollbar{display:none!important}
  #section-assets .investment-alert-card{
    flex:0 0 78vw!important;
    min-height:120px!important;
    scroll-snap-align:start!important;
  }
  .investment-setting-grid,
  .investment-setting-grid.nums{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:390px){
  .period-bar{padding:12px!important;}
  .ptab{font-size:13px!important;min-width:64px!important;}
  .period-display{font-size:14px!important;}
  .nav-btn{width:40px!important;height:40px!important;min-width:40px!important;}
}



/* LANDING GIỚI THIỆU TRƯỚC ĐĂNG NHẬP */
.auth-modal{overflow-y:auto;align-items:flex-start;padding:22px 14px;}
.auth-landing{width:100%;max-width:430px;margin:auto;display:flex;flex-direction:column;gap:16px;animation:fadeIn .25s ease;}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px;}
.auth-brand{display:flex;align-items:center;gap:12px;min-width:0;}
.auth-brand-logo{width:58px;height:58px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(212,175,55,.18);border:1px solid rgba(212,175,55,.18);overflow:hidden;flex-shrink:0;}
.auth-brand-logo img{width:48px;height:48px;object-fit:contain;}
.auth-brand-title{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.04em;line-height:1.05;}
.auth-brand-sub{font-size:12px;font-weight:700;color:var(--text3);margin-top:4px;}
.auth-login-pill{background:var(--bg2);border:1.5px solid var(--border2);border-radius:999px;padding:10px 15px;color:var(--green);font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap;box-shadow:0 4px 14px rgba(62,39,35,.04);font-family:inherit;}
.auth-hero-card{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,#1f2937 0%,#102033 48%,#3e2723 100%);color:#fff;padding:24px;box-shadow:0 18px 42px rgba(31,41,55,.22);}
.auth-hero-card::before{content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:999px;background:rgba(212,175,55,.18);}
.auth-hero-card::after{content:'';position:absolute;left:-45px;bottom:-55px;width:170px;height:170px;border-radius:999px;background:rgba(15,118,110,.18);}
.auth-hero-content{position:relative;z-index:1;}
.auth-hero-kicker{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.auth-hero-title{font-size:26px;font-weight:900;line-height:1.18;letter-spacing:-.04em;margin-bottom:10px;}
.auth-hero-desc{font-size:14px;line-height:1.65;color:rgba(255,255,255,.78);font-weight:500;max-width:340px;}
.auth-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;border-top:1px solid rgba(255,255,255,.16);padding-top:16px;}
.auth-mini-stat{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:10px 8px;}
.auth-mini-stat strong{display:block;font-size:15px;font-weight:900;color:#fff;}
.auth-mini-stat span{display:block;font-size:10px;color:rgba(255,255,255,.68);font-weight:700;margin-top:3px;}
.auth-ai-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--green2),#f0fdf4);border:1px solid rgba(15,118,110,.16);border-radius:22px;padding:16px;box-shadow:0 8px 24px rgba(15,118,110,.08);}
.auth-ai-left{display:flex;align-items:center;gap:12px;min-width:0;}
.auth-ai-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#0f766e,#16a34a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 18px rgba(15,118,110,.24);flex-shrink:0;}
.auth-ai-title{font-size:17px;font-weight:900;color:var(--green);line-height:1.1;}
.auth-ai-desc{font-size:12px;color:var(--text3);font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.auth-ai-link{border:none;background:transparent;color:var(--green);font-weight:900;font-family:inherit;font-size:13px;white-space:nowrap;cursor:pointer;}
.auth-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.auth-benefit-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:16px;box-shadow:0 8px 24px rgba(62,39,35,.04);min-height:128px;}
.auth-benefit-icon{width:38px;height:38px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px;background:var(--gold2);color:var(--amber);}
.auth-benefit-card:nth-child(2) .auth-benefit-icon{background:var(--green2);color:var(--green)}
.auth-benefit-card:nth-child(3) .auth-benefit-icon{background:var(--blue2);color:var(--blue)}
.auth-benefit-card:nth-child(4) .auth-benefit-icon{background:var(--purple2);color:var(--purple)}

#email-verification-gate{
  position:fixed!important;
  left:16px!important;
  right:16px!important;
  bottom:16px!important;
  z-index:99990!important;
  display:flex!important;
  justify-content:center!important;
  pointer-events:none!important;
}
.email-gate-card{
  width:min(760px,100%)!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid #fed7aa!important;
  border-radius:18px!important;
  background:#fff7ed!important;
  box-shadow:0 18px 48px rgba(15,23,42,.18)!important;
  color:#12372a!important;
  pointer-events:auto!important;
}
.email-gate-card div{flex:1!important;min-width:0!important}
.email-gate-card strong{display:block!important;font-size:14px!important;font-weight:950!important;margin-bottom:3px!important}
.email-gate-card span{display:block!important;font-size:12.5px!important;line-height:1.45!important;color:#6b4e2e!important;font-weight:750!important}
.email-gate-card small{display:block!important;margin-top:3px!important;color:#92400e!important;font-size:11px!important;font-weight:800!important}
.email-gate-card button{
  border:0!important;
  border-radius:999px!important;
  padding:10px 13px!important;
  background:#0f7a4a!important;
  color:#fff!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.email-gate-card button.ghost{background:#fff!important;color:#0f7a4a!important;border:1px solid #ddefe7!important}
.email-unverified-mode .req-edit,
.email-unverified-mode .add-toggle-btn,
.email-unverified-mode .submit-btn{
  opacity:.55!important;
}
@media(max-width:640px){
  #email-verification-gate{left:10px!important;right:10px!important;bottom:10px!important}
  .email-gate-card{align-items:stretch!important;flex-direction:column!important;border-radius:16px!important}
  .email-gate-card button{width:100%!important;justify-content:center!important}
}
.auth-benefit-title{font-size:14px;font-weight:900;color:var(--text);line-height:1.35;margin-bottom:5px;}
.auth-benefit-desc{font-size:12px;line-height:1.45;color:var(--text3);font-weight:600;}
.auth-cta-card{background:linear-gradient(135deg,#0f766e 0%,#0b5f58 55%,#064e3b 100%);border-radius:24px;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 36px rgba(15,118,110,.22);}
.auth-cta-card::after{content:'';position:absolute;right:-35px;top:-35px;width:130px;height:130px;border-radius:999px;background:rgba(255,255,255,.12);}
.auth-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.auth-cta-title{font-size:17px;font-weight:900;line-height:1.25;margin-bottom:4px;}
.auth-cta-desc{font-size:12px;color:rgba(255,255,255,.72);font-weight:600;}
.auth-cta-btn{border:none;background:#fff;color:var(--green);border-radius:16px;padding:12px 14px;font-size:13px;font-weight:900;font-family:inherit;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.12);}
.auth-landing-note{text-align:center;font-size:12px;color:var(--text3);font-weight:700;line-height:1.5;padding-bottom:8px;}
.auth-content.auth-form-panel{display:none;margin:auto;}
.auth-back-landing{border:none;background:var(--bg3);color:var(--text3);font-weight:800;font-family:inherit;border-radius:999px;padding:8px 12px;margin-bottom:12px;cursor:pointer;font-size:12px;}
@media(max-width:520px){.auth-modal{padding:18px 14px 110px}.auth-brand-title{font-size:20px}.auth-brand-logo{width:54px;height:54px}.auth-hero-title{font-size:24px}.auth-benefit-grid{gap:10px}.auth-benefit-card{padding:14px;min-height:120px}.auth-mini-stats{gap:7px}.auth-content{padding:24px 20px 30px}.auth-cta-inner{align-items:flex-start;flex-direction:column}.auth-cta-btn{width:100%;}}

/* ===== LANDING GIỚI THIỆU NÂNG CẤP - RESPONSIVE DESKTOP/MOBILE ===== */
.auth-modal{
  position:relative!important;top:auto!important;left:auto!important;width:100%!important;height:auto!important;
  min-height:0!important;background:linear-gradient(180deg,#fffaf0 0%,#fdfaf6 58%,rgba(15,118,110,.04) 100%)!important;
  backdrop-filter:none!important;z-index:auto!important;display:flex;align-items:flex-start!important;justify-content:center!important;
  padding:22px 16px 26px!important;border-bottom:1px solid var(--border);
}
.auth-modal.guest-auth-docked{display:flex!important}
.auth-modal.auth-hidden{display:none!important}
.auth-landing{width:100%;max-width:1080px!important;margin:0 auto!important;display:flex;flex-direction:column;gap:18px!important}
.auth-topbar{background:rgba(255,255,255,.72);border:1px solid rgba(212,175,55,.15);box-shadow:0 12px 30px rgba(62,39,35,.05);border-radius:22px;padding:12px 14px;position:sticky;top:8px;z-index:20;backdrop-filter:blur(14px)}
.auth-brand-logo{width:58px!important;height:58px!important;border-radius:18px!important}
.auth-brand-title{font-size:24px!important;line-height:1.05!important;white-space:nowrap}
.auth-brand-sub{font-size:12px!important;max-width:520px}
.auth-login-pill{background:#fff!important;border:1.5px solid rgba(15,118,110,.22)!important;color:var(--green)!important;padding:12px 18px!important;box-shadow:0 8px 22px rgba(15,118,110,.08)!important}
.auth-login-pill:hover,.auth-primary-btn:hover,.auth-cta-btn:hover,.auth-try-btn:hover{transform:translateY(-1px);filter:brightness(1.02)}
.auth-hero-card{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px;align-items:stretch;border-radius:30px!important;padding:30px!important;background:radial-gradient(circle at 88% 8%,rgba(212,175,55,.25),transparent 28%),linear-gradient(135deg,#142033 0%,#103b3a 52%,#5d4037 100%)!important}
.auth-hero-title{font-size:42px!important;max-width:720px;letter-spacing:-.055em!important}
.auth-hero-desc{font-size:16px!important;max-width:640px!important;color:rgba(255,255,255,.82)!important}
.auth-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.auth-primary-btn,.auth-secondary-btn,.auth-try-btn{border:none;border-radius:16px;padding:13px 18px;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;transition:.2s}
.auth-primary-btn{background:linear-gradient(135deg,#eeb847,#cca02a);color:#fff;box-shadow:0 12px 26px rgba(212,175,55,.25)}
.auth-secondary-btn{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}
.auth-mini-stats{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin-top:22px!important}
.auth-mini-stat{padding:13px!important;border-radius:16px!important}
.auth-mini-stat strong{font-size:18px!important}
.auth-preview-card{position:relative;z-index:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;gap:12px}
.auth-preview-top{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}
.auth-preview-value{font-size:28px;font-weight:900;letter-spacing:-.04em}
.auth-preview-line{display:flex;justify-content:space-between;gap:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);padding:11px 12px;border-radius:14px;font-size:12px}
.auth-preview-line span{color:rgba(255,255,255,.68);font-weight:700}
.auth-preview-line b{color:#fff}
.auth-ai-strip{border-radius:24px!important;padding:18px 20px!important}
.auth-ai-title{font-size:20px!important}
.auth-ai-desc{white-space:normal!important}
.auth-benefit-grid{grid-template-columns:repeat(4,1fr)!important;gap:14px!important}
.auth-benefit-card{min-height:166px!important;border-radius:24px!important;padding:18px!important;box-shadow:0 14px 34px rgba(62,39,35,.055)!important;transition:.2s}
.auth-benefit-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(62,39,35,.08)!important}
.auth-benefit-icon{width:46px!important;height:46px!important;border-radius:16px!important;font-size:21px!important}
.auth-benefit-title{font-size:18px!important;letter-spacing:-.025em}
.auth-benefit-desc{font-size:13px!important;line-height:1.58!important}
.auth-try-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--bg2);border:1px solid rgba(15,118,110,.16);border-radius:24px;padding:18px 20px;box-shadow:0 12px 30px rgba(15,118,110,.06)}
.auth-try-title{font-size:18px;font-weight:900;color:var(--text);letter-spacing:-.025em;margin-bottom:5px}
.auth-try-desc{font-size:13px;line-height:1.6;color:var(--text3);font-weight:650}
.auth-try-btn{background:var(--green);color:#fff;white-space:nowrap;box-shadow:0 10px 22px rgba(15,118,110,.18)}
.auth-cta-card{border-radius:28px!important;padding:24px!important}
.auth-cta-title{font-size:24px!important;letter-spacing:-.035em}
.auth-cta-desc{font-size:14px!important}
.auth-cta-btn{font-size:14px!important;padding:14px 18px!important;border-radius:18px!important}
.auth-form-panel{max-width:420px!important}
.guest-mode #main-app{display:block!important}
.guest-mode .mobile-nav{display:flex}
.guest-mode #btn-open-share,.guest-mode #btn-user-upgrade,.guest-mode #btn-admin-console,.guest-mode #btn-admin-vip,.guest-mode #btn-admin-aff,.guest-mode #btn-admin-notif,.guest-mode #btn-quests,.guest-mode #btn-notif,.guest-mode .logout-btn{display:none!important}
.guest-mode .sync-bar{display:none!important}
/* Desktop: ẩn khu vực giao diện dùng thử cho đến khi người xem chủ động bấm "Dùng thử giao diện" */
@media(min-width:761px){
  body.guest-mode:not(.guest-preview-open) #main-app{display:none!important;}
  body.guest-mode.guest-preview-open #main-app{display:block!important;}
  .guest-mode .mobile-nav{display:none!important}
  .auth-modal{padding-top:28px!important}
}
@media(max-width:760px){
  /* Mobile: giữ thanh nút chức năng, chỉ ẩn giao diện demo chung cho đến khi người dùng bấm nút tương ứng */
  body.guest-mode:not(.guest-preview-open) #main-app{display:block!important;}
  body.guest-mode:not(.guest-preview-open) #main-app > :not(#mobile-nav):not(.mobile-nav){display:none!important;}
  body.guest-mode:not(.guest-preview-open) .mobile-nav{display:flex!important;}
  body.guest-mode.guest-preview-open #main-app{display:block!important;}
  body.guest-mode.guest-preview-open .mobile-nav{display:flex!important;}
}
@media(max-width:900px){
  .auth-hero-card{grid-template-columns:1fr!important;padding:24px!important}
  .auth-preview-card{display:none}
  .auth-hero-title{font-size:34px!important}
  .auth-benefit-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:520px){
  .auth-modal{padding:12px 12px 18px!important}
  .auth-topbar{border-radius:20px;padding:10px 12px;top:6px}
  .auth-brand{gap:9px!important}
  .auth-brand-logo{width:48px!important;height:48px!important;border-radius:16px!important}
  .auth-brand-logo img{width:39px!important;height:39px!important}
  .auth-brand-title{font-size:19px!important;white-space:normal;line-height:1.05!important}
  .auth-brand-sub{font-size:10.5px!important;line-height:1.3}
  .auth-login-pill{padding:10px 13px!important;font-size:12px!important}
  .auth-hero-card{border-radius:26px!important;padding:22px!important}
  .auth-hero-title{font-size:29px!important;line-height:1.14!important}
  .auth-hero-desc{font-size:14px!important;line-height:1.58!important}
  .auth-primary-btn,.auth-secondary-btn{flex:1;min-width:130px}
  .auth-mini-stats{grid-template-columns:1fr!important}
  .auth-ai-strip{padding:15px!important;border-radius:22px!important}
  .auth-ai-icon{width:46px!important;height:46px!important}
  .auth-ai-title{font-size:17px!important}
  .auth-ai-link{font-size:12px!important}
  .auth-benefit-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .auth-benefit-card{min-height:154px!important;padding:14px!important;border-radius:22px!important}
  .auth-benefit-title{font-size:15.5px!important}
  .auth-benefit-desc{font-size:12px!important;line-height:1.48!important}
  .auth-try-card{flex-direction:column;align-items:stretch;border-radius:22px;padding:16px}
  .auth-try-title{font-size:16px}
  .auth-try-btn{width:100%}
  .auth-cta-inner{flex-direction:column!important;align-items:stretch!important}
  .auth-cta-title{font-size:21px!important}
  .auth-cta-btn{width:100%}
}

/* Nút dùng thử từng chức năng trên landing */
.auth-demo-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:14px;
}
.auth-demo-action{
  border:1px solid rgba(15,118,110,.18);
  background:#fff;
  color:var(--text);
  border-radius:16px;
  padding:13px 10px;
  font-family:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(62,39,35,.045);
  transition:.2s;
}
.auth-demo-action:hover{transform:translateY(-1px);border-color:var(--gold);color:var(--gold);}
.auth-demo-action.main{background:linear-gradient(135deg,#eeb847,#cca02a);color:#fff;border-color:transparent;}
.guest-preview-back{
  display:none;
  position:sticky;
  top:8px;
  z-index:60;
  width:100%;
  max-width:1080px;
  margin:0 auto 12px;
  padding:10px 14px;
  border:none;
  border-radius:14px;
  background:var(--green);
  color:#fff;
  font-family:inherit;
  font-weight:900;
  box-shadow:0 10px 24px rgba(15,118,110,.18);
  cursor:pointer;
}
body.guest-mode.guest-preview-open .guest-preview-back{display:block;}
@media(max-width:760px){
  .auth-demo-actions{grid-template-columns:1fr 1fr;}
  .auth-demo-action{font-size:12.5px;padding:12px 8px;}
}

/* === LANDING PAGE V2: GLASSMORPHISM STORYTELLING ONLY === */
.auth-modal{background:linear-gradient(135deg,#065f46 0%,#0d1e2e 72%,#071923 100%)!important;border-bottom:none!important;color:#fff!important}
.auth-landing.lp-v2{max-width:1180px!important;gap:18px!important;color:#fff!important}
.lp-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);box-shadow:0 18px 46px rgba(0,0,0,.18);backdrop-filter:blur(18px);border-radius:24px;position:sticky;top:8px;z-index:20}
.lp-brand{display:flex;align-items:center;gap:12px;min-width:0}.lp-logo{width:54px;height:54px;border-radius:17px;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(251,191,36,.18);flex-shrink:0}.lp-logo img{width:42px;height:42px;object-fit:contain}.lp-brand-title{font-size:18px;font-weight:900;letter-spacing:.02em}.lp-brand-sub{font-size:12px;color:rgba(255,255,255,.68);font-weight:700;margin-top:2px}
.lp-login{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);color:#fff;border-radius:999px;padding:11px 16px;font:inherit;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap}
.lp-hero{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr);gap:26px;align-items:center;min-height:520px;padding:34px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 16% 14%,rgba(251,191,36,.18),transparent 26%),radial-gradient(circle at 88% 8%,rgba(20,184,166,.22),transparent 34%),rgba(255,255,255,.07);border-radius:34px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow:hidden;position:relative}
.lp-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(251,191,36,.28);background:rgba(251,191,36,.10);color:#fde68a;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;white-space:nowrap;max-width:100%}.lp-title{font-size:clamp(34px,5vw,62px);font-weight:900;line-height:1.02;letter-spacing:-.04em;max-width:760px}.lp-title span{color:#fbbf24}.lp-sub{max-width:640px;margin-top:18px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.65;font-weight:650}.lp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.lp-primary,.lp-secondary{border:none;border-radius:18px;padding:15px 20px;font:inherit;font-size:14px;font-weight:900;cursor:pointer;transition:.2s}.lp-primary{background:linear-gradient(135deg,#fbbf24,#d97706);color:#102033;box-shadow:0 16px 32px rgba(251,191,36,.28)}.lp-secondary{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.16)}.lp-primary:hover,.lp-secondary:hover,.lp-feature:hover,.lp-stat:hover{transform:translateY(-2px)}
.lp-phone-wrap{display:flex;justify-content:center;align-items:center;perspective:900px}.lp-phone{width:min(360px,100%);aspect-ratio:9/18;border-radius:38px;padding:14px;background:linear-gradient(145deg,#0f172a,#111827);box-shadow:0 38px 80px rgba(0,0,0,.44);transform:rotateY(-10deg) rotateX(3deg);border:1px solid rgba(255,255,255,.16)}.lp-phone-screen{height:100%;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#ecfdf5,#fffaf0);color:#0f172a;padding:16px;display:flex;flex-direction:column;gap:12px}.lp-screen-head{display:flex;align-items:center;justify-content:space-between}.lp-pill{border-radius:999px;background:#064e3b;color:#fff;padding:6px 9px;font-size:10px;font-weight:900}.lp-phone-value{font-size:28px;font-weight:900;color:#064e3b;letter-spacing:-.04em}.lp-chart{height:116px;display:flex;align-items:flex-end;gap:7px;background:rgba(6,95,70,.08);border-radius:18px;padding:12px}.lp-chart i{flex:1;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,#fbbf24,#10b981)}.lp-phone-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px;box-shadow:0 10px 26px rgba(15,23,42,.08)}.lp-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:800;color:#64748b}.lp-row b{color:#064e3b}
.lp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lp-stat{padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);backdrop-filter:blur(16px);box-shadow:0 16px 44px rgba(0,0,0,.16);transition:.2s}.lp-stat-icon{width:42px;height:42px;border-radius:14px;background:rgba(251,191,36,.14);display:flex;align-items:center;justify-content:center;color:#fbbf24;margin-bottom:12px}.lp-stat-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.lp-stat-desc{font-size:12px;color:rgba(255,255,255,.68);line-height:1.5;margin-top:6px;font-weight:650}
.lp-section-title{font-size:28px;font-weight:900;letter-spacing:-.035em;margin:10px 2px 0}.lp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lp-feature{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);backdrop-filter:blur(18px);border-radius:26px;padding:20px;min-height:178px;box-shadow:0 18px 48px rgba(0,0,0,.16);transition:.2s}.lp-feature-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,rgba(251,191,36,.22),rgba(20,184,166,.16));color:#fbbf24;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.lp-feature-title{font-size:17px;font-weight:900;color:#fff}.lp-feature-desc{font-size:13px;line-height:1.55;color:rgba(255,255,255,.68);font-weight:650;margin-top:8px}
.lp-ai{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:18px;align-items:center;border:1px solid rgba(251,191,36,.18);background:radial-gradient(circle at 18% 20%,rgba(251,191,36,.16),transparent 28%),rgba(255,255,255,.08);border-radius:30px;padding:24px;overflow:hidden}.lp-ai-title{font-size:26px;font-weight:900;letter-spacing:-.035em}.lp-ai-desc{font-size:14px;line-height:1.65;color:rgba(255,255,255,.70);font-weight:650;margin-top:8px}.lp-chat{background:rgba(7,25,35,.70);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.lp-chat-line{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px 14px;color:rgba(255,255,255,.84);font-size:13px;line-height:1.55;font-weight:700}.lp-chat-line+.lp-chat-line{margin-top:10px}.lp-chat-line.ai{background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(20,184,166,.12));color:#fff}
.lp-try{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:28px;padding:20px;backdrop-filter:blur(16px)}.lp-try-title{font-size:20px;font-weight:900}.lp-try-desc{font-size:13px;line-height:1.55;color:rgba(255,255,255,.68);font-weight:650;margin-top:6px}.lp-demo-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;min-width:min(560px,100%)}.lp-demo-actions button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.10);color:#fff;border-radius:16px;padding:12px 9px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.lp-demo-actions button:first-child{background:linear-gradient(135deg,#fbbf24,#d97706);color:#102033;border-color:transparent}
.lp-final{border-radius:34px;padding:32px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 82% 10%,rgba(251,191,36,.22),transparent 28%),linear-gradient(135deg,#0d1e2e,#064e3b);box-shadow:0 26px 70px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:space-between;gap:20px}.lp-final-title{font-size:30px;font-weight:900;letter-spacing:-.04em}.lp-final-desc{font-size:14px;line-height:1.6;color:rgba(255,255,255,.70);font-weight:650;margin-top:6px;max-width:640px}.lp-note{text-align:center;color:rgba(255,255,255,.58);font-size:12px;font-weight:700;padding:0 0 8px}
@media(max-width:920px){.lp-hero{grid-template-columns:1fr;min-height:0}.lp-grid{grid-template-columns:repeat(2,1fr)}.lp-ai{grid-template-columns:1fr}.lp-try,.lp-final{flex-direction:column;align-items:stretch}.lp-demo-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.auth-modal{padding:12px 12px 92px!important}.lp-topbar{border-radius:20px}.lp-brand-sub{display:none}.lp-logo{width:46px;height:46px}.lp-login{padding:10px 12px;font-size:12px}.lp-hero{padding:22px;border-radius:28px}.lp-kicker{font-size:clamp(8px,2.25vw,10px);letter-spacing:0;padding:7px 9px}.lp-title{font-size:32px}.lp-sub{font-size:14px;line-height:1.55}.lp-actions{display:grid;grid-template-columns:1fr}.lp-phone{transform:none;width:min(310px,100%)}.lp-stats{grid-template-columns:1fr}.lp-grid{grid-template-columns:1fr}.lp-demo-actions{grid-template-columns:1fr 1fr}.lp-final-title{font-size:24px}.lp-section-title{font-size:23px}}

/* LANDING V2 READABILITY TUNING */
.auth-landing.lp-v2{gap:28px!important}
.lp-hero{min-height:500px!important;padding:42px!important}
.lp-sub{max-width:700px!important;color:rgba(255,255,255,.80)!important}
.lp-stats,.lp-grid{gap:18px!important}
.lp-section-title{margin:18px 4px 0!important}
.lp-feature{min-height:150px!important;padding:24px!important;background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.10)!important;box-shadow:0 12px 34px rgba(0,0,0,.12)!important}
.lp-feature-desc{font-size:14px!important;line-height:1.7!important;color:rgba(255,255,255,.74)!important}
.lp-try{display:grid!important;grid-template-columns:minmax(300px,.85fr) minmax(520px,1.15fr)!important;gap:26px!important;padding:28px!important;background:rgba(255,255,255,.065)!important}
.lp-try-title{font-size:24px!important;line-height:1.2!important}
.lp-try-desc{font-size:14px!important;line-height:1.75!important;color:rgba(255,255,255,.74)!important;max-width:560px!important}
.lp-demo-actions{min-width:0!important;align-self:center}
.lp-demo-actions button{padding:14px 12px!important;border-radius:18px!important}
@media(max-width:920px){.lp-try{grid-template-columns:1fr!important}.lp-demo-actions{grid-template-columns:repeat(3,1fr)!important}.lp-hero{padding:30px!important}}
@media(max-width:560px){.auth-landing.lp-v2{gap:20px!important}.lp-hero{padding:22px!important}.lp-feature{padding:20px!important}.lp-try{padding:20px!important}.lp-demo-actions{grid-template-columns:1fr 1fr!important}}



/* === USER DASHBOARD PATCH === */
.user-trigger-btn{background:linear-gradient(135deg,var(--green) 0%,#0a5c52 100%);border:1px solid rgba(15,118,110,.25);color:#fff;cursor:pointer;transition:all .2s;min-width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 5px 14px rgba(15,118,110,.18);padding:0 10px;font-family:inherit;font-size:12px;font-weight:900;line-height:1;flex-shrink:0}.user-trigger-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,118,110,.26)}.user-trigger-avatar{width:22px;height:22px;border-radius:50%;background:#fff;color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;text-transform:uppercase}.user-trigger-text{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-dashboard{display:none;margin-bottom:22px}.user-hero{position:relative;overflow:hidden;border-radius:0 0 30px 30px;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.20),transparent 28%),radial-gradient(circle at 88% 6%,rgba(255,255,255,.17),transparent 34%),linear-gradient(160deg,#0b4f35 0%,#079436 54%,#21c15d 100%);color:#fff;padding:28px 20px 88px;box-shadow:0 18px 38px rgba(15,118,110,.20)}.user-hero-top{display:flex;justify-content:flex-end;margin-bottom:2px}.user-logout-pill{border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:7px;cursor:pointer;backdrop-filter:blur(10px)}
.user-avatar-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.user-avatar{width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);border:10px solid rgba(255,255,255,.18);box-shadow:0 12px 26px rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:900;position:relative;text-transform:uppercase}.user-edit-avatar{position:absolute;right:-4px;bottom:8px;width:36px;height:36px;border-radius:50%;border:3px solid #fff;background:#fff;color:var(--green);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.14);cursor:pointer}.user-name{font-size:28px;font-weight:900;letter-spacing:0;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.12)}.user-email{font-size:12px;font-weight:700;opacity:.86;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:2px}.user-pill{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:6px;backdrop-filter:blur(10px)}
.user-stat-card{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg2);border:1px solid var(--border);border-radius:24px;margin:-58px 18px 20px;position:relative;z-index:2;box-shadow:0 18px 35px rgba(62,39,35,.10);overflow:hidden}.user-stat{padding:20px 10px;text-align:center;min-width:0}.user-stat:not(:last-child){border-right:1px solid var(--border)}.user-stat-icon{font-size:24px;line-height:1;margin-bottom:8px}.user-stat-value{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:900;color:var(--green);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-stat-label{font-size:12px;font-weight:800;color:var(--text3);margin-top:6px}.user-quick-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 18px 18px;scrollbar-width:none}.user-quick-tabs::-webkit-scrollbar{display:none}.user-qtab{border:none;background:transparent;color:var(--text3);font:inherit;font-size:12px;font-weight:900;min-width:72px;padding:10px 8px;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}.user-qtab.active{background:var(--bg2);color:var(--green);box-shadow:0 8px 18px rgba(62,39,35,.08)}.user-qtab svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.user-ai-card{margin:0 18px 18px;border:1px solid rgba(34,197,94,.32);background:linear-gradient(135deg,rgba(220,252,231,.92),rgba(240,253,244,.78));border-radius:22px;padding:18px;color:var(--green);box-shadow:0 8px 24px rgba(15,118,110,.08)}.user-ai-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.user-ai-title{display:flex;align-items:center;gap:12px;min-width:0}.user-ai-icon{width:46px;height:46px;border-radius:16px;background:rgba(15,118,110,.10);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-ai-name{font-size:16px;font-weight:900;color:#0b6b36;line-height:1.25}.user-ai-sub{font-size:12px;color:var(--text3);font-weight:800;margin-top:2px}.user-ai-count{font-family:'JetBrains Mono',monospace;font-size:34px;font-weight:900;color:#087a2f;white-space:nowrap}.user-progress{height:10px;background:rgba(15,118,110,.13);border-radius:999px;margin:16px 0 12px;overflow:hidden}.user-progress-fill{height:100%;background:linear-gradient(90deg,#07852f,#22c55e);border-radius:999px;width:40%}.user-ai-link{border:none;background:transparent;color:#087a2f;font:inherit;font-size:14px;font-weight:900;padding:0;cursor:pointer}
.user-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 18px 18px}.user-mini-card{border-radius:20px;border:1px solid var(--border);background:var(--bg2);padding:18px;text-align:center;box-shadow:var(--shadow);min-height:126px;display:flex;flex-direction:column;justify-content:center}.user-mini-icon{font-size:30px;line-height:1;margin-bottom:8px}.user-mini-value{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:900;color:var(--green);line-height:1.1}.user-mini-card.gold .user-mini-value,.user-mini-card.gold .user-mini-icon{color:#f59e0b}.user-mini-card.purple{background:linear-gradient(135deg,rgba(237,233,254,.75),rgba(255,255,255,.86));border-color:rgba(109,40,217,.20)}.user-mini-label{font-size:12px;font-weight:800;color:var(--text3);margin-top:8px}.user-action-list{margin:0 18px 18px;background:var(--bg2);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.user-action-item{width:100%;border:none;background:transparent;color:var(--text);font:inherit;padding:15px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left}.user-action-item:not(:last-child){border-bottom:1px solid var(--border)}.user-action-ico{width:36px;height:36px;border-radius:13px;background:var(--green2);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-action-copy{flex:1;min-width:0}.user-action-title{font-size:14px;font-weight:900;display:block}.user-action-sub{font-size:11px;color:var(--text3);font-weight:700;margin-top:2px;display:block}.user-action-arrow{color:var(--text3);font-weight:900}
@media(max-width:768px){.user-trigger-btn{width:30px;height:30px;min-width:30px;padding:0;border-radius:10px}.user-trigger-avatar{width:20px;height:20px;font-size:10px}.user-trigger-text{display:none}.user-dashboard{margin-left:-16px;margin-right:-16px}.user-hero{border-radius:0 0 28px 28px;padding:20px 18px 84px}.user-avatar{width:104px;height:104px;font-size:44px}.user-name{font-size:26px}.user-stat-card{margin-left:16px;margin-right:16px}.user-stat{padding:18px 8px}.user-stat-value{font-size:22px}.user-info-grid{grid-template-columns:1fr 1fr;gap:12px}.user-ai-count{font-size:32px}}@media(max-width:380px){.user-stat-value{font-size:18px}.user-stat-label{font-size:11px}.user-ai-name{font-size:14px}.user-ai-count{font-size:28px}.user-mini-value{font-size:24px}.user-qtab{min-width:66px;font-size:11px}}




/* === BASIC COMPACT MOBILE NAV === */
@media(max-width:768px){
  .mobile-nav{
    left:50%!important;
    bottom:calc(6px + env(safe-area-inset-bottom))!important;
    width:min(96%,430px)!important;
    min-height:58px!important;
    height:58px!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:5px 7px!important;
    background:#ffffff!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:18px!important;
    box-shadow:0 8px 24px rgba(15,23,42,.14)!important;
    overflow:visible!important;
  }
  .mnav-btn{
    height:48px!important;
    min-width:0!important;
    flex:1 1 0!important;
    padding:5px 2px!important;
    gap:2px!important;
    color:#64748b!important;
    border-radius:13px!important;
    font-size:10.5px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  .mnav-btn svg{width:19px!important;height:19px!important;}
  .mnav-btn span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
  .mnav-btn.active{background:#f1f5f9!important;color:#0f766e!important;box-shadow:none!important;}
  .mnav-center-btn{position:relative!important;top:-8px!important;flex:0 0 54px!important;height:54px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:none!important;}
  .mnav-fab-inner{width:46px!important;height:46px!important;border-radius:50%!important;border:1px solid rgba(15,118,110,.16)!important;background:#0f766e!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,118,110,.22)!important;font-size:26px!important;font-weight:800!important;line-height:44px!important;}
  .mobile-nav.fab-active .mnav-fab-inner{background:#334155!important;color:#fff!important;border-color:rgba(15,23,42,.14)!important;transform:rotate(45deg)!important;}
  .app{padding-bottom:76px!important;}
}

/* === USER DASHBOARD FONT + AVATAR FIX === */
#ws-wrapper{display:none!important}
.user-avatar-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;display:none}
.user-avatar.has-photo{background:#0b4f35;color:transparent}
.user-avatar.has-photo .user-avatar-img{display:block}
.user-avatar.has-photo #user-page-initial{display:none}
.user-edit-avatar{font-size:0}
.user-edit-avatar::before{content:'';width:18px;height:18px;display:block;background:currentColor;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M4 17.2V20h2.8L17.1 9.7l-2.8-2.8L4 17.2Zm15.7-10.6c.4-.4.4-1 0-1.4l-1.9-1.9c-.4-.4-1-.4-1.4 0l-1.5 1.5 2.8 2.8 2-2Z"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M4 17.2V20h2.8L17.1 9.7l-2.8-2.8L4 17.2Zm15.7-10.6c.4-.4.4-1 0-1.4l-1.9-1.9c-.4-.4-1-.4-1.4 0l-1.5 1.5 2.8 2.8 2-2Z"/></svg>') center/contain no-repeat}
.user-action-ico svg,.user-stat-icon svg,.user-mini-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.user-stat-icon svg,.user-mini-icon svg{margin:0 auto;display:block}
.user-qtab > svg,.user-qtab > .user-qtab-icon{width:23px;height:23px}
.user-qtab-icon{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}



/* === VANI BRAND THEME: DEEP GREEN + AMBER + DARK NAVY === */
:root{
  --bg:#f4fbf6;
  --bg2:#ffffff;
  --bg3:#eaf6ee;
  --border:rgba(6,78,59,.10);
  --border2:rgba(6,78,59,.18);
  --text:#082f2a;
  --text2:#16443b;
  --text3:#60756f;
  --green:#087a3d;
  --green2:#dff7e8;
  --gold:#f59e0b;
  --gold2:#fff3d6;
  --amber:#d97706;
  --amber2:#ffedd5;
  --blue:#0b2533;
  --blue2:#e6f0f3;
  --brown:#0f3f32;
  --brown2:#e5f4eb;
  --purple:#166534;
  --purple2:#dcfce7;
  --red:#dc2626;
  --red2:#fee2e2;
  --brand-forest:#043b2f;
  --brand-green:#087a3d;
  --brand-emerald:#22c55e;
  --brand-amber:#f59e0b;
  --brand-orange:#ea7a0a;
  --brand-navy:#071923;
  --brand-surface:#f4fbf6;
  --grad-green:linear-gradient(145deg,#043b2f 0%,#087a3d 58%,#22c55e 100%);
  --grad-green-soft:linear-gradient(145deg,rgba(4,59,47,.96) 0%,rgba(8,122,61,.94) 62%,rgba(34,197,94,.90) 100%);
  --grad-amber:linear-gradient(145deg,#f59e0b 0%,#ea7a0a 100%);
  --grad-navy:linear-gradient(145deg,#071923 0%,#0b2533 100%);
  --shadow:0 10px 28px rgba(7,25,35,.075),0 2px 8px rgba(7,25,35,.045);
  --shadow-hover:0 18px 44px rgba(7,25,35,.14),0 7px 18px rgba(8,122,61,.10);
}
body.dark-mode{
  --bg:#071923;
  --bg2:#0b2533;
  --bg3:#12362d;
  --border:rgba(255,255,255,.09);
  --border2:rgba(255,255,255,.16);
  --text:#f4fbf6;
  --text2:#dcefe4;
  --text3:#a5b8b0;
  --green2:rgba(34,197,94,.18);
  --gold2:rgba(245,158,11,.18);
  --amber2:rgba(234,122,10,.18);
  --blue2:rgba(255,255,255,.08);
  --brown2:rgba(34,197,94,.13);
  --purple2:rgba(34,197,94,.16);
}
body{background:radial-gradient(circle at top right,rgba(34,197,94,.12),transparent 30%),linear-gradient(180deg,#f4fbf6 0%,#eef8f1 45%,#f8fbf9 100%)!important;color:var(--text)!important;}
body.dark-mode{background:radial-gradient(circle at top right,rgba(34,197,94,.16),transparent 34%),linear-gradient(180deg,#071923 0%,#0b2533 100%)!important;}
.sec,.modal-box,.notif-dropdown,.workspace-dropdown,.period-bar,.sync-bar,.tabs,.custom-footer,.user-action-list,.user-mini-card,.pricing-card{border-color:var(--border)!important;box-shadow:var(--shadow)!important;}
.sec:hover,.item-row:hover,.pricing-card:hover{box-shadow:var(--shadow-hover)!important;}
.sec-title::before,.main-tab.active::after{background:var(--grad-amber)!important;}
.main-tab.active,.tab.active,.ptab.active,.user-qtab.active{color:var(--green)!important;background:#fff!important;box-shadow:0 10px 24px rgba(8,122,61,.10)!important;}
.main-tab:hover,.tab:hover,.ptab:hover{color:var(--green)!important;background:var(--green2)!important;}
.hero-box.asset{background:var(--grad-green)!important;color:#fff!important;box-shadow:0 18px 42px rgba(4,59,47,.22)!important;}
.hero-box.asset::after{background:var(--grad-amber)!important;}
.hero-box.asset .hero-main-val,.hero-box.asset .hero-liquid-val,.hero-box.asset .hero-sub-lbl,.hero-box.asset .hero-sub-val,.hero-box.asset .hero-top{color:#fff!important;}
.hero-box.budget{background:var(--grad-navy)!important;color:#fff!important;box-shadow:0 18px 42px rgba(7,25,35,.24)!important;}
.hero-box.budget::after{background:var(--grad-green)!important;}
.hero-box.sales{background:linear-gradient(145deg,#065f46 0%,#08915a 58%,#34d399 100%)!important;color:#fff!important;box-shadow:0 18px 42px rgba(6,95,70,.22)!important;}
.hero-box.sales::after{background:var(--grad-amber)!important;}
.add-toggle-btn,.submit-btn,.cm-btn-primary,.upgrade-btn,.share-btn,.fab-main,.mnav-fab-inner,.ai-mini-btn.purple{background:var(--grad-amber)!important;color:#fff!important;border:none!important;box-shadow:0 12px 26px rgba(234,122,10,.26)!important;}
.add-toggle-btn:hover,.submit-btn:hover,.cm-btn-primary:hover,.upgrade-btn:hover,.share-btn:hover,.fab-main:hover{filter:saturate(1.08) brightness(1.02);transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(234,122,10,.34)!important;}
.add-toggle-btn.income-btn,.submit-btn.green,.cm-btn-primary.green-btn,.green-btn,.connect-sync-btn.coin-btn,.connect-sync-btn.save-btn{background:var(--grad-green)!important;box-shadow:0 12px 26px rgba(8,122,61,.24)!important;color:#fff!important;}
.cm-btn-primary.blue-btn,.blue-btn{background:var(--grad-navy)!important;box-shadow:0 12px 26px rgba(7,25,35,.24)!important;color:#fff!important;}
.notif-btn,.eye-btn,.refresh-btn,.icon-btn,.nav-btn,.dash-nav-btn{border-color:var(--border2)!important;box-shadow:0 7px 18px rgba(7,25,35,.07)!important;}
.notif-btn:hover,.eye-btn:hover,.refresh-btn:hover,.icon-btn:hover,.nav-btn:hover{background:var(--green2)!important;color:var(--green)!important;border-color:rgba(8,122,61,.30)!important;}
.mobile-nav{left:50%!important;transform:translateX(-50%)!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:min(94%,430px)!important;background:linear-gradient(145deg,#071923 0%,#0b3b2d 100%)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:30px!important;box-shadow:0 18px 46px rgba(7,25,35,.36)!important;padding:7px!important;overflow:visible!important;}
.mnav-btn{color:rgba(255,255,255,.62)!important;border-radius:22px!important;padding:10px 4px!important;}
.mnav-btn.active{background:linear-gradient(145deg,#0b6b3a 0%,#108f47 100%)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 10px 22px rgba(8,122,61,.30)!important;}
.mnav-center-btn{position:relative!important;top:-18px!important;}
.mnav-fab-inner{width:58px!important;height:58px!important;border:4px solid #0b3b2d!important;background:var(--grad-green)!important;box-shadow:0 14px 30px rgba(8,122,61,.36)!important;color:#fff!important;font-weight:900!important;}
.mobile-nav.fab-active .mnav-fab-inner{background:var(--grad-amber)!important;color:#fff!important;border-color:#0b3b2d!important;}
.user-hero{background:radial-gradient(circle at 16% 24%,rgba(255,255,255,.20),transparent 28%),radial-gradient(circle at 88% 5%,rgba(245,158,11,.22),transparent 34%),var(--grad-green)!important;box-shadow:0 22px 54px rgba(4,59,47,.26)!important;}
.user-avatar{background:var(--grad-amber)!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 16px 34px rgba(234,122,10,.26)!important;}
.user-edit-avatar{color:var(--green)!important;box-shadow:0 10px 24px rgba(7,25,35,.18)!important;}
.user-stat-card{box-shadow:0 20px 45px rgba(7,25,35,.12)!important;border-color:rgba(8,122,61,.12)!important;}
.user-stat-value,.user-mini-value,.user-ai-count{color:var(--green)!important;}
.user-ai-card{background:linear-gradient(145deg,rgba(226,255,236,.98) 0%,rgba(245,255,248,.92) 55%,rgba(255,245,226,.88) 100%)!important;border-color:rgba(34,197,94,.34)!important;box-shadow:0 14px 34px rgba(8,122,61,.12)!important;}
.user-ai-icon,.user-action-ico{background:var(--green2)!important;color:var(--green)!important;}
.user-progress-fill{background:var(--grad-green)!important;}
.user-ai-link{color:var(--amber)!important;}
.user-mini-card.gold{background:linear-gradient(145deg,#fff8e6 0%,#fff 100%)!important;border-color:rgba(245,158,11,.32)!important;}
.user-mini-card.gold .user-mini-value,.user-mini-card.gold .user-mini-icon{color:var(--amber)!important;}
.user-mini-card.purple{background:linear-gradient(145deg,#eafaf0 0%,#fff 100%)!important;border-color:rgba(8,122,61,.22)!important;}
.budget-hero-card,.cat-bar-row,.txn-row,.item-row,.limit-row,.admin-card,.quest-card,.ai-col-item{border-color:var(--border)!important;box-shadow:0 8px 22px rgba(7,25,35,.055)!important;}
.income-card .bhc-value,.up{color:var(--green)!important;}.balance-card .bhc-value,.b-save,.b-gold{color:var(--amber)!important;}
.live-pill.active{background:var(--amber2)!important;color:var(--amber)!important;border-color:rgba(245,158,11,.24)!important;}
.sync-pill.synced{background:var(--green2)!important;color:var(--green)!important;}.sync-pill.syncing{background:var(--amber2)!important;color:var(--amber)!important;}
@media(max-width:768px){.app{padding-bottom:104px!important}.mobile-nav{display:flex!important}.fab-container{bottom:calc(env(safe-area-inset-bottom) + 92px)!important}.user-dashboard{background:linear-gradient(180deg,#f4fbf6 0%,#fff 100%)!important;}}



/* === MOBILE NAV AUTO HIDE + FOOT ALIGN === */
@media(max-width:768px){
  .mobile-nav{
    bottom:calc(2px + env(safe-area-inset-bottom))!important;
    transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .22s ease,box-shadow .22s ease!important;
    will-change:transform,opacity;
  }
  .mobile-nav.mobile-nav-hidden{
    transform:translate(-50%,calc(100% + 18px))!important;
    opacity:0!important;
    pointer-events:none!important;
    box-shadow:none!important;
  }
  .mnav-center-btn{top:-16px!important;}
  .app{padding-bottom:92px!important;}
}



/* === AI OPERATIONS ADVISOR === */
.ai-ops-wrap{margin:0 18px 18px;display:grid;grid-template-columns:1fr;gap:14px}
.ai-ops-card{background:var(--bg2);border:1px solid var(--border);border-radius:22px;padding:16px;box-shadow:var(--shadow);overflow:hidden}
.ai-ops-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.ai-ops-title{font-size:15px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px;line-height:1.25}
.ai-ops-badge{font-size:10px;font-weight:900;color:var(--green);background:var(--green2);border:1px solid rgba(8,122,61,.18);border-radius:999px;padding:4px 8px;white-space:nowrap}
.ai-ops-list{display:grid;gap:8px}
.ai-ops-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;background:linear-gradient(145deg,rgba(234,246,238,.88),rgba(255,255,255,.96));border:1px solid var(--border);border-radius:14px;padding:11px 12px;color:var(--text2)}
.ai-ops-item.warn{background:linear-gradient(145deg,#fff7ed,#fff);border-color:rgba(245,158,11,.28)}
.ai-ops-item.good{background:linear-gradient(145deg,#ecfdf5,#fff);border-color:rgba(34,197,94,.25)}
.ai-ops-icon{width:28px;height:28px;border-radius:10px;background:var(--green2);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;flex-shrink:0}
.ai-ops-item.warn .ai-ops-icon{background:var(--amber2);color:var(--amber)}
.ai-ops-copy{font-size:12.5px;line-height:1.45;font-weight:700;color:var(--text2)}
.ai-ops-copy b{color:var(--text);font-weight:900}.ai-ops-copy small{display:block;color:var(--text3);font-weight:700;margin-top:3px}
.ai-ops-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ai-ops-btn{border:none;background:var(--grad-green);color:#fff;border-radius:12px;padding:9px 12px;font:inherit;font-size:12px;font-weight:900;box-shadow:0 10px 20px rgba(8,122,61,.18);cursor:pointer}
.ai-ops-btn.amber{background:var(--grad-amber);box-shadow:0 10px 20px rgba(234,122,10,.20)}
.smart-insight-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);background:var(--bg2);border-radius:14px;padding:12px}
.smart-insight-item.good{border-color:rgba(15,118,110,.18);background:rgba(15,118,110,.04)}
.smart-insight-item.info{border-color:rgba(14,165,233,.18);background:rgba(14,165,233,.04)}
.smart-insight-item.warning,.smart-insight-item.warn{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.05)}
.smart-insight-item.danger{border-color:rgba(190,18,60,.24);background:rgba(190,18,60,.05)}
.smart-ai-icon{width:28px;height:28px;border-radius:10px;background:var(--green2);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0}
.smart-insight-item.warning .smart-ai-icon,.smart-insight-item.warn .smart-ai-icon{background:var(--amber2);color:var(--amber)}
.smart-insight-item.danger .smart-ai-icon{background:var(--red2);color:var(--red)}
.smart-insight-content{min-width:0;flex:1}
.smart-insight-title{font-size:12px;font-weight:900;color:var(--text);line-height:1.35;margin-bottom:3px}
.smart-insight-text{font-size:12.5px;font-weight:700;color:var(--text2);line-height:1.45}
.smart-insight-evidence{font-size:10.5px;color:var(--text3);font-weight:700;margin-top:4px;line-height:1.35}
.smart-insight-action{margin-top:8px;border:none;background:var(--bg3);color:var(--text2);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;font-family:inherit;cursor:pointer}
.smart-insight-action:hover{background:var(--green2);color:var(--green)}
.user-mini-sub{font-size:11px;font-weight:800;color:var(--text3);line-height:1.35;margin-top:6px}
@media(min-width:820px){.ai-ops-wrap{grid-template-columns:1fr 1fr}.ai-ops-card.wide{grid-column:1/-1}}
@media(max-width:768px){.ai-ops-wrap{margin-left:16px;margin-right:16px}.ai-ops-card{border-radius:20px;padding:14px}.ai-ops-title{font-size:14px}}



/* === COMMUNITY FEED === */
.community-section{display:none;}
.community-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;}
.community-hero{background:linear-gradient(135deg,#064e3b 0%,#0f766e 52%,#d49116 100%);color:#fff;border-radius:24px;padding:22px;box-shadow:0 18px 38px rgba(6,78,59,.18);margin-bottom:16px;position:relative;overflow:hidden;}
.community-hero::after{content:'';position:absolute;right:-40px;top:-50px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.12);}
.community-hero-title{font-size:24px;font-weight:900;letter-spacing:-.03em;margin-bottom:6px;position:relative;z-index:1;}
.community-hero-sub{font-size:13px;line-height:1.6;color:rgba(255,255,255,.82);font-weight:650;max-width:680px;position:relative;z-index:1;}
.community-feed-card,.community-side-card{background:var(--bg2);border:1px solid rgba(15,118,110,.12);border-radius:22px;padding:18px;box-shadow:var(--shadow);}
.community-side-card{position:sticky;top:12px;margin-bottom:14px;}
.community-filter-row{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:14px;padding-bottom:2px;}
.community-filter-chip{border:1px solid rgba(15,118,110,.18);background:#fff;color:var(--green);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:850;font-family:inherit;white-space:nowrap;cursor:pointer;transition:.2s;}
.community-filter-chip.active,.community-filter-chip:hover{background:linear-gradient(135deg,#0f766e,#0b5f42);color:#fff;box-shadow:0 8px 18px rgba(15,118,110,.18);}
.community-create-toggle{display:none;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:16px;padding:12px 16px;font-weight:900;font-family:inherit;box-shadow:0 10px 22px rgba(217,119,6,.24);margin-bottom:12px;width:100%;}
.community-post-list{display:flex;flex-direction:column;gap:12px;}
.community-post{background:linear-gradient(180deg,#fff 0%,rgba(204,251,241,.22) 100%);border:1px solid rgba(15,118,110,.13);border-radius:20px;padding:16px;box-shadow:0 8px 22px rgba(62,39,35,.04);}
.community-post-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.community-author{display:flex;align-items:center;gap:10px;min-width:0;}
.community-avatar{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#d49116);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 8px 16px rgba(15,118,110,.16);flex-shrink:0;}
.community-author-name{font-size:13px;font-weight:900;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;}
.community-time{font-size:11px;color:var(--text3);font-weight:700;margin-top:3px;}
.community-chip-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.community-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:var(--green2);color:var(--green);border:1px solid rgba(15,118,110,.13);white-space:nowrap;}
.community-chip.family{background:var(--amber2);color:var(--amber);border-color:rgba(180,83,9,.14);}
.community-chip.type{background:var(--brown2);color:var(--brown);}
.community-title{font-size:16px;font-weight:900;color:var(--text);letter-spacing:-.02em;margin-bottom:7px;line-height:1.35;}
.community-content{font-size:13px;line-height:1.68;color:var(--text2);white-space:pre-wrap;}
.community-post-image{width:100%;max-height:280px;object-fit:cover;border-radius:16px;border:1px solid rgba(15,118,110,.12);margin:8px 0 12px;background:var(--bg3);}
.community-seo-link{font-size:12px;font-weight:900;color:var(--green);margin:6px 0 8px;word-break:break-all;}
.community-meta-extra{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;}
.community-action-row{display:flex;gap:8px;border-top:1px solid var(--border);margin-top:14px;padding-top:12px;}
.community-action{border:none;background:var(--bg3);color:var(--text2);border-radius:12px;padding:9px 11px;font-size:12px;font-weight:850;font-family:inherit;cursor:pointer;transition:.2s;}
.community-action:hover{background:var(--green2);color:var(--green);}
.community-form-title{font-size:18px;font-weight:900;color:var(--green);margin-bottom:12px;letter-spacing:-.02em;}
.community-form{display:flex;flex-direction:column;gap:12px;}
.community-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);font-weight:900;margin-bottom:7px;}
.community-field input,.community-field textarea,.community-field select{width:100%;border:1px solid var(--border2);background:var(--bg3);border-radius:12px;padding:12px 13px;font-family:inherit;font-size:13px;color:var(--text);outline:none;}
.community-field textarea{min-height:112px;resize:vertical;line-height:1.55;}
.community-field input:focus,.community-field textarea:focus,.community-field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,118,110,.12);background:#fff;}
.community-warning{background:var(--amber2);border:1px solid rgba(180,83,9,.18);color:var(--amber);border-radius:14px;padding:12px;font-size:12px;font-weight:750;line-height:1.5;}
.community-submit{border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:14px;padding:13px;font-weight:900;font-family:inherit;cursor:pointer;box-shadow:0 10px 22px rgba(217,119,6,.22);}
.community-rule-list{display:flex;flex-direction:column;gap:9px;font-size:12px;line-height:1.5;color:var(--text2);font-weight:700;}
.community-user-entry .user-action-ico{background:linear-gradient(135deg,#0f766e,#d49116)!important;color:#fff!important;}

.community-manage-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;}
.community-manage{border:1px solid var(--border2);background:#fff;color:var(--text2);border-radius:10px;padding:8px 10px;font-size:11px;font-weight:900;font-family:inherit;cursor:pointer;}
.community-manage.danger{color:var(--red);background:var(--red2);border-color:rgba(190,18,60,.14);}
.community-comments{border-top:1px dashed var(--border2);margin-top:12px;padding-top:12px;display:flex;flex-direction:column;gap:8px;}
.community-comment{background:#fff;border:1px solid var(--border);border-radius:12px;padding:9px 11px;font-size:12px;line-height:1.5;color:var(--text2);}
.community-comment b{display:block;color:var(--text);font-size:11px;margin-bottom:2px;}
.community-comment-row{display:flex;gap:8px;align-items:center;margin-top:4px;}
.community-comment-row input{flex:1;border:1px solid var(--border2);background:var(--bg3);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);outline:none;}
.community-comment-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,118,110,.10);background:#fff;}
.community-comment-row button{border:none;background:linear-gradient(135deg,#0f766e,#0b5f42);color:#fff;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:900;font-family:inherit;cursor:pointer;}
@media(max-width:768px){.community-comment-row{align-items:stretch}.community-comment-row button{min-width:72px}.community-manage-row{margin-top:8px}}

@media(max-width:768px){
  .community-layout{display:block;}
  .community-side-card{position:static;display:none;margin-bottom:14px;}
  .community-side-card.open{display:block;}
  .community-create-toggle{display:block;}
  .community-hero{border-radius:22px;padding:18px;margin-top:2px;}
  .community-hero-title{font-size:22px;}
  .community-feed-card{padding:14px;border-radius:20px;}
  .community-post{padding:14px;border-radius:18px;}
  .community-post-top{flex-direction:column;}
  .community-chip-row{justify-content:flex-start;}
  .community-author-name{max-width:240px;}
  .community-action{flex:1;padding:10px 6px;}
}




/* === BASIC FULL-WIDTH MOBILE NAV FINAL OVERRIDE === */
@media(max-width:768px){
  .mobile-nav{
    left:0!important;
    right:0!important;
    transform:none!important;
    bottom:0!important;
    width:100vw!important;
    max-width:none!important;
    min-height:60px!important;
    height:60px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:0!important;
    padding:4px 6px calc(4px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border:0!important;
    border-top:1px solid rgba(15,23,42,.10)!important;
    border-radius:0!important;
    box-shadow:0 -4px 18px rgba(15,23,42,.10)!important;
    overflow:visible!important;
  }
  .mobile-nav.mobile-nav-hidden{
    transform:translateY(calc(100% + 10px))!important;
    opacity:0!important;
    pointer-events:none!important;
    box-shadow:none!important;
  }
  .mnav-btn,.mnav-center-btn{
    height:52px!important;
    min-width:0!important;
    flex:1 1 0!important;
    padding:4px 2px!important;
    gap:2px!important;
    color:#64748b!important;
    border-radius:0!important;
    font-size:10.5px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    background:transparent!important;
    box-shadow:none!important;
    position:static!important;
    top:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    border:none!important;
  }
  .mnav-btn svg{width:19px!important;height:19px!important;}
  .mnav-btn span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
  .mnav-btn.active{background:#f8fafc!important;color:#0f766e!important;box-shadow:inset 0 -2px 0 #0f766e!important;}
  .mnav-fab-inner{
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    border:1px solid rgba(15,118,110,.18)!important;
    background:#0f766e!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:24px!important;
    font-weight:800!important;
    line-height:31px!important;
  }
  .mobile-nav.fab-active .mnav-fab-inner{background:#334155!important;color:#fff!important;border-color:rgba(15,23,42,.14)!important;transform:rotate(45deg)!important;}
  .app{padding-bottom:72px!important;}
}



/* === PROFESSIONAL ADMIN DASHBOARD === */
.admin-shell{max-width:min(1180px,96vw)!important;width:100%!important;}
.admin-stat-row.pro{grid-template-columns:repeat(4,1fr)!important;margin-bottom:16px;}
.admin-mini-stat{background:rgba(255,255,255,.94);border:1px solid rgba(15,118,110,.12);border-radius:16px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.06);}
.admin-mini-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin-bottom:6px;}
.admin-mini-value{font-size:24px;font-weight:900;color:var(--text);letter-spacing:-.03em;}
.admin-two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;align-items:start;}
.admin-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.admin-publish-box{display:flex;flex-direction:column;gap:10px;}
.admin-publish-box textarea{min-height:110px;resize:vertical;}
.admin-kpi-note{font-size:12px;color:var(--text3);line-height:1.55;font-weight:650;}
@media(max-width:768px){.admin-stat-row.pro,.admin-two-col,.admin-action-grid{grid-template-columns:1fr!important}.admin-shell{max-width:100%!important;max-height:96vh!important}.admin-body{padding:14px!important}}


/* === HIDE TOP QUEST BUTTON === */
#btn-quests{display:none!important;}


/* === FONT + ADMIN PAGE + VHTG ASSISTANT + RATE BAR FIX === */
#gamification-modal-overlay,#quests-modal-overlay,.modal-box,.quest-card{font-family:'Be Vietnam Pro',sans-serif!important;}
.admin-page-open #admin-console-modal-overlay{align-items:stretch!important;justify-content:center!important;padding:0!important;background:var(--bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.admin-page-open #admin-console-modal-overlay .admin-shell{max-width:100%!important;width:100%!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;border:none!important;box-shadow:none!important;}
.admin-page-open #admin-console-modal-overlay .admin-body{max-width:1180px;margin:0 auto;width:100%;}
.rate-bar{display:flex!important;grid-template-columns:none!important;gap:6px!important;align-items:stretch!important;overflow-x:auto!important;white-space:nowrap!important;margin:10px 0!important;padding:6px 0!important;border-top:1px solid var(--border)!important;}
.rate-card{flex:1 0 0!important;min-width:0!important;padding:7px 8px!important;border-radius:10px!important;gap:5px!important;}
.rate-icon-box{width:24px!important;height:24px!important;border-radius:8px!important;flex:0 0 24px!important;}
.rate-card .rl{font-size:8.5px!important;line-height:1.1!important;}
.rate-card .rv{font-size:11px!important;line-height:1.15!important;}
.rate-btn{width:22px!important;height:22px!important;font-size:10px!important;}
@media(max-width:768px){
  .rate-bar{gap:4px!important;overflow-x:hidden!important;}
  .rate-card{padding:5px 3px!important;gap:2px!important;min-width:0!important;}
  .rate-icon-box{display:none!important;}
  .rate-card .rl{font-size:7.5px!important;}
  .rate-card .rv{font-size:9.5px!important;}
  .rate-btn-group{gap:1px!important}.rate-btn{width:17px!important;height:17px!important;font-size:9px!important;}
  .ai-assistant-body.show{position:fixed!important;left:10px!important;right:10px!important;bottom:72px!important;z-index:7600!important;display:block!important;margin:0!important;max-height:58vh!important;overflow:auto!important;background:#fff!important;border:1px solid rgba(15,118,110,.16)!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(15,23,42,.22)!important;padding:10px!important;}
  .ai-chat-mini{max-height:52vh!important;}
  .ai-chat-log{max-height:34vh!important;}
}



/* === ADMIN SCROLL + VHTG ASSISTANT POPUP FIX === */
.admin-page-open{overflow:hidden!important;}
.admin-page-open #admin-console-modal-overlay{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;align-items:flex-start!important;}
.admin-page-open #admin-console-modal-overlay .admin-shell{min-height:100vh!important;height:auto!important;max-height:none!important;overflow:visible!important;}
.admin-page-open #admin-console-modal-overlay .admin-body{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;}
.admin-page-open #admin-system-notif-modal-overlay,
.admin-page-open #admin-vip-modal-overlay,
.admin-page-open #admin-affiliate-modal-overlay{z-index:100002!important;}
.admin-page-open #admin-system-notif-modal-overlay .modal-box,
.admin-page-open #admin-vip-modal-overlay .modal-box,
.admin-page-open #admin-affiliate-modal-overlay .modal-box{position:relative;z-index:100003!important;}

/* === WORDPRESS-LIKE ADMIN DASHBOARD + CHILD MODAL FIX === */
.admin-page-open #admin-console-modal-overlay{background:#f0f2f4!important;color:#1d2327!important;}
.admin-page-open #admin-console-modal-overlay .admin-shell{background:#f0f2f4!important;}
.admin-page-open #admin-console-modal-overlay .admin-hero{background:linear-gradient(135deg,#1d2327 0%,#0f172a 58%,#0f766e 130%)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 26px rgba(15,23,42,.18)!important;}
.admin-page-open #admin-console-modal-overlay .admin-body{max-width:1240px!important;padding-top:22px!important;}
.admin-page-open #admin-console-modal-overlay .admin-stat-row.pro{gap:14px!important;margin-bottom:18px!important;}
.admin-page-open #admin-console-modal-overlay .admin-mini-stat{background:#fff!important;border:1px solid #dcdcde!important;border-radius:4px!important;box-shadow:0 1px 1px rgba(0,0,0,.04)!important;border-left:4px solid #2271b1!important;}
.admin-page-open #admin-console-modal-overlay .admin-mini-label{color:#646970!important;letter-spacing:.04em!important;}
.admin-page-open #admin-console-modal-overlay .admin-mini-value{color:#1d2327!important;font-size:22px!important;}
.admin-page-open #admin-console-modal-overlay .admin-stat-click{appearance:none;-webkit-appearance:none;text-align:left;font-family:inherit;cursor:pointer;transition:.16s ease;}
.admin-page-open #admin-console-modal-overlay .admin-stat-click:hover{border-color:#2271b1!important;box-shadow:0 2px 8px rgba(0,0,0,.10)!important;background:#f6f7f7!important;transform:translateY(-1px);}
.admin-page-open #admin-console-modal-overlay .admin-stat-click:active{transform:translateY(0);}
.admin-detail-list{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto;text-align:left;}
.admin-detail-item{background:#f6f7f7;border:1px solid #dcdcde;border-radius:8px;padding:10px 12px;}
.admin-detail-title{font-weight:900;color:#1d2327;font-size:13px;word-break:break-word;}
.admin-detail-meta{font-size:12px;color:#646970;line-height:1.55;margin-top:3px;word-break:break-word;}
.admin-detail-badge{display:inline-flex;align-items:center;border-radius:999px;background:#f0f6fc;color:#2271b1;border:1px solid #c5d9ed;font-size:10px;font-weight:900;padding:2px 7px;margin-top:7px;text-transform:uppercase;letter-spacing:.03em;}
.admin-page-open #admin-console-modal-overlay .admin-action-grid{background:#fff!important;border:1px solid #dcdcde!important;border-radius:4px!important;padding:10px!important;box-shadow:0 1px 1px rgba(0,0,0,.04)!important;}
.admin-page-open #admin-console-modal-overlay .admin-card{background:#fff!important;border:1px solid #dcdcde!important;border-radius:4px!important;box-shadow:none!important;min-height:96px!important;position:relative!important;overflow:hidden!important;}
.admin-page-open #admin-console-modal-overlay .admin-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#dcdcde;transition:.18s ease;}
.admin-page-open #admin-console-modal-overlay .admin-card:hover{background:#f6f7f7!important;border-color:#2271b1!important;transform:none!important;box-shadow:0 2px 8px rgba(0,0,0,.08)!important;}
.admin-page-open #admin-console-modal-overlay .admin-card:hover::before{background:#2271b1;}
.admin-page-open #admin-console-modal-overlay .admin-card-icon{background:#f0f6fc!important;color:#2271b1!important;border:1px solid #c5d9ed!important;border-radius:4px!important;}
.admin-page-open #admin-console-modal-overlay .admin-card-title{color:#1d2327!important;font-size:15px!important;}
.admin-page-open #admin-console-modal-overlay .admin-card-desc{color:#646970!important;font-size:12px!important;}
.admin-page-open #admin-console-modal-overlay .admin-section{background:#fff!important;border:1px solid #dcdcde!important;border-radius:4px!important;box-shadow:0 1px 1px rgba(0,0,0,.04)!important;}
.admin-page-open #admin-console-modal-overlay .admin-section-title{color:#1d2327!important;border-bottom:1px solid #dcdcde!important;padding-bottom:10px!important;margin-bottom:14px!important;}
.admin-page-open #admin-console-modal-overlay .admin-section-title::before{background:#2271b1!important;border-radius:1px!important;}
.admin-page-open #admin-console-modal-overlay .admin-list-item{background:#fff!important;border-color:#dcdcde!important;border-radius:4px!important;}
.admin-page-open #admin-console-modal-overlay .admin-list-item:hover{background:#f6f7f7!important;border-color:#2271b1!important;}
.admin-submodal-open #admin-console-modal-overlay{pointer-events:none!important;}
.admin-child-modal-open{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;z-index:2147483000!important;align-items:center!important;justify-content:center!important;background:rgba(15,23,42,.58)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;padding:18px!important;pointer-events:auto!important;}
.admin-child-modal-open .modal-box{position:relative!important;z-index:2147483001!important;border-radius:10px!important;border:1px solid rgba(148,163,184,.34)!important;box-shadow:0 24px 80px rgba(15,23,42,.34)!important;}
#app-modal-overlay.admin-top-modal{position:fixed!important;inset:0!important;z-index:2147483600!important;display:flex;align-items:center!important;justify-content:center!important;background:rgba(15,23,42,.62)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;pointer-events:auto!important;}
#app-modal-overlay.admin-top-modal .modal-box{position:relative!important;z-index:2147483601!important;border-radius:12px!important;border:1px solid rgba(148,163,184,.38)!important;box-shadow:0 28px 90px rgba(15,23,42,.38)!important;}
@media(max-width:768px){
  .admin-page-open #admin-console-modal-overlay .admin-body{padding:14px 12px calc(104px + env(safe-area-inset-bottom))!important;}
  .admin-page-open #admin-console-modal-overlay .admin-stat-row.pro{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .admin-page-open #admin-console-modal-overlay .admin-mini-value{font-size:18px!important;}
  .admin-page-open #admin-console-modal-overlay .admin-action-grid{padding:8px!important;gap:8px!important;}
  .admin-page-open #admin-console-modal-overlay .admin-card{grid-template-columns:40px 1fr!important;min-height:78px!important;border-radius:4px!important;}
  .admin-child-modal-open{align-items:flex-start!important;padding:12px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  .admin-child-modal-open .modal-box{max-width:100%!important;width:100%!important;max-height:none!important;margin:20px 0 calc(92px + env(safe-area-inset-bottom))!important;}
  #app-modal-overlay.admin-top-modal{padding:14px!important;}
  #app-modal-overlay.admin-top-modal .modal-box{width:100%!important;max-width:420px!important;margin:auto!important;}
}

/* === VHTG PRIVATE ADMIN REDESIGN === */
.admin-page-open #admin-console-modal-overlay{
  background:
    radial-gradient(circle at 78% 5%,rgba(15,118,110,.18),transparent 34%),
    radial-gradient(circle at 10% 0%,rgba(212,175,55,.14),transparent 28%),
    linear-gradient(135deg,#f7f5ec 0%,#e9f5f1 46%,#e8f2ee 100%)!important;
  color:#073f37!important;
}
.admin-page-open #admin-console-modal-overlay .admin-vhtg-shell{
  background:transparent!important;
  max-width:1240px!important;
  min-height:100vh!important;
  margin:0 auto!important;
  border:0!important;
  box-shadow:none!important;
}
.admin-vhtg-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,.9fr);gap:16px;padding:14px 16px 18px!important;max-width:1240px;margin:0 auto;}
.admin-vhtg-hero,.admin-vhtg-status,.admin-vhtg-panel,.admin-page-open #admin-console-modal-overlay .admin-section{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(15,118,110,.10)!important;
  border-radius:28px!important;
  box-shadow:0 24px 55px rgba(15,23,42,.07)!important;
}
.admin-vhtg-hero{min-height:166px;padding:26px 24px!important;display:flex;align-items:center;justify-content:space-between;gap:18px;overflow:hidden;position:relative;}
.admin-vhtg-hero:after,.admin-page-open #admin-console-modal-overlay .admin-mini-stat:after{content:'';position:absolute;right:-34px;top:-46px;width:122px;height:122px;border-radius:50%;background:rgba(15,118,110,.075);pointer-events:none;}
.admin-vhtg-brand{display:flex;align-items:center;gap:16px;min-width:0;position:relative;z-index:1;}
.admin-vhtg-logo{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,#0f766e,#10b981);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:950;box-shadow:0 16px 30px rgba(15,118,110,.20);flex:0 0 auto;}
.admin-vhtg-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#eefbf6;border:1px solid rgba(15,118,110,.14);color:#04756b;font-size:11px;font-weight:950;margin-bottom:8px;}
.admin-vhtg-hero h2{margin:0!important;color:#073f37!important;font-size:28px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:0!important;}
.admin-vhtg-hero p,.admin-vhtg-status p,.admin-vhtg-muted{margin:8px 0 0!important;color:#5f746e!important;font-size:13.5px!important;font-weight:720!important;line-height:1.55!important;max-width:650px;}
.admin-vhtg-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-end;position:relative;z-index:1;}
.admin-vhtg-primary,.admin-vhtg-ghost,.admin-vhtg-status button{
  border:1px solid rgba(15,118,110,.12);border-radius:16px;min-height:46px;padding:0 18px;font-family:inherit;font-size:15px;font-weight:950;cursor:pointer;transition:.18s ease;white-space:nowrap;
}
.admin-vhtg-primary{background:#dbab24;color:#fff;box-shadow:0 14px 28px rgba(180,133,9,.18);}
.admin-vhtg-ghost,.admin-vhtg-status button{background:#fff;color:#05746b;}
.admin-vhtg-primary:hover,.admin-vhtg-ghost:hover,.admin-vhtg-status button:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(15,23,42,.10);}
.admin-vhtg-status{padding:22px!important;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:166px;}
.admin-vhtg-status h3{margin:0;color:#073f37;font-size:17px;font-weight:950;}
.admin-vhtg-status button{width:100%;}
.admin-vhtg-tabs{max-width:1240px;margin:0 auto 16px;padding:0 16px;display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.admin-vhtg-tabs button{border:1px solid rgba(15,118,110,.12);background:rgba(255,255,255,.82);color:#073f37;border-radius:999px;min-height:42px;padding:0 15px;font:900 14px 'Be Vietnam Pro',sans-serif;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.admin-vhtg-tabs button.active{background:#078b7f;color:#fff;border-color:#078b7f;}
.admin-page-open #admin-console-modal-overlay .admin-vhtg-body{max-width:1240px!important;padding:0 16px 34px!important;margin:0 auto!important;}
.admin-page-open #admin-console-modal-overlay .admin-vhtg-kpis{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:14px!important;margin-bottom:16px!important;}
.admin-page-open #admin-console-modal-overlay .admin-mini-stat{
  min-height:150px!important;border-radius:20px!important;border:1px solid rgba(15,118,110,.10)!important;border-left:0!important;background:rgba(255,255,255,.86)!important;box-shadow:0 16px 34px rgba(15,23,42,.055)!important;padding:17px!important;position:relative!important;overflow:hidden!important;text-align:left!important;color:#073f37!important;
}
.admin-page-open #admin-console-modal-overlay .admin-mini-label{color:#60756f!important;font-size:11px!important;font-weight:950!important;letter-spacing:.03em!important;}
.admin-page-open #admin-console-modal-overlay .admin-mini-value{color:#087d72!important;font-size:28px!important;line-height:1!important;margin:26px 0 8px!important;font-family:'JetBrains Mono',monospace!important;}
.admin-page-open #admin-console-modal-overlay .admin-mini-stat span{position:absolute;right:24px;top:30px;font-size:18px;z-index:1;}
.admin-page-open #admin-console-modal-overlay .admin-mini-stat small{display:block;color:#778781;font-size:11px;font-weight:800;line-height:1.35;position:relative;z-index:1;}
.admin-vhtg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:14px;margin-bottom:14px;}
.admin-page-open #admin-console-modal-overlay .admin-section{padding:22px!important;}
.admin-page-open #admin-console-modal-overlay .admin-section-title{border:0!important;padding:0!important;margin:0 0 4px!important;color:#073f37!important;font-size:22px!important;font-weight:950!important;}
.admin-page-open #admin-console-modal-overlay .admin-section-title:before{display:none!important;}
.admin-page-open #admin-console-modal-overlay .admin-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;background:transparent!important;border:0!important;padding:16px 0 0!important;box-shadow:none!important;}
.admin-page-open #admin-console-modal-overlay .admin-card{
  background:rgba(255,255,255,.72)!important;border:1px solid rgba(15,118,110,.13)!important;border-radius:16px!important;box-shadow:none!important;min-height:96px!important;padding:16px!important;color:#073f37!important;
}
.admin-page-open #admin-console-modal-overlay .admin-card:before{display:none!important;}
.admin-page-open #admin-console-modal-overlay .admin-card:hover{background:#fff!important;border-color:rgba(15,118,110,.28)!important;transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(15,23,42,.07)!important;}
.admin-page-open #admin-console-modal-overlay .admin-card-title{font-size:15px!important;color:#073f37!important;font-weight:950!important;margin-bottom:6px!important;}
.admin-page-open #admin-console-modal-overlay .admin-card-desc{font-size:12.5px!important;color:#647872!important;font-weight:700!important;line-height:1.5!important;}
.admin-vhtg-health{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:16px;}
.admin-vhtg-health button{background:rgba(255,255,255,.68);border:1px solid rgba(15,118,110,.13);border-radius:16px;padding:15px;text-align:left;min-height:74px;color:#073f37;font-family:inherit;cursor:pointer;}
.admin-vhtg-health b{display:block;font-size:14px;font-weight:950;margin-bottom:6px;}
.admin-vhtg-health span{display:inline-flex;border-radius:999px;background:#dbf7ef;color:#007f72;border:1px solid rgba(15,118,110,.14);padding:5px 9px;font-size:11px;font-weight:950;}
.admin-vhtg-manage{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;gap:14px!important;}
.admin-page-open #admin-console-modal-overlay .admin-add-grid{grid-template-columns:1fr 1fr auto!important;}
.admin-detail-list{gap:10px!important;}
.admin-detail-item{background:#fff!important;border:1px solid rgba(15,118,110,.13)!important;border-radius:14px!important;}
.admin-detail-title{color:#073f37!important;}
.admin-detail-meta{color:#5f746e!important;}
.admin-detail-badge{background:#dbf7ef!important;color:#007f72!important;border-color:rgba(15,118,110,.14)!important;}
@media(max-width:1024px){
  .admin-vhtg-top,.admin-vhtg-grid,.admin-vhtg-manage{grid-template-columns:1fr!important;}
  .admin-page-open #admin-console-modal-overlay .admin-vhtg-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:768px){
  .admin-vhtg-top{padding:10px 10px 14px!important;gap:10px;}
  .admin-vhtg-hero{align-items:flex-start;flex-direction:column;border-radius:22px!important;padding:18px!important;}
  .admin-vhtg-brand{align-items:flex-start;}
  .admin-vhtg-logo{width:46px;height:46px;border-radius:17px;}
  .admin-vhtg-hero h2{font-size:21px!important;}
  .admin-vhtg-actions{width:100%;flex-direction:row;align-items:stretch;}
  .admin-vhtg-primary,.admin-vhtg-ghost{flex:1;padding:0 10px;font-size:13px;}
  .admin-vhtg-tabs{padding:0 10px;margin-bottom:10px;}
  .admin-vhtg-tabs button{min-height:40px;font-size:13px;padding:0 13px;}
  .admin-page-open #admin-console-modal-overlay .admin-vhtg-body{padding:0 10px calc(92px + env(safe-area-inset-bottom))!important;}
  .admin-page-open #admin-console-modal-overlay .admin-vhtg-kpis{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .admin-page-open #admin-console-modal-overlay .admin-mini-stat{min-height:142px!important;border-radius:18px!important;padding:14px!important;}
  .admin-page-open #admin-console-modal-overlay .admin-mini-value{font-size:23px!important;margin:28px 0 8px!important;}
  .admin-page-open #admin-console-modal-overlay .admin-action-grid,.admin-vhtg-health{grid-template-columns:1fr!important;}
  .admin-page-open #admin-console-modal-overlay .admin-add-grid{grid-template-columns:1fr!important;}
}

/* === MOBILE PERIOD FILTER + DATE INPUT STABILITY === */
input[type="date"]{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  height:46px!important;
  min-height:46px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
input[type="date"]::-webkit-date-and-time-value{
  text-align:left!important;
  min-height:1.2em!important;
  line-height:1.2!important;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  flex:0 0 auto!important;
  margin-left:6px!important;
  opacity:.72!important;
}
@media(max-width:768px){
  #sales-period-bar,
  #budget-period-bar{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    padding:10px!important;
    margin:8px 0 12px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  #sales-period-bar .period-label,
  #budget-period-bar .period-label{
    display:none!important;
  }
  #sales-period-bar .period-tabs,
  #budget-period-bar .period-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    min-height:0!important;
    padding:4px!important;
    gap:4px!important;
    overflow:visible!important;
  }
  #sales-period-bar .ptab,
  #budget-period-bar .ptab{
    min-width:0!important;
    width:100%!important;
    min-height:36px!important;
    height:36px!important;
    padding:0 4px!important;
    font-size:12px!important;
    border-radius:11px!important;
  }
  #sales-period-bar .period-nav,
  #budget-period-bar .period-nav{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px 46px!important;
    width:100%!important;
    gap:6px!important;
    align-items:center!important;
  }
  #sales-period-bar .period-display,
  #budget-period-bar .period-display{
    min-width:0!important;
    width:100%!important;
    height:38px!important;
    line-height:38px!important;
    padding:0 6px!important;
    border-radius:12px!important;
    background:var(--bg3)!important;
    font-size:13px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #sales-period-bar .nav-btn,
  #budget-period-bar .nav-btn{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    border-radius:12px!important;
    font-size:16px!important;
    padding:0!important;
  }
  #sales-period-bar .period-nav .nav-btn:last-child,
  #budget-period-bar .period-nav .nav-btn:last-child{
    width:46px!important;
    min-width:46px!important;
    height:38px!important;
    padding:0!important;
    font-size:12px!important;
  }
  .field input[type="date"],
  .action-popup-form .field input[type="date"],
  .modal-box .field input[type="date"]{
    height:46px!important;
    min-height:46px!important;
    padding:0 12px!important;
    font-size:14px!important;
    display:block!important;
    direction:ltr!important;
  }
  .field input[type="date"]::-webkit-date-and-time-value{
    padding:0!important;
    margin:0!important;
  }
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  #main-app,.app{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  #section-sales{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  #section-sales > *,
  #section-sales .period-bar,
  #section-sales .sales-subtabs,
  #section-sales .vhtg-action-row,
  #section-sales .hero-toggle-row,
  #section-sales #sales-hero,
  #section-sales .chart-card,
  #section-sales .sec{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  #section-sales #sales-hero{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #section-sales #sales-hero > div:last-child{
    grid-column:1/-1!important;
  }
  #section-sales .budget-hero-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #section-sales .chart-card{
    overflow:hidden!important;
    contain:inline-size!important;
    padding:16px 12px!important;
  }
  #section-sales canvas#salesTrendChart{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:230px!important;
    max-height:230px!important;
    box-sizing:border-box!important;
  }
  .admin-page-open #admin-console-modal-overlay{padding:0!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;}
  .admin-page-open #admin-console-modal-overlay .admin-shell{width:100%!important;min-height:100dvh!important;height:auto!important;max-height:none!important;border-radius:0!important;overflow:visible!important;}
  .admin-page-open #admin-console-modal-overlay .admin-hero{position:sticky!important;top:0!important;z-index:5!important;border-radius:0!important;}
  .admin-page-open #admin-console-modal-overlay .admin-body{padding:14px 12px calc(96px + env(safe-area-inset-bottom))!important;}
  .ai-assistant-body.show{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(70px + env(safe-area-inset-bottom))!important;
    z-index:7600!important;
    display:block!important;
    margin:0!important;
    height:auto!important;
    max-height:min(560px, calc(100dvh - 112px - env(safe-area-inset-bottom)))!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid rgba(15,118,110,.18)!important;
    border-radius:18px!important;
    box-shadow:0 20px 54px rgba(15,23,42,.26)!important;
    padding:10px!important;
  }
  .ai-assistant-body.show .ai-chat-mini{height:auto!important;max-height:calc(100dvh - 140px - env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column!important;}
  .ai-assistant-body.show .ai-chat-head{position:sticky!important;top:0!important;background:#fff!important;z-index:2!important;padding-bottom:8px!important;}
  .ai-assistant-body.show .ai-chat-log{flex:1 1 auto!important;max-height:calc(100dvh - 245px - env(safe-area-inset-bottom))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  .ai-assistant-body.show .ai-chat-input-row{flex:0 0 auto!important;background:#fff!important;padding-top:8px!important;}
}



/* === VHTG ASSISTANT MOBILE FULL SCREEN SHEET === */
@media(max-width:768px){
  .ai-assistant-body.show{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:calc(64px + env(safe-area-inset-bottom))!important;
    z-index:7600!important;
    display:block!important;
    margin:0!important;
    width:100vw!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
    border:0!important;
    border-bottom:1px solid rgba(15,118,110,.14)!important;
    border-radius:0!important;
    box-shadow:0 12px 40px rgba(15,23,42,.18)!important;
    padding:12px!important;
  }
  .ai-assistant-body.show .ai-chat-mini{
    height:100%!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
    border:1px solid rgba(15,118,110,.12)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  }
  .ai-assistant-body.show .ai-chat-head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    background:linear-gradient(135deg,#064e3b,#0f766e)!important;
    color:#fff!important;
    padding:14px!important;
    border-bottom:0!important;
  }
  .ai-assistant-body.show .ai-chat-title{color:#fff!important;font-size:16px!important;font-weight:900!important;}
  .ai-assistant-body.show .ai-chat-sub{color:rgba(255,255,255,.78)!important;font-size:11px!important;font-weight:650!important;}
  .ai-assistant-body.show .notif-clear-btn{
    background:rgba(255,255,255,.14)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    padding:8px 10px!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  .ai-assistant-body.show .notif-clear-btn:hover{background:rgba(255,255,255,.22)!important;color:#fff!important;}
  .ai-assistant-body.show .ai-chat-log{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px!important;
    background:#f8fafc!important;
  }
  .ai-assistant-body.show .ai-chat-input-row{
    flex:0 0 auto!important;
    background:#fff!important;
    padding:10px!important;
    border-top:1px solid rgba(15,23,42,.08)!important;
  }
}





.company-debt-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.company-debt-stat{background:linear-gradient(135deg,#fff 0%,#fffaf0 100%);border:1px solid rgba(245,158,11,.18);border-radius:14px;padding:12px;box-shadow:0 8px 22px rgba(180,83,9,.06)}.company-debt-label{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--text3);margin-bottom:5px}.company-debt-value{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:900;color:var(--amber);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debt-card.company-debt{border-color:rgba(245,158,11,.32);background:linear-gradient(135deg,#fff 0%,#fffbeb 100%)}.goal-plan-box{margin-top:10px;background:rgba(15,118,110,.06);border:1px solid rgba(15,118,110,.12);border-radius:12px;padding:10px;font-size:12px;color:var(--text2);line-height:1.55}.goal-source-list{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.goal-source-pill{background:#fff;border:1px solid var(--border2);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;color:var(--text3)}.goal-expense-list{margin-top:10px;border-top:1px dashed var(--border2);padding-top:8px;display:flex;flex-direction:column;gap:6px}.goal-expense-item{display:flex;justify-content:space-between;gap:10px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:7px 9px;font-size:11.5px}.goal-expense-item b{color:var(--red);font-family:'JetBrains Mono',monospace}.goal-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.goal-action-row .txn-del{margin-top:0!important}.goal-mini-btn{background:var(--green2);color:var(--green);border:none;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:900;cursor:pointer}.goal-mini-btn:hover{background:var(--green);color:#fff}.goal-status-select{width:100%;margin-top:8px;padding:8px 10px;border:1px solid var(--border2);border-radius:10px;background:var(--bg2);color:var(--text);font-family:inherit;font-size:12px;font-weight:800}
@media(max-width:768px){.company-debt-dashboard{grid-template-columns:repeat(2,1fr)}.company-debt-value{font-size:13px}}

/* === DAILY REPORT + FAMILY MODE + VOICE QUICK ADD === */
.daily-report-card,.family-mode-card{margin:0 18px 18px;border:1px solid rgba(15,118,110,.16);background:linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%);border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(15,118,110,.08)}
.daily-report-head,.family-mode-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.daily-report-title,.family-mode-title{font-size:15px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px}.daily-report-time{font-size:11px;font-weight:800;color:var(--amber);background:var(--amber2);border:1px solid rgba(180,83,9,.18);border-radius:999px;padding:5px 8px;white-space:nowrap}.daily-report-grid,.family-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.daily-report-metric,.family-mode-metric{background:rgba(255,255,255,.78);border:1px solid rgba(15,118,110,.1);border-radius:14px;padding:10px;min-width:0}.daily-report-label,.family-mode-label{font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}.daily-report-value,.family-mode-value{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:900;color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-report-ai{background:#fff;border:1px dashed rgba(245,158,11,.34);border-radius:14px;padding:11px 12px;color:var(--text2);font-size:13px;font-weight:700;line-height:1.45}.daily-report-actions,.family-mode-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.soft-action-btn{border:1px solid rgba(15,118,110,.18);background:#fff;color:var(--green);border-radius:12px;padding:9px 12px;font-size:12px;font-weight:900;font-family:inherit;cursor:pointer}.soft-action-btn.amber{border-color:rgba(245,158,11,.25);color:var(--amber);background:#fffaf0}.fab-item.voice-fab-item{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:rgba(15,118,110,.22);color:var(--green)}.voice-listening .mnav-fab-inner,.voice-listening .fab-main{animation:voicePulse 1s ease-in-out infinite;background:linear-gradient(135deg,#0f766e,#f59e0b)!important}@keyframes voicePulse{0%,100%{box-shadow:0 0 0 0 rgba(15,118,110,.35)}50%{box-shadow:0 0 0 10px rgba(15,118,110,0)}}
@media(max-width:768px){.daily-report-card,.family-mode-card{margin:0 12px 14px;padding:14px;border-radius:16px}.daily-report-grid,.family-mode-grid{grid-template-columns:repeat(2,1fr)}.daily-report-value,.family-mode-value{font-size:12px}.daily-report-head,.family-mode-head{align-items:flex-start}.daily-report-time{font-size:10px}}
.family-mode-card{background:radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 35%),var(--bg2);border:1px solid rgba(15,118,110,.12)}
.family-mode-sub{font-size:11.5px;font-weight:700;color:var(--text3);margin-top:4px;line-height:1.45}
.family-mode-metric{background:rgba(255,255,255,.65);border:1px solid var(--border);padding:14px}
.family-mode-value{font-size:16px}
.family-mode-value.small{font-family:inherit;font-size:12.5px;line-height:1.35;white-space:normal;color:var(--text2)}
.family-mode-status{display:block;font-family:inherit;font-size:11px;color:var(--text3);font-weight:800;margin-top:3px}
.family-insight{border:1px dashed rgba(212,175,55,.28);background:rgba(255,255,255,.45);border-radius:14px;padding:13px 14px;font-size:13px;font-weight:700;color:var(--text2);line-height:1.5}
.family-setup-block{border:1px solid var(--border);background:var(--bg2);border-radius:16px;padding:14px;margin-top:14px}
.family-setup-title{font-size:13px;font-weight:900;color:var(--text);margin-bottom:5px}
.family-setup-desc{font-size:11.5px;font-weight:700;color:var(--text3);line-height:1.45;margin-bottom:10px}
.family-shared-list{display:grid;gap:8px;max-height:240px;overflow:auto;padding-right:2px}
.family-shared-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);background:var(--bg3);border-radius:12px;padding:10px 11px}
.family-shared-row label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;color:var(--text);line-height:1.35;cursor:pointer;min-width:0}
.family-shared-row input{width:16px;height:16px;accent-color:var(--green);flex-shrink:0}
.family-shared-amount{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:900;color:var(--green);white-space:nowrap}
@media(max-width:640px){.family-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-mode-value{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-mode-value.small{font-size:12px;white-space:normal}.family-shared-row{align-items:flex-start;flex-direction:column}.family-shared-amount{padding-left:25px}}


/* === ASSET SUMMARY + MODERN HORIZONTAL ASSET TABS === */
.asset-tabs-shell{
  position:sticky!important;
  top:10px;
  z-index:22;
  margin:0 0 16px!important;
  padding:8px!important;
  display:block!important;
  border:1px solid rgba(15,118,110,.10)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
.asset-tabs-shell::after{
  content:'';
  position:absolute;
  right:0;
  top:0;
  width:42px;
  height:100%;
  pointer-events:none;
  background:linear-gradient(to left,rgba(255,255,255,.96),rgba(255,255,255,0));
}
body.dark-mode .asset-tabs-shell::after{background:linear-gradient(to left,rgba(31,41,55,.96),rgba(31,41,55,0));}
.asset-tabs-scroll{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:2px 34px 2px 2px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  flex-wrap:nowrap!important;
}
.asset-tabs-scroll::-webkit-scrollbar{display:none!important;}
.asset-tabs-scroll .tab{
  flex:0 0 auto!important;
  min-width:auto!important;
  height:40px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:var(--text2)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  scroll-snap-align:start!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.asset-tabs-scroll .tab:hover{
  background:rgba(15,118,110,.06)!important;
  color:var(--green)!important;
  transform:translateY(-1px)!important;
}
.asset-tabs-scroll .tab.active{
  background:linear-gradient(135deg,#f59e0b,#d4af37)!important;
  color:#fff!important;
  border-color:rgba(212,175,55,.35)!important;
  box-shadow:0 8px 18px rgba(245,158,11,.20)!important;
}
.asset-tab-arrow,.asset-tabs-shell .asset-tab-arrow{display:none!important;visibility:hidden!important;pointer-events:none!important;}
@media(max-width:768px){
  .asset-tabs-shell{top:8px!important;margin-bottom:14px!important;padding:7px!important;border-radius:16px!important;}
  .asset-tabs-scroll{gap:8px!important;padding-right:30px!important;}
  .asset-tabs-scroll .tab{height:38px!important;padding:0 14px!important;font-size:12.5px!important;}
}
#tab-coin .sec-hdr-right-group>div[style*="text-align:right"],#tab-stocks .sec-hdr-right-group>div[style*="text-align:right"],#tab-save .sec-hdr-right-group>div[style*="text-align:right"],#tab-share .sec-hdr-right-group>div[style*="text-align:right"],#tab-gold .sec-hdr-right-group>div[style*="text-align:right"],#tab-re .sec-hdr-right-group>div[style*="text-align:right"],#tab-other .sec-hdr-right-group>div[style*="text-align:right"]{text-align:left!important;display:grid;grid-template-columns:minmax(140px,.8fr) minmax(260px,1.4fr);gap:10px;align-items:stretch;min-width:min(100%,520px);background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%);border:1px solid rgba(15,118,110,.12);border-radius:16px;padding:10px 12px;box-shadow:0 10px 24px rgba(15,118,110,.08)}
#section-assets .sec-total{width:auto!important;min-width:0;font-size:clamp(17px,2.2vw,24px)!important;line-height:1.1!important;display:flex;align-items:center;justify-content:flex-start;color:#f59e0b!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-summary-row{display:flex!important;align-items:center;gap:6px!important;flex-wrap:wrap;font-size:11px!important;line-height:1.2!important;color:var(--text3)!important;margin:0!important}.asset-summary-row .divider{display:none!important}.asset-summary-row span:not(.divider){display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.78);border:1px solid rgba(15,118,110,.1);border-radius:999px;padding:6px 8px;min-width:0;max-width:100%;white-space:nowrap}.asset-summary-row strong{font-size:12px!important;color:var(--text)!important;font-family:'JetBrains Mono',monospace!important;letter-spacing:-.01em}.asset-summary-row strong.up{color:var(--green)!important}.asset-summary-row strong.dn{color:var(--red)!important}.asset-summary-row[style*="margin-top"]{grid-column:2;align-self:end}.sec-hdr-right-group{align-items:center!important}.sec-hdr-right-group>div[style*="display:flex"]{flex-wrap:wrap;justify-content:flex-start}
@media(max-width:768px){.asset-tabs-shell{padding:0 26px}.asset-tabs-shell .tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.asset-tabs-shell .tab{scroll-snap-align:center}.asset-tab-arrow{display:flex}.asset-tab-arrow.left{left:0}.asset-tab-arrow.right{right:0}.asset-tabs-shell::before,.asset-tabs-shell::after{content:'';position:absolute;top:0;bottom:0;width:26px;z-index:3;pointer-events:none}.asset-tabs-shell::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(255,255,255,0))}.asset-tabs-shell::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(255,255,255,0))}#tab-coin .sec-hdr-right-group>div[style*="text-align:right"],#tab-stocks .sec-hdr-right-group>div[style*="text-align:right"],#tab-save .sec-hdr-right-group>div[style*="text-align:right"],#tab-share .sec-hdr-right-group>div[style*="text-align:right"],#tab-gold .sec-hdr-right-group>div[style*="text-align:right"],#tab-re .sec-hdr-right-group>div[style*="text-align:right"],#tab-other .sec-hdr-right-group>div[style*="text-align:right"]{grid-template-columns:1fr!important;width:100%!important;min-width:0!important;padding:10px!important;border-radius:14px!important}.asset-summary-row,.asset-summary-row[style*="margin-top"]{grid-column:1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;width:100%}.asset-summary-row span:not(.divider){justify-content:space-between;border-radius:10px;padding:7px 8px;font-size:10px;white-space:normal}.asset-summary-row strong{font-size:11px!important;text-align:right;word-break:break-word}.sec-hdr-right-group{width:100%;flex-direction:column!important;align-items:stretch!important}.sec-hdr-right-group>div[style*="display:flex"]{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.sec-hdr-right-group .add-toggle-btn,.sec-hdr-right-group .connect-sync-btn{width:100%;justify-content:center}#section-assets .sec-total{font-size:22px!important;justify-content:flex-start;margin-bottom:2px}}
#tab-re .sec-hdr{flex-wrap:wrap!important;gap:12px!important}#tab-re .sec-hdr-right-group{max-width:100%!important;flex:1 1 620px!important;justify-content:flex-end!important;flex-wrap:wrap!important}#tab-re .sec-hdr-right-group .add-toggle-btn{flex:0 0 auto!important;white-space:nowrap!important}
#app-modal-message{white-space:normal}


/* === ASSET TAB ARROWS REFINEMENT + EMPTY SUMMARY FIX === */
.asset-summary-row span:empty{display:none!important}.asset-tab-arrow{display:flex!important;opacity:0!important;pointer-events:none!important;width:26px!important;height:26px!important;font-size:20px!important;background:rgba(15,118,110,.84)!important;border:1px solid rgba(245,158,11,.28)!important;box-shadow:0 6px 16px rgba(15,118,110,.16)!important;transition:opacity .22s ease,transform .22s ease!important}.asset-tabs-shell.show-arrows .asset-tab-arrow,.asset-tabs-shell:focus-within .asset-tab-arrow{opacity:.92!important;pointer-events:auto!important}.asset-tab-arrow.left{transform:translateY(-50%) translateX(4px)!important}.asset-tab-arrow.right{transform:translateY(-50%) translateX(-4px)!important}.asset-tabs-shell.show-arrows .asset-tab-arrow.left,.asset-tabs-shell:focus-within .asset-tab-arrow.left{transform:translateY(-50%) translateX(0)!important}.asset-tabs-shell.show-arrows .asset-tab-arrow.right,.asset-tabs-shell:focus-within .asset-tab-arrow.right{transform:translateY(-50%) translateX(0)!important}.asset-tab-arrow::after{inset:-3px!important;border-color:rgba(245,158,11,.15)!important}.asset-tabs-shell{padding-left:0!important;padding-right:0!important}@media(max-width:768px){.asset-tabs-shell{padding:0 16px!important}.asset-tab-arrow.left{left:2px!important}.asset-tab-arrow.right{right:2px!important}.asset-tabs-shell::before,.asset-tabs-shell::after{width:18px!important}}


/* === SHARE PERMISSION MATRIX === */
.share-permission-matrix{display:grid;gap:10px;margin:12px 0 18px}.share-permission-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,1.2fr);gap:10px;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:10px 12px}.share-permission-name{font-size:13px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px}.share-permission-row select{width:100%;border:1px solid var(--border2);background:var(--bg2);border-radius:10px;padding:9px 10px;font-family:inherit;font-weight:800;color:var(--text);outline:none}.share-member-perms{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.share-perm-pill{font-size:10px;font-weight:900;border-radius:999px;padding:4px 8px;border:1px solid var(--border2);background:#fff;color:var(--text3)}.share-perm-pill.edit{background:var(--green2);border-color:rgba(15,118,110,.22);color:var(--green)}.share-perm-pill.view{background:var(--blue2);border-color:rgba(3,105,161,.18);color:var(--blue)}.share-perm-pill.none{background:var(--bg3);color:var(--text3);opacity:.72}.role-viewer .req-edit{display:none!important}@media(max-width:768px){.share-permission-row{grid-template-columns:1fr}.share-permission-row select{font-size:13px}}

/* === USER CASHFLOW + AI SUGGESTIONS + VNINDEX FALLBACK === */
.ai-suggestion-row{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px 0 2px;margin:0 0 6px;scrollbar-width:none;}
.ai-suggestion-row::-webkit-scrollbar{display:none;}
.ai-suggest-chip{border:1px solid rgba(15,118,110,.18);background:#ecfdf5;color:#0f766e;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:800;font-family:inherit;white-space:nowrap;cursor:pointer;}
.ai-suggest-chip:hover{background:#0f766e;color:#fff;}
@media(max-width:768px){
  #user-saving-val{font-size:clamp(16px,4.2vw,24px)!important;line-height:1.05!important;letter-spacing:-.03em!important;white-space:nowrap!important;max-width:100%!important;overflow:visible!important;}
  .user-stat{min-width:0!important;padding-left:4px!important;padding-right:4px!important;}
  .user-stat-label{font-size:11px!important;white-space:nowrap!important;}
  .ai-assistant-body.show .ai-suggestion-row{flex-wrap:wrap!important;overflow:visible!important;padding:10px 12px 4px!important;background:#fff!important;border-top:1px solid rgba(15,23,42,.06)!important;}
  .ai-assistant-body.show .ai-suggest-chip{font-size:11px!important;padding:8px 10px!important;}
}

/* === LIFE JOURNEY + SMART AI INPUT + UI BREATHING ROOM === */
.life-journey-card,.smart-input-card{margin:0 18px 18px;border:1px solid rgba(15,118,110,.12);background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 72%,#fff7ed 100%);border-radius:22px;padding:18px;box-shadow:0 16px 36px rgba(15,118,110,.08)}
.journey-head,.smart-input-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.journey-title,.smart-input-title{font-size:17px;font-weight:900;color:var(--text);line-height:1.25}.journey-sub,.smart-input-sub{font-size:12px;font-weight:700;color:var(--text3);margin-top:4px;line-height:1.45}.journey-level-badge{border:1px solid rgba(245,158,11,.28);background:linear-gradient(135deg,#fff7ed,#fef3c7);color:#b45309;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap}.journey-progress{height:9px;background:rgba(15,118,110,.10);border-radius:999px;overflow:hidden;margin-bottom:14px}.journey-progress-fill{height:100%;width:20%;background:linear-gradient(90deg,#0f766e,#22c55e,#f59e0b);border-radius:999px;transition:width .35s ease}.journey-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.journey-step{position:relative;border:1px solid rgba(15,118,110,.10);background:rgba(255,255,255,.72);border-radius:16px;padding:11px 10px;min-height:92px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.journey-step:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,118,110,.10)}.journey-step.done{background:linear-gradient(135deg,#ecfdf5,#ffffff);border-color:rgba(34,197,94,.28)}.journey-step.active{background:linear-gradient(135deg,#fff7ed,#ffffff);border-color:rgba(245,158,11,.40);box-shadow:0 12px 28px rgba(245,158,11,.12)}.journey-step-num{width:26px;height:26px;border-radius:10px;background:rgba(15,118,110,.10);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;margin-bottom:9px}.journey-step.done .journey-step-num{background:var(--green);color:#fff}.journey-step.active .journey-step-num{background:var(--amber);color:#fff}.journey-step-name{font-size:12px;font-weight:900;color:var(--text);line-height:1.25}.journey-step-desc{font-size:10px;font-weight:700;color:var(--text3);line-height:1.35;margin-top:5px}
.smart-input-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.smart-input-btn{border:1px solid rgba(15,118,110,.13);background:rgba(255,255,255,.78);border-radius:16px;padding:13px 12px;text-align:left;font-family:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.smart-input-btn:hover{transform:translateY(-2px);border-color:rgba(245,158,11,.34);box-shadow:0 14px 28px rgba(15,118,110,.10)}.smart-input-ico{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#0f766e,#22c55e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:9px}.smart-input-btn:nth-child(2) .smart-input-ico,.smart-input-btn:nth-child(4) .smart-input-ico{background:linear-gradient(135deg,#f59e0b,#f97316)}.smart-input-name{font-size:13px;font-weight:900;color:var(--text);line-height:1.25}.smart-input-note{font-size:10px;font-weight:700;color:var(--text3);line-height:1.35;margin-top:4px}
.sec,.ai-ops-card,.user-mini-card,.user-action-item,.daily-report-metric,.family-mode-metric{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.user-action-item:hover,.ai-ops-card:hover,.user-mini-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,118,110,.10)!important}.empty-state,.empty-box,.empty{border-style:dashed!important;background:linear-gradient(135deg,#ffffff,#f0fdf4)!important;border-radius:20px!important;padding:28px!important}
@media(max-width:768px){.life-journey-card,.smart-input-card{margin:0 12px 14px;padding:15px;border-radius:18px}.journey-head,.smart-input-head{align-items:flex-start}.journey-track{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.journey-track::-webkit-scrollbar{display:none}.journey-step{min-width:150px;scroll-snap-align:start}.smart-input-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.smart-input-btn{padding:12px 10px;border-radius:15px}.journey-title,.smart-input-title{font-size:16px}.journey-level-badge{font-size:10px;padding:6px 8px}}

/* === DASHBOARD HERO VIEW TOGGLE === */
.hero-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.hero-toolbar-title{font-size:18px;font-weight:900;color:var(--text);letter-spacing:-.02em}.hero-toolbar-sub{font-size:12px;color:var(--text3);font-weight:700;margin-top:3px}.hero-view-toggle{display:flex;gap:6px;background:rgba(255,255,255,.82);border:1px solid rgba(15,118,110,.12);border-radius:999px;padding:4px;width:fit-content;box-shadow:0 8px 22px rgba(15,118,110,.06)}.hero-view-btn{border:none;background:transparent;color:var(--text3);font-size:12px;font-weight:900;padding:8px 13px;border-radius:999px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.hero-view-btn:hover{transform:translateY(-1px);color:var(--green)}.hero-view-btn.active{background:linear-gradient(135deg,var(--gold),#f59e0b);color:#fff;box-shadow:0 6px 14px rgba(245,158,11,.24)}.hero-wrapper.hero-updating .hero-box{opacity:.64;transition:opacity .12s ease}.hero-note-muted{color:rgba(255,255,255,.82)!important}.hero-box.asset .hero-note-muted{color:rgba(255,255,255,.88)!important}@media(max-width:640px){.hero-toolbar{align-items:center;flex-direction:row;gap:8px;margin-bottom:10px}.hero-toolbar>div:first-child{min-width:0;flex:1}.hero-toolbar-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-toolbar-sub{display:none}.hero-view-toggle{flex:0 0 auto;width:auto;padding:3px;gap:3px}.hero-view-btn{flex:0 0 auto;text-align:center;padding:6px 8px;font-size:10.5px;line-height:1;min-height:27px}.hero-view-btn.active{box-shadow:0 4px 10px rgba(245,158,11,.18)}}@media(max-width:360px){.hero-toolbar-title{font-size:12px}.hero-view-btn{font-size:10px;padding:6px 7px}}

/* === ASSET TABS CLEANUP: REMOVE SIDE ARROWS === */
.asset-tab-arrow{display:none!important}.asset-tabs-shell{padding-left:0!important;padding-right:0!important}.asset-tabs-shell::before,.asset-tabs-shell::after{display:none!important}.asset-tabs-shell .tabs{width:100%!important;box-sizing:border-box!important;padding-left:8px!important;padding-right:8px!important}.asset-tabs-shell .tab{flex:1 0 auto!important}@media(max-width:768px){.asset-tabs-shell{padding:0!important}.asset-tabs-shell .tabs{margin-left:0!important;margin-right:0!important}.asset-tabs-shell .tab{min-width:92px!important}}
.price-status{margin-top:5px;font-size:11px;font-weight:800;color:var(--green);line-height:1.35}.price-status.warn{color:var(--gold)}.price-status.good{color:var(--green)}

/* === VHTG PREMIUM LIGHT TOUCH REFINEMENT === */
.sec{margin-bottom:28px!important;border-color:var(--border)!important;box-shadow:0 8px 24px rgba(62,39,35,.035)!important}
.chart-card,.item-row,.txn-row,.cat-bar-row,.admin-card,.quest-card,.user-mini-card,.daily-report-metric,.family-mode-metric{border-color:var(--border)!important}
.hero-top{letter-spacing:.06em!important;opacity:.85!important}
.hero-main-val{font-size:27px!important;line-height:1.15!important}
.hero-box.asset{background:linear-gradient(135deg,#e7b64a 0%,#c89b2f 100%)!important}
.hero-box.budget{background:linear-gradient(135deg,#475569 0%,#374151 100%)!important}
.hero-box.sales{background:linear-gradient(135deg,#0b7db3 0%,#075985 100%)!important}
.main-tab{font-size:15px!important;padding:11px 16px!important}
.main-tab.active{background:transparent!important;box-shadow:none!important}
.main-tab:hover{background:var(--bg2)!important;transform:none!important;box-shadow:none!important}
.main-tab.active::after{height:3px!important;background:var(--gold)!important}
.mobile-nav{padding-bottom:max(env(safe-area-inset-bottom),6px)!important}
.mnav-btn{padding:9px 0!important;font-size:10.5px!important}
.mnav-btn svg{width:21px!important;height:21px!important}
.pulse-update{animation:pulseUpdate .45s ease}
@keyframes pulseUpdate{0%{transform:scale(1)}35%{transform:scale(1.015)}100%{transform:scale(1)}}
.advanced-toggle-btn{width:100%;border:1px dashed var(--border2);background:var(--bg2);color:var(--text3);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;margin-top:10px;transition:all .18s ease}
.advanced-toggle-btn:hover,.advanced-toggle-btn.open{color:var(--gold);border-color:rgba(212,175,55,.55);background:var(--gold2)}
.advanced-form-panel{display:none;margin-top:12px}
.advanced-form-panel.open{display:block}
.empty-cta{margin-top:8px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--gold),#f59e0b);color:#fff;font-family:inherit;font-size:12px;font-weight:900;padding:9px 14px;cursor:pointer;box-shadow:0 8px 18px rgba(245,158,11,.18)}
.empty-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(245,158,11,.24)}
.dashboard-mini-habits{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.9fr);gap:12px;margin:-2px 0 18px}
.mini-goal-card,.mini-streak-card{min-width:0;border:1px solid var(--border);background:rgba(255,255,255,.86);border-radius:18px;padding:14px 16px;box-shadow:0 10px 26px rgba(15,118,110,.055);display:flex;align-items:center;gap:14px}
.mini-goal-main{min-width:0;flex:1}.mini-goal-title,.mini-streak-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:var(--text);line-height:1.2}.monthly-goal-badge{display:inline-flex;align-items:center;max-width:92px;padding:2px 7px;border-radius:999px;background:var(--amber2);border:1px solid rgba(245,158,11,.22);color:var(--amber);font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-goal-badge.deficit{background:var(--red2);border-color:rgba(190,18,60,.18);color:var(--red)}.monthly-goal-badge.success{background:var(--green2);border-color:rgba(15,118,110,.18);color:var(--green)}.mini-goal-icon{font-size:15px}.mini-goal-value{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:900;color:var(--green);display:flex;align-items:baseline;gap:6px;margin:7px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-goal-sep{color:var(--text3);font-family:'Be Vietnam Pro',sans-serif;font-size:12px;font-weight:800}.mini-goal-bar{height:7px;background:rgba(15,118,110,.09);border-radius:999px;overflow:hidden}.mini-goal-fill{height:100%;width:0;background:linear-gradient(90deg,var(--green),#22c55e,var(--gold));border-radius:999px;transition:width .35s ease}.mini-goal-note,.mini-streak-note{font-size:11.5px;font-weight:700;color:var(--text3);line-height:1.4;margin-top:7px}.mini-goal-btn,.mini-streak-btn{border:1px solid rgba(245,158,11,.22);background:var(--gold2);color:var(--amber);font-family:inherit;font-size:11px;font-weight:900;border-radius:999px;padding:8px 11px;white-space:nowrap;cursor:pointer}.mini-goal-btn:hover,.mini-streak-btn:hover{background:linear-gradient(135deg,var(--gold),#f59e0b);color:#fff}.mini-streak-card{background:linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%)}.mini-streak-badge{flex:0 0 auto;width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--green),#22c55e);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:900;box-shadow:0 10px 22px rgba(15,118,110,.16)}.mini-streak-copy{min-width:0;flex:1}
.home-goal-wrap{position:relative;margin:-2px 0 18px;transition:opacity .22s ease,transform .22s ease}.home-goal-wrap.hidden{opacity:0;transform:translateY(-6px);pointer-events:none;display:none}.home-goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.home-goal-card{min-width:0;min-height:178px;height:100%;border:1px solid rgba(15,118,110,.12);background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(253,250,246,.82));border-radius:20px;padding:20px 22px;box-shadow:0 12px 30px rgba(15,118,110,.07);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:10px}.home-goal-card.compact,.home-goal-card.revenue,.home-goal-card.streak{min-height:178px}.home-goal-card.full-width{}.home-goal-card.compact-half{}.home-goal-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.home-goal-title{font-size:13px;font-weight:950;color:var(--text);line-height:1.25;min-width:0}.home-goal-number{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:950;color:var(--green);line-height:1.2;overflow-wrap:anywhere}.home-goal-desc{font-size:12px;font-weight:720;color:var(--text3);line-height:1.45;overflow-wrap:anywhere}.home-goal-progress{height:8px;background:rgba(15,118,110,.10);border-radius:999px;overflow:hidden;border:1px solid rgba(15,118,110,.10)}.home-goal-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#22c55e);border-radius:999px;transition:width .3s ease}.home-goal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto}.home-goal-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(15,118,110,.14);background:var(--green2);color:var(--green);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950;line-height:1}.home-goal-badge.warn{background:var(--amber2);color:var(--amber);border-color:rgba(180,83,9,.2)}.home-goal-action,.home-widget-settings{border:1px solid rgba(245,158,11,.22);background:var(--gold2);color:var(--amber);font-family:inherit;font-size:11px;font-weight:950;border-radius:999px;padding:8px 11px;cursor:pointer;white-space:nowrap}.home-goal-action:hover,.home-widget-settings:hover{background:linear-gradient(135deg,var(--gold),#f59e0b);color:#fff}.home-goal-card.revenue .mini-goal-main,.home-goal-card.streak .mini-streak-copy{min-width:0;display:flex;flex-direction:column;gap:9px;align-items:stretch}.home-goal-card.revenue .mini-goal-title,.home-goal-card.streak .mini-streak-title{font-size:13px;font-weight:950;color:var(--text);line-height:1.25}.home-goal-card.revenue .mini-goal-value{font-size:18px;margin:0;white-space:normal;overflow:visible}.home-goal-card.revenue .mini-goal-note,.home-goal-card.streak .mini-streak-note{font-size:12px;font-weight:720;color:var(--text3);line-height:1.45;margin:0}.home-goal-card.revenue .mini-goal-bar{height:8px}.home-goal-card.revenue .mini-goal-btn,.home-goal-card.streak .mini-streak-btn{align-self:flex-start}.home-goal-card.streak .mini-streak-badge{width:auto;height:auto;justify-content:flex-start;background:transparent;color:var(--green);box-shadow:none;border-radius:0;font-size:18px;line-height:1.2}.home-widget-settings{position:absolute;right:0;top:-34px;background:#fff;color:var(--text2);border-color:var(--border2);box-shadow:0 8px 18px rgba(15,118,110,.05)}.home-widget-settings-list{display:grid;gap:10px;text-align:left}.home-widget-check{display:flex;align-items:center;gap:10px;border:1px solid var(--border2);border-radius:14px;background:var(--bg2);padding:11px 12px;font-weight:850;color:var(--text)}.home-widget-check input{width:18px;height:18px;accent-color:var(--green)}
.home-momentum-wrap{margin:0 0 18px;display:flex;flex-direction:column;gap:12px;transition:opacity .22s ease,transform .22s ease}.home-momentum-wrap.hidden{display:none;opacity:0;transform:translateY(-6px);pointer-events:none}.home-momentum-card,.home-ai-journey,.home-forecast-card,.home-passive-card{border:1px solid rgba(15,118,110,.13);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,253,244,.72));border-radius:20px;padding:16px 18px;box-shadow:0 12px 30px rgba(15,118,110,.065);min-width:0}.home-momentum-card{width:100%}.home-momentum-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.home-momentum-title{font-size:14px;font-weight:950;color:var(--text);line-height:1.25}.home-momentum-sub,.home-ai-journey-text{font-size:12px;font-weight:720;color:var(--text3);line-height:1.5;margin-top:4px}.home-momentum-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-momentum-metric,.home-forecast-item{border:1px solid rgba(245,158,11,.16);background:rgba(255,255,255,.78);border-radius:16px;padding:13px 12px;min-width:0}.home-momentum-label{font-size:11px;font-weight:900;color:var(--text3);line-height:1.3;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-momentum-value,.home-forecast-value,.home-passive-value{font-family:'JetBrains Mono',monospace;font-size:17px;font-weight:950;color:var(--green);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-momentum-value.muted,.home-forecast-value.muted,.home-passive-value.muted{font-family:'Be Vietnam Pro',sans-serif;font-size:12px;color:var(--text3);white-space:normal;line-height:1.4}.home-momentum-note{font-size:11px;font-weight:720;color:var(--text3);line-height:1.35;margin-top:6px}.home-ai-journey{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,251,235,.74));border-color:rgba(245,158,11,.18)}.home-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.home-passive-card{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(236,253,245,.86));border-color:rgba(15,118,110,.18)}.home-passive-value{font-size:20px;margin-top:8px}
.growth-center-header{border:1px solid rgba(15,118,110,.14);background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(236,253,245,.78));border-radius:22px;padding:18px 20px;box-shadow:0 14px 34px rgba(15,118,110,.08);margin-bottom:12px}
.growth-center-title{font-size:20px;font-weight:950;color:var(--text);letter-spacing:-.02em;line-height:1.15}
.growth-center-sub{font-size:13px;font-weight:750;color:var(--text3);line-height:1.45;margin-top:5px}
.growth-grid,.growth-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.growth-card{position:relative;overflow:hidden;border:1px solid rgba(15,118,110,.10);background:rgba(255,255,255,.92);border-radius:18px;padding:14px 16px;box-shadow:0 8px 24px rgba(15,23,42,.04);min-width:0;min-height:88px;display:flex;flex-direction:column;justify-content:flex-start}
.growth-card.warn{border-color:rgba(245,158,11,.2);background:linear-gradient(145deg,#fff,rgba(255,251,235,.8))}
.growth-label{font-size:12px;font-weight:900;color:var(--text2);line-height:1.25;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.growth-value{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;color:var(--green);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.growth-card.warn .growth-value{color:var(--amber)}
.growth-sub{font-size:11.5px;font-weight:750;color:var(--text3);line-height:1.35;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.growth-text{display:none}
.ai-coach-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:12px 0;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(15,118,110,.12);border-left:4px solid var(--green);box-shadow:0 8px 24px rgba(15,23,42,.04);min-height:64px}
body.dark-mode .ai-coach-bar{background:rgba(31,41,55,.82);border-color:rgba(255,255,255,.08);border-left-color:var(--green)}
.ai-coach-icon{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--green2);color:var(--green);flex-shrink:0;font-size:16px}
.ai-coach-content{flex:1;min-width:0}
.ai-coach-title{font-size:11px;font-weight:900;color:var(--green);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;line-height:1}
.ai-coach-message{font-size:13px;font-weight:800;color:var(--text);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-coach-sub{font-size:11px;font-weight:650;color:var(--text3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-coach-action{border:none;background:var(--green);color:white;height:32px;padding:0 12px;border-radius:999px;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;flex-shrink:0;box-shadow:0 6px 14px rgba(15,118,110,.14)}
.income-growth-hero,.portfolio-hero{border:1px solid rgba(15,118,110,.14);background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(236,253,245,.74));border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(15,118,110,.08);margin-bottom:16px}
.income-growth-title,.portfolio-title{font-size:19px;font-weight:950;color:var(--text);letter-spacing:-.02em}
.income-growth-sub,.portfolio-sub{font-size:12.5px;font-weight:740;color:var(--text3);line-height:1.5;margin-top:5px}
.income-grid,.portfolio-metrics,.allocation-grid,.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.income-card,.portfolio-metric,.alloc-card,.market-card{border:1px solid rgba(15,118,110,.11);background:rgba(255,255,255,.8);border-radius:16px;padding:13px;min-width:0}
.income-label,.portfolio-label,.alloc-label,.market-label{font-size:11px;font-weight:900;color:var(--text3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-value,.portfolio-value,.alloc-value,.market-value{font-family:'JetBrains Mono',monospace;font-size:17px;font-weight:950;color:var(--green);line-height:1.2;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-note,.portfolio-note,.alloc-note,.market-note{font-size:11px;font-weight:720;color:var(--text3);line-height:1.4;margin-top:5px}
.income-source-list{display:grid;gap:9px;margin-top:14px}
.income-source-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--border);background:var(--bg2);border-radius:15px;padding:11px 12px}
.income-source-name{font-size:13px;font-weight:900;color:var(--text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-source-amt{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;color:var(--green);white-space:nowrap}
.income-source-growth{font-size:11px;font-weight:900;color:var(--amber);white-space:nowrap}
.income-ai-box,.portfolio-ai-box{margin-top:14px;border:1px solid rgba(245,158,11,.18);background:linear-gradient(135deg,rgba(255,251,235,.74),rgba(255,255,255,.85));border-radius:16px;padding:13px;font-size:12.5px;font-weight:760;color:var(--text2);line-height:1.55}
.income-plan-box{margin-top:12px;border:1px solid rgba(15,118,110,.14);background:linear-gradient(135deg,rgba(240,253,244,.82),rgba(255,255,255,.86));border-radius:16px;padding:13px}
.income-plan-title{font-size:12px;font-weight:950;color:var(--green);margin-bottom:8px}
.income-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.income-plan-item{background:rgba(255,255,255,.78);border:1px solid rgba(15,118,110,.1);border-radius:12px;padding:10px;min-width:0}
.income-plan-label{font-size:10.5px;font-weight:900;color:var(--text3);line-height:1.25}
.income-plan-value{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:950;color:var(--text);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-engine-hero{border:1px solid rgba(15,118,110,.14);background:radial-gradient(circle at 88% 12%,rgba(212,175,55,.16),transparent 30%),linear-gradient(145deg,#ffffff,#ecfdf5);border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(15,118,110,.08);margin-bottom:14px}
.income-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.income-hero-card{border:1px solid rgba(15,118,110,.12);background:rgba(255,255,255,.84);border-radius:16px;padding:14px;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;cursor:pointer}
.income-hero-card.coach{background:linear-gradient(135deg,rgba(255,251,235,.9),rgba(255,255,255,.88));border-color:rgba(212,175,55,.22)}
.income-hero-title{font-size:11px;font-weight:950;color:var(--text3);line-height:1.25;text-transform:uppercase}
.income-hero-value{font-family:'JetBrains Mono',monospace;font-size:19px;font-weight:950;color:var(--green);line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-hero-sub{font-size:11.5px;font-weight:760;color:var(--text2);line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.income-progress{height:7px;border-radius:999px;background:rgba(15,118,110,.1);overflow:hidden}.income-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--gold))}
.income-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.income-action-card{border:1px solid rgba(212,175,55,.16);background:rgba(255,255,255,.86);border-radius:16px;padding:13px;min-width:0}
.income-action-main{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-action-note{font-size:11.5px;font-weight:720;color:var(--text3);line-height:1.4;margin:5px 0 10px}
.income-action-btn{border:none;border-radius:999px;background:var(--green);color:#fff;font-family:inherit;font-size:11px;font-weight:900;padding:8px 10px;cursor:pointer}
.income-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.income-metric-card{border:1px solid var(--border);background:var(--bg2);border-radius:15px;padding:12px;min-width:0;cursor:pointer}
.income-metric-label{font-size:10.5px;font-weight:950;color:var(--text3);text-transform:uppercase;line-height:1.25}
.income-metric-value{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:950;color:var(--text);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.income-metric-note{font-size:11px;font-weight:700;color:var(--text3);line-height:1.35;margin-top:5px}
.portfolio-zone{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:16px}
.portfolio-summary-card{border:1px solid rgba(15,118,110,.14);background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,253,244,.78));border-radius:18px;padding:14px 15px;box-shadow:0 10px 26px rgba(15,118,110,.06);display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.portfolio-summary-main{min-width:0;display:grid;gap:5px}.portfolio-summary-title{font-size:14px;font-weight:950;color:var(--text)}.portfolio-summary-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:850;color:var(--text2)}.portfolio-summary-score{font-family:'JetBrains Mono',monospace;font-weight:950;color:var(--green)}.portfolio-summary-ai{font-size:11.5px;font-weight:720;color:var(--text3);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}.portfolio-toggle-btn{border:1px solid rgba(15,118,110,.16);background:var(--green);color:#fff;border-radius:999px;padding:9px 12px;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.portfolio-engine{border:1px solid rgba(15,118,110,.14);background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(236,253,245,.72));border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(15,118,110,.08);margin:12px 0 16px}
.portfolio-engine.collapsed .portfolio-engine-detail{display:none}
.portfolio-engine-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portfolio-health-mini{display:grid;gap:5px}.portfolio-health-mini-title{font-size:16px;font-weight:950;color:var(--text)}.portfolio-health-mini-meta{font-size:12px;font-weight:850;color:var(--text2);display:flex;gap:10px;flex-wrap:wrap}.portfolio-health-mini-ai{font-size:11.5px;font-weight:720;color:var(--text3);line-height:1.4;margin-top:2px}
.portfolio-engine-grid,.portfolio-detail-grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:14px;margin-top:14px;align-items:stretch}
.portfolio-donut-card,.portfolio-health-card{border:1px solid rgba(15,118,110,.12);background:rgba(255,255,255,.82);border-radius:16px;padding:14px;min-width:0}
.portfolio-donut-wrap{height:230px;position:relative}.portfolio-health-score{font-family:'JetBrains Mono',monospace;font-size:32px;font-weight:950;color:var(--green);line-height:1}.portfolio-risk-meter{margin-top:12px;display:grid;gap:8px}.risk-meter-bar{height:10px;border-radius:999px;background:linear-gradient(90deg,#10b981 0 35%,#f59e0b 35% 70%,#ef4444 70% 100%);position:relative;overflow:hidden}.risk-meter-pointer{position:absolute;top:-3px;width:4px;height:16px;border-radius:999px;background:var(--text);left:50%;transform:translateX(-50%);box-shadow:0 0 0 2px rgba(255,255,255,.8)}.risk-meter-label{font-size:12px;font-weight:900;color:var(--text2)}
.metric-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;margin-top:7px}.metric-status.good{background:var(--green2);color:var(--green)}.metric-status.warn{background:var(--amber2);color:var(--amber)}.metric-status.bad{background:var(--red2);color:var(--red)}
.portfolio-metric.clickable{cursor:pointer}.portfolio-metric.clickable:hover,.income-metric-card:hover,.income-hero-card:hover{border-color:rgba(15,118,110,.28);box-shadow:0 10px 24px rgba(15,118,110,.08);transform:translateY(-1px)}
.stock-only-portfolio .portfolio-metrics,.stock-only-portfolio .portfolio-zone,.stock-only-portfolio .portfolio-ai-box{display:none}
#tab-stocks #portfolio-center{display:none!important}
.alloc-bar{height:8px;background:rgba(15,118,110,.09);border-radius:999px;overflow:hidden;margin-top:8px}.alloc-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:999px}
.risk-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;margin-top:7px}.risk-safe{background:var(--green2);color:var(--green)}.risk-balanced{background:var(--amber2);color:var(--amber)}.risk-growth{background:var(--red2);color:var(--red)}
.portfolio-section-title{font-size:15px;font-weight:950;color:var(--text);margin:18px 0 10px}
.portfolio-summary-card{cursor:pointer;transition:.18s ease}.portfolio-summary-card:hover{border-color:rgba(15,118,110,.28);box-shadow:0 14px 30px rgba(15,118,110,.09);transform:translateY(-1px)}#portfolio-center{display:none!important}
.asset-health-card{border:1px solid rgba(15,118,110,.14);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,253,244,.72));border-radius:20px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.05);margin:18px 0 16px}
.asset-health-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.asset-health-title{font-size:16px;font-weight:800;color:var(--text);line-height:1.3}
.asset-health-sub{font-size:12px;font-weight:500;color:var(--text3);line-height:1.45;margin-top:3px}
.asset-health-score{font-size:28px;font-weight:800;color:var(--green);line-height:1;white-space:nowrap}
.asset-health-status{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;background:var(--green2);color:var(--green);font-size:11px;font-weight:700;margin-top:7px}
.asset-health-message{font-size:13px;font-weight:500;color:var(--text2);line-height:1.5;margin:10px 0 12px}
.asset-health-ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.asset-health-ratio{border:1px solid var(--border);background:rgba(255,255,255,.72);border-radius:14px;padding:9px 10px;min-width:0}
.asset-health-ratio span{display:block;font-size:11px;font-weight:500;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-health-ratio b{display:block;font-size:16px;font-weight:800;color:var(--text);margin-top:3px}
.asset-health-btn{border:none;background:var(--green);color:#fff;height:34px;border-radius:999px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}
.asset-health-empty{padding:18px;border:1px dashed var(--border2);border-radius:16px;background:var(--bg3);font-size:13px;color:var(--text3);line-height:1.5;text-align:center}
.investment-dashboard{border:1px solid rgba(15,118,110,.14);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,253,244,.78));border-radius:24px;padding:18px;box-shadow:0 16px 42px rgba(15,23,42,.07);margin-bottom:18px}
.investment-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.investment-dashboard-title{font-size:18px;font-weight:950;color:var(--text);line-height:1.25}.investment-dashboard-sub{font-size:12.5px;font-weight:700;color:var(--text3);line-height:1.45;margin-top:3px}
.investment-dashboard-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:16px;align-items:stretch}.investment-panel{background:rgba(255,255,255,.86);border:1px solid rgba(15,118,110,.1);border-radius:18px;padding:14px;min-width:0}.investment-total-label{font-size:12px;font-weight:900;color:var(--text3);text-transform:uppercase}.investment-total-value{font-size:30px;font-weight:950;color:var(--green);line-height:1.1;margin-top:6px}.investment-donut-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;margin-top:14px}.investment-donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--green) 0 100%);position:relative;box-shadow:inset 0 0 0 1px rgba(15,118,110,.08)}.investment-donut:after{content:'';position:absolute;inset:34px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(15,118,110,.08)}.investment-legend{display:grid;gap:7px}.investment-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12px;font-weight:800;color:var(--text2)}.investment-dot{width:10px;height:10px;border-radius:999px}.investment-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.investment-list-card,.investment-ai-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:13px;min-width:0}.investment-list-title{font-size:13px;font-weight:950;color:var(--text);margin-bottom:9px}.investment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px dashed rgba(15,23,42,.08);font-size:12px}.investment-row:first-of-type{border-top:none}.investment-row b{font-size:12.5px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.investment-row span{font-weight:900;white-space:nowrap}.investment-row .up{color:var(--green)}.investment-row .dn{color:var(--red)}.investment-ai-card{grid-column:1/-1;background:rgba(255,251,235,.8);border-color:rgba(212,175,55,.2)}.investment-ai-card b{font-size:13px}.investment-ai-card p{margin:5px 0 0;font-size:12.5px;line-height:1.5;color:var(--text2);font-weight:700}.investment-empty{font-size:13px;color:var(--text3);font-weight:700;line-height:1.55;padding:10px 0}.investment-analyze-btn{border:none;border-radius:999px;background:var(--green);color:#fff;font-family:inherit;font-size:12px;font-weight:900;padding:9px 13px;cursor:pointer;white-space:nowrap}
.initial-capital-modal{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center;text-align:left}.initial-capital-donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(var(--green) 0 100%);position:relative;margin:auto}.initial-capital-donut:after{content:'';position:absolute;inset:42px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,118,110,.08)}.initial-capital-total{text-align:center;margin-top:10px}.initial-capital-total span{display:block;font-size:11px;font-weight:900;color:var(--text3);text-transform:uppercase}.initial-capital-total b{font-size:21px;font-weight:950;color:var(--green)}.initial-capital-list{display:grid;gap:8px}.initial-capital-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px dashed rgba(15,23,42,.08);font-size:13px;font-weight:850}.initial-capital-row span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initial-capital-row b{font-weight:950;color:var(--text);white-space:nowrap}
.portfolio-analysis-overlay{position:fixed;inset:0;z-index:99997;background:rgba(15,23,42,.44);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:18px;animation:fadeIn .18s ease}
.portfolio-analysis-modal{width:min(920px,100%);max-height:88vh;overflow-y:auto;background:rgba(255,255,255,.96);border:1px solid rgba(15,118,110,.14);border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.22);color:var(--text)}
.portfolio-analysis-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 16px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(15,118,110,.1);backdrop-filter:blur(10px)}
.portfolio-analysis-title{font-size:20px;font-weight:950;margin:0;color:var(--text);line-height:1.25}.portfolio-analysis-sub{font-size:14px;font-weight:700;color:var(--text3);line-height:1.45;margin-top:5px}.portfolio-analysis-close{width:36px;height:36px;border:none;border-radius:999px;background:var(--bg2);color:var(--text);font-size:18px;font-weight:950;cursor:pointer;flex-shrink:0}
.portfolio-analysis-body{padding:18px 22px 22px;display:grid;gap:16px}.portfolio-analysis-section{border:1px solid rgba(15,118,110,.11);background:rgba(255,255,255,.78);border-radius:18px;padding:16px;min-width:0}.portfolio-analysis-section h3{font-size:17px;font-weight:950;margin:0 0 12px;color:var(--text);line-height:1.3}
.portfolio-overview-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}.portfolio-score-large{font-family:'JetBrains Mono',monospace;font-size:36px;font-weight:950;color:var(--green);line-height:1}.portfolio-status-large{display:inline-flex;margin-top:8px;border-radius:999px;padding:6px 10px;background:var(--amber2);color:var(--amber);font-size:12px;font-weight:950}.portfolio-overview-text{font-size:14px;font-weight:720;color:var(--text2);line-height:1.6}
.portfolio-allocation-panel{display:grid;grid-template-columns:45% minmax(0,55%);gap:18px;align-items:center}.portfolio-modal-chart{height:260px;position:relative;min-width:0}.portfolio-allocation-list{display:grid;gap:9px}.portfolio-allocation-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);background:var(--bg2);border-radius:14px;padding:11px 12px;font-size:13px;line-height:1.4}.portfolio-color-dot{width:10px;height:10px;border-radius:999px}.portfolio-allocation-name{font-weight:900;color:var(--text)}.portfolio-allocation-note{font-size:12px;font-weight:700;color:var(--text3);margin-top:2px}.portfolio-allocation-value{text-align:right;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;color:var(--green);white-space:nowrap}
.portfolio-risk-scale{display:grid;gap:10px}.portfolio-risk-bar{height:14px;border-radius:999px;background:linear-gradient(90deg,#10b981 0 28%,#f59e0b 28% 58%,#d97706 58% 78%,#ef4444 78% 100%);position:relative}.portfolio-risk-marker{position:absolute;top:-5px;width:6px;height:24px;border-radius:999px;background:var(--text);transform:translateX(-50%);box-shadow:0 0 0 3px rgba(255,255,255,.86)}.portfolio-risk-labels{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:850;color:var(--text3)}
.portfolio-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portfolio-advanced-card{border:1px solid var(--border);background:var(--bg2);border-radius:16px;padding:14px;min-width:0}.portfolio-advanced-title{font-size:13px;font-weight:950;color:var(--text2)}.portfolio-advanced-value{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:950;color:var(--text);margin:8px 0 5px}.portfolio-advanced-text{font-size:13px;font-weight:720;color:var(--text3);line-height:1.45;margin:9px 0 12px}.portfolio-explain-btn{border:none;border-radius:999px;background:var(--green);color:#fff;font-family:inherit;font-size:12px;font-weight:900;padding:8px 11px;cursor:pointer}.portfolio-explain-box{display:none;margin-top:10px;border-radius:13px;background:rgba(15,118,110,.07);padding:11px;font-size:13px;font-weight:720;line-height:1.55;color:var(--text2)}.portfolio-explain-box.active{display:block}
.portfolio-ai-suggestions{display:grid;gap:10px}.portfolio-ai-suggestion{border:1px solid rgba(245,158,11,.18);background:linear-gradient(135deg,rgba(255,251,235,.78),rgba(255,255,255,.9));border-radius:14px;padding:12px;font-size:14px;font-weight:760;line-height:1.55;color:var(--text2)}.portfolio-disclaimer{font-size:12px;font-weight:720;color:var(--text3);line-height:1.45}
.portfolio-market-list{display:grid;gap:8px}.portfolio-market-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed var(--border2);padding:8px 0;font-size:14px;font-weight:820;color:var(--text2)}.portfolio-market-row strong{font-family:'JetBrains Mono',monospace;color:var(--text);white-space:nowrap}
@media(max-width:768px){.portfolio-analysis-overlay{align-items:flex-end;padding:0}.portfolio-analysis-modal{max-height:90vh;border-radius:24px 24px 0 0}.portfolio-analysis-header{padding:16px}.portfolio-analysis-body{padding:14px;gap:13px}.portfolio-analysis-section{padding:14px}.portfolio-analysis-title{font-size:18px}.portfolio-analysis-sub{font-size:13px}.portfolio-overview-panel,.portfolio-allocation-panel{grid-template-columns:1fr}.portfolio-score-large{font-size:30px}.portfolio-modal-chart{height:220px}.portfolio-advanced-grid{grid-template-columns:1fr}.portfolio-risk-labels{font-size:11px}.portfolio-allocation-row{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.portfolio-allocation-value{grid-column:2;text-align:left}}
@media(max-width:768px){.investment-dashboard{padding:14px;border-radius:20px}.investment-dashboard-head{align-items:flex-start}.investment-dashboard-grid,.investment-side{grid-template-columns:1fr}.investment-donut-row{grid-template-columns:124px minmax(0,1fr);gap:12px}.investment-donut{width:124px;height:124px}.investment-donut:after{inset:29px}.investment-total-value{font-size:25px}.asset-action-menu{position:fixed;right:14px;top:auto;bottom:88px;min-width:190px;z-index:999}.initial-capital-modal{grid-template-columns:1fr}.initial-capital-donut{width:160px;height:160px}.initial-capital-donut:after{inset:38px}}
@media(max-width:1023px) and (min-width:769px){.growth-grid,.growth-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.income-grid,.portfolio-metrics,.allocation-grid,.market-grid,.income-hero-grid,.income-metric-grid{grid-template-columns:1fr 1fr}.portfolio-zone{grid-template-columns:1fr}}
@media(max-width:900px){.portfolio-engine-grid,.portfolio-detail-grid,.income-plan-grid,.income-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.growth-grid,.growth-dashboard-grid{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.growth-grid::-webkit-scrollbar,.growth-dashboard-grid::-webkit-scrollbar{display:none}.growth-card{min-width:210px;scroll-snap-align:start}}
@media(max-width:560px){.income-grid,.portfolio-metrics,.allocation-grid,.market-grid,.income-plan-grid,.portfolio-engine-grid,.portfolio-detail-grid,.income-action-grid,.income-metric-grid{grid-template-columns:1fr}.income-hero-grid{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px;scroll-snap-type:x mandatory}.income-hero-card{min-width:78%;scroll-snap-align:start}.income-hero-grid::-webkit-scrollbar{display:none}.growth-center-header,.income-growth-hero,.portfolio-hero,.portfolio-engine{border-radius:18px;padding:14px}.growth-value,.income-value,.portfolio-value,.alloc-value,.market-value{font-size:16px}.income-source-row{grid-template-columns:1fr;gap:4px}.portfolio-donut-wrap{height:210px}.portfolio-summary-card{align-items:flex-start;flex-direction:column;min-height:110px}.portfolio-summary-ai{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.portfolio-toggle-btn{width:100%}.asset-health-top{flex-direction:column}.asset-health-ratios{grid-template-columns:1fr}.asset-health-btn{width:100%}}
@media(max-width:768px){.sec{margin-bottom:22px!important}.hero-main-val{font-size:24px!important}.main-tab{font-size:12.5px!important;padding:10px 12px!important}.mobile-nav .mnav-btn{min-height:48px!important;height:48px!important}.mnav-fab-inner{width:32px!important;height:32px!important;font-size:24px!important}.app{padding-bottom:70px!important}}
@media(max-width:768px){.dashboard-mini-habits{grid-template-columns:1fr;gap:9px;margin:0 0 12px}.mini-goal-card,.mini-streak-card{padding:12px 13px;border-radius:16px}.mini-goal-value{font-size:14px}.mini-goal-note,.mini-streak-note{font-size:10.8px;margin-top:5px}.mini-goal-btn,.mini-streak-btn{font-size:10px;padding:7px 9px}.mini-streak-badge{width:36px;height:36px;border-radius:13px;font-size:16px}.home-goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-goal-card.full-width{grid-column:1/-1}.home-goal-card.compact-half{min-height:132px;padding:14px}.home-goal-wrap{margin:0 0 12px}.home-widget-settings{position:static;margin:0 0 10px auto;display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;gap:4px}.home-widget-settings svg{width:12px;height:12px}.home-goal-card{min-height:0;padding:14px 15px;border-radius:17px}.home-goal-number{font-size:22px}.home-goal-title{font-size:13px}.home-goal-desc{font-size:11px;line-height:1.45}.home-goal-footer{font-size:11px}.home-goal-card.revenue .mini-goal-value,.home-goal-card.streak .mini-streak-badge{font-size:16px}.home-goal-card.streak .home-goal-number,.home-goal-card.streak .mini-streak-badge{font-size:28px;line-height:1}.home-goal-card.streak .home-goal-badge{font-size:11px;padding:4px 8px}.home-goal-card.compact-half .home-goal-action,.home-goal-card.compact-half .mini-goal-btn,.home-goal-card.compact-half .mini-streak-btn{padding:6px 9px;font-size:10px}.home-goal-card.compact-half .mini-goal-note,.home-goal-card.compact-half .mini-streak-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
@media(max-width:768px){.home-momentum-wrap{gap:10px;margin:0 0 12px}.home-momentum-card,.home-ai-journey,.home-forecast-card,.home-passive-card{border-radius:17px;padding:14px 13px}.home-momentum-grid{grid-template-columns:1fr 1fr;gap:8px}.home-forecast-grid{grid-template-columns:1fr;gap:8px}.home-momentum-title{font-size:13px}.home-momentum-sub,.home-ai-journey-text{font-size:11.5px}.home-momentum-label{font-size:10.5px;white-space:normal}.home-momentum-value,.home-forecast-value{font-size:15px}.home-passive-value{font-size:17px}.home-momentum-value.muted,.home-forecast-value.muted,.home-passive-value.muted{font-size:11.5px}}
@media(min-width:769px){.home-goal-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.home-goal-card{min-height:116px;padding:14px 18px;border-radius:18px;display:grid;grid-template-rows:auto auto auto;gap:8px}.home-goal-card.compact,.home-goal-card.revenue,.home-goal-card.streak{min-height:116px}.home-goal-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-goal-title{font-size:13px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-number{font-size:22px;line-height:1.1;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-desc{display:none}.home-goal-progress{height:6px;margin:0}.home-goal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;line-height:1.3}.home-goal-badge{font-size:10px;padding:4px 8px;border-radius:999px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-action,.home-goal-card button,.home-widget-settings-btn{height:28px;padding:0 10px;font-size:11px;border-radius:999px;white-space:nowrap}.home-widget-settings-btn{height:30px;padding:0 12px;font-size:12px}.home-goal-card.revenue .mini-goal-main,.home-goal-card.streak .mini-streak-copy{gap:8px}.home-goal-card.revenue .mini-goal-title,.home-goal-card.streak .mini-streak-title{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-card.revenue .mini-goal-value,.home-goal-card.streak .mini-streak-badge{font-size:22px;line-height:1.1;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-card.revenue .mini-goal-note,.home-goal-card.streak .mini-streak-note{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-card.revenue .mini-goal-bar{height:6px}.home-goal-card.revenue .mini-goal-btn,.home-goal-card.streak .mini-streak-btn{height:28px;padding:0 10px;font-size:11px}}
@media(max-width:768px){.home-goal-grid{overflow:hidden}.home-goal-card{overflow:hidden}.home-goal-progress{width:100%;min-width:0}.home-goal-card.compact-half{padding:14px 12px;min-width:0}.home-goal-card.compact-half *{min-width:0}.home-goal-card.compact-half .home-goal-number,.home-goal-card.revenue .mini-goal-value{font-size:clamp(16px,4vw,20px);line-height:1.2;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-card.streak .home-goal-number,.home-goal-card.streak .mini-streak-badge{font-size:34px;line-height:1}.home-goal-card.streak .home-goal-desc,.home-goal-card.streak .mini-streak-note{font-size:12px;line-height:1.4}.home-goal-card.compact-half .home-goal-action,.home-goal-card.compact-half button{height:32px;padding:0 12px;font-size:12px;border-radius:999px;white-space:nowrap}}
@media(max-width:760px){
  .action-popup-overlay{align-items:center!important;padding:14px!important;}
  .action-popup-card{width:min(560px,100%)!important;max-width:100%!important;max-height:88vh!important;border-radius:24px!important;padding:14px!important;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;}
}
.debt-name-btn{border:0;background:transparent;color:var(--text);font:inherit;font-weight:900;padding:0;text-align:left;cursor:pointer}
.debt-name-btn:hover{color:var(--green);text-decoration:underline}
.debt-history-count{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:var(--green);font-size:11px;font-weight:800}
.goal-choice-modal-text{font-size:13px;color:var(--text3);line-height:1.55;margin:-2px 0 14px}
.goal-choice-grid{display:grid;grid-template-columns:1fr;gap:10px;text-align:left}
.goal-choice-btn{width:100%;border:1px solid var(--border2);background:var(--bg2);border-radius:16px;padding:14px 15px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font-family:inherit;transition:.18s ease;box-shadow:0 8px 20px rgba(15,118,110,.04)}
.goal-choice-btn:hover{border-color:rgba(245,158,11,.45);background:linear-gradient(135deg,var(--gold2),rgba(236,253,245,.9));transform:translateY(-1px);box-shadow:0 14px 28px rgba(245,158,11,.12)}
.goal-choice-icon{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green),#16a34a);color:#fff;font-size:18px;flex-shrink:0}
.goal-choice-btn:nth-child(2) .goal-choice-icon{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
.goal-choice-btn:nth-child(3) .goal-choice-icon{background:linear-gradient(135deg,var(--gold),#f97316)}
.goal-choice-btn>span:last-child{min-width:0;display:flex;flex-direction:column;gap:4px}
.goal-choice-title{display:block;font-size:14px;font-weight:900;color:var(--text);line-height:1.25;white-space:normal;word-break:normal}
.goal-choice-desc{display:block;font-size:11.5px;font-weight:650;color:var(--text3);line-height:1.45;margin-top:0;white-space:normal;word-break:normal}
@media(max-width:520px){.goal-choice-modal-text{font-size:12.5px;line-height:1.5;margin-bottom:12px}.goal-choice-btn{padding:12px 11px;border-radius:14px;align-items:flex-start;gap:10px}.goal-choice-icon{width:36px;height:36px;border-radius:12px;margin-top:2px}.goal-choice-title{font-size:12.8px;line-height:1.28}.goal-choice-desc{font-size:10.8px;line-height:1.42}.goal-choice-grid{gap:9px}}

/* Desktop compact home-goal-grid: 4 cards on one row */
@media(min-width:1024px){
  .home-goal-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
  }
  .home-goal-card{
    min-height:112px;
    padding:14px 16px;
    border-radius:18px;
    min-width:0;
  }
  .home-goal-card.compact,
  .home-goal-card.revenue,
  .home-goal-card.streak{
    min-height:112px;
  }
  .home-goal-title,
  .home-goal-card.revenue .mini-goal-title,
  .home-goal-card.streak .mini-streak-title{
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .home-goal-number,
  .home-goal-card.revenue .mini-goal-value,
  .home-goal-card.streak .mini-streak-badge{
    font-size:clamp(20px,1.8vw,24px);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .home-goal-badge{
    max-width:86px;
    font-size:10px;
    padding:3px 7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .home-goal-footer{
    font-size:10.5px;
    gap:6px;
  }
  .home-goal-action,
  .home-goal-card button,
  .home-goal-card.revenue .mini-goal-btn,
  .home-goal-card.streak .mini-streak-btn{
    height:26px;
    padding:0 10px;
    font-size:10.5px;
  }
}

/* Tablet keeps 2 columns for readability */
@media(min-width:769px) and (max-width:1023px){
  .home-goal-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
}

/* Premium UX retention refinements */
:root{--space-section:24px;--space-card:16px;--space-small:8px}
.sec{margin-bottom:var(--space-section)}
.hero-wrapper{margin-bottom:var(--space-section)}
.stats-grid,.cat-breakdown,.budget-hero,#sales-hero{gap:var(--space-card)}
.item-row,.txn-row,.ai-col-item,.chart-card,.budget-hero-card{margin-bottom:12px}
.sec-hdr{margin-bottom:var(--space-card)}
.tabs,.main-tabs-wrap,.budget-tabs,.period-bar{margin-bottom:var(--space-card)}
.freedom-hero{margin-bottom:18px;position:relative;overflow:visible;background:transparent;color:var(--text);border-radius:0;padding:0;box-shadow:none;min-height:0}
.ff-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%;align-items:stretch}
.ff-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;align-items:stretch}
.ff-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(15,118,110,.06);min-width:0}
.ff-main-number{font-family:'JetBrains Mono',monospace;font-size:clamp(24px,3vw,34px);font-weight:950;color:var(--green);line-height:1.08;overflow-wrap:anywhere}
.ff-input-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ff-hero-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;min-width:0;border-radius:24px;padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(253,250,246,.74));border:1px solid rgba(212,175,55,.18);box-shadow:0 18px 42px rgba(15,118,110,.10),0 4px 14px rgba(62,39,35,.04);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ff-hero-card:before{content:'';position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at 15% 0%,rgba(212,175,55,.22),transparent 34%),radial-gradient(circle at 100% 8%,rgba(15,118,110,.18),transparent 32%);opacity:.9}
.ff-hero-card>*{position:relative;z-index:1}
.ff-card-title{font-size:15px;font-weight:950;letter-spacing:-.01em;color:var(--text);line-height:1.3;display:flex;align-items:center;gap:8px;min-width:0}
.ff-hero-lead{font-size:clamp(24px,3.1vw,36px);font-weight:950;line-height:1.08;letter-spacing:-.035em;color:var(--green);overflow-wrap:anywhere}
.ff-hero-sub{font-size:13px;font-weight:750;color:var(--text3);line-height:1.55;overflow-wrap:anywhere}
.ff-mini-label{font-size:11px;font-weight:900;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.ff-progress{width:100%;height:14px;border-radius:999px;background:rgba(15,118,110,.10);border:1px solid rgba(15,118,110,.12);overflow:hidden;box-shadow:inset 0 1px 4px rgba(15,118,110,.08)}
.ff-progress-fill,.freedom-progress-fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#d4af37 0%,#fbbf24 38%,#10b981 100%);box-shadow:0 0 18px rgba(16,185,129,.38);transition:width .35s ease}
.ff-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:850;color:var(--text2)}
.ff-stat-stack{display:grid;gap:10px;margin-top:2px}
.ff-stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.58);border:1px solid rgba(93,64,55,.06)}
.ff-stat-row span{font-size:12px;font-weight:850;color:var(--text3);min-width:0}
.ff-stat-row strong{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:950;color:var(--text);text-align:right;white-space:nowrap;max-width:58%;overflow:hidden;text-overflow:ellipsis}
.ff-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:950;line-height:1;border:1px solid rgba(15,118,110,.16);background:var(--green2);color:var(--green);white-space:nowrap}
.ff-badge.need-speed{background:var(--amber2);color:var(--amber);border-color:rgba(180,83,9,.18)}
.ff-badge.level-survival{background:#f8fafc;color:#475569;border-color:rgba(71,85,105,.18)}.ff-badge.level-buffer{background:#eff6ff;color:#1d4ed8;border-color:rgba(29,78,216,.16)}.ff-badge.level-stable{background:#f0fdf4;color:#047857;border-color:rgba(4,120,87,.16)}.ff-badge.level-safe{background:#ecfdf5;color:#065f46;border-color:rgba(6,95,70,.18)}.ff-badge.level-active{background:#fff7ed;color:#b45309;border-color:rgba(180,83,9,.18)}.ff-badge.level-strong{background:#fffbeb;color:#a16207;border-color:rgba(161,98,7,.2)}.ff-badge.level-legacy{background:#f8fafc;color:#334155;border-color:rgba(51,65,85,.18)}.ff-badge.level-generation{background:#f0f9ff;color:#0369a1;border-color:rgba(3,105,161,.18)}
.ff-momentum{margin:10px 0 2px;padding:10px 12px;border-radius:14px;border:1px solid rgba(15,118,110,.12);background:linear-gradient(135deg,rgba(240,253,244,.86),rgba(255,255,255,.7));box-shadow:0 8px 18px rgba(15,118,110,.06);display:grid;gap:4px;font-size:12px;font-weight:850;color:var(--text2);line-height:1.35;min-width:0}
.ff-momentum.warn{border-color:rgba(245,158,11,.22);background:linear-gradient(135deg,rgba(255,251,235,.9),rgba(255,255,255,.72))}.ff-momentum.neutral{border-color:rgba(100,116,139,.16);background:linear-gradient(135deg,rgba(248,250,252,.94),rgba(255,255,255,.72))}
.ff-momentum-line{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-momentum-line b{color:var(--green);font-weight:950}.ff-momentum.warn .ff-momentum-line b{color:var(--amber)}.ff-momentum.neutral .ff-momentum-line b{color:var(--text2)}
.ff-progress-insight{margin-top:12px;padding:12px 14px;border-radius:16px;background:rgba(15,118,110,.06);border:1px solid rgba(15,118,110,.12);box-shadow:0 8px 18px rgba(15,118,110,.05)}
.ff-progress-insight.warn{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.18)}
.ff-progress-insight.neutral{background:rgba(100,116,139,.06);border-color:rgba(100,116,139,.14)}
.ff-progress-insight-title{font-size:12px;font-weight:900;color:var(--green);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-progress-insight.warn .ff-progress-insight-title{color:var(--amber)}
.ff-progress-insight-value{font-size:18px;font-weight:950;margin-top:4px;color:var(--text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-confidence-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;background:var(--green2);color:var(--green);margin-top:7px}
.ff-progress-insight.warn .ff-confidence-badge{background:var(--amber2);color:var(--amber)}
.ff-progress-insight-sub{font-size:12px;color:var(--text3);margin-top:6px;line-height:1.5;font-weight:700}
.ff-progress-insight-suggestion{font-size:11.5px;color:var(--text2);margin-top:5px;line-height:1.45;font-weight:800}
.home-journey-heading{margin:18px 0 10px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text2)}
.home-journey-heading:before,.home-journey-heading:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(212,175,55,.38),transparent)}
.quick-capture-overlay{position:fixed;inset:0;z-index:99998;background:rgba(15,23,42,.42);backdrop-filter:blur(6px);display:none;align-items:flex-end;justify-content:center;padding:16px}
.quick-capture-overlay.active{display:flex}
.quick-capture-sheet{width:min(520px,100%);background:var(--bg2);border:1px solid rgba(212,175,55,.26);border-radius:24px 24px 18px 18px;box-shadow:0 -18px 46px rgba(15,23,42,.28);padding:18px 16px calc(16px + env(safe-area-inset-bottom));color:var(--text)}
.quick-capture-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.quick-capture-title{font-size:18px;font-weight:900;color:var(--text)}
.quick-capture-sub{font-size:12px;font-weight:700;color:var(--text3);line-height:1.45;margin-top:3px}
.quick-capture-close{width:36px;height:36px;border:0;border-radius:999px;background:var(--bg3);color:var(--text2);font-size:20px;font-weight:900}
.quick-capture-option{width:100%;min-height:68px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--bg2),var(--green2));display:flex;align-items:center;gap:13px;padding:13px 14px;margin-bottom:10px;text-align:left;color:var(--text);font-family:inherit;box-shadow:0 8px 22px rgba(15,118,110,.07)}
.quick-capture-option.camera{background:linear-gradient(135deg,var(--bg2),var(--gold2))}
.quick-capture-option-icon{width:42px;height:42px;border-radius:14px;background:rgba(15,118,110,.12);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.quick-capture-option.camera .quick-capture-option-icon{background:rgba(212,175,55,.16)}
.quick-capture-option-text{min-width:0}.quick-capture-option-text b{display:block;font-size:14px;font-weight:900;margin-bottom:3px}.quick-capture-option-text span{display:block;font-size:12px;font-weight:700;color:var(--text3);line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.quick-capture-manual{border:0;background:transparent;color:var(--text3);font-weight:900;font-family:inherit;font-size:12px;padding:10px 8px;width:100%}
.quick-draft-review{margin-top:12px;border:1px solid var(--border);border-radius:16px;background:var(--bg3);padding:12px}
.quick-draft-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.quick-draft-field{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:9px 10px;min-width:0}.quick-draft-label{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--text3);margin-bottom:3px}.quick-draft-value{font-size:13px;font-weight:900;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-draft-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-draft-actions button{flex:1;min-height:42px;border:0;border-radius:12px;font-family:inherit;font-weight:900}.quick-draft-save{background:var(--green);color:#fff}.quick-draft-edit{background:var(--gold2);color:var(--gold)}.quick-draft-cancel{background:var(--bg2);color:var(--text3);border:1px solid var(--border)!important}
.quick-camera-preview{width:100%;max-height:220px;object-fit:contain;border-radius:16px;border:1px solid var(--border);background:var(--bg3);margin:8px 0 12px}
@media(min-width:769px){.quick-capture-overlay{align-items:center}.quick-capture-sheet{border-radius:22px;padding-bottom:18px}}
@media(max-width:480px){.quick-capture-overlay{padding:10px}.quick-draft-grid{grid-template-columns:1fr}.quick-capture-option-text span{white-space:normal}}
.ff-forecast,.ff-ai-action{margin-top:10px;padding:11px 12px;border-radius:14px;border:1px solid rgba(212,175,55,.18);background:linear-gradient(135deg,rgba(255,251,235,.72),rgba(255,255,255,.82));font-size:12px;font-weight:820;color:var(--text2);line-height:1.45;box-shadow:0 8px 18px rgba(212,175,55,.06)}
.ff-ai-action{border-color:rgba(15,118,110,.14);background:linear-gradient(135deg,rgba(240,253,244,.78),rgba(255,255,255,.84))}
.ff-ai-action b,.ff-forecast b{color:var(--green);font-weight:950}.ff-action-list{display:grid;gap:5px;margin-top:6px}.ff-action-list div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.freedom-card.passive{border-color:rgba(15,118,110,.20);background:linear-gradient(145deg,#fff,#f0fdf4)}
.freedom-kicker,.freedom-title,.freedom-sub,.freedom-journey-person,.freedom-journey-goal{display:none}
.freedom-progress{height:14px;background:rgba(15,118,110,.10);border-radius:999px;overflow:hidden;border:1px solid rgba(15,118,110,.12)}
.freedom-progress-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:12px;font-weight:850;color:var(--text2)}
.freedom-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.freedom-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(15,118,110,.06);min-height:112px;cursor:pointer;transition:.18s}
.freedom-card:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.32);box-shadow:0 12px 28px rgba(15,118,110,.1)}
.freedom-card-label{font-size:11px;font-weight:900;color:var(--text3);text-transform:uppercase;margin-bottom:10px}
.freedom-card-value{font-size:22px;font-weight:950;color:var(--text);font-family:'JetBrains Mono',monospace}
.freedom-card-note{font-size:12px;font-weight:700;color:var(--text3);margin-top:8px;line-height:1.45}
.freedom-ratio-box{background:var(--green2);border:1px solid rgba(15,118,110,.16);border-radius:16px;padding:16px;margin-bottom:18px}
.freedom-ratio-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-weight:850;color:var(--text)}
.freedom-settings{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:18px}
.freedom-settings.is-collapsed{display:none}
.freedom-profile-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:18px;box-shadow:0 8px 22px rgba(15,118,110,.05)}
.freedom-profile-summary b{color:var(--green)}
.freedom-profile-summary button{border:1px solid var(--border2);background:var(--bg3);border-radius:999px;padding:9px 14px;font-weight:900;color:var(--text);cursor:pointer}
.freedom-ai-box,.ff-ai-box{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(15,118,110,.05)}
.freedom-ai-title{font-size:16px;font-weight:950;color:var(--text);margin-bottom:10px}
.freedom-ai-list{display:grid;gap:10px}
.freedom-ai-item{background:var(--bg3);border:1px solid var(--border2);border-radius:12px;padding:12px;font-size:13px;font-weight:750;color:var(--text);line-height:1.5}
.freedom-ai-item b{color:var(--green)}
.freedom-income-source{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--border2);font-size:13px;font-weight:800;color:var(--text)}
.freedom-income-source:last-child{border-bottom:none}
.freedom-income-source span{color:var(--text3);font-weight:750}
.freedom-card.danger{border-color:rgba(220,38,38,.28);background:#fff7f7}
.freedom-card.warn{border-color:rgba(245,158,11,.32);background:#fffbeb}
.freedom-card.good{border-color:rgba(22,163,74,.25);background:#f0fdf4}
.freedom-card.elite{border-color:rgba(14,165,233,.28);background:#f0f9ff}
@media(max-width:900px){.freedom-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-hero-grid{gap:14px}.ff-hero-card{padding:18px}.ff-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:560px){.freedom-card-grid{grid-template-columns:1fr}.freedom-card-value{font-size:20px}.ff-hero-grid{grid-template-columns:1fr;gap:14px}.ff-hero-card{border-radius:22px;padding:18px}.ff-hero-lead{font-size:26px}.ff-progress-meta{align-items:flex-start;flex-direction:column}.ff-stat-row strong{max-width:54%;font-size:14px}.ff-input-row{grid-template-columns:1fr}.ff-momentum{font-size:11.5px;padding:9px 10px}.ff-forecast,.ff-ai-action{font-size:11.5px;padding:10px}.ff-action-list div:nth-child(n+3){display:none}}

/* Compact Financial Freedom UX - reduce text density */
.ff-compact-section{padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(240,253,244,.55));}
.ff-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.ff-compact-kicker{font-size:12px;font-weight:950;color:var(--green);letter-spacing:.02em;margin-bottom:6px}.ff-compact-title{font-size:clamp(24px,3vw,34px);line-height:1.08;color:var(--green);letter-spacing:-.035em;margin:0 0 6px 0;font-weight:950}.ff-compact-sub{font-size:13px;font-weight:750;color:var(--text3);line-height:1.45;margin:0;max-width:620px}.ff-compact-profile-btn{border:1px solid var(--border2);background:var(--bg2);color:var(--text);border-radius:999px;padding:9px 13px;font-weight:900;font-family:inherit;cursor:pointer;white-space:nowrap}
.ff-compact-goal-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:16px;align-items:center;border:1px solid rgba(15,118,110,.14);background:linear-gradient(135deg,#fff,rgba(236,253,245,.92));border-radius:20px;padding:16px;margin-bottom:14px;box-shadow:0 12px 28px rgba(15,118,110,.06);cursor:pointer}.ff-compact-label{font-size:13px;font-weight:950;color:var(--text);margin-bottom:8px}.ff-compact-percent{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:950;color:var(--green);line-height:1.05}.ff-compact-progress{height:12px;background:rgba(15,118,110,.1);border-radius:999px;overflow:hidden;margin-top:10px;border:1px solid rgba(15,118,110,.12)}.ff-compact-goal-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ff-compact-goal-stats div{border:1px solid var(--border);background:rgba(255,255,255,.76);border-radius:14px;padding:9px 10px;min-width:0}.ff-compact-goal-stats span{display:block;font-size:10.5px;font-weight:900;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ff-compact-goal-stats strong{display:block;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-compact-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ff-compact-metric{background:#fff;border:1px solid var(--border);border-radius:16px;padding:13px 14px;min-height:104px;box-shadow:0 8px 22px rgba(15,118,110,.045);cursor:pointer}.ff-compact-metric span{display:block;font-size:12px;font-weight:950;color:var(--text3);margin-bottom:7px}.ff-compact-metric strong{display:block;font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;color:var(--text);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-compact-metric small{display:block;margin-top:7px;font-size:11.5px;font-weight:750;color:var(--text3);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ff-compact-metric.passive{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:rgba(15,118,110,.18)}
.ff-compact-coach{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(212,175,55,.18);background:linear-gradient(135deg,rgba(255,251,235,.86),rgba(255,255,255,.94));border-radius:18px;padding:14px;margin-bottom:14px;cursor:pointer}.ff-compact-coach-icon{width:36px;height:36px;border-radius:14px;background:var(--gold2);display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}.ff-compact-coach-content{min-width:0;flex:1}.ff-compact-coach-title{font-size:13px;font-weight:950;color:var(--text);margin-bottom:4px}.ff-compact-coach .ff-ai-action{margin:0;padding:0;border:0;background:transparent;box-shadow:none;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ff-detail-accordion{border:1px solid var(--border);background:#fff;border-radius:18px;margin:12px 0;padding:0;overflow:hidden}.ff-detail-accordion>summary{cursor:pointer;list-style:none;padding:13px 16px;font-size:13px;font-weight:950;color:var(--text);display:flex;align-items:center;justify-content:space-between}.ff-detail-accordion>summary::-webkit-details-marker{display:none}.ff-detail-accordion>summary:after{content:'Mở';font-size:11px;font-weight:950;color:var(--green);background:var(--green2);border-radius:999px;padding:4px 9px}.ff-detail-accordion[open]>summary{border-bottom:1px solid var(--border)}.ff-detail-accordion[open]>summary:after{content:'Thu gọn'}.ff-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.ff-detail-card{border:1px solid var(--border);background:var(--bg);border-radius:16px;padding:14px;min-width:0}.ff-compact-ratio{margin-top:0}
#tab-financialFreedom .freedom-settings{margin-top:12px}#tab-financialFreedom .freedom-ai-item{font-size:12.5px;padding:10px 12px}#tab-financialFreedom .freedom-ai-list{padding:0 14px 14px}
@media(max-width:900px){.ff-compact-goal-card{grid-template-columns:1fr}.ff-compact-goal-stats{grid-template-columns:repeat(2,1fr)}.ff-compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-detail-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ff-compact-section{padding:14px}.ff-compact-head{flex-direction:column}.ff-compact-profile-btn{width:100%}.ff-compact-title{font-size:26px}.ff-compact-goal-stats{grid-template-columns:1fr}.ff-compact-metrics{grid-template-columns:1fr 1fr}.ff-compact-metric{min-height:92px;padding:11px}.ff-compact-metric strong{font-size:17px}.ff-compact-coach{padding:12px}.ff-detail-accordion>summary{padding:12px 13px}.ff-detail-grid{padding:12px}.ff-stat-row strong{max-width:58%}}

/* VHTG compact financial freedom UX */
.ff-coach-layout{padding:20px;background:linear-gradient(180deg,#fff,rgba(240,253,244,.55));}
.ff-hero-mini-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.ff-goal-dashboard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:12px;margin-bottom:12px}
.ff-goal-hero-card{border:1px solid rgba(15,118,110,.16);background:linear-gradient(135deg,#fff,rgba(236,253,245,.9));border-radius:20px;padding:16px;box-shadow:0 10px 24px rgba(15,118,110,.055);cursor:pointer}
.ff-goal-mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border2);font-size:12px;font-weight:850;color:var(--text3)}
.ff-goal-mini-row b{font-family:'JetBrains Mono',monospace;color:var(--text);font-size:15px}.ff-goal-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ff-mini-stat{border:1px solid var(--border);background:rgba(255,255,255,.85);border-radius:16px;padding:12px;min-width:0}.ff-mini-stat span{display:block;font-size:10.5px;font-weight:950;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.ff-mini-stat b{display:block;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-mini-stat small{display:block;margin-top:5px;font-size:11px;font-weight:750;color:var(--text3);line-height:1.35}.ff-status-stat{grid-column:1/-1;background:linear-gradient(135deg,#fff7ed,#fff)}
.ff-snapshot-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.ff-snapshot-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 13px;min-height:88px;box-shadow:0 8px 20px rgba(15,118,110,.04);cursor:pointer}.ff-snapshot-card span{display:block;font-size:11.5px;font-weight:950;color:var(--text3);margin-bottom:6px}.ff-snapshot-card b{display:block;font-family:'JetBrains Mono',monospace;font-size:19px;font-weight:950;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-snapshot-card small{display:block;margin-top:5px;font-size:11px;font-weight:750;color:var(--text3);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ff-snapshot-card.passive{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:rgba(15,118,110,.18)}
.ff-coach-bar{display:flex;align-items:center;gap:12px;border:1px solid rgba(212,175,55,.2);background:linear-gradient(135deg,rgba(255,251,235,.92),#fff);border-radius:18px;padding:12px 14px;margin-bottom:12px;cursor:pointer}.ff-coach-ico{width:38px;height:38px;border-radius:14px;background:var(--gold2);display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}.ff-coach-copy{flex:1;min-width:0}.ff-coach-copy strong{display:block;font-size:13px;font-weight:950;color:var(--text);margin-bottom:3px}.ff-coach-copy .ff-ai-action{font-size:13px;font-weight:800;color:var(--text2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ff-coach-btn{border:none;background:var(--green);color:#fff;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:950;cursor:pointer;white-space:nowrap}.ff-detail-slim{margin-top:10px}.ff-detail-slim .ff-detail-card{padding:12px}.ff-stat-list.compact div{padding:9px 0}.ff-profile-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ff-profile-modal-grid .field.full{grid-column:1/-1}.ff-profile-modal-actions{display:flex;gap:10px;margin-top:14px}.ff-profile-modal-actions button{flex:1;border:none;border-radius:12px;padding:12px 14px;font-family:inherit;font-weight:950;cursor:pointer}.ff-profile-save{background:var(--green);color:#fff}.ff-profile-cancel{background:var(--bg3);color:var(--text)}
@media(max-width:900px){.ff-goal-dashboard{grid-template-columns:1fr}.ff-snapshot-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-hero-mini-head{flex-direction:column}.ff-compact-profile-btn{width:100%}}
@media(max-width:560px){.ff-coach-layout{padding:14px}.ff-goal-side-grid{grid-template-columns:1fr}.ff-snapshot-strip{grid-template-columns:1fr 1fr}.ff-snapshot-card{min-height:82px;padding:10px}.ff-snapshot-card b{font-size:16px}.ff-coach-bar{align-items:flex-start}.ff-coach-btn{padding:7px 10px}.ff-profile-modal-grid{grid-template-columns:1fr}}

.hero-box{transform:translateZ(0);box-shadow:0 18px 45px rgba(15,23,42,.10),0 4px 14px rgba(15,23,42,.05),inset 0 1px 0 rgba(255,255,255,.22)!important;border:1px solid rgba(255,255,255,.16);transition:transform .18s ease,box-shadow .18s ease}
.hero-box::before{opacity:.85}
.hero-box::after{opacity:.75}
.hero-box:hover{transform:translateY(-2px);box-shadow:0 24px 56px rgba(15,23,42,.13),0 8px 20px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.28)!important}
.hero-box.asset{background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,#e8b74a 0%,#c99c2f 100%)!important}
.hero-box.budget{background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.12),transparent 34%),linear-gradient(135deg,#475569 0%,#303a49 100%)!important}
.hero-box.sales{background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.13),transparent 34%),linear-gradient(135deg,#0b7db3 0%,#075985 100%)!important}
.hdr,.premium-header{transition:padding .22s ease,margin .22s ease,box-shadow .22s ease,background .22s ease,backdrop-filter .22s ease}
body.header-scrolled .premium-header,body.header-scrolled .hdr{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.header-scrolled .premium-header{padding-top:10px;padding-bottom:10px;box-shadow:0 12px 36px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.45)}
body.header-scrolled .sync-bar,body.header-scrolled .premium-status-bar{display:none}
body.header-scrolled .premium-greeting-sub,body.header-scrolled .premium-ai-note{display:none}
body.header-scrolled .app-logo{height:42px}
button,.add-toggle-btn,.submit-btn,.icon-btn,.share-btn,.share-split-btn,.notif-btn,.logout-btn,.nav-btn,.ptab,.tab,.btab,.cm-btn-primary,.cm-btn-secondary{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease}
button:active,.add-toggle-btn:active,.submit-btn:active,.icon-btn:active,.share-btn:active,.share-split-btn:active,.notif-btn:active,.logout-btn:active,.nav-btn:active,.ptab:active,.tab:active,.btab:active,.cm-btn-primary:active,.cm-btn-secondary:active{transform:scale(.97)}
@media(hover:hover){.add-toggle-btn:hover,.submit-btn:hover,.cm-btn-primary:hover{transform:translateY(-1px)}}
.empty{border:1px dashed var(--border2);background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(240,253,244,.58));border-radius:16px;padding:18px!important}
body.dark-mode .empty{background:linear-gradient(135deg,rgba(31,41,55,.82),rgba(17,24,39,.64))}
.empty-icon{font-size:24px;line-height:1;margin-bottom:8px}
.empty-title{font-size:14px;font-weight:900;color:var(--text);line-height:1.35}
.empty-desc{font-size:12px;color:var(--text3);font-weight:600;line-height:1.5;margin-top:5px}
.empty-cta{margin-top:10px;border:none;background:var(--gold);color:#fff;border-radius:999px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(212,175,55,.22)}
.empty-cta:hover{filter:brightness(1.03);transform:translateY(-1px)}
.empty-cta:active{transform:scale(.97)}
.pin-section-btn{border:none;background:var(--bg3);color:var(--text3);border-radius:10px;width:30px;height:30px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;transition:.18s ease;flex:0 0 auto}
.pin-section-btn:hover{background:var(--gold2);color:var(--gold);transform:translateY(-1px)}
.pin-section-btn.active{background:var(--gold2);color:var(--gold);box-shadow:inset 0 0 0 1px rgba(212,175,55,.22)}
.pinned-section{border-color:rgba(212,175,55,.22)!important}
.sec-hdr .pin-section-btn{margin-left:auto}
@media(max-width:768px){
  :root{--space-section:16px;--space-card:12px;--space-small:8px}
  .app{padding-left:14px;padding-right:14px}
  .sec{padding:18px;margin-bottom:var(--space-section)}
  .hero-wrapper{margin-bottom:16px}
  .stats-grid,.cat-breakdown{gap:12px}
  .hero-box:hover{transform:none}
  body.header-scrolled .premium-header{padding:10px 12px}
  body.header-scrolled .app-logo{height:36px}
}
.daily-action-slider{margin:12px 0;padding:14px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(15,118,110,.12);box-shadow:0 8px 24px rgba(15,23,42,.04)}
body.dark-mode .daily-action-slider{background:rgba(31,41,55,.82);border-color:rgba(255,255,255,.08)}
.daily-action-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.daily-action-head h3{font-size:15px;font-weight:950;margin:0;color:var(--text);line-height:1.2}
.daily-action-head p{font-size:11px;color:var(--text3);margin-top:3px;line-height:1.35;font-weight:700}
.daily-action-count{font-size:11px;font-weight:900;color:var(--green);background:var(--green2);padding:5px 9px;border-radius:999px;white-space:nowrap}
.daily-action-window{overflow:hidden;touch-action:pan-y}
.daily-action-track{display:flex;transition:transform .35s ease}
.daily-action-slide{min-width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:var(--bg2);border:1px solid var(--border)}
.daily-action-main{display:flex;align-items:center;gap:10px;min-width:0}
.daily-action-icon{width:34px;height:34px;border-radius:12px;background:var(--gold2);color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.daily-action-title{font-size:13px;font-weight:900;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.daily-action-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;font-weight:800;color:var(--text3);flex-wrap:wrap}
.priority{padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}
.priority.high{background:var(--red2);color:var(--red)}
.priority.medium{background:var(--amber2);color:var(--amber)}
.priority.low{background:var(--green2);color:var(--green)}
.daily-action-btn{height:32px;border:none;border-radius:999px;background:var(--green);color:#fff;padding:0 14px;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;flex-shrink:0}
.daily-action-dots{display:flex;justify-content:center;gap:5px;margin-top:9px}.daily-action-dots button{width:6px;height:6px;border-radius:999px;border:none;background:var(--border2);padding:0;cursor:pointer}.daily-action-dots button.active{width:18px;background:var(--green)}
.daily-score-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;border-top:1px dashed var(--border2);font-size:12px;font-weight:800;color:var(--text2)}
.daily-score-row strong{font-family:'JetBrains Mono',monospace;color:var(--gold);font-size:18px}
.daily-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.daily-review-metric{background:var(--bg3);border:1px solid var(--border);padding:12px;border-radius:12px}
.daily-review-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);font-weight:850;margin-bottom:5px}
.daily-review-value{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:900;color:var(--text)}
.daily-review-section{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:12px 13px;margin-top:10px}
.daily-review-section.warn{background:#fffaf0;border-color:rgba(245,158,11,.24)}
.daily-review-title{font-size:12px;font-weight:900;color:var(--text);margin-bottom:6px}
.daily-review-text{font-size:13px;font-weight:650;color:var(--text2);line-height:1.55}
.vip-soft-paywall{background:linear-gradient(135deg,var(--gold2),var(--bg2));border:1px solid rgba(212,175,55,.24);border-radius:16px;padding:14px;margin-top:12px;text-align:left}
.vip-soft-paywall-title{font-size:13px;font-weight:950;color:var(--amber);margin-bottom:5px}
.vip-soft-paywall-desc{font-size:12px;font-weight:650;color:var(--text2);line-height:1.5;margin-bottom:10px}
.vip-soft-paywall-preview{font-size:12px;font-weight:750;color:var(--text);line-height:1.55;border-top:1px dashed rgba(212,175,55,.28);padding-top:9px;margin-bottom:10px}
.vip-soft-paywall .tac-btn{background:linear-gradient(135deg,var(--gold),#f59e0b)}
@media(max-width:768px){.ai-coach-bar{padding:11px 12px;border-radius:16px;gap:10px;min-height:76px}.ai-coach-icon{width:30px;height:30px;border-radius:10px}.ai-coach-message{font-size:12.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ai-coach-sub{display:none}.ai-coach-action{height:30px;padding:0 10px;font-size:10.5px}.daily-action-slider{padding:12px;border-radius:16px}.daily-action-head p{display:none}.daily-action-slide{padding:10px}.daily-action-title{font-size:12.5px;max-width:170px}.daily-action-meta{font-size:10.5px}.daily-action-btn{height:30px;padding:0 12px}.daily-review-grid{grid-template-columns:1fr 1fr}.daily-review-value{font-size:13px}.daily-review-section{padding:11px}}

/* Floating premium header */
.hdr{
  position:sticky!important;
  top:10px;
  z-index:999;
  gap:11px!important;
  margin-bottom:18px!important;
  padding:14px 16px 12px;
  border-radius:22px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 10px 30px rgba(15,23,42,.08),0 2px 10px rgba(15,23,42,.04),inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:padding .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-radius .28s cubic-bezier(.4,0,.2,1),top .28s cubic-bezier(.4,0,.2,1);
}
body.dark-mode .hdr{
  background:rgba(17,24,39,.72);
  border-color:rgba(255,255,255,.06);
  box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);
}
.hdr-left h1{flex-wrap:nowrap!important;align-items:center!important;gap:14px!important}
.logo-status-wrap{min-width:0;display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;position:relative;overflow:visible}
.logo-status-wrap .vip-status-btn{
  position:absolute;
  top:-9px;
  right:-12px;
  z-index:3;
  box-shadow:0 6px 14px rgba(212,175,55,.22);
  white-space:nowrap;
  font-size:10px;
  padding:4px 8px;
  height:22px;
}
.logo-status-wrap .logo-gami-badge{position:absolute;right:-8px;bottom:-5px;z-index:4}
.vip-short-text{display:none}
.hdr .app-logo{height:56px;transition:height .24s ease,transform .24s ease}
.h1-actions{gap:8px!important;flex:0 0 auto}
.h1-actions #btn-admin-console,
.h1-actions #btn-admin-vip,
.h1-actions #btn-admin-aff,
.h1-actions #btn-admin-notif,
.h1-actions #btn-quests,
.h1-actions #btn-user-upgrade,
.h1-actions #btn-open-share,
.h1-actions>.logout-btn{display:none!important}
.hdr .notif-btn,.hdr .user-trigger-btn,.hdr .overflow-menu-btn{
  background:rgba(255,255,255,.74);
  border:1px solid rgba(15,118,110,.10);
  box-shadow:0 8px 20px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.62);
}
body.dark-mode .hdr .notif-btn,body.dark-mode .hdr .user-trigger-btn,body.dark-mode .hdr .overflow-menu-btn{
  background:rgba(31,41,55,.76);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 8px 22px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.06);
}
.hdr .notif-btn:hover,.hdr .user-trigger-btn:hover,.hdr .overflow-menu-btn:hover{transform:translateY(-1px)}
.header-overflow-wrap{position:relative;display:inline-flex;align-items:center;z-index:1205}
.overflow-menu-btn{
  width:40px;height:40px;padding:0;border-radius:14px;border:1px solid var(--border);
  color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;
}
.header-overflow-menu{
  position:absolute;right:0;top:calc(100% + 10px);width:242px;display:none;grid-template-columns:1fr;gap:4px;z-index:7000;
  padding:8px;border-radius:18px;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.72);
  box-shadow:0 18px 44px rgba(15,23,42,.14),0 4px 12px rgba(15,23,42,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.header-overflow-menu.show{display:grid}
.mobile-menu-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.18);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:4990}
.mobile-menu-backdrop.show{display:block!important}
body.menu-open{overflow:hidden}
body.dark-mode .header-overflow-menu{background:rgba(31,41,55,.96);border-color:rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.36)}
.header-overflow-item{
  width:100%;border:0;background:transparent;color:var(--text);border-radius:12px;padding:10px 11px;display:flex;align-items:center;gap:9px;
  font-family:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer;
}
.header-overflow-item:hover{background:var(--bg2);transform:none}
.header-overflow-item.danger{color:var(--red)}
.header-overflow-item.admin-only-action{display:none!important}
body.is-system-admin .header-overflow-item.admin-only-action{display:flex!important}
.hdr .sync-bar{
  position:relative;
  z-index:1;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.54)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
}
body.dark-mode .hdr .sync-bar{background:rgba(31,41,55,.58)!important;border-color:rgba(255,255,255,.08)!important}
.hdr.is-compact{
  top:8px;
  padding:9px 12px 8px;
  border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 30px rgba(15,23,42,.10),0 2px 10px rgba(15,23,42,.05),inset 0 1px 0 rgba(255,255,255,.66);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}
body.dark-mode .hdr.is-compact{background:rgba(17,24,39,.86)}
.hdr.is-compact .app-logo{height:42px}
.hdr.is-compact .sync-time{opacity:.78;max-width:320px}
.hdr.is-compact .sync-bar{padding:6px 9px!important}
body.header-scrolled .sync-bar{display:flex!important}
body.header-scrolled .hdr{padding-top:9px;padding-bottom:8px}
@media(max-width:768px){
  .app{padding-top:max(10px,env(safe-area-inset-top))!important;padding-left:14px!important;padding-right:14px!important}
  .hdr,.mobile-sticky-header{position:-webkit-sticky!important;position:sticky!important;top:max(8px,env(safe-area-inset-top))!important;padding:10px 12px!important;border-radius:22px!important;gap:7px!important;margin-bottom:12px!important;z-index:3000!important;background:rgba(255,255,255,.82)!important;box-shadow:0 12px 30px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.55)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  body.dark-mode .hdr,body.dark-mode .mobile-sticky-header{background:rgba(17,24,39,.84)!important}
  .hdr-left h1{display:grid!important;grid-template-columns:minmax(112px,1fr) auto!important;align-items:center!important;gap:8px!important;width:100%!important}
  .hdr .app-logo,.app-logo{height:42px!important;max-width:132px!important;object-fit:contain!important;flex-shrink:0!important}
  .logo-status-wrap{gap:5px;min-width:118px;flex:0 1 auto}
  .logo-status-wrap .vip-status-btn,.vip-status-btn{
    position:absolute!important;
    top:-5px!important;
    right:-8px!important;
    font-size:10px!important;
    line-height:1!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    height:22px!important;
    min-width:34px!important;
    max-width:38px!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    margin:0!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .vip-status-btn .vip-full-text{display:none!important}
  .vip-status-btn .vip-short-text{display:inline!important}
  .h1-actions,.mobile-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;flex:0 0 auto!important;min-width:0!important}
  .hdr .sync-bar{display:contents!important}
  .hdr .sync-time{display:none!important}
  .mobile-header-greeting{display:block!important;margin-top:4px!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;color:var(--text3)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:opacity .2s ease,max-height .2s ease,margin .2s ease}
  .sync-pill,.live-pill{height:28px!important;padding:0 7px!important;font-size:9.5px!important;border-radius:999px!important;white-space:nowrap!important;flex-shrink:0!important}
  .hdr .refresh-btn,.refresh-btn,.notif-btn,.overflow-menu-btn,.more-menu-btn,.mobile-more-btn{width:34px!important;height:34px!important;border-radius:13px!important;padding:0!important;flex-shrink:0!important}
  .hdr .user-trigger-btn{width:38px;height:38px;padding:0;border-radius:13px;justify-content:center}
  .hdr #ws-wrapper{display:none!important}
  .hdr .user-trigger-text{display:none!important}
  .hdr .notif-btn,.hdr .overflow-menu-btn{width:38px;height:38px;border-radius:13px;padding:0}
  .header-overflow-wrap{z-index:5010}
  .header-overflow-menu{
    position:fixed!important;
    right:18px!important;
    left:auto!important;
    top:92px!important;
    width:min(300px,calc(100vw - 36px))!important;
    max-height:min(56vh,430px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    z-index:5000!important;
    padding:10px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.94)!important;
    border-color:rgba(255,255,255,.68)!important;
    box-shadow:0 24px 60px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.65)!important;
  }
  body.dark-mode .header-overflow-menu{background:rgba(31,41,55,.94)!important;border-color:rgba(255,255,255,.10)!important}
  .header-overflow-menu::-webkit-scrollbar{width:4px}
  .header-overflow-item{
    min-height:44px!important;
    padding:10px 14px!important;
    font-size:14px!important;
    font-weight:800!important;
    border-radius:14px!important;
    gap:12px!important;
  }
  .hdr.is-compact{padding:8px 10px}
  .hdr.is-compact .app-logo{height:38px!important;max-width:120px!important}
  .hdr.is-compact .sync-time{display:none}
  .hdr.is-compact .header-overflow-menu,body.mobile-header-compact .header-overflow-menu{top:72px!important}
  body.mobile-header-scrolled .hdr,body.mobile-header-compact .hdr{padding-top:8px!important;padding-bottom:8px!important;border-radius:18px!important;background:rgba(255,255,255,.9)!important;box-shadow:0 10px 24px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.6)!important}
  body.dark-mode.mobile-header-scrolled .hdr,body.dark-mode.mobile-header-compact .hdr{background:rgba(17,24,39,.9)!important}
  body.mobile-header-scrolled .app-logo{height:42px!important}
  body.mobile-header-scrolled .sync-time{display:none!important}
  body.mobile-header-compact .mobile-header-greeting{opacity:0!important;max-height:0!important;margin-top:0!important;overflow:hidden!important}
}
@media(max-width:420px){
  .app{padding-top:max(8px,env(safe-area-inset-top))!important}
  .hdr .app-logo,.app-logo{height:42px!important;max-width:132px!important}
  .hdr .notif-btn,.hdr .overflow-menu-btn,.hdr .user-trigger-btn{width:34px;height:34px;border-radius:12px}
  .logo-status-wrap .vip-status-btn,.vip-status-btn{font-size:9.5px!important;padding:4px 7px!important;max-width:42px!important}
  .header-overflow-menu{top:108px!important;right:12px!important;width:min(286px,calc(100vw - 24px))!important}
}
@media(max-width:390px){
  .mobile-header-actions .refresh-btn,
  .mobile-header-actions #btn-toggle-hero{display:none!important}
  .hdr .app-logo,.app-logo{max-width:112px!important}
  .sync-pill,.live-pill{font-size:9px!important;padding:0 6px!important}
}

/* Unified top header + safer mobile nav */
:root{--mobile-nav-height:66px;--mobile-browser-gap:12px}
.app-top-header{
  position:sticky!important;
  top:max(10px,env(safe-area-inset-top))!important;
  z-index:3000!important;
  border-radius:24px!important;
  padding:14px 18px 12px!important;
  margin-bottom:12px!important;
  background:rgba(255,255,255,.84)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.65)!important;
}
body.dark-mode .app-top-header{background:rgba(17,24,39,.86)!important;border-color:rgba(255,255,255,.08)!important}
.app-top-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-width:0!important;width:100%!important;flex-wrap:nowrap!important}
.app-brand-zone{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex:1 1 auto!important;position:relative!important;overflow:visible!important}
.app-brand-zone .app-logo{height:52px!important;max-width:170px!important;object-fit:contain!important;flex-shrink:0!important}
.app-top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex:0 0 auto!important;min-width:0!important}
.top-greeting{margin-top:8px!important;font-size:12.5px!important;font-weight:700!important;color:var(--text3)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.duplicate-greeting,.header-greeting-duplicate,.mobile-header-greeting.extra,.premium-greeting-sub.duplicate{display:none!important}
.hdr .sync-bar{display:contents!important}
.hdr .sync-time{display:none!important}
.app-top-actions .sync-pill,.app-top-actions .live-pill{height:30px!important;padding:0 9px!important;font-size:11px!important;border-radius:999px!important;white-space:nowrap!important;flex-shrink:0!important}
.app-top-actions .refresh-btn,.app-top-actions .notif-btn,.app-top-actions .overflow-menu-btn{width:36px!important;height:36px!important;border-radius:13px!important;padding:0!important;flex-shrink:0!important}
.app-top-actions #ws-wrapper{display:none!important}
.app-brand-zone .vip-status-btn{position:absolute!important;top:-8px!important;right:-10px!important;height:20px!important;min-width:34px!important;padding:3px 7px!important;border-radius:999px!important;font-size:9.5px!important;font-weight:900!important;line-height:1!important;margin:0!important;white-space:nowrap!important;z-index:4!important}
.vip-status-btn .vip-short-text{display:none}
@media(min-width:769px){
  .header-overflow-menu{position:absolute!important;top:calc(100% + 10px)!important;right:0!important;width:280px!important;z-index:9000!important;pointer-events:auto!important;background:var(--bg2)!important;border:1px solid var(--border2)!important;border-radius:18px!important;padding:8px!important;box-shadow:0 20px 50px rgba(15,23,42,.14)!important}
  .mobile-menu-backdrop{display:none!important}
}
@media(max-width:768px){
  .app{padding-top:max(8px,env(safe-area-inset-top))!important;padding-left:12px!important;padding-right:12px!important;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 110px)!important}
  .app-top-header{top:max(8px,env(safe-area-inset-top))!important;border-radius:20px!important;padding:9px 10px!important;margin-bottom:10px!important;z-index:3000!important}
  .app-top-row{gap:7px!important}
  .app-brand-zone{gap:6px!important;min-width:96px!important}
  .app-brand-zone .app-logo,.app-logo{height:40px!important;max-width:118px!important}
  .app-brand-zone .vip-status-btn,.vip-status-btn{position:absolute!important;top:-4px!important;right:-5px!important;height:20px!important;min-width:34px!important;max-width:38px!important;padding:3px 7px!important;font-size:9px!important;margin:0!important;flex-shrink:0!important;overflow:hidden!important}
  .vip-status-btn .vip-full-text{display:none!important}
  .vip-status-btn .vip-short-text{display:inline!important}
  .app-top-actions{gap:4px!important}
  .app-top-actions .sync-pill,.app-top-actions .live-pill{height:26px!important;padding:0 6px!important;font-size:9px!important}
  .app-top-actions .refresh-btn,.app-top-actions .notif-btn,.app-top-actions .overflow-menu-btn{width:30px!important;height:30px!important;border-radius:11px!important}
  .top-greeting{margin-top:5px!important;font-size:11.5px!important;line-height:1.35!important}
  body.mobile-header-compact .app-top-header{padding-top:7px!important;padding-bottom:7px!important;border-radius:17px!important;background:rgba(255,255,255,.9)!important;box-shadow:0 10px 24px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.6)!important}
  body.dark-mode.mobile-header-compact .app-top-header{background:rgba(17,24,39,.9)!important}
  body.mobile-header-compact .top-greeting{opacity:0!important;max-height:0!important;margin-top:0!important;overflow:hidden!important}
  body.mobile-header-compact .app-logo{height:36px!important;max-width:108px!important}
  .mobile-menu-backdrop{background:rgba(15,23,42,.08)!important;backdrop-filter:blur(1px)!important;-webkit-backdrop-filter:blur(1px)!important}
  .header-overflow-menu{position:fixed!important;top:96px!important;right:14px!important;left:auto!important;width:min(292px,calc(100vw - 28px))!important;max-height:min(54vh,420px)!important;overflow-y:auto!important;border-radius:20px!important;padding:8px!important;z-index:5000!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;box-shadow:0 24px 50px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.65)!important}
  body.dark-mode .header-overflow-menu{background:rgba(31,41,55,.96)!important}
  body.mobile-header-compact .header-overflow-menu{top:72px!important}
  .header-overflow-menu button,.header-overflow-menu .menu-item{min-height:42px!important;padding:9px 12px!important;font-size:13.5px!important;font-weight:800!important;border-radius:13px!important;display:flex!important;align-items:center!important;gap:11px!important}
  .mobile-nav{display:flex!important;position:fixed!important;left:10px!important;right:10px!important;bottom:calc(env(safe-area-inset-bottom) + 12px)!important;width:auto!important;height:64px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.55)!important;border-radius:24px!important;box-shadow:0 16px 45px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.7);z-index:4000!important;padding:6px 8px!important}
  body.dark-mode .mobile-nav{background:rgba(17,24,39,.92)!important;border-color:rgba(255,255,255,.08)!important}
  .mnav-btn{padding:7px 0!important;font-size:10px!important;border-radius:18px!important;min-width:0!important}
  .mnav-btn svg{width:21px!important;height:21px!important}
  .mnav-btn.active{background:rgba(15,118,110,.08)}
}
@media(max-width:390px){
  .app-brand-zone .app-logo,.app-logo{max-width:104px!important}
  .app-top-actions .refresh-btn,#btn-toggle-hero{display:none!important}
  .app-top-actions .sync-pill,.app-top-actions .live-pill{font-size:8.5px!important;padding:0 5px!important}
}

/* Final header/menu corrections */
.vip-status-btn .vip-full-text{display:none!important}
.vip-status-btn .vip-short-text{display:inline!important}
.app-brand-zone .vip-status-btn,.logo-status-wrap .vip-status-btn,.vip-status-btn{
  position:absolute!important;
  top:-7px!important;
  left:112px!important;
  right:auto!important;
  height:20px!important;
  min-width:34px!important;
  max-width:38px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  white-space:nowrap!important;
  z-index:3!important;
  overflow:hidden!important;
}
.mobile-menu-backdrop,.menu-backdrop,.overflow-backdrop{
  background:rgba(15,23,42,.06)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  z-index:2500!important;
  pointer-events:auto!important;
}
.header-overflow-menu,.header-overflow-menu *{pointer-events:auto!important}
@media(min-width:769px){
  .app-top-header,.premium-header,.mobile-sticky-header,.hdr{
    position:relative!important;
    top:auto!important;
    z-index:1200!important;
    overflow:visible!important;
    padding:16px 18px 14px!important;
    border-radius:24px!important;
    margin-bottom:12px!important;
  }
  body.mobile-header-compact .app-top-header,
  body.mobile-header-compact .premium-header,
  body.mobile-header-compact .mobile-sticky-header,
  body.mobile-header-compact .hdr,
  body.header-scrolled .app-top-header,
  body.header-scrolled .premium-header,
  body.header-scrolled .mobile-sticky-header,
  body.header-scrolled .hdr{
    position:relative!important;
    top:auto!important;
    transform:none!important;
  }
  .app-top-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important}
  .hdr-left,.hdr-left h1,.app-top-row,.app-top-actions,.header-overflow-wrap{overflow:visible!important}
  .app-brand-zone{position:relative!important;display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex:1 1 auto!important}
  .app-brand-zone .app-logo,.app-logo{height:54px!important;max-width:180px!important;object-fit:contain!important}
  .app-top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important}
  .top-greeting,.mobile-header-greeting{margin-top:6px!important;margin-bottom:0!important;font-size:12.5px!important;font-weight:700!important;color:var(--text3)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .app-brand-zone .vip-status-btn,.logo-status-wrap .vip-status-btn,.vip-status-btn{top:-8px!important;left:118px!important}
  .header-overflow-menu{position:absolute!important;top:calc(100% + 10px)!important;right:0!important;left:auto!important;width:280px!important;max-height:none!important;overflow:visible!important;z-index:99999!important;pointer-events:auto!important;background:var(--bg2)!important;border:1px solid var(--border2)!important;border-radius:18px!important;padding:8px!important;box-shadow:0 20px 50px rgba(15,23,42,.14)!important}
  .header-overflow-menu.show{display:grid!important}
  .mobile-menu-backdrop{display:none!important}
}
@media(max-width:768px){
  .app-top-header,.premium-header,.mobile-sticky-header,.hdr{
    position:sticky!important;
    top:max(8px,env(safe-area-inset-top))!important;
    z-index:3000!important;
    padding:9px 12px 8px!important;
    margin-bottom:10px!important;
    border-radius:22px!important;
  }
  body.menu-open .app-top-header,
  body.menu-open .premium-header,
  body.menu-open .mobile-sticky-header,
  body.menu-open .hdr{
    z-index:7000!important;
  }
  .top-greeting,.mobile-header-greeting,.premium-greeting-sub{
    margin-top:4px!important;
    margin-bottom:0!important;
    font-size:11.8px!important;
    line-height:1.25!important;
    max-height:18px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.mobile-header-compact .top-greeting,
  body.mobile-header-compact .mobile-header-greeting,
  body.mobile-header-compact .premium-greeting-sub{
    display:none!important;
  }
  .micro-summary,.summary-ticker,.top-number-strip{
    margin-top:8px!important;
    position:relative!important;
    z-index:1!important;
  }
  .app-top-row{gap:5px!important}
  .app-brand-zone .app-logo,.app-logo{height:40px!important;max-width:112px!important;object-fit:contain!important}
  .app-top-actions{gap:4px!important}
  .sync-pill,.live-pill{height:24px!important;padding:0 6px!important;font-size:8.5px!important;border-radius:999px!important;flex-shrink:0!important}
  .refresh-btn,.notif-btn,.eye-btn,.collapse-btn,.overflow-menu-btn,.more-menu-btn,.mobile-more-btn{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    border-radius:12px!important;
    padding:0!important;
    flex-shrink:0!important;
  }
  .app-brand-zone .vip-status-btn,.logo-status-wrap .vip-status-btn,.vip-status-btn{
    top:-6px!important;
    left:102px!important;
    height:19px!important;
    min-width:32px!important;
    max-width:36px!important;
    font-size:8.5px!important;
  }
  .header-overflow-menu{
    position:fixed!important;
    top:88px!important;
    right:14px!important;
    left:auto!important;
    width:min(292px,calc(100vw - 28px))!important;
    max-height:min(54vh,420px)!important;
    overflow-y:auto!important;
    border-radius:20px!important;
    padding:8px!important;
    z-index:8000!important;
    pointer-events:auto!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    box-shadow:0 24px 50px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.65)!important;
  }
  body.dark-mode .header-overflow-menu{background:rgba(31,41,55,.98)!important}
  .header-overflow-menu.show{display:flex!important;flex-direction:column!important}
  .header-overflow-wrap{z-index:8010!important;pointer-events:auto!important}
  .overflow-menu-btn{pointer-events:auto!important}
  .header-overflow-menu button,.header-overflow-menu .menu-item{
    min-height:42px!important;
    padding:9px 12px!important;
    font-size:13.5px!important;
    font-weight:800!important;
    border-radius:13px!important;
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    cursor:pointer!important;
    pointer-events:auto!important;
  }
  .mobile-nav{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(env(safe-area-inset-bottom) + 12px)!important;
    width:auto!important;
    height:64px!important;
    z-index:4000!important;
    border-radius:24px!important;
    padding:6px 8px!important;
    background:rgba(255,255,255,.94)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .app{padding-bottom:calc(66px + env(safe-area-inset-bottom) + 120px)!important}
}
@media(max-width:390px){
  .refresh-btn,.collapse-btn,.eye-btn{display:none!important}
  .app-brand-zone .app-logo,.app-logo{max-width:104px!important}
  .app-brand-zone .vip-status-btn,.logo-status-wrap .vip-status-btn,.vip-status-btn{left:92px!important;top:-5px!important}
}

.micro-summary,.summary-ticker,.top-number-strip{
  margin-top:8px!important;
  position:relative!important;
  z-index:1!important;
}
.app-top-header{margin-bottom:10px!important}
@media(min-width:769px){
  .app-top-header{position:relative!important;top:auto!important}
}
@media(max-width:768px){
  .app-top-header{margin-bottom:8px!important}
}


/* === VHTG_SMART_UPGRADE_20260526: nâng cấp giao diện + tính năng thông minh === */
.budget-intel-panel{margin:0 0 16px 0}
.budget-coach-bar{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,253,245,.78));border:1px solid rgba(15,118,110,.14);border-radius:18px;padding:14px 16px;box-shadow:0 12px 30px rgba(15,118,110,.055);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:.25s ease;min-height:92px}
.budget-coach-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.budget-coach-status{width:34px;height:34px;border-radius:12px;background:var(--green2);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;border:1px solid rgba(15,118,110,.16)}
.budget-coach-content{min-width:0;flex:1}.budget-coach-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}.budget-coach-title{font-size:16px;font-weight:950;color:var(--text);line-height:1.25}
.budget-score-pill{min-width:72px;height:32px;border-radius:999px;background:var(--green2);border:1px solid rgba(15,118,110,.16);display:inline-flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;color:var(--green);padding:0 10px;white-space:nowrap}.budget-score-pill.warn{background:var(--amber2);border-color:rgba(180,83,9,.18);color:var(--amber)}.budget-score-pill.danger{background:var(--red2);border-color:rgba(190,18,60,.18);color:var(--red)}
.budget-coach-sub{font-size:13px;font-weight:800;color:var(--text2);line-height:1.45;margin-bottom:3px}.budget-coach-meta{font-size:12px;font-weight:750;color:var(--text3);line-height:1.45;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.budget-coach-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.budget-coach-btn{border:1px solid var(--border2);background:var(--bg2);color:var(--text2);height:34px;padding:0 12px;border-radius:999px;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.18s;white-space:nowrap}.budget-coach-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,118,110,.08);border-color:rgba(15,118,110,.22);color:var(--green)}.budget-coach-btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.budget-coach-btn.ghost{width:34px;padding:0;justify-content:center;background:rgba(255,255,255,.75)}
.budget-coach-bar.collapsed{min-height:52px;padding:10px 14px}.budget-coach-bar.collapsed .budget-coach-sub,.budget-coach-bar.collapsed .budget-coach-meta,.budget-coach-bar.collapsed .budget-coach-btn:not(.ghost){display:none}.budget-coach-bar.collapsed .budget-coach-title{font-size:14px}.budget-coach-bar.collapsed .budget-coach-status{width:28px;height:28px;border-radius:10px;font-size:15px}.budget-coach-modal-list{display:grid;gap:9px;text-align:left;margin-top:12px}.budget-coach-modal-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);background:var(--bg3);border-radius:14px;padding:10px 12px;font-size:13px;font-weight:750;line-height:1.5;color:var(--text2)}.budget-coach-modal-item b{color:var(--text)}.budget-coach-modal-icon{width:24px;height:24px;border-radius:9px;background:var(--gold2);color:var(--amber);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:12px}
.txn-smart-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.txn-search-input{min-width:210px;flex:1;background:var(--bg2);border:1px solid var(--border2);border-radius:12px;padding:9px 12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--text);outline:none}.txn-search-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold2)}.target-badge{display:inline-flex;align-items:center;gap:3px;background:var(--gold2);color:var(--amber);border:1px solid rgba(212,175,55,.22);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;margin-left:4px;vertical-align:middle}
@media(max-width:768px){.budget-coach-bar{align-items:stretch;flex-direction:column;gap:12px;padding:13px;border-radius:17px}.budget-coach-title-row{justify-content:space-between}.budget-coach-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 38px}.budget-coach-btn{justify-content:center;height:36px}.budget-coach-bar.collapsed{flex-direction:row;align-items:center}.budget-coach-bar.collapsed .budget-coach-actions{width:auto;display:flex}.txn-smart-tools{flex-direction:column;align-items:stretch}.txn-search-input{min-width:100%;width:100%}}


/* ===== AUTH LANDING FAMILY FINTECH UPGRADE ===== */
.lp-family{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lp-family-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.075);backdrop-filter:blur(18px);border-radius:26px;padding:22px;box-shadow:0 18px 48px rgba(0,0,0,.14);transition:.22s}
.lp-family-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.095)}
.lp-family-title{font-size:18px;font-weight:950;color:#fff;letter-spacing:-.02em;margin-bottom:8px}
.lp-family-desc{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.72);font-weight:650}
.lp-family-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.lp-family-metric{padding:18px 14px;border-radius:22px;text-align:center;border:1px solid rgba(251,191,36,.16);background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(20,184,166,.08));box-shadow:0 14px 36px rgba(0,0,0,.12)}
.lp-family-metric b{display:block;font-size:24px;line-height:1;font-weight:950;color:#fbbf24;letter-spacing:-.04em;margin-bottom:8px}
.lp-family-metric span{display:block;font-size:11.5px;line-height:1.35;color:rgba(255,255,255,.72);font-weight:800}
.lp-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lp-journey-step{padding:16px;border-radius:22px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);box-shadow:0 12px 34px rgba(0,0,0,.12)}
.lp-journey-step .ico{font-size:22px;margin-bottom:8px}
.lp-journey-step b{display:block;font-size:14px;color:#fff;margin-bottom:4px}
.lp-journey-step span{font-size:11.5px;color:rgba(255,255,255,.64);font-weight:700}
.lp-proof-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.lp-proof-list div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.075);border-radius:16px;padding:10px 12px;color:rgba(255,255,255,.82);font-size:12px;font-weight:800}
.lp-phone-momentum{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.lp-phone-momentum span{border-radius:999px;background:#ecfdf5;color:#047857;padding:7px 9px;font-size:10px;font-weight:900}
@media(max-width:920px){.lp-family,.lp-family-showcase,.lp-journey{grid-template-columns:1fr 1fr}.lp-proof-list{grid-template-columns:1fr}}
@media(max-width:560px){.lp-family,.lp-family-showcase,.lp-journey{grid-template-columns:1fr}.lp-family-card{padding:18px}.lp-family-metric{text-align:left}.lp-family-metric b{font-size:22px}}


/* ===== AUTH LANDING PREMIUM REDESIGN ===== */
.auth-landing-premium{
  width:min(1180px,96vw);
  max-height:92vh;
  overflow:auto;
  padding:18px;
  border-radius:32px;
  background:linear-gradient(180deg,#fffaf0 0%,#fdfaf6 38%,#f4fbf6 100%);
  box-shadow:0 30px 80px rgba(62,39,35,.16);
}
.auth-landing-premium::-webkit-scrollbar{width:6px}
.auth-landing-premium::-webkit-scrollbar-thumb{background:rgba(8,122,61,.18);border-radius:999px}
.auth-premium-nav{
  position:sticky;
  top:0;
  z-index:10;
  margin-bottom:18px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  border:1px solid rgba(8,122,61,.08);
  border-radius:24px;
  padding:14px 18px;
}
.auth-premium-hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:center;
  padding:58px 42px;
  border-radius:34px;
  background:
    radial-gradient(circle at top right,rgba(34,197,94,.12),transparent 26%),
    radial-gradient(circle at bottom left,rgba(245,158,11,.12),transparent 28%),
    linear-gradient(135deg,#fffaf0 0%,#ffffff 48%,#f4fbf6 100%);
  border:1px solid rgba(8,122,61,.10);
  box-shadow:0 18px 54px rgba(7,25,35,.06);
}
.auth-premium-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(245,158,11,.24);
  background:rgba(255,243,214,.55);
  color:#92400e;
  font-size:12px;
  font-weight:900;
  margin-bottom:20px;
}
.auth-premium-title{
  font-size:clamp(38px,5.4vw,68px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:950;
  color:#111827;
  margin-bottom:20px;
}
.auth-premium-title span{
  background:linear-gradient(135deg,#043b2f,#087a3d,#22c55e);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.auth-premium-desc{
  max-width:650px;
  font-size:17px;
  line-height:1.85;
  color:#64748b;
  font-weight:650;
  margin-bottom:28px;
}
.auth-premium-actions{justify-content:flex-start;margin-bottom:24px}
.auth-proof-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.auth-proof-grid div{
  padding:13px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(8,122,61,.08);
  box-shadow:0 8px 22px rgba(7,25,35,.04);
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.auth-premium-mockup{
  background:#fff;
  border:1px solid rgba(7,25,35,.06);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(7,25,35,.10);
}
.auth-mockup-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 20px;
  background:#f8fafc;
  border-bottom:1px solid #eef2f7;
}
.auth-mockup-top strong{display:block;font-size:14px;color:#111827}
.auth-mockup-top span{font-size:11px;font-weight:800;color:#087a3d}
.auth-mockup-bell{
  width:36px;height:36px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid #e5e7eb;
}
.auth-mockup-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:20px;
}
.auth-metric-card{
  padding:18px;
  border-radius:22px;
  color:#fff;
  overflow:hidden;
}
.auth-metric-card.green{background:linear-gradient(135deg,#043b2f,#087a3d)}
.auth-metric-card.navy{background:linear-gradient(135deg,#071923,#0b2533)}
.auth-metric-card small{display:block;font-size:10px;font-weight:900;text-transform:uppercase;opacity:.78;margin-bottom:8px}
.auth-metric-card strong{display:block;font-family:'JetBrains Mono',monospace;font-size:24px;margin-bottom:6px}
.auth-metric-card span{font-size:11px;font-weight:750;opacity:.82}
.auth-progress-card,.auth-ai-preview{
  margin:0 20px 20px;
  padding:18px;
  border-radius:22px;
  border:1px solid #eef2f7;
  background:#fff;
  box-shadow:0 8px 22px rgba(7,25,35,.04);
}
.auth-progress-head,.auth-progress-meta{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
}
.auth-progress-head strong{font-size:13px}
.auth-progress-head span{
  font-size:11px;font-weight:900;color:#087a3d;
  padding:4px 8px;border-radius:8px;background:#f4fbf6;border:1px solid rgba(8,122,61,.12);
}
.auth-progress-track{
  height:9px;border-radius:999px;background:#f1f5f9;overflow:hidden;margin:14px 0 8px;
}
.auth-progress-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#22c55e)}
.auth-progress-meta{font-size:11px;color:#64748b;font-weight:700}
.auth-ai-preview strong{
  display:block;color:#92400e;margin-bottom:7px;font-size:12px;text-transform:uppercase;letter-spacing:.06em
}
.auth-ai-preview span{font-size:13px;line-height:1.6;color:#475569;font-weight:700}
.auth-section{padding:54px 26px}
.auth-section-head{
  text-align:center;
  max-width:780px;
  margin:0 auto 30px;
}
.auth-section-head h2{
  font-size:clamp(28px,4vw,48px);
  line-height:1.12;
  letter-spacing:-.04em;
  font-weight:950;
  color:#111827;
  margin-bottom:12px;
}
.auth-section-head h2 span{color:#64748b;font-size:.68em}
.auth-section-head p{font-size:16px;line-height:1.75;color:#64748b;font-weight:650}
.auth-pain-grid,.auth-family-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.auth-pain-card,.auth-family-grid div{
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(190,18,60,.08);
  box-shadow:0 10px 28px rgba(7,25,35,.04);
}
.auth-pain-card b,.auth-family-grid b{display:block;font-size:16px;color:#111827;margin-bottom:8px}
.auth-pain-card p,.auth-family-grid span{display:block;font-size:13px;line-height:1.7;color:#64748b;font-weight:650}
.auth-solution-section{background:#f4fbf6;border-radius:32px;margin:12px 0}
.auth-bento-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.auth-bento-card{
  padding:26px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(8,122,61,.08);
  box-shadow:0 14px 38px rgba(7,25,35,.05);
}
.auth-bento-card.wide{grid-column:span 2}
.auth-bento-card.dark{
  background:linear-gradient(135deg,#071923,#0b2533);
  color:#fff;
}
.auth-bento-icon{
  width:48px;height:48px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:#f4fbf6;border:1px solid rgba(8,122,61,.12);
  font-size:24px;margin-bottom:16px;
}
.auth-bento-card.dark .auth-bento-icon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}
.auth-bento-card h3{font-size:21px;letter-spacing:-.02em;margin-bottom:12px;color:inherit}
.auth-bento-card p{font-size:14px;line-height:1.75;color:#64748b;font-weight:650}
.auth-bento-card.dark p{color:rgba(255,255,255,.76)}
.auth-mini-bars{max-width:420px;margin-top:20px;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #eef2f7}
.auth-mini-bars div{margin-bottom:14px}
.auth-mini-bars div:last-child{margin-bottom:0}
.auth-mini-bars span{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;color:#64748b;margin-right:8px}
.auth-mini-bars b{font-family:'JetBrains Mono',monospace;color:#087a3d}
.auth-mini-bars i{display:block;height:7px;margin-top:7px;border-radius:99px;background:#087a3d}
.auth-mini-bars i.red{background:#f43f5e}
.auth-ai-chip{
  display:inline-flex;margin-top:16px;padding:12px 14px;border-radius:16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);
  color:#fff;font-size:12px;font-weight:800;
}
.auth-momentum-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
}
.auth-momentum-copy h2{
  font-size:clamp(28px,4vw,48px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-bottom:14px;
}
.auth-momentum-copy h2 span{color:#087a3d}
.auth-momentum-copy p{font-size:16px;line-height:1.75;color:#64748b;font-weight:650}
.auth-momentum-list{display:flex;flex-direction:column;gap:14px}
.auth-momentum-list div{
  display:flex;align-items:center;gap:14px;
  padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(8,122,61,.08);
  box-shadow:0 12px 30px rgba(7,25,35,.05);
}
.auth-momentum-list b{font-size:20px;color:#087a3d;min-width:92px}
.auth-momentum-list span{color:#334155;font-weight:800}
.auth-family-section{
  background:linear-gradient(180deg,#fffaf0,#fff7ed);
  border-radius:32px;
  border:1px solid rgba(245,158,11,.12);
}
.auth-family-badge{
  display:inline-flex;padding:9px 14px;border-radius:999px;
  background:#fff;border:1px solid rgba(245,158,11,.22);
  color:#92400e;font-size:12px;font-weight:900;margin-bottom:14px;
}
.auth-level-row{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;
}
.auth-level-row div{
  padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(7,25,35,.06);
  text-align:center;box-shadow:0 10px 26px rgba(7,25,35,.04);
}
.auth-level-row div.active{
  background:linear-gradient(135deg,#087a3d,#22c55e);
  color:#fff;
}
.auth-level-row b{display:block;margin-bottom:6px}
.auth-level-row span{font-size:11px;font-weight:900;color:inherit;opacity:.76}
.auth-demo-premium,.auth-final-cta{margin-top:28px}
.auth-final-cta{
  background:linear-gradient(135deg,#071923,#043b2f);
  color:#fff;
}
.auth-final-cta .auth-cta-title,.auth-final-cta .auth-cta-desc{color:#fff}
@media(max-width:900px){
  .auth-landing-premium{width:100vw;max-height:100vh;border-radius:0;padding:12px}
  .auth-premium-hero,.auth-momentum-section{grid-template-columns:1fr;padding:36px 20px}
  .auth-bento-grid,.auth-pain-grid,.auth-family-grid,.auth-level-row{grid-template-columns:1fr}
  .auth-bento-card.wide{grid-column:auto}
  .auth-mockup-cards,.auth-proof-grid{grid-template-columns:1fr}
  .auth-premium-title{font-size:38px}
  .auth-section{padding:42px 10px}
}


/* === FINAL OVERRIDE: modern asset tabs, no arrows === */
#section-assets .asset-tabs-shell{position:sticky!important;top:10px!important;z-index:22!important;margin:0 0 16px!important;padding:8px!important;display:block!important;border:1px solid rgba(15,118,110,.10)!important;border-radius:18px!important;background:rgba(255,255,255,.78)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;overflow:hidden!important;}
#section-assets .asset-tabs-shell::before{display:none!important;}
#section-assets .asset-tabs-shell::after{content:''!important;display:block!important;position:absolute!important;right:0!important;top:0!important;width:42px!important;height:100%!important;pointer-events:none!important;background:linear-gradient(to left,rgba(255,255,255,.96),rgba(255,255,255,0))!important;}
body.dark-mode #section-assets .asset-tabs-shell::after{background:linear-gradient(to left,rgba(31,41,55,.96),rgba(31,41,55,0))!important;}
#section-assets .asset-tabs-scroll{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:2px 34px 2px 2px!important;border:0!important;background:transparent!important;box-shadow:none!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-ms-overflow-style:none!important;flex-wrap:nowrap!important;}
#section-assets .asset-tabs-scroll::-webkit-scrollbar{display:none!important;}
#section-assets .asset-tabs-scroll .tab{flex:0 0 auto!important;min-width:auto!important;width:auto!important;height:40px!important;min-height:40px!important;padding:0 16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;border:1px solid transparent!important;background:transparent!important;color:var(--text2)!important;font-size:13px!important;font-weight:900!important;letter-spacing:0!important;white-space:nowrap!important;scroll-snap-align:start!important;box-shadow:none!important;transform:none!important;}
#section-assets .asset-tabs-scroll .tab:hover{background:rgba(15,118,110,.06)!important;color:var(--green)!important;transform:translateY(-1px)!important;}
#section-assets .asset-tabs-scroll .tab.active{background:linear-gradient(135deg,#f59e0b,#d4af37)!important;color:#fff!important;border-color:rgba(212,175,55,.35)!important;box-shadow:0 8px 18px rgba(245,158,11,.20)!important;}
#section-assets .asset-tab-arrow,#section-assets .asset-tabs-shell .asset-tab-arrow{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
@media(max-width:768px){#section-assets .asset-tabs-shell{top:8px!important;margin-bottom:14px!important;padding:7px!important;border-radius:16px!important;}#section-assets .asset-tabs-scroll{gap:8px!important;padding-right:30px!important;}#section-assets .asset-tabs-scroll .tab{height:38px!important;min-height:38px!important;padding:0 14px!important;font-size:12.5px!important;}}

/* Income Growth Pro Compact UI */
.income-growth-pro{padding:18px!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(236,253,245,.76) 58%,rgba(255,251,235,.72))!important;border:1px solid rgba(15,118,110,.14)!important;box-shadow:0 16px 38px rgba(15,118,110,.085)!important}
.income-pro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.income-pro-eyebrow{font-size:13px;font-weight:950;color:var(--green);letter-spacing:.01em}.income-pro-title{font-size:18px;font-weight:950;color:var(--text);line-height:1.25;letter-spacing:-.025em;margin-top:4px;max-width:560px}.income-pro-score{width:74px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--gold),#f59e0b);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(245,158,11,.22);flex:0 0 auto}.income-pro-score b{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:950;line-height:1}.income-pro-score span{font-size:10px;font-weight:900;opacity:.92;text-transform:uppercase}.income-pro-progress{height:7px;background:rgba(15,118,110,.09);border-radius:999px;overflow:hidden;margin-bottom:13px}.income-pro-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#22c55e,var(--gold));transition:width .35s ease}.income-pro-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.income-pro-kpi{border:1px solid rgba(15,118,110,.12);background:rgba(255,255,255,.86);border-radius:18px;padding:12px;text-align:left;font-family:inherit;cursor:pointer;min-width:0;transition:.18s ease;box-shadow:0 8px 20px rgba(15,23,42,.035)}.income-pro-kpi:hover{transform:translateY(-2px);border-color:rgba(245,158,11,.32);box-shadow:0 12px 24px rgba(15,23,42,.07)}.income-pro-kpi.primary{background:linear-gradient(145deg,#fff,rgba(236,253,245,.88));border-color:rgba(15,118,110,.2)}.income-pro-label{display:block;font-size:10.5px;font-weight:950;color:var(--text3);text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-pro-kpi strong{display:block;margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:17px;font-weight:950;color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.12}.income-pro-kpi strong.down{color:var(--red)}.income-pro-kpi small{display:block;margin-top:6px;font-size:11px;font-weight:780;color:var(--text3);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-pro-action{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(255,251,235,.72));border:1px solid rgba(15,118,110,.16);border-radius:18px;padding:12px 14px;margin-bottom:10px}.income-pro-action-icon{width:38px;height:38px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(15,118,110,.08);font-size:18px;flex:0 0 auto}.income-pro-action-copy{min-width:0;flex:1}.income-pro-action-copy b{display:block;font-size:14px;font-weight:950;color:var(--text);line-height:1.25}.income-pro-action-copy span{display:block;margin-top:4px;font-size:12px;font-weight:760;color:var(--text3);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-pro-action-btn{border:none;background:linear-gradient(135deg,var(--green),#0ea873);color:#fff;font-family:inherit;font-size:12px;font-weight:950;border-radius:999px;padding:10px 14px;cursor:pointer;box-shadow:0 10px 22px rgba(15,118,110,.18);white-space:nowrap}.income-pro-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 0}.income-pro-link{border:none;background:transparent;color:var(--green);font-family:inherit;font-size:12px;font-weight:950;cursor:pointer;padding:7px 0}.income-pro-note{font-size:11.5px;font-weight:720;color:var(--text3);text-align:right;line-height:1.35}.income-pro-detail{margin-top:10px;display:block}.income-pro-detail.collapsed{display:none}.income-pro-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.income-pro-detail-card{border:1px solid rgba(15,118,110,.11);background:rgba(255,255,255,.78);border-radius:16px;padding:11px 12px;cursor:pointer}.income-pro-detail-card span{display:block;font-size:10.5px;font-weight:950;color:var(--text3);text-transform:uppercase}.income-pro-detail-card b{display:block;margin-top:5px;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:950;color:var(--green)}.income-pro-detail-card small{display:block;margin-top:5px;font-size:11px;font-weight:740;color:var(--text3);line-height:1.35}.income-pro-ai{margin-top:10px;border:1px solid rgba(245,158,11,.18);background:rgba(255,251,235,.76);border-radius:16px;padding:11px 12px;font-size:13px;font-weight:820;color:var(--text2);line-height:1.45}.income-source-row-compact{grid-template-columns:minmax(0,1fr) auto auto!important;padding:12px 14px!important;border-radius:14px!important}.income-pro-bottleneck{margin-top:10px;border:1px solid rgba(245,158,11,.2);background:rgba(255,251,235,.78);border-radius:14px;padding:11px 12px;font-size:13px;font-weight:780;color:var(--text2)}.income-pro-bottleneck b{color:var(--amber)}
@media(max-width:900px){.income-pro-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.income-pro-detail-grid{grid-template-columns:1fr 1fr}.income-pro-title{font-size:16px}.income-pro-score{width:64px;height:50px}}
@media(max-width:560px){.income-growth-pro{padding:14px!important;border-radius:18px!important}.income-pro-head{align-items:center}.income-pro-title{font-size:15px}.income-pro-eyebrow{font-size:12px}.income-pro-score{width:56px;height:46px;border-radius:15px}.income-pro-score b{font-size:16px}.income-pro-kpi-row{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px;scroll-snap-type:x mandatory}.income-pro-kpi-row::-webkit-scrollbar{display:none}.income-pro-kpi{min-width:74%;scroll-snap-align:start}.income-pro-action{align-items:flex-start;gap:10px}.income-pro-action-copy span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.income-pro-action-btn{align-self:center;padding:9px 12px;font-size:11.5px}.income-pro-toolbar{align-items:flex-start;flex-direction:column;gap:4px}.income-pro-note{text-align:left}.income-pro-detail-grid{grid-template-columns:1fr}.income-source-row-compact{grid-template-columns:1fr!important;gap:5px!important}}


/* VHTG Income 3-tier model */
.income-tier-pro{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(240,253,244,.7));border:1px solid rgba(15,118,110,.10)}
.income-quality-badge{min-width:78px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--green),#0b8f5a);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(15,118,110,.18)}
.income-quality-badge b{font-size:22px;line-height:1;font-weight:950}.income-quality-badge span{font-size:10px;font-weight:850;opacity:.86;margin-top:3px}.income-total-strip{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid var(--border);background:rgba(255,255,255,.72);border-radius:18px;padding:14px 16px;margin:14px 0 10px}.income-total-strip span{font-size:12px;font-weight:900;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}.income-total-strip b{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:950;color:var(--text)}.income-total-strip small{font-size:12px;font-weight:800;color:var(--green);white-space:nowrap}.income-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.income-tier-card{border:1px solid var(--border);background:var(--bg2);border-radius:18px;padding:15px;text-align:left;display:flex;flex-direction:column;gap:7px;min-height:116px;cursor:pointer;box-shadow:0 2px 10px rgba(62,39,35,.03);transition:.18s;font-family:inherit}.income-tier-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.income-tier-card span{font-size:12px;font-weight:950;color:var(--text2)}.income-tier-card strong{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;color:var(--text)}.income-tier-card small{font-size:11.5px;color:var(--text3);line-height:1.45;font-weight:700}.income-tier-card.active{border-color:rgba(3,105,161,.18);background:linear-gradient(180deg,var(--bg2),var(--blue2))}.income-tier-card.asset{border-color:rgba(15,118,110,.18);background:linear-gradient(180deg,var(--bg2),var(--green2))}.income-tier-card.investment{border-color:rgba(212,175,55,.22);background:linear-gradient(180deg,var(--bg2),var(--gold2))}.income-structure-panel{display:grid;grid-template-columns:210px 1fr;gap:16px;align-items:center;border:1px solid var(--border);background:var(--bg2);border-radius:20px;padding:16px;margin:12px 0}.income-structure-chart{height:190px;position:relative;display:flex;align-items:center;justify-content:center}.income-structure-chart canvas{max-height:190px!important}.income-structure-center{position:absolute;text-align:center;pointer-events:none}.income-structure-center b{display:block;font-size:24px;font-weight:950;color:var(--green)}.income-structure-center span{font-size:10px;font-weight:900;color:var(--text3);text-transform:uppercase}.income-structure-title{font-size:16px;font-weight:950;color:var(--text);margin-bottom:4px}.income-structure-sub{font-size:12px;color:var(--text3);font-weight:700;line-height:1.5;margin-bottom:12px}.income-structure-legend{display:flex;flex-wrap:wrap;gap:8px}.income-structure-chip{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:7px;border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.income-structure-chip span{font-family:'JetBrains Mono',monospace}.income-structure-chip small{color:var(--text3)}.income-tier-list-group{border:1px solid var(--border);border-radius:18px;background:var(--bg2);padding:13px;margin-bottom:12px}.income-tier-list-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px dashed var(--border2);margin-bottom:6px}.income-tier-list-head b{font-size:14px;color:var(--text)}.income-tier-list-head span{font-family:'JetBrains Mono',monospace;font-weight:950;color:var(--green)}.income-tier-source-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(93,64,55,.05)}.income-tier-source-row:last-child{border-bottom:none}.income-tier-source-row b{display:block;font-size:13px;color:var(--text)}.income-tier-source-row small{display:block;font-size:11px;color:var(--text3);margin-top:2px}.income-tier-source-row>span{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;white-space:nowrap}.income-pro-bottleneck small{display:block;margin-top:6px;color:var(--text3);font-weight:700;line-height:1.45}@media(max-width:760px){.income-tier-grid{grid-template-columns:1fr}.income-structure-panel{grid-template-columns:1fr}.income-structure-chart{height:180px}.income-total-strip{align-items:flex-start;flex-direction:column;gap:6px}.income-total-strip b{font-size:22px}.income-quality-badge{width:64px;height:52px}.income-pro-head{align-items:flex-start}.income-structure-legend{flex-direction:column}.income-structure-chip{grid-template-columns:1fr auto auto;border-radius:14px}}


/* VHTG V30 - Income Cashflow Decision Dashboard */
.income-cashflow-dashboard .income-cash-layout,.income-cashflow-dashboard .income-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.income-cash-block{border:1px solid rgba(15,118,110,.12);background:rgba(255,255,255,.82);border-radius:18px;padding:14px;box-shadow:0 3px 12px rgba(62,39,35,.03);min-width:0}.income-block-title{font-size:13px;font-weight:950;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:7px}.income-cash-row{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed rgba(93,64,55,.12)}.income-cash-row:last-child{border-bottom:none}.income-cash-row b{font-size:13px;font-weight:950;color:var(--text);display:block}.income-cash-row small{font-size:11px;font-weight:680;color:var(--text3);line-height:1.35;display:block;margin-top:3px}.income-cash-row strong{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;white-space:nowrap}.income-cash-row>span{font-size:11px;font-weight:900;color:var(--text3);text-align:right}.income-formula-note{margin-top:10px;border:1px dashed rgba(3,105,161,.18);background:rgba(224,242,254,.38);border-radius:12px;padding:9px 10px;font-size:11.5px;font-weight:760;color:var(--blue);line-height:1.45}.income-structure-panel.compact{grid-template-columns:175px 1fr;margin:0;padding:10px;border:none;background:transparent}.income-best-leverage{border:1px solid rgba(212,175,55,.24);background:linear-gradient(135deg,var(--gold2),rgba(255,255,255,.9));border-radius:15px;padding:12px;margin-bottom:9px;font-size:13px;font-weight:950;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.income-best-leverage b{font-family:'JetBrains Mono',monospace;color:var(--green);font-size:16px}.income-best-leverage small{font-size:11px;color:var(--text3);font-weight:800}.income-leverage-row,.income-idle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);background:var(--bg);border-radius:13px;padding:10px;margin-top:7px}.income-leverage-row.best{border-color:rgba(15,118,110,.25);background:var(--green2)}.income-leverage-row b,.income-idle-row b{display:block;font-size:12.5px;font-weight:950;color:var(--text)}.income-leverage-row small,.income-idle-row small{display:block;margin-top:3px;font-size:11px;color:var(--text3);font-weight:720}.income-leverage-row strong,.income-idle-row strong{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:950;white-space:nowrap}.income-gap-box{border:1px solid rgba(190,18,60,.13);background:linear-gradient(135deg,rgba(255,228,230,.45),rgba(255,255,255,.9));border-radius:15px;padding:12px;margin-bottom:10px}.income-gap-box span{display:block;font-size:11px;font-weight:950;color:var(--text3);text-transform:uppercase}.income-gap-box b{display:block;margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;color:var(--red)}.income-gap-box small{display:block;margin-top:4px;font-size:11.5px;font-weight:760;color:var(--text3)}.income-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.income-scenario-card{border:1px solid var(--border);background:var(--bg);border-radius:13px;padding:10px;min-width:0}.income-scenario-card span{font-size:17px}.income-scenario-card b{display:block;font-size:12px;font-weight:950;color:var(--text);margin-top:4px}.income-scenario-card strong{display:block;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:950;color:var(--green);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-scenario-card small{display:block;font-size:10.5px;font-weight:700;color:var(--text3);line-height:1.35;margin-top:4px}.income-idle-block{margin-top:12px}.income-idle-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.income-idle-head b{font-size:13px;font-weight:950;color:var(--text)}.income-idle-head small{font-size:11.5px;font-weight:750;color:var(--text3)}.income-idle-row{grid-template-columns:minmax(0,1fr) auto auto}.income-idle-row span{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:950;color:var(--text2);white-space:nowrap}.income-quality-block{margin-top:12px}.income-quality-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.income-quality-line b{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:950;color:var(--green)}.income-quality-line span{font-size:12px;font-weight:820;color:var(--text2)}.income-cash-total b{color:var(--green)!important}.income-map-block .income-structure-chart{height:170px}.income-map-block .income-structure-chart canvas{max-height:170px!important}@media(max-width:760px){.income-cashflow-dashboard .income-cash-layout,.income-cashflow-dashboard .income-action-grid{grid-template-columns:1fr}.income-structure-panel.compact{grid-template-columns:1fr}.income-scenario-grid{grid-template-columns:1fr}.income-idle-row{grid-template-columns:1fr}.income-idle-row span,.income-idle-row strong{white-space:normal}.income-cash-row{grid-template-columns:1fr}.income-cash-row>span{text-align:left}.income-total-strip{flex-direction:column;align-items:flex-start}.income-total-strip small{white-space:normal}}


/* VHTG FIX 2026-06-03: dashboard mini charts + CRM full form + non-clickable hero toggle cleanup */
#section-home .home-today-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
#section-home .home-today-topline{display:flex;align-items:center;gap:10px;min-width:0}
#section-home .home-today-topline small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0!important}
#section-home .home-today-card .home-today-icon{margin:0!important;flex:0 0 auto}
#section-home .decision-mini-chart{width:100%;height:34px;margin-top:4px;opacity:.95;filter:drop-shadow(0 6px 10px rgba(15,118,110,.08))}
#section-home .decision-mini-chart polyline{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;animation:decisionLine 1.1s ease both}
#section-home .decision-mini-chart circle{fill:currentColor;opacity:.92}
#section-home .home-today-card.green .decision-mini-chart{color:#16a34a}
#section-home .home-today-card.orange .decision-mini-chart{color:#f59e0b}
#section-home .home-today-card.purple .decision-mini-chart{color:#7c3aed}
#section-home .home-today-card.blue .decision-mini-chart{color:#2563eb}
@keyframes decisionLine{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.customer-full-form .field{margin-bottom:0}.customer-full-form textarea{resize:vertical;min-height:84px}
#app-modal-buttons .cm-btn-primary,#app-modal-buttons .cm-btn-secondary{border-radius:14px;padding:12px 16px;font-family:'Be Vietnam Pro',sans-serif;font-weight:800}
@media(max-width:640px){.customer-full-form .f-grid2{grid-template-columns:1fr!important;gap:12px}.customer-full-form{max-height:62vh;overflow:auto;padding-right:2px}#section-home .decision-mini-chart{height:28px}#section-home .home-today-topline small{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){#section-home .decision-mini-chart polyline{animation:none!important}}

.income-cashflow-dashboard .income-pro-title{max-width:760px}
.income-cash-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.86fr)!important;align-items:stretch}
.income-cash-block{padding:16px!important}
.income-cash-row{grid-template-columns:minmax(0,1fr) auto 54px!important;padding:12px 10px!important;border-radius:12px!important;cursor:pointer;transition:.18s}
.income-cash-row:hover{border-color:rgba(15,118,110,.26)!important;background:rgba(236,253,245,.62)!important;transform:translateY(-1px)}
.income-cash-row small{display:none!important}.income-cash-row b{font-size:13px!important}.income-cash-row strong{font-size:14px!important}.income-cash-row span{font-size:11px!important;text-align:right;color:var(--text3);font-weight:900}
.income-formula-note{font-size:11.5px!important;line-height:1.45!important;padding:10px 12px!important;margin-top:10px!important}
.income-structure-sub{display:none!important}.income-structure-panel.compact{gap:14px!important;grid-template-columns:170px minmax(0,1fr)!important}.income-structure-chart{height:170px!important}.income-structure-chart canvas{max-height:170px!important}.income-structure-chip{padding:6px 9px!important;font-size:11px!important}.income-structure-chip span{display:none!important}
.income-action-grid{grid-template-columns:1fr 1fr!important}.income-leverage-row small,.income-idle-row small,.income-scenario-card small{line-height:1.35!important}.income-best-leverage small{display:block;margin-top:3px}
#tab-incomeGrowth > .sec > .portfolio-section-title,#tab-incomeGrowth > .sec > #income-source-list{display:none}.income-source-panel-visible #tab-incomeGrowth > .sec > .portfolio-section-title,.income-source-panel-visible #tab-incomeGrowth > .sec > #income-source-list{display:block}
.income-pro-detail.collapsed{display:none!important}.income-pro-detail-grid{grid-template-columns:1fr!important}.income-tier-list-group{margin-bottom:12px}.income-tier-list-group.empty-group{display:none!important}.income-tier-source-row small{display:block;font-size:11px;color:var(--text3);line-height:1.35;margin-top:2px}
.vhtg-source-popup-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 0}.vhtg-source-popup-row:last-child{border-bottom:none}.vhtg-source-popup-row span{color:var(--text3);font-size:12px;font-weight:800}.vhtg-source-popup-row b{font-family:'JetBrains Mono',monospace;color:var(--green);white-space:nowrap}.vhtg-source-popup-note{font-size:13px;line-height:1.55;color:var(--text2);margin-top:12px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
@media(max-width:720px){.income-cash-layout,.income-action-grid{grid-template-columns:1fr!important}.income-structure-panel.compact{grid-template-columns:1fr!important}.income-structure-chart{height:150px!important}.income-cash-row{grid-template-columns:minmax(0,1fr) auto!important}.income-cash-row span{grid-column:1/-1;text-align:left}.income-source-panel-visible #income-source-list{display:block}}

/* Tăng thu nhập: gọn hơn, không bị vướng title/badge */
.income-cashflow-dashboard .income-pro-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:8px!important;position:relative!important;z-index:1!important;}
.income-cashflow-dashboard .income-pro-title{display:none!important;}
.income-cashflow-dashboard .income-quality-badge{position:static!important;min-width:64px!important;width:64px!important;height:48px!important;border-radius:16px!important;box-shadow:0 8px 18px rgba(15,118,110,.16)!important;flex:0 0 auto!important;}
.income-cashflow-dashboard .income-quality-badge b{font-size:18px!important;}
.income-cashflow-dashboard .income-quality-badge span{font-size:9px!important;}
.income-cashflow-dashboard .income-total-strip{margin-top:8px!important;}
.income-cashflow-dashboard .income-cash-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)!important;gap:14px!important;}
.income-cashflow-dashboard .income-action-grid{gap:14px!important;}
.income-cashflow-dashboard .income-cash-block{border-radius:18px!important;padding:14px!important;}
.income-cashflow-dashboard .income-block-title{font-size:12.5px!important;margin-bottom:10px!important;}
.income-cashflow-dashboard .income-cash-row{grid-template-columns:minmax(0,1fr) auto 42px!important;gap:8px!important;padding:9px 8px!important;border-radius:12px!important;}
.income-cashflow-dashboard .income-cash-row b{font-size:12.5px!important;}
.income-cashflow-dashboard .income-cash-row strong{font-size:13px!important;}
.income-cashflow-dashboard .income-cash-row span{font-size:10.5px!important;}
.income-cashflow-dashboard .income-formula-note{font-size:11px!important;padding:8px 10px!important;line-height:1.45!important;}
.income-cashflow-dashboard .income-structure-panel.compact{grid-template-columns:140px minmax(0,1fr)!important;gap:10px!important;}
.income-cashflow-dashboard .income-map-block .income-structure-chart,.income-cashflow-dashboard .income-structure-chart{height:140px!important;}
.income-cashflow-dashboard .income-map-block .income-structure-chart canvas,.income-cashflow-dashboard .income-structure-chart canvas{max-height:140px!important;}
.income-cashflow-dashboard .income-structure-title{font-size:14px!important;}
.income-cashflow-dashboard .income-structure-chip{border-radius:12px!important;padding:5px 8px!important;font-size:10.5px!important;cursor:pointer;}
.income-cashflow-dashboard .income-idle-head small{display:none!important;}
.income-cashflow-dashboard .income-idle-row{grid-template-columns:minmax(0,1fr) auto auto!important;}
.income-cashflow-dashboard .income-quality-line b{font-size:20px!important;}
.income-cashflow-dashboard .income-pro-toolbar{margin-top:10px!important;}
/* Nguồn tiền hiện tại mặc định ẩn chắc chắn, chỉ hiện khi bấm */
body:not(.income-source-panel-visible) #tab-incomeGrowth #income-source-list{display:none!important;}
body:not(.income-source-panel-visible) #tab-incomeGrowth .portfolio-section-title:has(+ #income-source-list){display:none!important;}
body.income-source-panel-visible #tab-incomeGrowth #income-source-list{display:grid!important;}
/* Popup nguồn tiền */
.vhtg-source-detail-overlay{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px;}
.vhtg-source-detail-modal{width:min(520px,100%);background:var(--bg2);border:1px solid var(--border2);border-radius:22px;box-shadow:var(--shadow-hover);overflow:hidden;animation:fadeIn .15s ease;}
.vhtg-source-detail-head{padding:18px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.vhtg-source-detail-head h3{margin:0;font-size:17px;font-weight:950;color:var(--text);line-height:1.25;}
.vhtg-source-detail-close{border:0;background:var(--bg3);color:var(--text2);width:34px;height:34px;border-radius:999px;font-size:20px;font-weight:900;cursor:pointer;}
.vhtg-source-detail-body{padding:14px 18px 18px;}
.vhtg-source-popup-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;border-bottom:1px solid var(--border)!important;padding:10px 0!important;}
.vhtg-source-popup-row span{font-size:12px!important;color:var(--text3)!important;font-weight:800!important;}
.vhtg-source-popup-row b{font-family:'JetBrains Mono',monospace!important;font-size:13px!important;color:var(--green)!important;text-align:right!important;}
.vhtg-source-popup-note{font-size:13px!important;line-height:1.55!important;color:var(--text2)!important;margin-top:12px!important;background:var(--bg3)!important;border:1px solid var(--border)!important;border-radius:12px!important;padding:10px 12px!important;}
/* Tự do tài chính: AI nhận định nhanh không cắt chữ trên mobile */
.ff-coach-copy .ff-ai-action,.ff-compact-coach .ff-ai-action{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;overflow:visible!important;text-overflow:clip!important;max-height:none!important;white-space:normal!important;}
.ff-action-list div{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
@media(max-width:760px){
  .income-cashflow-dashboard .income-pro-head{align-items:flex-start!important;}
  .income-cashflow-dashboard .income-cash-layout,.income-cashflow-dashboard .income-action-grid{grid-template-columns:1fr!important;}
  .income-cashflow-dashboard .income-structure-panel.compact{grid-template-columns:120px minmax(0,1fr)!important;align-items:center!important;}
  .income-cashflow-dashboard .income-map-block .income-structure-chart,.income-cashflow-dashboard .income-structure-chart{height:120px!important;}
  .income-cashflow-dashboard .income-cash-row{grid-template-columns:minmax(0,1fr) auto!important;}
  .income-cashflow-dashboard .income-cash-row span{grid-column:1/-1;text-align:left!important;}
  .income-cashflow-dashboard .income-total-strip{padding:12px!important;}
  .income-cashflow-dashboard .income-total-strip b{font-size:22px!important;}
  .income-cashflow-dashboard .income-idle-row{grid-template-columns:1fr!important;}
  .income-cashflow-dashboard .income-idle-row span,.income-cashflow-dashboard .income-idle-row strong{white-space:normal!important;}
  .ff-coach-bar{align-items:flex-start!important;gap:10px!important;padding:12px!important;}
  .ff-coach-copy strong{font-size:13px!important;}
  .ff-coach-copy .ff-ai-action{font-size:12.5px!important;line-height:1.5!important;}
  .ff-coach-btn{padding:7px 10px!important;font-size:11.5px!important;}
}
@media(max-width:480px){
  .income-cashflow-dashboard .income-structure-panel.compact{grid-template-columns:1fr!important;}
  .income-cashflow-dashboard .income-map-block .income-structure-chart,.income-cashflow-dashboard .income-structure-chart{height:132px!important;}
  .income-cashflow-dashboard .income-quality-badge{width:58px!important;min-width:58px!important;height:44px!important;}
  .vhtg-source-detail-overlay{align-items:flex-end;padding:0;}
  .vhtg-source-detail-modal{border-radius:22px 22px 0 0;}
}

/* Chuẩn hóa CTA: mỗi khu vực chỉ giữ một nút hành động chính theo ngữ cảnh. */
#sales-orders-actions,#sales-debt-actions,#budget-ledger-actions{display:none!important}
#section-sales .sec-hdr .add-toggle-btn[onclick*="debt-form"]{display:none!important}
#tab-coin .sec-hdr-right-group button,#tab-stocks .sec-hdr-right-group button,#tab-save .sec-hdr-right-group button,#tab-share .sec-hdr-right-group button,#tab-gold .sec-hdr-right-group button,#tab-re .sec-hdr-right-group button,#tab-other .sec-hdr-right-group button{display:none!important}
.asset-history-pl-section>.add-toggle-btn{display:none!important}
.vhtg-context-stable-host{width:100%;display:block;margin:0 0 10px}
.vhtg-context-cta-row{display:flex;justify-content:flex-start;align-items:center;margin:14px 0 14px;gap:10px}
.vhtg-context-cta-row.right{justify-content:flex-end}
.vhtg-context-main-btn{height:42px;padding:0 16px;border-radius:12px;border:0;background:#0f8a5f;color:#fff;font-family:inherit;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 8px 18px rgba(15,138,95,.18);transition:.18s;white-space:nowrap}
.vhtg-context-main-btn:hover{background:#0d7a54;transform:translateY(-1px)}
.vhtg-context-main-btn:active{transform:translateY(0)}
.vhtg-context-menu-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.16);z-index:99990}
.vhtg-context-menu{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:99991;min-width:320px;max-width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid #e5ebe8;border-radius:22px;box-shadow:0 24px 64px rgba(15,23,42,.20);padding:12px;overflow:auto;max-height:min(72vh,640px)}
.vhtg-context-sheet-handle{display:none;width:42px;height:5px;border-radius:999px;background:#d9e4df;margin:0 auto 16px}
.vhtg-context-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 12px}
.vhtg-context-menu-title{font-size:15px;font-weight:900;color:#12342b;text-transform:uppercase;letter-spacing:.04em}
.vhtg-context-menu-close{width:32px;height:32px;border:1px solid #e5ebe8;border-radius:999px;background:#fbfdfc;color:#12342b;font-family:inherit;font-size:18px;font-weight:850;line-height:1;cursor:pointer}
.vhtg-context-group-title{font-size:11px;font-weight:900;color:#8a9b94;text-transform:uppercase;letter-spacing:.06em;margin:14px 2px 6px}
.vhtg-context-group-title:first-of-type{margin-top:4px}
.vhtg-context-menu-item{width:100%;min-height:52px;border:1px solid #e5ebe8;background:#fbfdfc;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:12px;font-family:inherit;cursor:pointer;text-align:left;color:#12342b}
.vhtg-context-menu-item:hover{background:#eef8f2;border-color:rgba(15,118,110,.18)}
.vhtg-context-menu-item:active{transform:scale(.985);background:#eef8f2}
.vhtg-context-icon{width:38px;height:38px;border-radius:14px;background:#eef8f2;color:#0f766e;display:flex;align-items:center;justify-content:center;flex:0 0 38px}
.vhtg-context-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.vhtg-context-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.vhtg-context-label{font-size:14px;font-weight:850;color:#12342b;line-height:1.25}
.vhtg-context-desc{font-size:11px;font-weight:650;color:#6b7c75;line-height:1.35}
@media(max-width:768px){
  .vhtg-context-menu-backdrop{background:rgba(15,23,42,.42);backdrop-filter:blur(6px)}
  .vhtg-context-menu{left:50%!important;right:auto!important;bottom:auto!important;top:50%!important;transform:translate(-50%,-50%);width:calc(100vw - 24px)!important;max-width:420px!important;min-width:0;max-height:72vh;overflow:auto;border-radius:26px;padding:10px 18px calc(18px + env(safe-area-inset-bottom));animation:vhtgSheetUp .18s ease}
  .vhtg-context-sheet-handle{display:block}
  .vhtg-context-menu-head{margin-bottom:14px}
  .vhtg-context-menu-close{display:inline-flex;align-items:center;justify-content:center}
  .vhtg-context-menu-item{min-height:58px;border-radius:18px;padding:12px 14px}
  @keyframes vhtgSheetUp{from{transform:translateY(16px);opacity:.86}to{transform:translateY(0);opacity:1}}
}

/* Icon grid cho Quản lý tài sản + bộ lọc kỳ báo cáo gọn. */
#section-assets .asset-tabs-shell{display:none!important}
.asset-hub-panel{margin:18px 0 22px;padding:18px;border:1px solid rgba(15,118,110,.10);border-radius:24px;background:rgba(255,255,255,.78);box-shadow:0 14px 34px rgba(15,23,42,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.asset-hub-title{margin:0 0 14px}
.asset-hub-title h2{margin:0;font-size:22px;font-weight:950;color:#12342b;letter-spacing:-.03em;line-height:1.18}
.asset-hub-title p{margin:6px 0 0;font-size:13px;font-weight:700;color:#6b7c75;line-height:1.35}
.asset-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:18px;margin-bottom:0}
.asset-hub-item{border:1px solid transparent;background:transparent;display:flex;flex-direction:column;align-items:center;gap:9px;cursor:pointer;padding:10px 6px;border-radius:18px;transition:all .18s ease;min-width:0;font-family:inherit}
.asset-hub-item:hover{background:rgba(255,255,255,.72);transform:translateY(-2px)}
.asset-hub-item.active{background:rgba(255,255,255,.88);border-color:rgba(15,118,110,.12);box-shadow:0 14px 30px rgba(15,118,110,.10)}
.asset-hub-icon{width:58px;height:58px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;font-size:27px;position:relative;isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 14px 28px rgba(15,23,42,.10);transition:all .18s ease}
.asset-hub-icon::after{content:"";position:absolute;inset:-4px;border-radius:26px;opacity:.35;filter:blur(10px);z-index:-1}
.asset-hub-item.active .asset-hub-icon{transform:translateY(-1px) scale(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 18px 34px rgba(15,118,110,.18)}
.asset-hub-label{font-size:12px;line-height:1.25;font-weight:850;color:#12342b;text-align:center;max-width:82px;min-height:30px;overflow-wrap:anywhere}
.asset-hub-item.active .asset-hub-label{color:#047857}
.icon-overview{background:linear-gradient(135deg,#dcfce7,#86efac);color:#047857}.icon-overview::after{background:#22c55e}
.icon-freedom{background:linear-gradient(135deg,#dbeafe,#93c5fd);color:#1d4ed8}.icon-freedom::after{background:#3b82f6}
.icon-income{background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#92400e}.icon-income::after{background:#f59e0b}
.icon-crypto{background:linear-gradient(135deg,#ede9fe,#c4b5fd);color:#6d28d9}.icon-crypto::after{background:#8b5cf6}
.icon-stock{background:linear-gradient(135deg,#e0f2fe,#7dd3fc);color:#0369a1}.icon-stock::after{background:#0ea5e9}
.icon-saving{background:linear-gradient(135deg,#ccfbf1,#5eead4);color:#0f766e}.icon-saving::after{background:#14b8a6}
.icon-equity{background:linear-gradient(135deg,#fae8ff,#f0abfc);color:#a21caf}.icon-equity::after{background:#d946ef}
.icon-gold{background:linear-gradient(135deg,#fef9c3,#fde047);color:#a16207}.icon-gold::after{background:#eab308}
.icon-realestate{background:linear-gradient(135deg,#ffedd5,#fdba74);color:#c2410c}.icon-realestate::after{background:#f97316}
.icon-other{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);color:#334155}.icon-other::after{background:#64748b}
#sales-period-bar,#budget-period-bar{display:none!important}
.smart-date-filter{display:flex;align-items:center;gap:10px;min-width:0}
.smart-date-preset{height:38px;border:1px solid rgba(15,118,110,.18);border-radius:999px;padding:0 15px;background:#eaf8f1;color:#047857;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 7px 18px rgba(15,118,110,.08);white-space:nowrap}
.smart-date-preset span{margin-left:4px;font-size:11px}
.smart-date-range{height:38px;display:flex;align-items:center;border:1px solid rgba(15,118,110,.10);border-radius:999px;padding:0 15px;background:#fff;color:#526b62;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.smart-date-backdrop{position:fixed;inset:0;z-index:99994;background:rgba(15,23,42,.16)}
.smart-date-panel{position:fixed;z-index:99995;width:min(370px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 24px));overflow:hidden;background:#fff;border:1px solid #e2eee8;border-radius:20px;padding:14px;box-shadow:0 25px 70px rgba(15,23,42,.20)}
.smart-date-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid #edf4f0}
.smart-date-head strong{display:block;color:#12342b;font-size:14px;font-weight:950}
.smart-date-head small{display:block;margin-top:3px;color:#72867e;font-size:11px;font-weight:700}
.smart-date-head button{width:32px;height:32px;border:1px solid #e2ece7;border-radius:999px;background:#f7fffb;color:#12342b;font:800 18px/1 inherit;cursor:pointer}
.smart-date-options{display:grid;gap:6px;padding-top:10px}
.smart-date-options button,.smart-month-list button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:12px;padding:9px 12px;background:#fff;color:#173c32;font-family:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}
.smart-date-options button:hover,.smart-month-list button:hover{background:#f1fbf6;border-color:rgba(15,118,110,.12)}
.smart-date-options button.active{background:#e8f8f0;color:#047857;border-color:rgba(15,118,110,.20)}
.smart-date-options button span{color:#82968e}
.smart-month-list{max-height:440px;overflow-y:auto;display:grid;gap:4px;padding-top:10px;overscroll-behavior:contain}
.smart-month-list button{background:#f9fdfb}
.smart-custom-range{display:grid;gap:12px;padding-top:14px}
.smart-custom-range label{display:grid;gap:6px;color:#526b62;font-size:11px;font-weight:850}
.smart-custom-range input{height:42px;border:1px solid #dce9e3;border-radius:12px;padding:0 11px;background:#fff;color:#12342b;font:750 13px/1 inherit}
.smart-custom-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.smart-custom-actions button{height:42px;border:1px solid #dce9e3;border-radius:12px;background:#fff;color:#526b62;font-family:inherit;font-size:13px;font-weight:850;cursor:pointer}
.smart-custom-actions button.apply{border-color:#087a3d;background:#087a3d;color:#fff}
.smart-date-error{min-height:16px;color:#be123c;font-size:11px;font-weight:750}
.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px}
.module-toolbar .vhtg-context-stable-host{margin:0!important;width:auto!important;flex:0 0 auto}
.module-toolbar .vhtg-context-cta-row{margin:0!important}
.compact-period-filter{display:none!important;align-items:center;gap:6px;padding:5px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(15,118,110,.12);box-shadow:0 8px 20px rgba(15,23,42,.06);max-width:100%}
.compact-period-filter button{height:34px;border:0;border-radius:999px;padding:0 12px;background:transparent;color:#12342b;font-family:inherit;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap}
.compact-period-filter .period-type-btn{background:#e8f8f0;color:#047857}
.compact-period-filter .period-label-btn{background:#fff;border:1px solid rgba(15,118,110,.12);min-width:118px}
.compact-period-filter .period-nav-btn{width:34px;padding:0;background:#f7fffb;border:1px solid rgba(15,118,110,.10)}
.compact-period-filter .period-today-btn{background:#fff7ed;color:#c2410c}
.period-sheet-backdrop{display:none!important;position:fixed;inset:0;background:rgba(15,23,42,.18);z-index:99992}
.period-sheet{display:none!important;position:fixed;z-index:99993;width:min(360px,calc(100vw - 24px));background:#fff;border:1px solid #e7eee9;border-radius:22px;padding:14px;box-shadow:0 24px 64px rgba(15,23,42,.18)}
.period-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.period-sheet-title{font-size:13px;font-weight:950;color:#12342b;text-transform:uppercase;letter-spacing:.04em}
.period-sheet-sub{margin-top:4px;font-size:12px;font-weight:750;color:#6b7c75}
.period-sheet-close{width:32px;height:32px;border:1px solid #e5ebe8;border-radius:999px;background:#f7fffb;color:#12342b;font-family:inherit;font-size:18px;font-weight:850;line-height:1;cursor:pointer}
.period-sheet-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.period-sheet-options button,.period-sheet-nav button{height:42px;border:1px solid rgba(15,118,110,.10);border-radius:14px;background:#f7fffb;color:#12342b;font-family:inherit;font-size:13px;font-weight:850;cursor:pointer}
.period-sheet-options button.active{background:#e8f8f0;color:#047857;border-color:rgba(15,118,110,.22);box-shadow:inset 0 0 0 1px rgba(15,118,110,.08)}
.period-sheet-options button.period-custom-btn{grid-column:1/-1;background:#fff;border-style:dashed;color:#0f766e}
.period-sheet-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eef4f1}
.period-sheet-nav button{padding:0;font-size:20px;background:#fff}
.period-sheet-nav span{height:42px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f7fffb;border:1px solid rgba(15,118,110,.08);font-size:13px;font-weight:900;color:#12342b;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}
@media(max-width:640px){
  .asset-hub-panel{padding:14px;border-radius:20px;margin:14px 0 18px}
  .asset-hub-title h2{font-size:20px}
  .asset-hub-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .asset-hub-icon{width:52px;height:52px;border-radius:19px;font-size:24px}
  .asset-hub-label{font-size:11px;max-width:72px}
  .module-toolbar{align-items:center;gap:8px}
  .compact-period-filter{padding:4px;gap:4px}
  .compact-period-filter .period-type-btn,.compact-period-filter .period-nav-btn,.compact-period-filter .period-today-btn{display:none}
  .compact-period-filter .period-label-btn{height:34px;min-width:auto;max-width:148px;padding:0 10px;font-size:12px;overflow:hidden;text-overflow:ellipsis}
  .period-sheet-backdrop{background:rgba(15,23,42,.32)}
  .period-sheet{left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important;max-width:none;border-radius:24px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -18px 48px rgba(15,23,42,.20)}
  .period-sheet-options button{height:44px}
  .module-toolbar{align-items:flex-start!important}
  .smart-date-filter{display:grid;gap:4px}
  .smart-date-preset{height:36px;width:max-content;max-width:190px;overflow:hidden;text-overflow:ellipsis;padding:0 13px}
  .smart-date-range{height:auto;border:0;box-shadow:none;background:transparent;padding:0 3px;color:#71857d;font-size:10.5px}
  .smart-date-backdrop{background:rgba(15,23,42,.32)}
  .smart-date-panel{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:min(78vh,620px);border-radius:24px 24px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -20px 55px rgba(15,23,42,.22)}
  .smart-date-options button,.smart-month-list button{min-height:45px;border-radius:13px}
  .smart-month-list{max-height:min(58vh,470px)}
}

/* Coin tab restored to CHUAN render: keep labels compact on one line */
#coin-list:not(.investment-list) .item-stats-grid .stat-col .lbl{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
#coin-list:not(.investment-list) .item-stats-grid .stat-col .val{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:13px!important;
  line-height:1.25!important;
}
#coin-list:not(.investment-list) .item-row.compact-item{
  padding:14px 16px!important;
}
#coin-list:not(.investment-list) .item-stats-grid{
  gap:8px!important;
}
@media(max-width:380px){.asset-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Asset Hub monochrome: màn chọn riêng, không còn neon/pastel. */
#section-assets .asset-tabs-shell{display:none!important}
#asset-hub-panel.asset-hub-card{
  background:#fff!important;
  border:1px solid #e7eee9!important;
  border-radius:28px!important;
  padding:24px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.06)!important;
  margin:18px 0 24px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#asset-hub-panel.asset-hub-card .asset-hub-title{margin:0 0 24px!important}
#asset-hub-panel.asset-hub-card .asset-hub-title h2{margin:0!important;font-size:clamp(24px,3vw,34px)!important;font-weight:950!important;color:#12342b!important;letter-spacing:-.04em!important;line-height:1.12!important}
#asset-hub-panel.asset-hub-card .asset-hub-title p{margin:8px 0 0!important;font-size:14px!important;font-weight:750!important;color:#6b7c75!important;line-height:1.4!important}
#asset-hub-panel.asset-hub-card .asset-hub-grid{margin-top:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
#asset-hub-panel.asset-hub-card .asset-hub-item{height:116px!important;border:1px solid #e6eee9!important;background:#fbfdfc!important;border-radius:22px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;cursor:pointer!important;transition:all .18s ease!important;color:#12342b!important;padding:0 8px!important;box-shadow:none!important;font-family:inherit!important}
#asset-hub-panel.asset-hub-card .asset-hub-item:hover{background:#f3faf6!important;border-color:rgba(15,118,110,.22)!important;transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(15,118,110,.10)!important}
#asset-hub-panel.asset-hub-card .asset-hub-item.active{background:#eaf8f1!important;border-color:rgba(15,118,110,.32)!important;box-shadow:inset 0 0 0 1px rgba(15,118,110,.10)!important}
#asset-hub-panel.asset-hub-card .asset-hub-icon{width:44px!important;height:44px!important;border-radius:16px!important;background:#fff!important;border:1px solid #e5ebe8!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#0f766e!important;box-shadow:none!important;transform:none!important;font-size:0!important}
#asset-hub-panel.asset-hub-card .asset-hub-icon::after{display:none!important}
#asset-hub-panel.asset-hub-card .asset-hub-icon svg{width:23px!important;height:23px!important;stroke:currentColor!important;stroke-width:2.2!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#asset-hub-panel.asset-hub-card .asset-hub-label{font-size:13px!important;line-height:1.25!important;font-weight:850!important;color:#12342b!important;text-align:center!important;max-width:92px!important;min-height:auto!important}
#asset-hub-panel.asset-hub-card .asset-hub-item.active .asset-hub-label{color:#047857!important}
.asset-detail-header{display:flex;align-items:center;gap:14px;margin:0 0 18px}
.asset-back-btn{height:38px;padding:0 14px;border-radius:999px;border:1px solid #e5ebe8;background:#fff;color:#0f766e;font-family:inherit;font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.06);white-space:nowrap}
.asset-detail-header h2{margin:0;font-size:24px;font-weight:950;color:#12342b;line-height:1.15}
.asset-detail-header p{margin:4px 0 0;color:#6b7c75;font-size:13px;font-weight:700;line-height:1.4}
@media(max-width:768px){
  #asset-hub-panel.asset-hub-card{padding:20px!important;border-radius:24px!important}
  #asset-hub-panel.asset-hub-card .asset-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
  #asset-hub-panel.asset-hub-card .asset-hub-item{height:104px!important;border-radius:20px!important}
  #asset-hub-panel.asset-hub-card .asset-hub-icon{width:40px!important;height:40px!important;border-radius:14px!important}
  #asset-hub-panel.asset-hub-card .asset-hub-label{font-size:12px!important;max-width:78px!important}
  .asset-detail-header{align-items:flex-start;gap:10px}
  .asset-detail-header h2{font-size:21px}
}
@media(max-width:380px){#asset-hub-panel.asset-hub-card .asset-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Sales/Budget hubs monochrome, dùng chung ngôn ngữ với Asset Hub. */
.sales-subtabs,.budget-subtabs{display:none!important}
.module-hub-card{background:#fff;border:1px solid #e7eee9;border-radius:28px;padding:24px;box-shadow:0 18px 42px rgba(15,23,42,.06);margin:18px 0 24px}
.module-hub-title h2{margin:0;font-size:clamp(24px,3vw,34px);font-weight:950;color:#12342b;letter-spacing:-.04em;line-height:1.12}
.module-hub-title p{margin:8px 0 0;font-size:14px;font-weight:750;color:#6b7c75;line-height:1.4}
.module-hub-grid{margin-top:24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.module-hub-item{height:116px;border:1px solid #e6eee9;background:#fbfdfc;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .18s ease;color:#12342b;font-family:inherit;padding:0 8px}
.module-hub-item:hover{background:#f3faf6;border-color:rgba(15,118,110,.22);transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,118,110,.10)}
.module-hub-item.active{background:#eaf8f1;border-color:rgba(15,118,110,.32)}
.module-hub-icon{width:44px;height:44px;border-radius:16px;background:#fff;border:1px solid #e5ebe8;display:inline-flex;align-items:center;justify-content:center;color:#0f766e}
.module-hub-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.module-hub-label{font-size:13px;line-height:1.25;font-weight:850;color:#12342b;text-align:center}
.module-detail-header{display:flex;align-items:center;gap:14px;margin:0 0 18px}
.module-back-btn{height:38px;padding:0 14px;border-radius:999px;border:1px solid #e5ebe8;background:#fff;color:#0f766e;font-family:inherit;font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.06);white-space:nowrap}
.module-detail-header h2{margin:0;font-size:24px;font-weight:950;color:#12342b;line-height:1.15}
.module-detail-header p{margin:4px 0 0;color:#6b7c75;font-size:13px;font-weight:700;line-height:1.4}
.module-generated-panel .sec-hdr{align-items:center}
@media(max-width:768px){
  .module-hub-card{padding:20px;border-radius:24px}
  .module-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .module-hub-item{height:104px;border-radius:20px}
  .module-detail-header{align-items:flex-start;gap:10px}
  .module-detail-header h2{font-size:21px}
}
@media(max-width:380px){.module-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* VHTG premium KPI cards, hub switcher and compact asset lists */
#sales-hero.budget-hero,
#budget-hero.budget-hero {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin: 18px 0 28px !important;
}
#sales-hero .budget-hero-card.cost-card,
#budget-hero .budget-hero-card:nth-child(n+5) {
  display: none !important;
}
#sales-hero .budget-hero-card,
#budget-hero .budget-hero-card {
  min-height: 230px !important;
  border-radius: 28px !important;
  padding: 24px !important;
  background: linear-gradient(180deg,#FFFFFF,#F8FBF9) !important;
  border: 1px solid rgba(255,255,255,.6) !important;
  box-shadow: 0 10px 30px rgba(16,24,40,.05) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}
#sales-hero .budget-hero-card:hover,
#budget-hero .budget-hero-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(16,24,40,.09) !important;
}
.kpi-app-icon {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
.kpi-app-icon svg {
  width: 28px;
  height: 28px;
  stroke: currentColor;
  stroke-width: 2.25;
  fill: none;
}
.kpi-app-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
}
.kpi-app-trend {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
}
.kpi-app-trend-main {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 800;
}
.kpi-app-trend-sub {
  margin-top: 8px;
  color: #667085;
  font-size: 14px;
  font-weight: 500;
}
.kpi-app-spark {
  position: absolute;
  right: 22px;
  bottom: 26px;
  width: 150px;
  height: 76px;
  opacity: .95;
}
.kpi-app-spark svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}
#sales-hero .budget-hero-card .hero-label,
#budget-hero .budget-hero-card .hero-label,
#sales-hero .budget-hero-card h3,
#budget-hero .budget-hero-card h3 {
  color: #475467 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}
#sales-hero .budget-hero-card .hero-value,
#budget-hero .budget-hero-card .hero-value,
#sales-hero .budget-hero-card .num,
#budget-hero .budget-hero-card .num,
#sales-hero .budget-hero-card strong,
#budget-hero .budget-hero-card strong {
  font-size: clamp(36px, 3.3vw, 54px) !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
}
#sales-hero .income-card,
#budget-hero .income-card { --kpi-color:#16A34A; --kpi-soft:rgba(22,163,74,.12); --kpi-fill:rgba(22,163,74,.08); }
#sales-hero .balance-card,
#budget-hero .expense-card { --kpi-color:#F59E0B; --kpi-soft:rgba(245,158,11,.13); --kpi-fill:rgba(245,158,11,.08); }
#sales-hero .saving-rate-card,
#budget-hero .balance-card { --kpi-color:#2563EB; --kpi-soft:rgba(37,99,235,.12); --kpi-fill:rgba(37,99,235,.08); }
#sales-hero .neutral-card,
#budget-hero .saving-rate-card { --kpi-color:#8B5CF6; --kpi-soft:rgba(139,92,246,.13); --kpi-fill:rgba(139,92,246,.08); }
.kpi-app-icon,
.kpi-app-badge {
  background: var(--kpi-soft, rgba(15,118,110,.10));
  color: var(--kpi-color, #0f766e);
}
.kpi-app-trend-main {
  color: var(--kpi-color, #0f766e);
}

.module-detail-header,
.asset-detail-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}
.module-detail-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.module-detail-title-wrap {
  min-width: 0;
}
.module-detail-title-wrap h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 950;
  color: #12342b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.module-detail-title-wrap p {
  margin: 4px 0 0;
  color: #6b7c75;
  font-size: 13px;
  font-weight: 700;
}
.module-quick-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  max-width: 52%;
  padding: 4px;
  scrollbar-width: none;
}
.module-quick-switch::-webkit-scrollbar { display: none; }
.quick-switch-btn {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  border: 1px solid #e5ebe8;
  background: #ffffff;
  color: #0f766e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  cursor: pointer;
  transition: all .16s ease;
  box-shadow: 0 8px 18px rgba(15,23,42,.05);
}
.quick-switch-btn:hover {
  background: #eaf8f1;
  border-color: rgba(15,118,110,.28);
  transform: translateY(-1px);
}
.quick-switch-btn.active {
  background: #0f766e;
  color: #ffffff;
  border-color: #0f766e;
}
.quick-switch-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}
.quick-switch-label { display: none; }

.sales-detail-action-btn {
  height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: #0f8a5f;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(15,118,110,.18);
}

#coin-list.asset-list-accordion,
#stock-list.asset-list-accordion,
#save-list.asset-list-accordion,
#share-list.asset-list-accordion,
#gold-list.asset-list-accordion,
#re-list.asset-list-accordion,
#other-list.asset-list-accordion {
  display: grid !important;
  gap: 12px !important;
}
.asset-list-accordion .compact-item {
  background: #ffffff !important;
  border: 1px solid #e5ebe8 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
}
.asset-list-accordion .compact-item .item-left {
  min-width: 0 !important;
}
.asset-list-accordion .compact-item .item-name {
  font-size: 17px !important;
  font-weight: 950 !important;
  color: #12342b !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere !important;
}
.asset-list-accordion .compact-item .item-sub {
  margin-top: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #6b7c75 !important;
  line-height: 1.3 !important;
}
.asset-list-accordion .compact-item:not(.asset-expanded) .item-stats-grid {
  display: none !important;
}
.asset-list-accordion .compact-item.asset-expanded .item-stats-grid {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 12px !important;
  padding-top: 14px !important;
  border-top: 1px solid #eef3f0 !important;
}
.asset-list-accordion .compact-item.asset-expanded .stat,
.asset-list-accordion .compact-item.asset-expanded .item-stat {
  background: #fbfdfc !important;
  border: 1px solid #edf3ef !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}
.asset-list-accordion .compact-item .item-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.asset-list-accordion .compact-item .item-val,
.asset-list-accordion .compact-item .value,
.asset-list-accordion .compact-item .amount {
  font-size: 16px !important;
  font-weight: 950 !important;
  color: #12342b !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.asset-list-accordion .compact-item .action-btns {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  max-width: 44px !important;
  overflow: hidden !important;
}
.asset-list-accordion .compact-item .action-btns button:first-child {
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
}
.asset-list-accordion .compact-item .action-btns button:not(:first-child) {
  display: none !important;
}

@media (max-width: 1024px) {
  #sales-hero.budget-hero,
  #budget-hero.budget-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === VHTG HOTFIX 2026-06-03: journey hero no-overlap + faster first paint === */
#section-home .journey-hero{
  min-height:340px!important;
  padding:30px 34px!important;
  overflow:hidden!important;
}
#section-home .journey-copy{
  max-width:min(58%,620px)!important;
  padding-right:24px!important;
}
#section-home .journey-hero-main{
  display:block!important;
}
#section-home .journey-visual{
  position:absolute!important;
  right:26px!important;
  top:34px!important;
  bottom:24px!important;
  width:38%!important;
  min-width:320px!important;
  max-width:430px!important;
  opacity:.78!important;
  pointer-events:none!important;
}
#section-home .journey-visual:before{
  font-size:104px!important;
  left:24%!important;
  top:24%!important;
}
#section-home .journey-hero:after{
  right:18%!important;
  top:22%!important;
  width:190px!important;
  height:150px!important;
  opacity:.58!important;
}
#section-home .journey-quote{
  right:0!important;
  bottom:28px!important;
  max-width:190px!important;
  padding:14px 16px!important;
  font-size:13px!important;
  line-height:1.4!important;
}
#section-home .journey-metrics{
  max-width:min(58%,620px)!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}

@media(max-width:900px){
  #section-home .journey-hero{
    min-height:0!important;
    padding:22px 20px 20px!important;
  }
  #section-home .journey-copy{
    max-width:100%!important;
    padding-right:0!important;
  }
  #section-home .journey-visual{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:150px!important;
    margin-top:10px!important;
    opacity:.38!important;
  }
  #section-home .journey-visual:before{
    font-size:82px!important;
    left:44%!important;
    top:12%!important;
  }
  #section-home .journey-quote{
    display:none!important;
  }
  #section-home .journey-metrics{
    max-width:100%!important;
  }
}

@media(max-width:560px){
  #section-home .journey-hero{
    padding:18px 14px 16px!important;
    border-radius:22px!important;
  }
  #section-home .journey-title{
    font-size:clamp(24px,7.4vw,30px)!important;
    line-height:1.12!important;
  }
  #section-home .journey-subtitle{
    font-size:11px!important;
    line-height:1.35!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(34px,10vw,42px)!important;
  }
  #section-home .journey-progress-top{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  #section-home .journey-metrics{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  #section-home .journey-metric{
    padding:10px!important;
    border-radius:14px!important;
  }
  #section-home .journey-metric b,
  #section-home .journey-metric strong{
    font-size:clamp(18px,6vw,24px)!important;
  }
}

/* === VHTG PATCH 2026-06-04D: HOME hero scale + SVG metric icons === */
#section-home .journey-hero{
  min-height:clamp(360px,39vw,500px)!important;
  padding:clamp(28px,3.4vw,44px)!important;
}
#section-home .journey-copy{
  max-width:min(54vw,680px)!important;
  overflow:visible!important;
}
#section-home .journey-title{
  max-width:100%!important;
  font-size:clamp(38px,4.2vw,62px)!important;
  line-height:1.06!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:block!important;
}
#section-home .journey-kicker{
  font-size:clamp(17px,1.35vw,22px)!important;
  margin-bottom:18px!important;
}
#section-home .journey-subtitle{
  font-size:clamp(16px,1.28vw,21px)!important;
  margin-bottom:clamp(28px,3.1vw,42px)!important;
}
#section-home .journey-main-stat{
  margin-bottom:18px!important;
}
#section-home .journey-main-stat span{
  font-size:clamp(15px,1.24vw,20px)!important;
  margin-bottom:10px!important;
}
#section-home .journey-main-stat strong{
  font-size:clamp(42px,4.6vw,66px)!important;
  line-height:1.04!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#section-home .journey-progress{
  max-width:min(68vw,1040px)!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:24px!important;
}
#section-home .journey-progress-top span{
  font-size:clamp(14px,1.15vw,18px)!important;
  margin-bottom:10px!important;
}
#section-home .journey-progress-track{
  width:calc(100% - 92px)!important;
  height:16px!important;
  clear:both!important;
}
#section-home .journey-progress-top strong{
  right:0!important;
  bottom:-3px!important;
  font-size:clamp(24px,2.2vw,34px)!important;
}
#section-home .journey-metrics{
  width:min(620px,52vw)!important;
  margin-top:0!important;
  align-items:center!important;
}
#section-home .journey-metric{
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:16px!important;
  min-height:84px!important;
  padding-right:26px!important;
}
#section-home .journey-metric + .journey-metric{
  padding-left:26px!important;
}
#section-home .journey-metric-icon{
  width:68px!important;
  height:68px!important;
  font-size:initial!important;
  color:#8cff63!important;
}
#section-home .journey-metric-icon:before{
  content:none!important;
}
#section-home .journey-metric-icon svg{
  width:34px!important;
  height:34px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.35!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#section-home .journey-metric-icon.fire{
  color:#ff9f1a!important;
  border-color:rgba(255,159,26,.44)!important;
}
#section-home .journey-metric-icon.fire svg{
  fill:rgba(255,159,26,.18)!important;
}
#section-home .journey-metric small{
  font-size:clamp(14px,1.1vw,18px)!important;
  margin-bottom:5px!important;
}
#section-home .journey-metric b{
  font-size:clamp(24px,2.2vw,34px)!important;
  line-height:1.08!important;
}
#section-home .journey-metric em{
  font-size:clamp(15px,1.25vw,20px)!important;
  line-height:1.18!important;
}
#section-home #journey-streak-sub{
  font-size:clamp(13px,1vw,16px)!important;
  margin-top:5px!important;
}
@media(max-width:900px){
  #section-home .journey-hero{
    padding:34px 34px 36px!important;
    background-position:center top!important;
  }
  #section-home .journey-copy{
    max-width:100%!important;
  }
  #section-home .journey-kicker{
    max-width:calc(100% - 150px)!important;
    font-size:20px!important;
    margin:0 0 30px!important;
  }
  #section-home .journey-title{
    max-width:68%!important;
    font-size:clamp(34px,7.1vw,48px)!important;
    line-height:1.12!important;
    margin-bottom:16px!important;
  }
  #section-home .journey-subtitle{
    max-width:72%!important;
    font-size:18px!important;
    margin-bottom:44px!important;
  }
  #section-home .journey-main-stat span{
    font-size:18px!important;
    margin-bottom:12px!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(38px,8.4vw,54px)!important;
    max-width:72%!important;
  }
  #section-home .journey-progress{
    max-width:100%!important;
    margin-bottom:18px!important;
    padding-bottom:0!important;
  }
  #section-home .journey-progress-track{
    width:calc(100% - 68px)!important;
    height:18px!important;
  }
  #section-home .journey-progress-top strong{
    bottom:-4px!important;
    font-size:28px!important;
  }
  #section-home .journey-progress-top span{
    font-size:17px!important;
    margin:10px 0 10px!important;
  }
  #section-home .journey-metrics{
    width:100%!important;
    margin-top:12px!important;
    padding:18px 18px!important;
    border-radius:24px!important;
  }
  #section-home .journey-metric{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:14px!important;
    min-height:100px!important;
    padding-right:18px!important;
  }
  #section-home .journey-metric + .journey-metric{
    padding-left:18px!important;
  }
  #section-home .journey-metric-icon{
    width:62px!important;
    height:62px!important;
  }
  #section-home .journey-metric-icon svg{
    width:31px!important;
    height:31px!important;
  }
  #section-home .journey-metric small{
    font-size:16px!important;
  }
  #section-home .journey-metric b{
    font-size:28px!important;
  }
  #section-home .journey-metric em{
    font-size:14px!important;
    margin-top:5px!important;
  }
}
@media(max-width:560px){
  #section-home .journey-hero{
    min-height:0!important;
    padding:22px 22px 24px!important;
    border-radius:22px!important;
  }
  #section-home .journey-settings-btn{
    top:18px!important;
    right:18px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 12px!important;
    font-size:13px!important;
  }
  #section-home .journey-kicker{
    max-width:calc(100% - 128px)!important;
    font-size:16px!important;
    line-height:1.25!important;
    margin:8px 0 42px!important;
  }
  #section-home .journey-title{
    max-width:66%!important;
    font-size:clamp(30px,9vw,38px)!important;
    line-height:1.13!important;
    margin-bottom:14px!important;
  }
  #section-home .journey-subtitle{
    max-width:78%!important;
    font-size:15.5px!important;
    line-height:1.35!important;
    margin-bottom:48px!important;
  }
  #section-home .journey-main-stat{
    margin-bottom:12px!important;
  }
  #section-home .journey-main-stat span{
    font-size:15.5px!important;
    margin-bottom:10px!important;
  }
  #section-home .journey-main-stat strong{
    max-width:72%!important;
    font-size:clamp(34px,10.8vw,44px)!important;
    line-height:1.12!important;
  }
  #section-home .journey-progress{
    margin-bottom:14px!important;
  }
  #section-home .journey-progress-top span{
    font-size:14px!important;
    margin:12px 0 8px!important;
  }
  #section-home .journey-progress-track{
    width:calc(100% - 54px)!important;
    height:16px!important;
  }
  #section-home .journey-progress-top strong{
    bottom:-4px!important;
    font-size:23px!important;
  }
  #section-home .journey-metrics{
    margin-top:14px!important;
    padding:14px 12px!important;
    border-radius:20px!important;
  }
  #section-home .journey-metric{
    grid-template-columns:1fr!important;
    gap:8px!important;
    min-height:118px!important;
    padding-right:10px!important;
  }
  #section-home .journey-metric + .journey-metric{
    padding-left:12px!important;
  }
  #section-home .journey-metric-icon{
    width:50px!important;
    height:50px!important;
  }
  #section-home .journey-metric-icon svg{
    width:26px!important;
    height:26px!important;
  }
  #section-home .journey-metric small{
    font-size:13px!important;
    margin-bottom:4px!important;
  }
  #section-home .journey-metric b{
    font-size:clamp(22px,6.2vw,28px)!important;
  }
  #section-home .journey-metric em,
  #section-home #journey-streak-sub{
    font-size:12px!important;
    line-height:1.22!important;
    margin-top:6px!important;
  }
}
@media (max-width: 640px) {
  #sales-hero.budget-hero,
  #budget-hero.budget-hero {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  #sales-hero .budget-hero-card,
  #budget-hero .budget-hero-card {
    min-height: 210px !important;
    padding: 20px !important;
  }
  .kpi-app-spark {
    width: 122px;
    height: 62px;
  }
  .module-detail-header,
  .asset-detail-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .module-detail-left {
    width: 100%;
  }
  .module-quick-switch {
    max-width: 100%;
    width: 100%;
    padding-bottom: 2px;
  }
  .quick-switch-btn {
    width: auto;
    min-width: 42px;
    height: 36px;
    padding: 0 10px;
    gap: 6px;
    border-radius: 999px;
  }
  .quick-switch-label {
    display: inline;
    font-size: 11px;
    font-weight: 850;
  }
  .asset-list-accordion .compact-item {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 13px 14px !important;
    gap: 10px !important;
  }
  .asset-list-accordion .compact-item.asset-expanded .item-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #tab-re {
    padding-bottom: 8px !important;
  }
  #tab-re .sec,
  #tab-re .vhtg-card {
    margin-bottom: 12px !important;
    padding-bottom: 14px !important;
  }
  #re-list {
    margin-top: 10px !important;
  }
}

/* VHTG decision dashboard v3: logic-backed metrics + premium layout */
#section-home .decision-panel-v2{padding:24px!important;border-radius:28px!important;background:linear-gradient(135deg,#ffffff 0%,#f7fffb 100%)!important;box-shadow:0 16px 44px rgba(15,76,69,.07)!important;border:1px solid rgba(15,118,110,.10)!important;overflow:hidden!important}
#section-home .decision-panel-v2 .journey-section-head h2{text-transform:uppercase;letter-spacing:.01em;font-size:18px!important;font-weight:950!important;color:#073b33!important}
#section-home .decision-board-layout{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(260px,.95fr);gap:18px;align-items:stretch}
#section-home .decision-grid-v2{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
#section-home .decision-grid-v2 .home-today-card{min-height:142px!important;border-radius:18px!important;padding:15px!important;background:linear-gradient(180deg,#fff,#fbfffd)!important;border:1px solid rgba(15,118,110,.10)!important;box-shadow:0 10px 26px rgba(15,23,42,.045)!important;text-align:left!important;overflow:hidden!important;position:relative!important}
#section-home .decision-grid-v2 .home-today-card::after{content:'';position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(16,185,129,.055));pointer-events:none}
#section-home .decision-grid-v2 .home-today-topline{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:10px!important;min-width:0}
#section-home .decision-grid-v2 .home-today-icon{width:28px!important;height:28px!important;min-width:28px!important;border-radius:9px!important;font-size:13px!important;background:#ecfdf5!important;color:#0f8f4d!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
#section-home .decision-grid-v2 .home-today-card small{font-size:12.5px!important;line-height:1.25!important;font-weight:850!important;color:#355b55!important;white-space:normal!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
#section-home .decision-grid-v2 .home-today-card b{font-size:clamp(20px,2.2vw,28px)!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.035em!important;display:block!important;margin:0 0 3px!important;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#section-home .decision-grid-v2 .home-today-card em{display:block!important;font-style:normal!important;font-size:11.5px!important;font-weight:750!important;color:#68827c!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;position:relative;z-index:1}
#section-home .decision-grid-v2 .decision-mini-chart{height:31px!important;margin-top:6px!important;margin-bottom:2px!important;position:relative;z-index:1}
#section-home .decision-ai-card{position:relative;border-radius:24px;padding:22px 20px;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(251,191,36,.18),transparent 30%),linear-gradient(135deg,#fffaf1 0%,#fff7e8 100%);border:1px solid rgba(245,158,11,.18);box-shadow:0 16px 34px rgba(245,158,11,.11);display:flex;flex-direction:column;justify-content:center;min-height:100%}
#section-home .decision-ai-kicker{font-size:13px;font-weight:950;color:#6b5b3f;text-transform:uppercase;letter-spacing:.01em;margin-bottom:12px}
#section-home .decision-ai-card h3{font-size:24px;line-height:1.12;font-weight:950;letter-spacing:-.035em;color:#073b33;margin:0 0 12px;max-width:78%}
#section-home .decision-ai-card p{font-size:14px;line-height:1.55;font-weight:700;color:#4d665f;margin:0 0 18px;max-width:78%}
#section-home .decision-ai-btn{width:max-content;max-width:100%;border:none;border-radius:14px;padding:13px 18px;background:linear-gradient(135deg,#f59e0b,#fb8500);color:#fff;font-family:inherit;font-size:14px;font-weight:950;box-shadow:0 12px 24px rgba(245,158,11,.25);cursor:pointer}.decision-ai-btn span{margin-left:8px}
#section-home .decision-ai-bot{position:absolute;right:18px;bottom:22px;width:82px;height:96px;border-radius:38px;background:linear-gradient(180deg,#fff,#dff7e8);box-shadow:0 12px 28px rgba(15,118,110,.14);display:flex;align-items:flex-start;justify-content:center;padding-top:22px}.decision-ai-bot span{width:54px;height:30px;border-radius:18px;background:#133f39;box-shadow:inset 13px 0 0 rgba(34,197,94,.9),inset -13px 0 0 rgba(34,197,94,.9)}
#section-home .home-today-filter{display:none!important}
@media(max-width:920px){#section-home .decision-board-layout{grid-template-columns:1fr}#section-home .decision-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}#section-home .decision-ai-card{min-height:190px}}
@media(max-width:520px){#section-home .decision-panel-v2{padding:18px 14px!important;border-radius:26px!important}#section-home .decision-panel-v2 .journey-section-head{align-items:center!important;gap:10px!important}#section-home .decision-panel-v2 .journey-section-head h2{font-size:21px!important;text-transform:none!important;line-height:1.18!important}#section-home .decision-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important}#section-home .decision-grid-v2 .home-today-card{min-height:142px!important;padding:14px!important;border-radius:22px!important}#section-home .decision-grid-v2 .home-today-card b{font-size:clamp(20px,7.2vw,28px)!important}#section-home .decision-grid-v2 .home-today-card small{font-size:13px!important}#section-home .decision-ai-card{padding:20px!important;min-height:178px;border-radius:24px}#section-home .decision-ai-card h3{font-size:23px;max-width:72%}#section-home .decision-ai-card p{font-size:13px;max-width:72%}#section-home .decision-ai-bot{width:68px;height:82px;right:12px;bottom:16px}.decision-ai-bot span{width:44px;height:26px}}

/* VHTG HOME reorder + scientific decision dashboard patch */
#section-home .journey-action-row{
  margin-top:18px!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;
}
#section-home .home-feed-card,
#section-home .home-expense-card{
  background:#fff!important;
  border:1px solid rgba(15,118,110,.10)!important;
  border-radius:26px!important;
  box-shadow:0 16px 38px rgba(15,76,69,.055)!important;
  padding:22px!important;
}
#section-home .home-feed-list{gap:0!important}
#section-home .home-txn-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto 78px;
  gap:12px;
  align-items:center;
  min-height:48px;
  padding:10px 0;
  border-bottom:1px solid rgba(15,118,110,.08);
}
#section-home .home-txn-item:last-of-type{border-bottom:none}
#section-home .home-txn-icon{
  width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  background:#ecfdf5;color:#059669;font-weight:950;font-size:13px;
}
#section-home .home-txn-item.expense .home-txn-icon{background:#fff1f2;color:#e11d48}
#section-home .home-txn-main{min-width:0}
#section-home .home-txn-main b{
  display:block;font-size:13px;font-weight:850;color:#12342b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#section-home .home-txn-main small{display:block;margin-top:2px;font-size:11px;font-weight:700;color:#6b7c75}
#section-home .home-txn-item strong{
  font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:900;color:#059669;white-space:nowrap;text-align:right;
}
#section-home .home-txn-item.expense strong{color:#e11d48}
#section-home .home-txn-item em{font-size:11px;font-weight:700;color:#6b7c75;font-style:normal;text-align:right;white-space:nowrap}
#section-home .home-see-all{
  margin-top:12px;border:none;background:transparent;color:#0f766e;font-family:inherit;font-size:13px;font-weight:850;cursor:pointer;
}
#section-home .home-expense-distribution{
  min-height:220px;display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:center;
}
#section-home .expense-donut{
  width:168px;height:168px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(15,76,69,.08);
}
#section-home .expense-donut>div{
  width:104px;height:104px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
#section-home .expense-donut span{font-size:12px;font-weight:750;color:#6b7c75}
#section-home .expense-donut b{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;color:#073b33;margin-top:4px}
#section-home .expense-legend{display:grid;gap:10px}
#section-home .expense-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center}
#section-home .expense-legend span{width:9px;height:9px;border-radius:999px}
#section-home .expense-legend b{font-size:13px;font-weight:800;color:#12342b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#section-home .expense-legend em{font-size:12px;font-weight:800;color:#34534b;font-style:normal;white-space:nowrap}
#section-home .expense-empty-visual{
  grid-column:1/-1;min-height:190px;border:1px dashed rgba(15,118,110,.16);border-radius:22px;background:linear-gradient(135deg,#f8fffb,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;color:#0f766e;
}
#section-home .expense-empty-visual span{font-size:36px;line-height:1;color:#22c55e}
#section-home .expense-empty-visual b{font-size:15px;color:#12342b}
#section-home .expense-empty-visual small{font-size:12px;font-weight:700;color:#6b7c75}
#section-home .home-month-select{
  height:32px;border:1px solid rgba(15,118,110,.10);background:#fff;border-radius:999px;padding:0 12px;color:#496861;font-family:inherit;font-size:12px;font-weight:850;
}
#section-home .home-growth-charts.growth-chart-grid{grid-template-columns:1fr!important}
#section-home .home-growth-chart-card.growth-chart-card{min-height:300px}
#section-home .home-growth-chart-card canvas{height:230px!important;max-height:230px!important}
#section-home .home-today-grid.decision-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr))!important}
#section-home .home-today-card{min-height:138px!important;padding:14px!important}
#section-home .home-today-card b{font-size:clamp(17px,1.65vw,23px)!important}
#section-home .home-today-card small{font-size:12px!important}
@media(max-width:900px){
  #section-home .journey-action-row{grid-template-columns:1fr!important}
  #section-home .home-expense-distribution{grid-template-columns:1fr;justify-items:center}
  #section-home .expense-legend{width:100%}
}
@media(max-width:640px){
  #section-home .home-today-grid.decision-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  #section-home .home-today-card{min-height:142px!important;padding:13px!important}
  #section-home .home-today-card b{font-size:clamp(18px,5.2vw,24px)!important}
  #section-home .home-growth-charts.growth-chart-grid{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:14px!important}
  #section-home .home-growth-chart-card.growth-chart-card{width:100%!important;min-width:0!important;min-height:320px!important}
  #section-home .home-growth-chart-card canvas{height:245px!important;max-height:245px!important}
  #section-home .home-txn-item{grid-template-columns:30px minmax(0,1fr) auto;gap:10px}
  #section-home .home-txn-item em{grid-column:2/4;text-align:left;font-size:10.5px}
  #section-home .home-feed-card,#section-home .home-expense-card{padding:18px!important;border-radius:22px!important}
}

/* KPI hero cards cleanup: remove static badge and sparkline overlap */
#sales-hero .kpi-app-badge,
#budget-hero .kpi-app-badge,
#sales-hero .kpi-app-spark,
#budget-hero .kpi-app-spark {
  display: none !important;
}
#sales-hero .budget-hero-card,
#budget-hero .budget-hero-card {
  min-height: 220px !important;
}
#sales-hero .budget-hero-card .kpi-app-icon,
#budget-hero .budget-hero-card .kpi-app-icon {
  margin-bottom: 26px !important;
}
#sales-hero .budget-hero-card .hero-value,
#budget-hero .budget-hero-card .hero-value,
#sales-hero .budget-hero-card .num,
#budget-hero .budget-hero-card .num,
#sales-hero .budget-hero-card strong,
#budget-hero .budget-hero-card strong {
  position: relative !important;
  z-index: 2 !important;
}
#sales-hero .kpi-app-trend,
#budget-hero .kpi-app-trend {
  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
}
#sales-hero .kpi-app-trend-main svg,
#budget-hero .kpi-app-trend-main svg {
  width: 18px !important;
  height: 18px !important;
  padding: 7px !important;
  box-sizing: content-box !important;
  border-radius: 999px !important;
  background: var(--kpi-soft, rgba(15,118,110,.10)) !important;
}
@media (max-width: 640px) {
  #sales-hero .budget-hero-card,
  #budget-hero .budget-hero-card {
    min-height: 190px !important;
  }
}

/* Final KPI card system: no overlap, real period comparison */
#sales-hero .budget-hero-card,
#budget-hero .budget-hero-card {
  min-height: 168px !important;
  padding: 22px 22px 18px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid #e5ebe8 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: 0 10px 30px rgba(16,24,40,.05) !important;
}
#sales-hero .kpi-app-icon,
#budget-hero .kpi-app-icon,
#sales-hero .kpi-app-badge,
#budget-hero .kpi-app-badge,
#sales-hero .kpi-app-trend,
#budget-hero .kpi-app-trend,
#sales-hero .kpi-app-spark,
#budget-hero .kpi-app-spark {
  display: none !important;
}
.kpi-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.kpi-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: var(--kpi-soft, #eaf8f1);
  color: var(--kpi-color, #0f766e);
}
.kpi-card-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.25;
  fill: none;
}
.kpi-card-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.kpi-card-label {
  font-size: 12px;
  font-weight: 900;
  color: #5f7069;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.kpi-card-value,
#sales-hero .budget-hero-card .kpi-card-value,
#budget-hero .budget-hero-card .kpi-card-value {
  font-family: "JetBrains Mono", monospace !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  color: #12342b !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.kpi-card-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 750;
  color: #6b7c75;
  line-height: 1.3;
}
.kpi-card-percent {
  display: inline-flex;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.kpi-card-percent.positive {
  background: #dcfce7;
  color: #047857;
}
.kpi-card-percent.negative {
  background: #fee2e2;
  color: #dc2626;
}
.kpi-card-footer {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.kpi-card-note {
  color: #6b7c75;
}
.module-detail-header.is-hub-clean,
.asset-detail-header.is-hub-clean {
  display: none !important;
}
@media (max-width: 640px) {
  #sales-hero .budget-hero-card,
  #budget-hero .budget-hero-card {
    min-height: 150px !important;
    padding: 18px !important;
  }
  .kpi-card-value,
  #sales-hero .budget-hero-card .kpi-card-value,
  #budget-hero .budget-hero-card .kpi-card-value {
    font-size: 22px !important;
  }
  .kpi-card-meta {
    font-size: 11px;
  }
}

/* Mobile KPI grid: 2 columns for Sales/Budget hero cards */
@media (max-width: 640px) {
  #sales-hero.budget-hero,
  #budget-hero.budget-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }
  #sales-hero .budget-hero-card,
  #budget-hero .budget-hero-card {
    min-height: 152px !important;
    padding: 14px !important;
    border-radius: 20px !important;
    gap: 9px !important;
  }
  #sales-hero .kpi-card-icon,
  #budget-hero .kpi-card-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 13px !important;
  }
  #sales-hero .kpi-card-icon svg,
  #budget-hero .kpi-card-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
  #sales-hero .kpi-card-label,
  #budget-hero .kpi-card-label {
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .03em !important;
  }
  #sales-hero .kpi-card-value,
  #budget-hero .kpi-card-value {
    font-size: clamp(17px, 5vw, 22px) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }
  #sales-hero .kpi-card-meta,
  #budget-hero .kpi-card-meta {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    gap: 3px !important;
  }
  #sales-hero .kpi-card-percent,
  #budget-hero .kpi-card-percent {
    font-size: 10px !important;
    padding: 3px 7px !important;
  }
}
@media (max-width: 360px) {
  #sales-hero.budget-hero,
  #budget-hero.budget-hero {
    gap: 10px !important;
  }
  #sales-hero .budget-hero-card,
  #budget-hero .budget-hero-card {
    padding: 12px !important;
    min-height: 146px !important;
  }
  #sales-hero .kpi-card-value,
  #budget-hero .kpi-card-value {
    font-size: clamp(15px, 4.7vw, 19px) !important;
  }
}

/* VHTG HOME: life finance command center */
#section-home {
  display: none;
  width: 100%;
}
.vhtg-home {
  display: grid;
  gap: 18px;
  margin-bottom: 26px;
}
.home-command-hero {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.26), transparent 18%),
    radial-gradient(circle at 72% 78%, rgba(34,197,94,.18), transparent 28%),
    linear-gradient(135deg, #0f766e 0%, #064e3b 58%, #071923 100%);
  box-shadow: 0 24px 58px rgba(15,118,110,.18);
}
.home-command-hero::after {
  content: "";
  position: absolute;
  right: -7%;
  bottom: -24%;
  width: 42%;
  aspect-ratio: 1;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
}
.home-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 28px;
  align-items: end;
}
.home-eyebrow {
  font-size: 13px;
  font-weight: 850;
  color: rgba(255,255,255,.82);
  margin-bottom: 8px;
}
.home-hello {
  margin: 0;
  font-size: clamp(30px, 5vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.04em;
  font-weight: 950;
}
.home-profile-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.home-profile-pill {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 13px;
  font-weight: 800;
  color: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}
.home-progress-card {
  border-radius: 24px;
  padding: 22px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(16px);
}
.home-progress-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.home-progress-money {
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 950;
  letter-spacing: -0.035em;
}
.home-progress-percent {
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
}
.home-progress-track {
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.20);
  overflow: hidden;
}
.home-progress-fill {
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg,#bbf7d0,#fef3c7);
  box-shadow: 0 0 28px rgba(187,247,208,.35);
  transition: width .45s ease;
}
.home-progress-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.home-progress-meta div {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.10);
}
.home-progress-meta span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: rgba(255,255,255,.66);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.home-progress-meta b {
  display: block;
  margin-top: 5px;
  font-size: 15px;
  font-weight: 900;
}
.home-ai-bar,
.home-card {
  background: rgba(255,255,255,.86);
  border: 1px solid #e5ebe8;
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(15,23,42,.06);
}
.home-ai-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
}
.home-ai-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eaf8f1;
  color: #0f766e;
  flex: 0 0 auto;
}
.home-ai-text {
  font-size: 14px;
  font-weight: 800;
  color: #12342b;
  line-height: 1.45;
}
.home-section-title {
  margin: 4px 0 2px;
  font-size: 21px;
  font-weight: 950;
  color: #12342b;
  letter-spacing: -0.03em;
}
.home-growth-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.home-metric-card {
  min-height: 142px;
  border-radius: 22px;
  padding: 18px;
  background: linear-gradient(180deg,#fff,#f8fbf9);
  border: 1px solid #e5ebe8;
  box-shadow: 0 10px 30px rgba(16,24,40,.045);
  min-width: 0;
  overflow: hidden;
}
.home-metric-label {
  font-size: 12px;
  font-weight: 900;
  color: #667085;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.home-metric-value {
  margin-top: 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(17px, 3vw, 26px);
  line-height: 1.15;
  font-weight: 950;
  color: #12342b;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-metric-sub {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 750;
  color: #6b7c75;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 18px;
  padding: 16px;
  background: var(--bg2);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  cursor: pointer;
}
.home-growth-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--text3);
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-value {
  margin-top: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(18px, 2.4vw, 28px);
  line-height: 1.15;
  font-weight: 900;
  color: var(--green);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-sub {
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--text3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-card.warn .home-growth-value {
  color: var(--red);
}
.home-growth-card.muted .home-growth-value {
  color: var(--text3);
}
#home-momentum-wrap,
#home-momentum-wrap .growth-center-header,
#home-momentum-wrap .home-momentum-card {
  /* TODO_REMOVE_AFTER_TEST: HOME momentum dashboard cũ đã được thay bằng bảng tăng trưởng mới; giữ tạm để tránh xóa nhầm markup còn phụ thuộc. */
  display: none !important;
}
.home-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 16px;
}
.home-card {
  padding: 20px;
}
.home-momentum-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.home-momentum-row {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
}
.home-check {
  width: 34px;
  height: 34px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #dcfce7;
  color: #047857;
  font-weight: 950;
}
.home-row-title {
  font-size: 14px;
  font-weight: 900;
  color: #12342b;
}
.home-row-sub {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  color: #6b7c75;
}
.home-row-val {
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  font-weight: 950;
  color: #0f766e;
  text-align: right;
}
.home-focus-card {
  background: linear-gradient(135deg,#fff7ed,#ffffff 64%);
  border-color: #fed7aa;
}
.home-focus-value {
  margin: 12px 0 4px;
  font-size: clamp(24px, 3.6vw, 40px);
  line-height: 1.08;
  font-weight: 950;
  color: #12342b;
  letter-spacing: -0.035em;
}
.home-primary-btn {
  height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: #0f8a5f;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(15,118,110,.18);
}
.home-system-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}
.home-light {
  border: 1px solid #edf3ef;
  border-radius: 18px;
  padding: 13px;
  background: #fbfdfc;
  cursor: pointer;
}
.home-light-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
  margin-right: 8px;
}
.home-light-dot.green { background:#16a34a; }
.home-light-dot.yellow { background:#f59e0b; }
.home-light-dot.red { background:#ef4444; }
.home-light-title {
  font-size: 13px;
  font-weight: 900;
  color: #12342b;
}
.home-light-sub {
  margin-top: 7px;
  font-size: 11px;
  font-weight: 750;
  color: #6b7c75;
}
.home-growth-overview {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--shadow);
  margin-bottom: 18px;
}
.home-growth-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}
.home-growth-head-sub {
  margin-top: 4px;
  color: var(--text3);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
}
.home-range-pills {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  white-space: nowrap;
  max-width: 100%;
  padding-bottom: 2px;
}
.home-range-pill {
  border: 1px solid var(--border2);
  background: var(--bg2);
  color: var(--text2);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
}
.home-range-pill.active {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
.home-growth-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.home-growth-kpi {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: linear-gradient(180deg, #fff, rgba(240,253,244,.45));
  overflow: hidden;
}
.home-growth-kpi.good { border-color: rgba(15,118,110,.2); }
.home-growth-kpi.bad { border-color: rgba(190,18,60,.22); background: linear-gradient(180deg,#fff,rgba(254,226,226,.5)); }
.home-growth-kpi.neutral { border-color: rgba(245,158,11,.22); background: linear-gradient(180deg,#fff,rgba(255,251,235,.55)); }
.home-growth-kpi-label {
  font-size: 10px;
  font-weight: 900;
  color: var(--text3);
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-kpi-value {
  margin-top: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(15px, 2.4vw, 22px);
  font-weight: 950;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-kpi.good .home-growth-kpi-value { color: var(--green); }
.home-growth-kpi.bad .home-growth-kpi-value { color: var(--red); }
.home-growth-kpi.neutral .home-growth-kpi-value { color: var(--amber); }
.home-growth-kpi-sub {
  margin-top: 5px;
  font-size: 10px;
  font-weight: 750;
  color: var(--text3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-growth-charts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.home-growth-chart-card {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px;
  background: var(--bg2);
  min-height: 220px;
  position: relative;
  overflow: hidden;
}
.home-growth-chart-title {
  font-size: 13px;
  font-weight: 900;
  color: var(--text);
  margin-bottom: 8px;
}
.home-growth-chart-card canvas {
  width: 100% !important;
  max-height: 170px;
}
.home-growth-empty {
  min-height: 170px;
  display: none;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px dashed var(--border2);
  border-radius: 14px;
  color: var(--text3);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  padding: 12px;
  background: var(--bg3);
}
.home-growth-chart-card.empty canvas { display: none !important; }
.home-growth-chart-card.empty .home-growth-empty { display: flex; }
.home-growth-insight {
  margin-top: 12px;
  border-radius: 16px;
  padding: 12px 14px;
  background: var(--green2);
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}
.home-quick-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 18px 20px;
  box-shadow: var(--shadow);
}
.home-quick-title {
  font-size: 18px;
  font-weight: 900;
  color: var(--text);
  margin-bottom: 14px;
}
.home-quick-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.home-quick-action {
  min-width: 0;
  height: 72px;
  border: 1px solid var(--border2);
  background: linear-gradient(180deg, #fff, rgba(240,253,244,.35));
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  transition: .18s ease;
  color: var(--text);
  font-family: inherit;
}
.home-quick-action:hover {
  transform: translateY(-2px);
  border-color: rgba(15,118,110,.28);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.home-quick-action svg {
  width: 18px;
  height: 18px;
  stroke: var(--green);
  stroke-width: 2.2;
  fill: none;
}
.home-quick-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.home-quick-label {
  font-size: 12px;
  font-weight: 850;
  line-height: 1.1;
  white-space: nowrap;
}
.home-alert-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.home-alert-item {
  border: 1px solid #edf3ef;
  border-radius: 16px;
  padding: 12px;
  font-size: 13px;
  font-weight: 800;
  color: #12342b;
  background: #fbfdfc;
}
.home-level-bar {
  height: 10px;
  border-radius: 999px;
  background: #e5ebe8;
  overflow: hidden;
  margin: 14px 0 10px;
}
.home-level-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#0f8a5f,#f59e0b);
  width: 0;
}
@media (max-width: 900px) {
  .home-hero-grid,
  .home-two-col {
    grid-template-columns: 1fr;
  }
  .home-growth-grid,
  .home-system-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 640px) {
  .home-command-hero {
    padding: 22px;
    border-radius: 24px;
  }
  .home-profile-pill {
    height: 32px;
    font-size: 12px;
  }
  .home-progress-card,
  .home-card {
    padding: 16px;
    border-radius: 20px;
  }
  .home-progress-meta {
    grid-template-columns: 1fr;
  }
  .home-growth-grid {
    gap: 10px;
  }
  .home-metric-card {
    min-height: 126px;
    padding: 14px;
  }
  .home-metric-value {
    font-size: clamp(17px, 5vw, 22px);
  }
  .home-growth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-growth-card {
    padding: 14px;
  }
  .home-growth-value {
    font-size: clamp(17px, 5vw, 22px);
  }
  .home-growth-head {
    flex-direction: column;
  }
  .home-growth-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-growth-charts {
    grid-template-columns: 1fr;
  }
  .home-growth-chart-card {
    min-height: 210px;
  }
  .home-quick-card {
    padding: 16px;
  }
  .home-quick-rail {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }
  .home-quick-rail::-webkit-scrollbar {
    display: none;
  }
  .home-quick-action {
    flex: 0 0 78px;
    height: 68px;
  }
  .home-quick-label {
    font-size: 11px;
  }
  .mnav-center-btn {
    display: none !important;
  }
  #tab-re,
  #tab-realestate,
  .realestate-section,
  .realestate-view {
    min-height: auto !important;
    height: auto !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  .realestate-empty-chart,
  .property-chart-placeholder,
  .asset-chart-placeholder:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
.home-goal-card,
.home-dashboard-card {
  min-width: 0;
  overflow: hidden;
}
.home-goal-number,
.home-dashboard-value {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(17px, 3vw, 26px);
  line-height: 1.15;
}
.home-goal-desc {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* HOME premium responsive polish */
html,
body {
  overflow-x: hidden;
}
.app {
  max-width: 1180px;
  padding-bottom: calc(76px + env(safe-area-inset-bottom));
}
#section-home,
#section-home *,
.home-goal-wrap,
.home-goal-wrap * {
  min-width: 0;
}
.vhtg-home {
  gap: 20px;
}
.home-command-hero {
  border: 1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.30), transparent 18%),
    radial-gradient(circle at 72% 84%, rgba(251,191,36,.20), transparent 28%),
    linear-gradient(135deg, #0f8f7e 0%, #0f766e 44%, #0b3f38 100%);
  box-shadow: 0 24px 60px rgba(15,118,110,.20), inset 0 1px 0 rgba(255,255,255,.16);
}
.home-hero-grid {
  grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr);
  align-items: stretch;
}
.home-hero-grid > div:first-child,
.home-progress-card {
  min-width: 0;
}
.home-hello {
  overflow-wrap: anywhere;
  font-size: clamp(30px, 3.2vw, 46px);
  letter-spacing: -0.035em;
}
.home-profile-pill,
.home-range-pill,
.home-goal-badge,
.home-goal-action {
  white-space: nowrap;
}
.home-progress-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(145deg, rgba(255,255,255,.20), rgba(255,255,255,.09));
  border-color: rgba(255,255,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 18px 36px rgba(4,47,46,.16);
}
.home-progress-top {
  align-items: flex-start;
}
.home-progress-money,
.home-progress-percent,
.home-progress-meta b,
.home-growth-value,
.home-growth-kpi-value,
.home-row-val,
.home-goal-number,
.home-goal-card.revenue .mini-goal-value,
.home-goal-card.streak .mini-streak-badge {
  font-family: "JetBrains Mono", monospace;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-progress-money {
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.12;
}
.home-progress-percent {
  flex: 0 0 auto;
  font-size: clamp(24px, 2.4vw, 32px);
  color: #fef3c7;
}
.home-progress-track {
  height: 9px;
  background: rgba(255,255,255,.18);
}
.home-progress-fill {
  background: linear-gradient(90deg, #facc15 0%, #34d399 100%);
}
.home-progress-meta div {
  border: 1px solid rgba(255,255,255,.13);
}
.home-ai-bar,
.home-card,
.home-growth-overview,
.home-quick-card,
.home-goal-card {
  border-color: rgba(15,118,110,.12);
  box-shadow: 0 14px 34px rgba(15,23,42,.055);
}
.home-ai-bar {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(236,253,245,.78));
}
.home-ai-icon {
  font-weight: 950;
  border: 1px solid rgba(15,118,110,.12);
}
.home-ai-text,
.home-row-sub,
.home-growth-sub,
.home-growth-kpi-sub,
.home-alert-item,
.home-goal-desc,
.home-goal-card.revenue .mini-goal-note,
.home-goal-card.streak .mini-streak-note {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}
.home-section-title {
  font-size: clamp(16px, 2vw, 21px);
}
.home-growth-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.home-growth-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 136px;
  padding: 18px 18px 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,253,244,.50));
}
.home-growth-card::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 12px;
  margin-bottom: 11px;
  background:
    linear-gradient(135deg, rgba(15,118,110,.12), rgba(212,175,55,.20)),
    radial-gradient(circle at center, rgba(15,118,110,.38) 0 26%, transparent 28%);
  border: 1px solid rgba(15,118,110,.12);
  flex: 0 0 auto;
  order: 0;
}
.home-growth-card.warn::before {
  background:
    linear-gradient(135deg, rgba(190,18,60,.10), rgba(251,191,36,.20)),
    radial-gradient(circle at center, rgba(190,18,60,.38) 0 26%, transparent 28%);
}
.home-growth-card.muted::before {
  background:
    linear-gradient(135deg, rgba(100,116,139,.10), rgba(212,175,55,.16)),
    radial-gradient(circle at center, rgba(100,116,139,.34) 0 26%, transparent 28%);
}
.home-growth-value {
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.025em;
  order: 1;
  margin-top: 0;
}
.home-growth-label {
  order: 2;
  margin-top: 10px;
  font-size: 11px;
  letter-spacing: .015em;
}
.home-growth-sub {
  order: 3;
  font-size: 11px;
  line-height: 1.4;
}
.home-growth-label,
.home-growth-kpi-label,
.home-row-title,
.home-goal-title,
.home-goal-card.revenue .mini-goal-title,
.home-goal-card.streak .mini-streak-title,
.home-quick-label,
.home-growth-chart-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-two-col {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: stretch;
}
.home-card {
  border-radius: 22px;
}
.home-momentum-row {
  grid-template-columns: 34px minmax(0,1fr) minmax(78px,auto);
  padding: 10px;
  border: 1px solid rgba(15,118,110,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.66);
}
.home-row-val {
  font-size: clamp(12px, 1.2vw, 14px);
}
.home-focus-card {
  background:
    radial-gradient(circle at 86% 16%, rgba(251,191,36,.18), transparent 24%),
    linear-gradient(135deg, #fffaf0, #ffffff 68%);
}
.home-focus-value {
  font-size: clamp(26px, 2.3vw, 34px);
  overflow-wrap: anywhere;
  letter-spacing: -0.03em;
}
.home-primary-btn {
  margin-top: 14px;
  max-width: 100%;
}
.home-goal-wrap {
  margin: 0 0 2px;
}
.home-goal-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}
.home-goal-card {
  min-height: 156px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(253,250,246,.86));
}
.home-goal-card-header {
  min-width: 0;
  gap: 8px;
}
.home-goal-title {
  padding-right: 2px;
}
.home-goal-number,
.home-goal-card.revenue .mini-goal-value,
.home-goal-card.streak .mini-streak-badge {
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.025em;
}
.home-goal-badge {
  flex: 0 0 auto;
  max-width: 104px;
}
.home-goal-footer {
  min-width: 0;
}
.home-growth-overview {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(253,250,246,.78));
}
.home-range-pills {
  scrollbar-width: none;
}
.home-range-pills::-webkit-scrollbar {
  display: none;
}
.home-growth-chart-card {
  width: 100%;
  max-width: 100%;
  min-height: 238px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.88);
}
.home-growth-chart-card canvas {
  width: 100% !important;
  height: 178px !important;
  max-width: 100% !important;
  max-height: 178px !important;
}
.home-quick-card {
  margin-bottom: 0;
}
.home-quick-action {
  min-width: 0;
  border-radius: 15px;
}
.home-quick-icon {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  background: rgba(15,118,110,.08);
  border: 1px solid rgba(15,118,110,.10);
}
.home-alert-item {
  border-color: rgba(245,158,11,.18);
  background: linear-gradient(135deg, rgba(255,251,235,.88), rgba(255,255,255,.78));
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15,23,42,.035);
}
.home-level-bar {
  height: 8px;
}
@media (min-width: 1024px) {
  .home-command-hero {
    padding: 26px 30px;
  }
  .home-progress-card {
    padding: 20px 22px;
  }
  .home-section-title {
    font-size: 18px;
    letter-spacing: -0.02em;
  }
  .home-goal-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .home-goal-card {
    min-height: 156px;
    padding: 18px;
  }
  .home-goal-title,
  .home-goal-card.revenue .mini-goal-title,
  .home-goal-card.streak .mini-streak-title {
    font-size: 12px;
    font-weight: 850;
  }
  .home-goal-number,
  .home-goal-card.revenue .mini-goal-value,
  .home-goal-card.streak .mini-streak-badge {
    font-size: clamp(22px, 1.65vw, 26px);
    line-height: 1.12;
  }
  .home-goal-desc,
  .home-goal-card.revenue .mini-goal-note,
  .home-goal-card.streak .mini-streak-note {
    font-size: 11px;
    line-height: 1.45;
  }
  .home-goal-badge {
    font-size: 10px;
    padding: 4px 8px;
    max-width: 88px;
  }
  .home-growth-card {
    min-height: 132px;
  }
  .home-growth-value {
    font-size: clamp(22px, 1.7vw, 27px);
    line-height: 1.12;
  }
  .home-focus-card {
    padding: 22px;
  }
  .home-focus-value {
    font-size: clamp(26px, 2vw, 32px);
    line-height: 1.12;
  }
  .home-momentum-row {
    min-height: 58px;
  }
  .home-row-title {
    font-size: 13px;
  }
  .home-row-sub {
    font-size: 11.5px;
  }
  .home-growth-chart-card {
    padding: 16px;
  }
}
@media (max-width: 900px) {
  .home-hero-grid,
  .home-two-col {
    grid-template-columns: 1fr;
  }
  .home-growth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .app {
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
  }
  .vhtg-home {
    gap: 14px;
  }
  .home-command-hero {
    padding: 18px;
    border-radius: 22px;
  }
  .home-hello {
    font-size: clamp(26px, 8vw, 34px);
    line-height: 1.08;
  }
  .home-eyebrow {
    font-size: 11px;
  }
  .home-profile-pills {
    gap: 7px;
    margin-top: 14px;
  }
  .home-profile-pill {
    max-width: 100%;
    height: 30px;
    padding: 0 10px;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .home-progress-card {
    padding: 14px;
    border-radius: 18px;
  }
  .home-progress-top {
    gap: 10px;
  }
  .home-progress-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }
  .home-progress-meta div {
    padding: 10px;
  }
  .home-progress-meta b {
    font-size: 12px;
  }
  .home-ai-bar {
    padding: 12px;
    gap: 10px;
    border-radius: 18px;
  }
  .home-ai-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 12px;
  }
  .home-ai-text {
    font-size: 12px;
  }
  .home-section-title,
  .home-quick-title {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .home-goal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .home-goal-card,
  .home-goal-card.compact-half {
    min-height: 138px;
    padding: 12px;
    border-radius: 16px;
  }
  .home-goal-card.full-width {
    grid-column: auto;
  }
  .home-goal-title,
  .home-goal-card.revenue .mini-goal-title,
  .home-goal-card.streak .mini-streak-title {
    font-size: 11px;
  }
  .home-goal-number,
  .home-goal-card.revenue .mini-goal-value,
  .home-goal-card.streak .mini-streak-badge {
    font-size: clamp(16px, 4vw, 20px);
  }
  .home-goal-desc,
  .home-goal-card.revenue .mini-goal-note,
  .home-goal-card.streak .mini-streak-note {
    font-size: 10.5px;
    line-height: 1.35;
  }
  .home-goal-badge,
  .home-goal-action,
  .home-goal-card button {
    max-width: 100%;
    height: 26px;
    padding: 0 8px;
    font-size: 9.5px;
  }
  .home-growth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  .home-growth-card {
    min-height: 124px;
    padding: 12px;
    border-radius: 16px;
  }
  .home-growth-card::before {
    width: 30px;
    height: 30px;
    border-radius: 11px;
    margin-bottom: 10px;
  }
  .home-growth-label {
    font-size: 9.5px;
  }
  .home-growth-value {
    font-size: clamp(17px, 5vw, 22px);
  }
  .home-growth-sub {
    font-size: 10px;
    line-height: 1.35;
  }
  .home-card,
  .home-growth-overview,
  .home-quick-card {
    padding: 14px;
    border-radius: 18px;
  }
  .home-momentum-list {
    gap: 9px;
  }
  .home-momentum-row {
    grid-template-columns: 30px minmax(0,1fr) minmax(58px,auto);
    gap: 9px;
    padding: 9px;
  }
  .home-check {
    width: 30px;
    height: 30px;
    border-radius: 11px;
  }
  .home-row-title {
    font-size: 12px;
  }
  .home-row-sub {
    font-size: 10.5px;
  }
  .home-row-val {
    font-size: 11px;
  }
  .home-focus-value {
    margin-top: 10px;
    font-size: clamp(20px, 7vw, 28px);
  }
  .home-primary-btn {
    width: 100%;
    height: 40px;
  }
  .home-growth-head {
    gap: 10px;
    margin-bottom: 12px;
  }
  .home-growth-head-sub {
    font-size: 11px;
  }
  .home-range-pills {
    width: 100%;
    margin: 0 -2px;
    padding: 0 2px 6px;
  }
  .home-range-pill {
    flex: 0 0 auto;
    padding: 7px 10px;
    font-size: 10.5px;
  }
  .home-growth-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .home-growth-kpi {
    padding: 10px;
    border-radius: 13px;
  }
  .home-growth-kpi-value {
    font-size: clamp(15px, 4.6vw, 20px);
  }
  .home-growth-charts {
    display: flex;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin: 0 -14px;
    padding: 0 14px 8px;
  }
  .home-growth-charts::-webkit-scrollbar {
    display: none;
  }
  .home-growth-chart-card {
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: start;
    min-height: 218px;
    padding: 12px;
  }
  .home-growth-chart-card canvas {
    height: 168px !important;
    max-height: 168px !important;
  }
  .home-quick-rail {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding: 2px 2px 6px;
    scroll-snap-type: x proximity;
  }
  .home-quick-action {
    flex: 0 0 76px;
    min-width: 76px;
    height: 72px;
    scroll-snap-align: start;
  }
  .home-quick-label {
    width: 100%;
    padding: 0 4px;
    font-size: 10.5px;
    text-align: center;
  }
  .home-alert-item {
    padding: 10px;
    font-size: 11.5px;
  }
}
@media (max-width: 380px) {
  .home-goal-grid,
  .home-growth-grid,
  .home-growth-kpis {
    gap: 8px;
  }
  .home-goal-card,
  .home-growth-card {
    padding: 10px;
  }
  .home-progress-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .home-progress-percent {
    font-size: 22px;
  }
}

/* HOME journey redesign */
.home-journey{
  gap:22px;
  padding-bottom:calc(22px + env(safe-area-inset-bottom));
}
.home-journey,
.home-journey *{min-width:0}
.journey-hero{
  position:relative;
  overflow:visible;
  border-radius:32px;
  padding:28px 28px 32px;
  border:1px solid rgba(15,118,110,.10);
  background:
    radial-gradient(circle at 82% 14%,rgba(56,189,248,.16),transparent 26%),
    radial-gradient(circle at 8% 0%,rgba(187,247,208,.45),transparent 28%),
    linear-gradient(135deg,#f8fffc 0%,#edfdf7 46%,#f8fbff 100%);
  box-shadow:0 22px 54px rgba(15,76,69,.10);
}
.journey-settings-btn{
  position:absolute;
  top:18px;
  right:18px;
  z-index:5;
  height:38px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.16);
  background:rgba(255,255,255,.76);
  color:#0f766e;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,76,69,.10);
  backdrop-filter:blur(14px);
}
.journey-hero-main{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
  gap:28px;
  align-items:start;
}
.journey-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:8px 0 6px;
  overflow:visible;
}
.journey-kicker{
  font-size:15px;
  font-weight:800;
  color:#23423b;
  margin-bottom:8px;
}
.journey-title{
  margin:0;
  max-width:620px;
  font-size:clamp(30px,2.7vw,42px);
  line-height:1.06;
  letter-spacing:-.045em;
  font-weight:950;
  color:#073b33;
}
.journey-subtitle{
  margin-top:12px;
  font-size:16px;
  line-height:1.5;
  font-weight:750;
  color:#496861;
}
.journey-main-stat{
  margin-top:20px;
  display:grid;
  gap:6px;
  overflow:visible;
}
.journey-main-stat span,
.journey-progress-top span,
.journey-metric small,
.home-today-card small{
  font-size:13px;
  font-weight:850;
  color:#47645e;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.journey-main-stat strong{
  font-family:"JetBrains Mono",monospace;
  font-size:clamp(28px,2.45vw,38px);
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:950;
  color:#07813f;
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
}
.journey-progress{
  margin-top:14px;
  max-width:520px;
  padding-bottom:10px;
  overflow:visible;
}
.journey-progress-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.journey-progress-top b,
.journey-progress-top strong,
.journey-goal-chip b{color:#07813f}
.journey-progress-top strong{
  flex:0 0 auto;
  font-family:"JetBrains Mono",monospace;
  font-size:18px;
  font-weight:950;
}
.journey-progress-track{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(15,118,110,.12);
  box-shadow:inset 0 1px 2px rgba(15,76,69,.10);
}
.journey-progress-fill{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#1fbf55,#0f9f75);
  box-shadow:0 0 22px rgba(34,197,94,.36);
  transition:width .7s cubic-bezier(.2,.9,.2,1);
}
.journey-goal-chip{
  display:inline-flex;
  max-width:100%;
  margin-top:14px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.12);
  background:rgba(255,255,255,.72);
  color:#33534c;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
}
.journey-visual{
  position:relative;
  min-height:286px;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.60)),
    linear-gradient(135deg,#dff8f0 0%,#f7fbff 48%,#d7f6df 100%);
}
.journey-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 22%,rgba(255,255,255,.95),transparent 12%),
    linear-gradient(180deg,rgba(125,211,252,.20),transparent 46%);
}
.journey-sun{
  position:absolute;
  width:82px;
  height:82px;
  border-radius:50%;
  right:16%;
  top:12%;
  background:rgba(255,255,255,.85);
  filter:blur(.2px);
  box-shadow:0 0 64px rgba(255,255,255,.95);
}
.journey-city{
  position:absolute;
  left:8%;
  right:18%;
  bottom:28%;
  height:78px;
  opacity:.20;
  background:linear-gradient(to top,rgba(15,76,69,.50) 0 42%,transparent 42%);
  clip-path:polygon(0 100%,0 62%,5% 62%,5% 40%,9% 40%,9% 70%,13% 70%,13% 30%,18% 30%,18% 58%,24% 58%,24% 44%,30% 44%,30% 72%,38% 72%,38% 35%,44% 35%,44% 65%,52% 65%,52% 48%,60% 48%,60% 74%,70% 74%,70% 38%,77% 38%,77% 68%,84% 68%,84% 55%,100% 55%,100% 100%);
}
.journey-visual .journey-road{
  position:absolute;
  left:-6%;
  right:-12%;
  bottom:20px;
  height:138px;
  border-radius:55% 45% 0 0;
  background:linear-gradient(115deg,rgba(255,255,255,.44),rgba(15,118,110,.18));
  transform:skewY(-5deg);
}
.journey-visual .journey-road::after{
  content:"";
  position:absolute;
  left:8%;
  right:6%;
  top:34px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#fff,transparent);
  opacity:.85;
}
.journey-glow{
  position:absolute;
  left:24%;
  right:8%;
  bottom:88px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(34,197,94,.75),rgba(15,118,110,.34),transparent);
  filter:blur(7px);
  animation:journeyGlow 2.6s ease-in-out infinite;
}
.journey-runner{
  position:absolute;
  right:25%;
  bottom:110px;
  font-size:64px;
  filter:drop-shadow(0 14px 20px rgba(15,76,69,.22));
  animation:journeyRunner 3.4s ease-in-out infinite;
}
.journey-quote{
  position:absolute;
  right:22px;
  bottom:28px;
  max-width:210px;
  padding:13px 15px;
  border-radius:18px;
  background:rgba(7,59,51,.72);
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  backdrop-filter:blur(12px);
}
.journey-metrics{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:18px;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(15,118,110,.10);
  background:rgba(255,255,255,.74);
  box-shadow:0 18px 38px rgba(15,76,69,.08);
  backdrop-filter:blur(16px);
}
.journey-metric{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:4px 18px;
  border-right:1px solid rgba(15,118,110,.10);
  cursor:pointer;
}
.journey-metric:last-child{border-right:none}
.journey-metric-icon{
  width:44px;
  height:44px;
  border-radius:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  font-size:18px;
}
.journey-metric-icon.purple{background:#f0eaff;color:#7c3aed}
.journey-metric-icon.fire{background:#fff1e6;color:#f97316}
.journey-metric-icon.green{background:#e8f8ee;color:#0f8f4d}
.journey-metric b{
  display:block;
  margin-top:4px;
  font-family:"JetBrains Mono",monospace;
  font-size:20px;
  line-height:1.12;
  font-weight:950;
  color:#073b33;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.journey-metric em{
  display:block;
  margin-top:4px;
  font-size:11px;
  font-weight:750;
  color:#66817a;
  font-style:normal;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.journey-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.journey-section-head h2{
  margin:0;
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:950;
  color:#073b33;
}
.journey-section-head span{
  color:#5d766f;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.journey-section-head button{
  height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.12);
  background:#f5fff9;
  color:#07813f;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.journey-roadmap,
.home-today-section,
.home-feed-card{
  border-radius:28px;
  border:1px solid rgba(15,118,110,.08);
  background:rgba(255,255,255,.70);
  box-shadow:0 18px 42px rgba(15,76,69,.06);
  padding:22px;
}
.journey-roadmap .journey-road{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:18px;
  overflow-x:auto;
  padding:20px 4px 4px;
  scrollbar-width:none;
}
.journey-roadmap .journey-road::-webkit-scrollbar{display:none}
.journey-road-line{
  position:absolute;
  left:52px;
  right:52px;
  top:50px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#31c660,#9fd994,#dfe9e5);
  opacity:.88;
}
.journey-step{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  text-align:center;
  gap:8px;
  padding:0 6px;
}
.journey-step span{
  width:58px;
  height:58px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(15,118,110,.14);
  box-shadow:0 10px 24px rgba(15,76,69,.12);
  font-size:25px;
}
.journey-step.active span{
  border:3px solid #22c55e;
  box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(34,197,94,.22);
}
.journey-step.passed span{
  border-color:rgba(34,197,94,.34);
  background:#f0fdf4;
  color:#07813f;
}
.journey-step b{
  color:#073b33;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.journey-step.active b,
.journey-step.passed b,
.journey-step.finish b{color:#07813f}
.journey-step small{
  color:#58736c;
  font-size:12px;
  font-weight:700;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-today-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.home-today-filter{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  padding:5px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.10);
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(15,76,69,.06);
}
.home-today-filter-btn{
  height:30px;
  min-width:58px;
  padding:0 11px;
  border:none;
  border-radius:999px;
  background:transparent;
  color:#496861;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.home-today-filter-btn.active{
  color:#fff;
  background:linear-gradient(135deg,#0f9f75,#16a34a);
  box-shadow:0 8px 18px rgba(22,163,74,.18);
}
.home-today-card{
  min-height:164px;
  border:1px solid rgba(15,118,110,.09);
  border-radius:24px;
  padding:18px;
  background:linear-gradient(180deg,#fff,rgba(246,253,249,.78));
  box-shadow:0 14px 30px rgba(15,76,69,.07);
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  transition:transform .18s ease,box-shadow .18s ease;
}
.home-today-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(15,76,69,.11);
}
.home-today-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:950;
  margin-bottom:18px;
}
.home-today-card.green .home-today-icon{background:#e7f8ee;color:#0f8f4d}
.home-today-card.orange .home-today-icon{background:#fff4e5;color:#f59e0b}
.home-today-card.purple .home-today-icon{background:#f0eaff;color:#7c3aed}
.home-today-card.blue .home-today-icon{background:#e8f2ff;color:#2563eb}
.home-today-card b{
  display:block;
  margin-top:10px;
  font-family:"JetBrains Mono",monospace;
  font-size:clamp(18px,1.5vw,24px);
  line-height:1.12;
  font-weight:950;
  color:#07813f;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-today-card.orange b{color:#e88b00}
.home-today-card.purple b{color:#6d28d9}
.home-today-card.blue b{color:#2563eb}
.home-today-card em{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:7px;
  color:#526f68;
  font-size:12px;
  font-weight:750;
  line-height:1.45;
  font-style:normal;
}
.journey-action-row{
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)!important;
}
.home-feed-list{
  display:grid;
}
.home-feed-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:66px;
  border-bottom:1px solid rgba(15,118,110,.08);
}
.home-feed-item:last-child{border-bottom:none}
.home-feed-item>span{
  width:38px;
  height:38px;
  border-radius:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e8f8ee;
  color:#0f8f4d;
  font-size:18px;
  font-weight:950;
}
.home-feed-item b,
.home-feed-item small,
.home-feed-item em{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-feed-item b{
  display:block;
  color:#173f36;
  font-size:14px;
  font-weight:900;
}
.home-feed-item small{
  display:block;
  margin-top:3px;
  color:#36564e;
  font-size:13px;
  font-weight:750;
}
.home-feed-item em{
  color:#6d817c;
  font-size:12px;
  font-style:normal;
  font-weight:750;
}
.home-feed-empty{
  padding:18px;
  border-radius:20px;
  background:#f5fff9;
  border:1px dashed rgba(15,118,110,.18);
}
.home-feed-empty b{display:block;color:#073b33;font-weight:950;margin-bottom:5px}
.home-feed-empty span{color:#5b766f;font-size:13px;font-weight:750;line-height:1.5}
@keyframes journeyGlow{0%,100%{opacity:.72;transform:translateX(-8px)}50%{opacity:1;transform:translateX(10px)}}
@keyframes journeyRunner{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@media(max-width:900px){
  .journey-hero-main{grid-template-columns:1fr}
  .journey-visual{min-height:230px}
  .journey-metrics{grid-template-columns:1fr;gap:10px}
  .journey-metric{border-right:none;border-bottom:1px solid rgba(15,118,110,.08);padding:8px}
  .journey-metric:last-child{border-bottom:none}
  .home-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .journey-action-row{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .home-journey{gap:16px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .journey-hero{border-radius:26px;padding:18px}
  .journey-settings-btn{top:14px;right:14px;height:32px;padding:0 12px;font-size:11px}
  .journey-title{font-size:30px;line-height:1.1;padding-right:72px}
  .journey-subtitle{font-size:13px;margin-top:8px}
  .journey-main-stat{margin-top:20px}
  .journey-main-stat strong{font-size:30px}
  .journey-progress-top{align-items:flex-start;flex-direction:column;gap:6px}
  .journey-goal-chip{width:100%;font-size:12px;border-radius:16px;white-space:normal}
  .journey-visual{min-height:150px;border-radius:22px;margin-top:8px}
  .journey-runner{font-size:42px;right:18px;bottom:58px;z-index:4}
  .journey-glow{left:22%;right:0;bottom:64px;z-index:3}
  .journey-city{bottom:18%;height:58px}
  .journey-visual .journey-road{height:94px;bottom:8px}
  .journey-quote{display:none}
  .journey-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
    gap:0;
    margin-top:14px;
    padding:10px 8px;
    border-radius:22px;
  }
  .journey-metrics::-webkit-scrollbar{display:none}
  .journey-metric{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:6px;
    min-width:0;
    padding:6px 4px;
    border:none;
    border-right:1px solid rgba(15,118,110,.08);
    border-radius:0;
    background:transparent;
  }
  .journey-metric:last-child{border-right:none}
  .journey-metric-icon{width:34px;height:34px;border-radius:13px;font-size:14px}
  .journey-metric small{font-size:10px;max-width:100%}
  .journey-metric b{font-size:clamp(13px,3.7vw,16px);max-width:100%}
  .journey-metric em{font-size:9.5px;max-width:100%}
  .journey-section-head{align-items:flex-start;flex-direction:column;gap:6px}
  .journey-section-head h2{font-size:20px}
  .journey-section-head span{white-space:normal;font-size:12px}
  .journey-roadmap,.home-today-section,.home-feed-card{border-radius:24px;padding:16px}
  .journey-roadmap .journey-road{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    overflow:visible;
    padding:10px 0 0;
  }
  .journey-road-line{display:none}
  .journey-step{
    min-height:122px;
    padding:12px 9px;
    border:1px solid rgba(15,118,110,.10);
    border-radius:20px;
    background:rgba(255,255,255,.72);
    box-shadow:0 8px 20px rgba(15,76,69,.05);
  }
  .journey-step:nth-child(4){transform:translateY(16px)}
  .journey-step:nth-child(6){grid-column:1/-1;max-width:62%;justify-self:center;margin-top:10px}
  .journey-step span{width:46px;height:46px;font-size:20px}
  .journey-step b{font-size:12.5px}
  .journey-step small{font-size:10.5px;-webkit-line-clamp:2}
  .home-today-section .journey-section-head{gap:10px}
  .home-today-filter{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px}
  .home-today-filter-btn{min-width:0;width:100%;height:30px;padding:0 5px;font-size:10.5px}
  .home-today-grid{
    display:grid!important;
    overflow:visible;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding-bottom:6px;
  }
  .home-today-grid::-webkit-scrollbar{display:none}
  .home-today-card{
    min-height:128px;
    padding:12px;
    border-radius:18px;
  }
  .home-today-icon{width:34px;height:34px;border-radius:13px;margin-bottom:10px}
  .home-today-card small{font-size:10.5px}
  .home-today-card b{font-size:clamp(15px,4vw,18px);letter-spacing:-.02em}
  .home-today-card em{font-size:10.5px;-webkit-line-clamp:2}
  .home-feed-item{grid-template-columns:38px minmax(0,1fr) auto;gap:10px}
  .home-feed-item>span{width:34px;height:34px;border-radius:13px}
  .home-feed-item b{font-size:13px}
  .home-feed-item small,.home-feed-item em{font-size:11px}
}

/* HOME lower journey panels */
.growth-journey-panel,.quick-action-panel,.signal-panel,.level-journey-card{
  border-radius:28px!important;
  border:1px solid rgba(15,118,110,.09)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(242,253,248,.76))!important;
  box-shadow:0 18px 42px rgba(15,76,69,.065)!important;
}
.growth-journey-panel{padding:22px!important}
.growth-filter-chips{padding:5px;border-radius:999px;background:rgba(255,255,255,.74);border:1px solid rgba(15,118,110,.10)}
.growth-filter-chips .home-range-pill{height:32px;border:none;background:transparent;color:#496861;font-size:11px;font-weight:900;padding:0 12px}
.growth-filter-chips .home-range-pill.active{background:linear-gradient(135deg,#0f9f75,#16a34a);color:#fff;box-shadow:0 8px 18px rgba(22,163,74,.18)}
.growth-metric-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.growth-metric-card{position:relative;border-radius:20px!important;padding:14px!important;background:#fff!important;border:1px solid rgba(15,118,110,.09)!important;box-shadow:0 10px 26px rgba(15,76,69,.055)!important}
.growth-metric-icon{width:34px;height:34px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#e8f8ee;color:#0f8f4d;font-weight:950;margin-bottom:10px}
.growth-metric-card.bad .growth-metric-icon{background:#fff1f2;color:#be123c}
.growth-metric-card.neutral .growth-metric-icon{background:#f3f7f5;color:#64756f}
.growth-metric-card .home-growth-kpi-label{font-size:11px;text-transform:none;color:#36564e}
.growth-metric-card .home-growth-kpi-value{font-size:clamp(18px,1.55vw,24px);line-height:1.12}
.growth-metric-card .home-growth-kpi-sub{font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.growth-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.growth-chart-card{border-radius:20px!important;padding:14px!important;background:#fff!important;border:1px solid rgba(15,118,110,.10)!important;box-shadow:0 10px 26px rgba(15,76,69,.045)}
.growth-chart-card canvas{height:176px!important;max-height:176px!important}
.growth-insight-bar{border-radius:18px!important;background:#ecfdf5!important;color:#0b6f52!important;border:1px solid rgba(15,118,110,.10);font-size:13px!important}
.quick-action-panel{padding:20px!important}
.quick-action-panel .home-quick-title{font-size:20px;color:#073b33}
.quick-action-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.quick-action-card,.quick-action-grid .home-quick-action{height:86px!important;border-radius:20px!important;background:#fff!important;border:1px solid rgba(15,118,110,.10)!important;box-shadow:0 10px 24px rgba(15,76,69,.045)}
.quick-action-grid .home-quick-action:first-child,.quick-action-grid .home-quick-action:last-child{background:linear-gradient(180deg,#f4fff8,#fff)!important;border-color:rgba(15,118,110,.18)!important}
.quick-action-grid .home-quick-icon{width:38px;height:38px;border-radius:16px;background:#e8f8ee}
.quick-action-grid .home-quick-label{font-size:12px;color:#173f36}
.signal-panel,.level-journey-card{padding:20px!important}
.signal-list{gap:9px!important}
.signal-item{display:grid!important;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;border:none!important;border-radius:16px!important;padding:12px!important;background:#fff!important;color:#173f36!important;box-shadow:none!important}
.signal-item span{width:34px;height:34px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:#fff7ed}
.signal-item.danger span{background:#fff1f2}
.signal-item.ok span{background:#ecfdf5}
.signal-item b{font-size:13px;line-height:1.45;font-weight:850;white-space:normal;overflow-wrap:anywhere}
.level-progress-track{position:relative;height:10px!important;margin:18px 0 8px!important;border-radius:999px;background:#dceee8!important;overflow:visible!important}
.level-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f9f75,#22c55e)!important}
.level-flag{position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(15,118,110,.12);box-shadow:0 8px 18px rgba(15,76,69,.10);font-size:14px}
.level-label-row{display:flex;justify-content:space-between;gap:12px;color:#6b817a;font-size:11px;font-weight:800;margin-bottom:8px}
.home-bottom-grid{align-items:stretch}

/* Desktop polish for journey header */
@media(min-width:1024px){
  .journey-title{font-size:clamp(30px,2.35vw,38px)}
  .journey-main-stat strong{font-size:clamp(26px,2.05vw,34px)}
  .journey-progress-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .journey-progress-top span{white-space:normal;line-height:1.35}
  .journey-goal-chip{font-size:12px;padding:8px 12px}
  .journey-metric b{font-size:17px;letter-spacing:-.025em}
}

/* Mobile refinement: compact metrics and dot timeline */
@media(max-width:640px){
  .journey-hero{padding:18px 14px 18px;border-radius:24px}
  .journey-title{font-size:clamp(28px,8vw,34px);padding-right:58px}
  .journey-main-stat strong{font-size:clamp(28px,8vw,34px)}
  .journey-progress-top span{white-space:normal;line-height:1.35}
  .journey-progress-track{height:8px}
  .journey-visual{min-height:126px;opacity:.86}
  .journey-runner{font-size:34px;right:16px;bottom:48px}
  .journey-metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 4px;margin-top:12px}
  .journey-metric{gap:5px;padding:5px 3px}
  .journey-metric-icon{width:28px;height:28px;border-radius:11px;font-size:12px}
  .journey-metric small{font-size:9.5px;font-weight:800}
  .journey-metric b{font-size:clamp(11px,3.15vw,14px);line-height:1.15;letter-spacing:-.035em}
  .journey-metric em{font-size:8.8px;line-height:1.2}
  .journey-roadmap{padding:16px!important}
  .journey-roadmap .journey-road{display:grid;grid-template-columns:1fr!important;gap:0!important;padding:8px 0 0 0!important;overflow:visible}
  .journey-roadmap .journey-road::before{content:"";position:absolute;left:18px;top:20px;bottom:20px;width:2px;background:linear-gradient(#22c55e,#cfe9df);border-radius:999px}
  .journey-step,.journey-step:nth-child(4),.journey-step:nth-child(6){transform:none!important;grid-column:auto!important;max-width:none!important;justify-self:stretch!important;margin:0!important;min-height:auto!important;display:grid;grid-template-columns:38px minmax(0,1fr);justify-items:start;text-align:left;gap:8px;padding:8px 0 8px 0!important;border:none!important;background:transparent!important;box-shadow:none!important}
  .journey-step span{width:36px!important;height:36px!important;font-size:15px!important;border-width:1px!important;z-index:2}
  .journey-step.active span{animation:journeyPulse 1.8s ease-in-out infinite;border-width:2px!important;box-shadow:0 0 0 7px rgba(34,197,94,.10)!important}
  .journey-step b{font-size:12.5px!important;margin-top:2px}
  .journey-step small{font-size:10.8px!important;line-height:1.35!important;text-align:left!important}
  .growth-journey-panel,.quick-action-panel,.signal-panel,.level-journey-card{border-radius:24px!important;padding:16px!important}
  .growth-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .growth-metric-card{padding:12px!important;border-radius:18px!important}
  .growth-metric-card .home-growth-kpi-value{font-size:17px}
  .growth-chart-grid{grid-template-columns:1fr!important}
  .growth-chart-card canvas{height:210px!important;max-height:210px!important}
  .quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  .quick-action-grid .home-quick-action{height:76px!important}
  .quick-action-grid .home-quick-label{font-size:11px}
  .home-bottom-grid{grid-template-columns:1fr!important}
}
@keyframes journeyPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* Final HOME refinement: unified mint identity, compact hero, curved journey road */
:root{
  --font-xs:12px;
  --font-sm:13px;
  --font-md:14px;
  --font-lg:16px;
  --font-xl:22px;
  --font-xxl:30px;
}
#section-home,
#section-home .home-journey{
  --home-teal:#0f766e;
  --home-deep:#073b33;
  --home-green:#16a34a;
  --home-mint:#ecfdf5;
  --home-border:rgba(15,118,110,.12);
  --home-shadow:0 16px 38px rgba(15,76,69,.075);
}
#section-home .journey-hero{
  padding:24px 28px 26px!important;
  border-color:var(--home-border)!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(125,211,252,.14),transparent 24%),
    radial-gradient(circle at 10% 4%,rgba(187,247,208,.36),transparent 26%),
    linear-gradient(135deg,#f9fffc 0%,#eefdf7 52%,#f7fbff 100%)!important;
  box-shadow:var(--home-shadow)!important;
}
#section-home .journey-hero-main{
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr)!important;
  gap:22px!important;
  align-items:start!important;
}
#section-home .journey-copy{padding-top:4px!important}
#section-home .journey-kicker{font-size:13px!important;margin-bottom:7px!important;color:#17443c!important}
#section-home .journey-title{
  max-width:100%!important;
  font-size:clamp(27px,2.05vw,34px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:var(--home-deep)!important;
}
#section-home .journey-subtitle{font-size:14px!important;margin-top:9px!important;color:#3f5f58!important}
#section-home .journey-main-stat{margin-top:16px!important;gap:5px!important}
#section-home .journey-main-stat span,
#section-home .journey-progress-top span,
#section-home .journey-metric small,
#section-home .home-today-card small{font-weight:800!important;color:#415f58!important}
#section-home .journey-main-stat strong{
  font-size:clamp(25px,2vw,32px)!important;
  color:#07813f!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-progress{
  position:relative!important;
  z-index:4!important;
  margin-top:12px!important;
  padding-bottom:0!important;
  max-width:100%!important;
}
#section-home .journey-progress-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:8px!important;
}
#section-home .journey-progress-top span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-progress-track{height:8px!important;background:rgba(15,118,110,.11)!important}
#section-home .journey-goal-chip{
  position:relative!important;
  z-index:5!important;
  margin-top:10px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 18px rgba(15,76,69,.055)!important;
  font-size:12px!important;
  line-height:1.28!important;
}
#section-home .journey-visual{
  min-height:220px!important;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.58)),
    linear-gradient(135deg,#dff8f0 0%,#f8fbff 52%,#dcf8e8 100%)!important;
}
#section-home .journey-visual .journey-road{height:112px!important;bottom:10px!important}
#section-home .journey-glow{bottom:72px!important}
#section-home .journey-runner{
  right:22%!important;
  bottom:82px!important;
  font-size:48px!important;
  z-index:7!important;
}
#section-home .journey-quote{
  right:18px!important;
  bottom:18px!important;
  max-width:184px!important;
  padding:10px 12px!important;
  font-size:11px!important;
}
#section-home .journey-metrics{
  margin-top:16px!important;
  padding:12px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid var(--home-border)!important;
}
#section-home .journey-metric{gap:10px!important;padding:8px 10px!important}
#section-home .journey-metric-icon.green,
#section-home .journey-metric-icon.purple,
#section-home .journey-metric-icon.fire{
  background:#e8f8ee!important;
  color:#0f766e!important;
}
#section-home .journey-metric b{
  font-size:clamp(15px,1.35vw,18px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-metric em{
  font-size:10px!important;
  line-height:1.25!important;
  color:#60766f!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-roadmap{
  overflow:hidden!important;
  border-color:var(--home-border)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,254,251,.82))!important;
  box-shadow:var(--home-shadow)!important;
}
#section-home .journey-roadmap .journey-road{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start!important;
  padding:46px 0 4px!important;
  overflow:visible!important;
}
#section-home .journey-roadmap .journey-road::before{display:none!important}
#section-home .journey-road-line{
  display:block!important;
  position:absolute!important;
  left:4%!important;
  right:4%!important;
  top:43px!important;
  height:34px!important;
  border-top:6px solid rgba(34,197,94,.23)!important;
  border-radius:50% 50% 0 0!important;
  transform:skewY(-3deg)!important;
  background:none!important;
  z-index:0!important;
}
#section-home .journey-road-line::after{
  content:"";
  position:absolute;
  inset:-6px 0 auto 0;
  height:6px;
  border-top:2px dashed rgba(15,118,110,.14);
  border-radius:50%;
}
#section-home .journey-step{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  justify-items:center!important;
  text-align:center!important;
  gap:7px!important;
  min-height:92px!important;
  padding:0 6px!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  margin:0!important;
  max-width:none!important;
}
#section-home .journey-step:nth-child(3),
#section-home .journey-step:nth-child(5){transform:translateY(16px)!important}
#section-home .journey-step:nth-child(4),
#section-home .journey-step:nth-child(6){transform:translateY(-10px)!important}
#section-home .journey-step span{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  font-size:17px!important;
  border:1px solid rgba(15,118,110,.14)!important;
  background:#fff!important;
  box-shadow:0 10px 22px rgba(15,76,69,.08)!important;
}
#section-home .journey-step.passed span{background:#ecfdf5!important;border-color:rgba(34,197,94,.24)!important}
#section-home .journey-step.active span{
  border:3px solid #20bf55!important;
  background:#f4fff8!important;
  animation:journeyPulse 1.8s ease-in-out infinite!important;
  box-shadow:0 0 0 9px rgba(34,197,94,.11),0 12px 26px rgba(15,118,110,.16)!important;
}
#section-home .journey-step.active b{color:#07813f!important}
#section-home .journey-step b{
  font-size:12px!important;
  line-height:1.2!important;
  color:#0b5449!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
#section-home .journey-step small{
  font-size:10px!important;
  line-height:1.35!important;
  color:#486760!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  max-width:150px!important;
}
#section-home .home-today-card b{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  letter-spacing:-.025em!important;
}
#section-home .home-today-card.green .home-today-icon,
#section-home .home-today-card.orange .home-today-icon,
#section-home .home-today-card.purple .home-today-icon,
#section-home .home-today-card.blue .home-today-icon{
  background:#e8f8ee!important;
  color:#0f766e!important;
}

@media(max-width:900px){
  #section-home .journey-hero-main{grid-template-columns:1fr!important;gap:12px!important}
  #section-home .journey-visual{min-height:150px!important}
  #section-home .journey-runner{right:14%!important;bottom:54px!important;font-size:36px!important}
  #section-home .journey-glow{bottom:54px!important}
}
@media(max-width:640px){
  #section-home .home-journey{gap:14px!important;padding-bottom:calc(98px + env(safe-area-inset-bottom))!important}
  #section-home .journey-hero{padding:16px 14px 16px!important;border-radius:24px!important}
  #section-home .journey-settings-btn{height:30px!important;padding:0 10px!important;font-size:10px!important;top:12px!important;right:12px!important}
  #section-home .journey-kicker{font-size:12px!important;padding-right:76px!important;margin-bottom:7px!important}
  #section-home .journey-title{
    font-size:clamp(22px,6.2vw,27px)!important;
    padding-right:0!important;
    max-width:100%!important;
  }
  #section-home .journey-subtitle{font-size:12px!important;line-height:1.35!important}
  #section-home .journey-main-stat{margin-top:13px!important}
  #section-home .journey-main-stat span{font-size:11px!important}
  #section-home .journey-main-stat strong{font-size:clamp(24px,7vw,30px)!important}
  #section-home .journey-progress{margin-top:10px!important}
  #section-home .journey-progress-top{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    margin-bottom:7px!important;
  }
  #section-home .journey-progress-top span{font-size:10.5px!important}
  #section-home .journey-progress-top strong{font-size:13px!important}
  #section-home .journey-goal-chip{
    width:auto!important;
    max-width:100%!important;
    padding:7px 10px!important;
    border-radius:14px!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #section-home .journey-visual{min-height:108px!important;margin-top:6px!important;border-radius:18px!important;opacity:.9!important}
  #section-home .journey-visual .journey-road{height:70px!important;bottom:2px!important}
  #section-home .journey-city{height:42px!important;bottom:19%!important}
  #section-home .journey-runner{font-size:28px!important;right:10px!important;bottom:36px!important}
  #section-home .journey-glow{left:24%!important;right:2%!important;bottom:39px!important;height:12px!important}
  #section-home .journey-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    padding:7px 4px!important;
    margin-top:10px!important;
    border-radius:18px!important;
  }
  #section-home .journey-metric{gap:4px!important;padding:4px 3px!important}
  #section-home .journey-metric-icon{width:24px!important;height:24px!important;border-radius:10px!important;font-size:10px!important}
  #section-home .journey-metric small{font-size:12px!important;line-height:1.15!important}
  #section-home .journey-metric b{font-size:clamp(14px,3.6vw,16px)!important;line-height:1.08!important}
  #section-home .journey-metric em{font-size:12px!important;line-height:1.15!important}
  #section-home .journey-section-head h2{font-size:19px!important}
  #section-home .journey-section-head span{font-size:11px!important}
  #section-home .journey-roadmap{padding:14px!important;border-radius:22px!important}
  #section-home .journey-roadmap .journey-road{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px!important;
    padding:34px 0 6px!important;
    min-height:118px!important;
  }
  #section-home .journey-road-line{
    left:6%!important;
    right:6%!important;
    top:34px!important;
    height:24px!important;
    border-top-width:4px!important;
    transform:skewY(-4deg)!important;
  }
  #section-home .journey-step,
  #section-home .journey-step:nth-child(3),
  #section-home .journey-step:nth-child(4),
  #section-home .journey-step:nth-child(5),
  #section-home .journey-step:nth-child(6){
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
    gap:4px!important;
    min-height:66px!important;
    padding:0 1px!important;
    transform:none!important;
    grid-column:auto!important;
    justify-self:stretch!important;
  }
  #section-home .journey-step:nth-child(3),
  #section-home .journey-step:nth-child(5){transform:translateY(12px)!important}
  #section-home .journey-step:nth-child(4),
  #section-home .journey-step:nth-child(6){transform:translateY(-7px)!important}
  #section-home .journey-step span{width:28px!important;height:28px!important;font-size:12px!important}
  #section-home .journey-step.active span{border-width:2px!important;box-shadow:0 0 0 6px rgba(34,197,94,.10)!important}
  #section-home .journey-step b{font-size:12px!important;line-height:1.15!important}
  #section-home .journey-step small{display:none!important}
  #section-home .home-today-card{min-height:106px!important;padding:10px!important}
  #section-home .home-today-icon{width:28px!important;height:28px!important;border-radius:11px!important;margin-bottom:8px!important}
  #section-home .home-today-card small{font-size:12px!important}
  #section-home .home-today-card b{font-size:clamp(16px,4.2vw,19px)!important}
  #section-home .home-today-card em{font-size:12px!important;line-height:1.25!important}
}

/* Investment list cards */
.investment-list{display:grid;gap:12px;margin-top:16px!important}
.investment-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:2px}
.investment-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.investment-summary-strip>div{min-width:0;border:1px solid rgba(15,118,110,.10);background:linear-gradient(180deg,#fff,#f5fffa);border-radius:16px;padding:12px 14px}
.investment-summary-strip span,.investment-sort span,.investment-meta-grid span,.investment-current-value span{display:block;color:#5b706a;font-size:var(--font-sm);font-weight:700;line-height:1.25}
.investment-summary-strip b{display:block;margin-top:5px;color:#073b33;font-family:'JetBrains Mono',monospace;font-size:var(--font-lg);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.investment-sort{display:flex;align-items:center;gap:8px;border:1px solid rgba(15,118,110,.10);background:#fff;border-radius:999px;padding:8px 10px;white-space:nowrap}
.investment-sort select{border:0;background:transparent;color:#073b33;font-family:inherit;font-size:var(--font-sm);font-weight:800;outline:none}
.investment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid rgba(15,118,110,.11);background:#fff;border-radius:20px;padding:16px 16px 14px;box-shadow:0 10px 26px rgba(15,76,69,.055);min-width:0}
.investment-card:hover{border-color:rgba(15,118,110,.22);box-shadow:0 16px 34px rgba(15,76,69,.08)}
.investment-card-main{min-width:0;display:grid;gap:9px}
.investment-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.investment-symbol-row{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.investment-symbol{font-size:18px;font-weight:900;color:#073b33;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.investment-exchange-badge,.investment-status-badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:var(--font-xs);font-weight:850;line-height:1;white-space:nowrap}
.investment-exchange-badge{background:#eefaf5;color:#0f766e;border:1px solid rgba(15,118,110,.12)}
.investment-exchange-badge.soft{background:#f5f8f7;color:#536962}
.investment-status-badge.up{background:#ecfdf5;color:#059669}
.investment-status-badge.down{background:#fff1f2;color:#dc2626}
.investment-status-badge.neutral{background:#f3f4f6;color:#6b7280}
.investment-status-badge.unknown{background:#fff7ed;color:#c2410c}
.investment-current-value{text-align:right;min-width:150px}
.investment-current-value b{display:block;margin-top:4px;color:#073b33;font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:950;white-space:nowrap}
.investment-line{color:#425e57;font-size:var(--font-md);font-weight:650;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.investment-pl{font-family:'JetBrains Mono',monospace;font-weight:900;white-space:nowrap}
.investment-pl.up,.investment-summary-strip .up,.investment-meta-grid .up{color:#059669!important}
.investment-pl.down,.investment-summary-strip .dn,.investment-meta-grid .dn{color:#dc2626!important}
.investment-pl.neutral,.investment-summary-strip .neu,.investment-meta-grid .neu{color:#6b7280!important}
.investment-meta-grid{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.investment-meta-grid>div{min-width:0;border:1px solid rgba(15,118,110,.08);background:#f8fffb;border-radius:14px;padding:9px 10px}
.investment-meta-grid b{display:block;margin-top:4px;color:#073b33;font-family:'JetBrains Mono',monospace;font-size:var(--font-sm);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.investment-note{color:#6b817a;font-size:var(--font-sm);font-weight:650;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.investment-actions{display:flex;justify-content:flex-end}
.home-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.home-customize-btn{height:34px;border-radius:999px;border:1px solid rgba(15,118,110,.14);background:#fff;color:#0f766e;font-family:inherit;font-size:var(--font-sm);font-weight:850;padding:0 13px;cursor:pointer;box-shadow:0 8px 18px rgba(15,76,69,.055);white-space:nowrap}
.home-customize-btn:hover{border-color:rgba(15,118,110,.28);transform:translateY(-1px)}
.decision-metric-modal{text-align:left}
.decision-metric-modal p{margin:0 0 12px;color:#5b706a;font-size:var(--font-md);font-weight:650;line-height:1.5}
#decision-metric-list{display:grid;gap:8px;max-height:52vh;overflow:auto;padding-right:3px}
.decision-metric-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(15,118,110,.10);background:#f8fffb;border-radius:14px;padding:10px 11px}
.decision-metric-option label{display:flex;align-items:center;gap:9px;min-width:0;color:#073b33;font-size:var(--font-md);font-weight:750}
.decision-metric-option span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.decision-metric-option input{width:16px;height:16px;accent-color:#0f766e;flex:0 0 auto}
.decision-metric-option div{display:flex;gap:5px}
.decision-metric-option button{width:28px;height:28px;border-radius:9px;border:1px solid rgba(15,118,110,.12);background:#fff;color:#0f766e;font-weight:900;cursor:pointer}

/* HOME simplification pass: fewer cards, more air, premium journey */
#section-home .home-journey{gap:28px!important}
#section-home .journey-hero,
#section-home .journey-roadmap,
#section-home .home-today-section,
#section-home .home-feed-card,
#section-home .home-card,
#section-home .home-growth-overview,
#section-home .home-quick-card{margin-bottom:28px!important}
#section-home .journey-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:520px!important;
  padding:14px!important;
  gap:10px!important;
}
#section-home .journey-metric{border-right:0!important;border-radius:18px!important;background:rgba(248,255,251,.76)!important;padding:14px!important}
#section-home .journey-metric em{display:none!important}
#section-home .journey-metric small{font-size:13px!important;color:#496861!important}
#section-home .journey-metric b{text-transform:uppercase;font-size:clamp(18px,1.55vw,24px)!important}
#section-home .journey-roadmap{
  padding:26px 24px 30px!important;
  border-radius:30px!important;
}
#section-home .journey-roadmap .journey-section-head{margin-bottom:10px!important}
#section-home .journey-roadmap .journey-section-head span{font-size:13px!important;color:#5c746d!important}
#section-home .journey-roadmap .journey-road{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(110px,1fr))!important;
  gap:12px!important;
  min-height:230px!important;
  padding:34px 10px 8px!important;
  overflow:visible!important;
}
#section-home .journey-path-svg{
  position:absolute;
  inset:12px 0 0;
  width:100%;
  height:190px;
  overflow:visible;
  z-index:0;
  pointer-events:none;
}
#section-home .journey-path-shadow,
#section-home .journey-path-main{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#section-home .journey-path-shadow{stroke:rgba(15,118,110,.10);stroke-width:22;filter:blur(5px)}
#section-home .journey-path-main{stroke:#35c36f;stroke-width:8;stroke-dasharray:18 18;opacity:.72}
#section-home .journey-road-line{display:none!important}
#section-home .journey-step{
  align-self:start!important;
  min-height:0!important;
  padding:0!important;
  gap:9px!important;
  background:transparent!important;
}
#section-home .journey-step:nth-child(2){transform:translateY(70px)!important}
#section-home .journey-step:nth-child(3){transform:translateY(8px)!important}
#section-home .journey-step:nth-child(4){transform:translateY(72px)!important}
#section-home .journey-step:nth-child(5){transform:translateY(148px)!important}
#section-home .journey-step:nth-child(6){transform:translateY(78px)!important}
#section-home .journey-step span{
  width:64px!important;
  height:64px!important;
  font-size:28px!important;
  border:1px solid rgba(15,118,110,.14)!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(10px);
}
#section-home .journey-step.active span{
  border:4px solid #16a34a!important;
  box-shadow:0 0 0 14px rgba(34,197,94,.13),0 18px 38px rgba(15,118,110,.18)!important;
}
#section-home .journey-step b{font-size:14px!important;font-weight:900!important;color:#073b33!important}
#section-home .journey-step small{display:none!important}
#section-home .home-section-actions{display:inline-flex!important;width:auto!important;gap:8px!important;align-items:center!important}
#section-home .home-customize-btn{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:16px!important;
  border-radius:50%!important;
  flex:0 0 auto!important;
}
#section-home .home-today-section{padding:24px!important}
#section-home .home-today-grid{gap:14px!important}
#section-home .home-today-card{padding:20px!important;border-radius:22px!important;min-height:154px!important}
#section-home .home-today-card em{display:none!important}
#section-home .home-today-card small{font-size:14px!important}
#section-home .home-today-card b{font-size:clamp(24px,2.2vw,32px)!important}
@media(max-width:768px){
  .investment-toolbar{grid-template-columns:1fr;gap:10px}
  .investment-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .investment-summary-strip>div{padding:10px;border-radius:14px}
  .investment-summary-strip b{font-size:15px}
  .investment-sort{justify-content:space-between;border-radius:14px;width:100%}
  .investment-card{grid-template-columns:1fr;gap:10px;padding:14px;border-radius:18px}
  .investment-card-head{grid-template-columns:1fr;gap:8px}
  .investment-symbol{font-size:17px;max-width:130px}
  .investment-current-value{text-align:left;min-width:0}
  .investment-current-value b{font-size:22px}
  .investment-line{display:none}
  .investment-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .investment-meta-grid span{font-size:12px}
  .investment-meta-grid b{font-size:13px}
  .investment-actions{position:absolute;right:12px;top:12px}
  .investment-card{position:relative}
  .investment-symbol-row{padding-right:38px}
  .home-section-actions{width:auto!important;display:inline-flex!important}
  .home-customize-btn{width:34px!important;height:34px!important}
  #decision-metric-list{max-height:58vh}
}
@media(max-width:640px){
  #section-home .home-journey{gap:24px!important}
  #section-home .journey-hero,
  #section-home .journey-roadmap,
  #section-home .home-today-section,
  #section-home .home-feed-card,
  #section-home .home-card,
  #section-home .home-growth-overview,
  #section-home .home-quick-card{margin-bottom:24px!important}
  #section-home .journey-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:none!important;
    padding:10px!important;
    gap:8px!important;
  }
  #section-home .journey-metric{padding:12px 10px!important;gap:8px!important}
  #section-home .journey-metric-icon{width:34px!important;height:34px!important;font-size:14px!important}
  #section-home .journey-metric small{font-size:13px!important}
  #section-home .journey-metric b{font-size:clamp(17px,4.9vw,22px)!important}
  #section-home .journey-roadmap{padding:20px 0 22px!important;overflow:hidden!important}
  #section-home .journey-roadmap .journey-section-head{padding:0 18px!important}
  #section-home .journey-roadmap .journey-section-head h2{font-size:22px!important}
  #section-home .journey-roadmap .journey-section-head span{font-size:13px!important}
  #section-home .journey-roadmap .journey-road{
    display:flex!important;
    grid-template-columns:none!important;
    gap:28px!important;
    min-height:178px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:30px 22px 14px!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #section-home .journey-roadmap .journey-road::-webkit-scrollbar{display:none!important}
  #section-home .journey-path-svg{
    left:12px!important;
    width:720px!important;
    height:148px!important;
    top:22px!important;
  }
  #section-home .journey-step,
  #section-home .journey-step:nth-child(2),
  #section-home .journey-step:nth-child(3),
  #section-home .journey-step:nth-child(4),
  #section-home .journey-step:nth-child(5),
  #section-home .journey-step:nth-child(6){
    flex:0 0 104px!important;
    scroll-snap-align:center!important;
    min-height:120px!important;
  }
  #section-home .journey-step:nth-child(2){transform:translateY(52px)!important}
  #section-home .journey-step:nth-child(3){transform:translateY(8px)!important}
  #section-home .journey-step:nth-child(4){transform:translateY(58px)!important}
  #section-home .journey-step:nth-child(5){transform:translateY(96px)!important}
  #section-home .journey-step:nth-child(6){transform:translateY(50px)!important}
  #section-home .journey-step span{width:54px!important;height:54px!important;font-size:24px!important}
  #section-home .journey-step b{font-size:13px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
  #section-home .home-today-section{padding:20px!important;border-radius:26px!important}
  #section-home .home-today-section .journey-section-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  #section-home .home-today-filter{display:none!important}
  #section-home .home-today-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    margin:0 -20px!important;
    padding:4px 20px 8px!important;
  }
  #section-home .home-today-grid::-webkit-scrollbar{display:none!important}
  #section-home .home-today-card{
    flex:0 0 calc((100vw - 64px)/2)!important;
    min-width:142px!important;
    min-height:148px!important;
    scroll-snap-align:start!important;
    padding:18px!important;
  }
  #section-home .home-today-card small{font-size:14px!important}
  #section-home .home-today-card b{font-size:clamp(22px,6vw,28px)!important}
}
@media(max-width:390px){
  .investment-card{padding:12px}
  .investment-meta-grid{gap:7px}
  .investment-meta-grid>div{padding:8px}
  .investment-current-value b{font-size:20px}
}

/* Unified modal buttons and compact investment/home polish */
.modal-actions,#app-modal-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.modal-btn,#app-modal-buttons button,.modal-box button:not(.icon-btn):not(.asset-action-more):not(.asset-tab-arrow){appearance:none;-webkit-appearance:none;border:1px solid rgba(15,118,110,.14);border-radius:14px;padding:10px 16px;font-family:'Be Vietnam Pro',sans-serif;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;color:#0f3f37;background:#fff;box-shadow:0 8px 18px rgba(15,76,69,.06)}
.modal-btn:hover,#app-modal-buttons button:hover,.modal-box button:not(.icon-btn):not(.asset-action-more):not(.asset-tab-arrow):hover{transform:translateY(-1px);border-color:rgba(15,118,110,.28)}
.modal-btn.primary,#app-modal-buttons .primary{background:linear-gradient(135deg,#0f9f75,#16a34a);color:#fff;border-color:transparent;box-shadow:0 12px 24px rgba(15,118,110,.18)}
.modal-btn.secondary,#app-modal-buttons .secondary{background:#ecfdf5;color:#0f766e}
.modal-btn.danger,#app-modal-buttons .danger{background:#fff1f2;color:#dc2626;border-color:#fecdd3}
.modal-btn.ghost{background:transparent;box-shadow:none}
.modal-btn.icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
#app-modal-buttons:has(#decision-save-btn){position:sticky;bottom:0;margin:14px -4px -4px;padding:12px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--bg2) 28%)}
#app-modal-buttons:has(#decision-save-btn) #decision-reset-btn{margin-right:auto}
.decision-metric-modal{margin-top:-4px}
.decision-metric-option button svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){#app-modal-overlay .modal-box:has(.decision-metric-modal){align-self:flex-end;border-radius:24px 24px 0 0;max-height:88vh}.modal-actions,#app-modal-buttons{display:grid;grid-template-columns:1fr 1fr}.modal-btn,#app-modal-buttons button{width:100%}}

#section-home,#section-home *{font-family:'Be Vietnam Pro',sans-serif!important}
#section-home .journey-title,#section-home .home-section-title,#section-home .journey-section-head h2{font-weight:800!important}
#section-home .journey-metric small,#section-home .home-today-card small,#section-home .journey-step b{font-weight:600!important;text-transform:none!important}
#section-home .journey-main-stat strong,#section-home .journey-progress-top strong,#section-home .journey-metric b,#section-home .home-today-card b{font-family:'Be Vietnam Pro',sans-serif!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.02em!important}
#section-home .journey-step{appearance:none;-webkit-appearance:none;border:0!important;cursor:pointer;color:inherit;font-family:'Be Vietnam Pro',sans-serif!important}
#section-home .journey-node{position:relative!important}
#section-home .journey-node.active span{animation:journeyPulse 1.8s ease-in-out infinite!important}
#section-home .journey-step[data-journey-index="0"]{transform:translateY(70px)!important}
#section-home .journey-step[data-journey-index="1"]{transform:translateY(8px)!important}
#section-home .journey-step[data-journey-index="2"]{transform:translateY(72px)!important}
#section-home .journey-step[data-journey-index="3"]{transform:translateY(148px)!important}
#section-home .journey-step[data-journey-index="4"]{transform:translateY(78px)!important}
#section-home .journey-step span svg{width:30px;height:30px;stroke:#0f766e;stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round}
#section-home .journey-step small{display:block!important;color:#60766f!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;max-width:128px!important;text-align:center!important}
#section-home .journey-step.finish span svg{stroke:#d97706}
#section-home .journey-plane{position:absolute;left:var(--journey-plane-start-x,5%);top:var(--journey-plane-start-y,52%);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#0f766e;border:1px solid rgba(15,118,110,.14);box-shadow:0 0 0 9px rgba(34,197,94,.10),0 14px 28px rgba(15,76,69,.16);z-index:4;transform:translate(-50%,-50%);transition:left 1.35s cubic-bezier(.2,.75,.2,1),top 1.35s cubic-bezier(.2,.75,.2,1),opacity .35s ease;animation:journeyPlaneFloat 2.4s ease-in-out infinite}
#section-home .journey-plane svg{width:17px;height:17px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
#section-home .journey-road.journey-plane-ready .journey-plane{left:var(--journey-plane-x,5%);top:var(--journey-plane-y,52%);animation:journeyPlaneFloat 2.4s ease-in-out infinite}
#section-home .journey-road.journey-index-0 .journey-plane{--journey-plane-stop:0%}
#section-home .journey-road.journey-index-1 .journey-plane{--journey-plane-stop:27%}
#section-home .journey-road.journey-index-2 .journey-plane{--journey-plane-stop:50%}
#section-home .journey-road.journey-index-3 .journey-plane{--journey-plane-stop:73%}
#section-home .journey-road.journey-index-4 .journey-plane{--journey-plane-stop:96%}
@keyframes journeyPlaneFly{from{opacity:.35}to{opacity:1}}
@keyframes journeyPlaneFloat{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}
@media(prefers-reduced-motion:reduce){#section-home .journey-plane,#section-home .journey-road.journey-plane-ready .journey-plane,#section-home .journey-step.active span{animation:none!important;transition:none!important}}
.journey-detail-sheet{display:grid;gap:10px;text-align:left}
.journey-detail-row{display:grid;gap:4px;padding:12px;border:1px solid rgba(15,118,110,.10);background:#f8fffb;border-radius:14px}
.journey-detail-row span{font-size:13px;font-weight:600;color:#60766f}
.journey-detail-row b{font-size:14px;font-weight:700;color:#073b33;line-height:1.45}

.investment-card-compact{padding:14px 16px!important}
.investment-card-compact .investment-card-main{gap:10px!important}
.investment-card-compact .investment-card-head{align-items:center!important}
.investment-value-main span{font-size:13px!important;font-weight:600!important}
.investment-value-main b{font-family:'Be Vietnam Pro',sans-serif!important;font-size:22px!important;font-weight:800!important;color:#073b33}
.investment-metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.investment-metric{min-width:0;display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:13px;background:#f8fffb;border:1px solid rgba(15,118,110,.08)}
.investment-metric-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:9px;background:#e8f8ee;color:#0f766e}
.investment-metric-icon svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.investment-metric-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Be Vietnam Pro',sans-serif;font-size:13px;font-weight:700;color:#173f36}
.investment-metric.up .investment-metric-value{color:#059669}
.investment-metric.down .investment-metric-value{color:#dc2626}
.investment-metric.down .investment-metric-icon{background:#fff1f2;color:#dc2626}
.investment-metric.up .investment-metric-icon{background:#ecfdf5;color:#059669}
@media(max-width:768px){.investment-card-compact{padding:14px!important}.investment-card-compact .investment-card-head{display:grid!important;grid-template-columns:1fr!important}.investment-value-main{text-align:left!important}.investment-value-main b{font-size:26px!important}.investment-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.investment-metric{padding:9px}.investment-metric-value{font-size:14px}.investment-exchange-badge.soft{display:none}.investment-note{display:none}}
@media(max-width:768px){.investment-metric-row .investment-metric:nth-child(4){order:6}.investment-metric-row .investment-metric:nth-child(5){order:4}.investment-metric-row .investment-metric:nth-child(6){order:5}}
#section-home .journey-path-shadow{stroke:rgba(34,197,94,.20)!important;stroke-width:30!important;filter:none!important}
#section-home .journey-path-main{stroke:#7fcf83!important;stroke-width:17!important;stroke-linecap:round!important;opacity:.96!important}
#section-home .journey-step{background:rgba(255,255,255,.92)!important;border:1px solid rgba(15,118,110,.10)!important;border-radius:18px!important;box-shadow:0 14px 28px rgba(15,76,69,.08)!important;padding:12px 14px!important;min-width:132px!important}
#section-home .journey-step span{width:54px!important;height:54px!important;margin-top:-38px!important;background:#f6fffa!important;border:2px solid rgba(34,197,94,.26)!important}
#section-home .journey-step.active{background:linear-gradient(180deg,#f7fff9,#ffffff)!important;border-color:rgba(22,163,74,.42)!important;box-shadow:0 18px 36px rgba(22,163,74,.14)!important}
#section-home .journey-step.active span{border-color:#22c55e!important;box-shadow:0 0 0 9px rgba(34,197,94,.14),0 12px 26px rgba(22,163,74,.20)!important}
#coin-list.investment-list .investment-card-compact,#stock-list.investment-list .investment-card-compact{background:linear-gradient(180deg,#ffffff,#fbfffd)!important;border:1px solid rgba(15,118,110,.14)!important;border-radius:20px!important;box-shadow:0 14px 32px rgba(15,76,69,.07)!important;padding:18px 20px!important}
#coin-list .investment-card-compact+.investment-card-compact,#stock-list .investment-card-compact+.investment-card-compact{margin-top:14px!important}
#coin-list .investment-symbol,#stock-list .investment-symbol{font-size:19px!important;font-weight:800!important;letter-spacing:-.01em!important}
#coin-list .investment-current-value span,#stock-list .investment-current-value span{color:#637a73!important;font-size:12px!important}
#coin-list .investment-current-value b,#stock-list .investment-current-value b{font-size:24px!important;letter-spacing:-.02em!important}
#coin-list .investment-metric-row,#stock-list .investment-metric-row{margin-top:12px!important;padding-top:12px!important;border-top:1px solid rgba(15,118,110,.09)!important;gap:12px!important}
#coin-list .investment-metric,#stock-list .investment-metric{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;gap:8px!important}
#coin-list .investment-metric-icon,#stock-list .investment-metric-icon{width:28px!important;height:28px!important;border-radius:10px!important;background:#eefaf4!important}
#coin-list .investment-metric-value,#stock-list .investment-metric-value{font-size:14px!important;color:#113f36!important}
#coin-list .investment-status-badge,#stock-list .investment-status-badge{font-size:12px!important;border-radius:999px!important}
@media(max-width:640px){#section-home .journey-road{width:auto!important;min-width:0!important}#section-home .journey-path-svg{width:720px!important;min-width:720px!important}#section-home .journey-step small{display:none!important}#section-home .journey-step{min-width:112px!important;padding:10px 10px!important;border-radius:16px!important}#section-home .journey-step span{width:46px!important;height:46px!important;margin-top:-32px!important}#section-home .journey-step[data-journey-index="0"]{transform:translateY(52px)!important}#section-home .journey-step[data-journey-index="1"]{transform:translateY(8px)!important}#section-home .journey-step[data-journey-index="2"]{transform:translateY(58px)!important}#section-home .journey-step[data-journey-index="3"]{transform:translateY(96px)!important}#section-home .journey-step[data-journey-index="4"]{transform:translateY(50px)!important}#section-home .journey-step[data-journey-index="4"] b{max-width:72px}#section-home .journey-step[data-journey-index="4"] b::after{content:"";}#section-home .journey-step[data-journey-index="4"] b{font-size:0!important}#section-home .journey-step[data-journey-index="4"] b:before{content:"Tự do";font-size:13px!important}#coin-list.investment-list .investment-card-compact,#stock-list.investment-list .investment-card-compact{padding:16px!important;border-radius:18px!important}#coin-list .investment-metric-row,#stock-list .investment-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#coin-list .investment-current-value b,#stock-list .investment-current-value b{font-size:27px!important}}
@media(max-width:390px){.investment-metric-value{font-size:13px}.investment-value-main b{font-size:24px!important}}

/* Final compact investment + island journey tuning */
#coin-list.investment-list .investment-card-compact,
#stock-list.investment-list .investment-card-compact{
  padding:14px 16px!important;
  border-radius:18px!important;
  box-shadow:0 10px 24px rgba(15,76,69,.055)!important;
}
#coin-list .investment-card-compact+.investment-card-compact,
#stock-list .investment-card-compact+.investment-card-compact{margin-top:10px!important}
#coin-list .investment-card-compact .investment-card-main,
#stock-list .investment-card-compact .investment-card-main{gap:8px!important}
#coin-list .investment-card-head,
#stock-list .investment-card-head{gap:10px!important}
#coin-list .investment-symbol,
#stock-list .investment-symbol{font-size:18px!important}
#coin-list .investment-current-value b,
#stock-list .investment-current-value b{font-size:23px!important}
#coin-list .investment-metric-row,
#stock-list .investment-metric-row{
  margin-top:8px!important;
  padding-top:9px!important;
  gap:8px!important;
}
#coin-list .investment-metric-icon,
#stock-list .investment-metric-icon{width:24px!important;height:24px!important;border-radius:9px!important}
#coin-list .investment-metric-value,
#stock-list .investment-metric-value{font-size:13px!important}
#coin-list .investment-summary-strip>div,
#stock-list .investment-summary-strip>div{padding:10px 12px!important;border-radius:14px!important}
#coin-list .investment-readable-grid,
#stock-list .investment-readable-grid{
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important;
  gap:10px!important;
}
#coin-list .investment-readable-grid .investment-metric,
#stock-list .investment-readable-grid .investment-metric{
  display:grid!important;
  gap:3px!important;
  align-items:start!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
#coin-list .investment-metric-label,
#stock-list .investment-metric-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6a8179;
  font-size:12px;
  font-weight:700;
}
#coin-list .investment-readable-grid .investment-metric-value,
#stock-list .investment-readable-grid .investment-metric-value{
  font-size:13.5px!important;
  font-weight:800!important;
}

@media(max-width:640px){
  #section-home .journey-roadmap{
    padding:18px 0 20px!important;
    border-radius:24px!important;
  }
  #section-home .journey-roadmap .journey-section-head{
    padding:0 16px!important;
    margin-bottom:4px!important;
  }
  #section-home .journey-roadmap .journey-section-head h2{font-size:22px!important}
  #section-home .journey-roadmap .journey-section-head span{font-size:13px!important}
  #section-home .journey-roadmap .journey-road{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:flex-start!important;
    gap:18px!important;
    min-height:190px!important;
    padding:42px 18px 18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
  }
  #section-home .journey-roadmap .journey-road::-webkit-scrollbar{display:none!important}
  #section-home .journey-path-svg{
    inset:20px 0 auto!important;
    width:650px!important;
    min-width:650px!important;
    height:150px!important;
  }
  #section-home .journey-path-shadow{stroke-width:24!important;stroke:rgba(34,197,94,.18)!important}
  #section-home .journey-path-main{stroke-width:12!important;stroke:#8bd58c!important;stroke-dasharray:none!important}
  #section-home .journey-step{
    position:relative!important;
    min-width:92px!important;
    width:92px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scroll-snap-align:center!important;
    gap:6px!important;
  }
  #section-home .journey-step::after{
    content:"";
    position:absolute;
    left:50%;
    top:18px;
    width:58px;
    height:22px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(ellipse at center,rgba(22,163,74,.18),rgba(22,163,74,0) 68%);
    z-index:0;
  }
  #section-home .journey-step span{
    width:50px!important;
    height:50px!important;
    margin:0 auto!important;
    border-radius:50%!important;
    background:linear-gradient(180deg,#ffffff,#ecfdf5)!important;
    border:1px solid rgba(22,163,74,.22)!important;
    box-shadow:0 10px 22px rgba(15,76,69,.10)!important;
    z-index:1!important;
  }
  #section-home .journey-step span svg{width:26px!important;height:26px!important}
  #section-home .journey-step b{
    font-size:12.5px!important;
    font-weight:800!important;
    line-height:1.15!important;
    max-width:86px!important;
    white-space:normal!important;
  }
  #section-home .journey-step small{display:none!important}
  #section-home .journey-step.active span{
    border:3px solid #16a34a!important;
    box-shadow:0 0 0 9px rgba(34,197,94,.16),0 12px 26px rgba(22,163,74,.18)!important;
  }
  #section-home .journey-step[data-journey-index="0"]{transform:translateY(62px)!important}
  #section-home .journey-step[data-journey-index="1"]{transform:translateY(6px)!important}
  #section-home .journey-step[data-journey-index="2"]{transform:translateY(62px)!important}
  #section-home .journey-step[data-journey-index="3"]{transform:translateY(102px)!important}
  #section-home .journey-step[data-journey-index="4"]{transform:translateY(58px)!important}
  #section-home .journey-plane{
    width:30px!important;
    height:30px!important;
    box-shadow:0 0 0 7px rgba(34,197,94,.12),0 10px 22px rgba(15,76,69,.15)!important;
  }
  #coin-list.investment-list .investment-card-compact,
  #stock-list.investment-list .investment-card-compact{padding:13px!important}
  #coin-list .investment-card-compact+.investment-card-compact,
  #stock-list .investment-card-compact+.investment-card-compact{margin-top:10px!important}
  #coin-list .investment-current-value b,
  #stock-list .investment-current-value b{font-size:24px!important}
  #coin-list .investment-metric-row,
  #stock-list .investment-metric-row{gap:8px!important;margin-top:8px!important;padding-top:8px!important}
  #coin-list .investment-readable-grid,
  #stock-list .investment-readable-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #coin-list .investment-metric-value,
  #stock-list .investment-metric-value{font-size:13px!important}
}

/* Clean linear journey map */
#section-home .journey-line-map{
  padding:22px 24px!important;
  overflow:hidden!important;
}
#section-home .journey-line-map .journey-section-head{
  margin-bottom:18px!important;
}
#section-home .journey-track{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  padding:18px 0 6px!important;
  min-height:104px!important;
  overflow:visible!important;
}
#section-home .journey-track-line{
  position:absolute!important;
  left:8%;
  right:8%;
  top:42px;
  height:8px;
  border-radius:999px;
  background:#e0f1e9;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(15,118,110,.04);
}
#section-home .journey-track-line span{
  display:block;
  width:var(--journey-fill,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#16a34a,#64d889,#16a34a);
  background-size:220% 100%;
  transition:width .85s cubic-bezier(.2,.75,.2,1);
  animation:journeyLineGlow 2.4s linear infinite;
}
#section-home .journey-line-map .journey-step{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-direction:column!important;
  min-width:0!important;
  width:auto!important;
  transform:none!important;
  padding:0 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:10px!important;
}
#section-home .journey-line-map .journey-step span{
  width:44px!important;
  height:44px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#ffffff!important;
  border:2px solid #cfe9df!important;
  color:#0f766e!important;
  font-size:18px!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(15,76,69,.08)!important;
}
#section-home .journey-line-map .journey-step b{
  max-width:118px!important;
  white-space:normal!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.25!important;
  color:#36574f!important;
  font-weight:800!important;
}
#section-home .journey-line-map .journey-step.passed span{
  background:#ecfdf5!important;
  border-color:#86efac!important;
}
#section-home .journey-line-map .journey-step.active span{
  background:#0f766e!important;
  color:#ffffff!important;
  border-color:#20c56b!important;
  box-shadow:0 0 0 10px rgba(34,197,94,.14),0 16px 30px rgba(15,118,110,.18)!important;
  animation:journeyNodePulse 1.8s ease-in-out infinite!important;
}
#section-home .journey-current-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff,#f3fff8);
  border:1px solid rgba(15,118,110,.12);
  box-shadow:0 16px 34px rgba(15,76,69,.075);
  animation:journeyCardUp .45s ease both;
}
#section-home .journey-current-card span{
  display:block;
  margin-bottom:5px;
  color:#5d756d;
  font-size:13px;
  font-weight:700;
}
#section-home .journey-current-card h3{
  margin:0;
  color:#073b33;
  font-size:24px;
  font-weight:850;
  letter-spacing:-.02em;
}
#section-home .journey-current-card p{
  margin:5px 0 0;
  color:#55706a;
  font-size:15px;
  font-weight:650;
}
#section-home .journey-current-progress{
  min-width:112px;
  padding:12px 14px;
  border-radius:18px;
  background:#ecfdf5;
  text-align:center;
  color:#0f766e;
}
#section-home .journey-current-progress strong{
  display:block;
  font-size:24px;
  font-weight:850;
}
#section-home .journey-current-progress small{
  font-size:12px;
  font-weight:750;
  color:#4b766d;
}
@keyframes journeyLineGlow{0%{background-position:0 0}100%{background-position:220% 0}}
@keyframes journeyNodePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes journeyCardUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  #section-home .journey-line-map{padding:18px 16px!important}
  #section-home .journey-line-map .journey-section-head{margin-bottom:12px!important}
  #section-home .journey-track{
    grid-template-columns:repeat(5,minmax(58px,1fr))!important;
    min-height:92px!important;
    padding-top:14px!important;
  }
  #section-home .journey-track-line{left:9%;right:9%;top:34px;height:7px}
  #section-home .journey-line-map .journey-step{padding:0 2px!important;gap:8px!important}
  #section-home .journey-line-map .journey-step span{width:36px!important;height:36px!important;font-size:15px!important}
  #section-home .journey-line-map .journey-step b{font-size:11.5px!important;max-width:64px!important}
  #section-home .journey-current-card{
    margin-top:10px;
    padding:15px;
    border-radius:20px;
    align-items:flex-start;
  }
  #section-home .journey-current-card h3{font-size:21px}
  #section-home .journey-current-card p{font-size:14px}
  #section-home .journey-current-progress{min-width:82px;padding:10px}
  #section-home .journey-current-progress strong{font-size:21px}
}

/* Stable asset action menu */
.asset-action-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  z-index: 80;
}
.asset-action-more {
  width: 38px;
  height: 38px;
  border: 1px solid var(--border2);
  border-radius: 12px;
  background: var(--bg2);
  color: var(--text2);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: .18s ease;
}
.asset-action-more:hover,
.asset-action-more.active {
  background: var(--green2);
  color: var(--green);
  border-color: rgba(15,118,110,.25);
  box-shadow: 0 8px 20px rgba(15,23,42,.10);
}
.asset-action-menu {
  position: absolute;
  right: 0;
  top: 46px;
  min-width: 205px;
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15,23,42,.16);
  padding: 8px;
  z-index: 100000;
  display: none;
}
.asset-action-menu.open {
  display: block;
}
.asset-action-menu button {
  width: 100%;
  min-height: 40px;
  border: none;
  background: transparent;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 850;
  color: var(--text);
  cursor: pointer;
  text-align: left;
}
.asset-action-menu button svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  flex: 0 0 auto;
}
.asset-action-menu button:hover {
  background: var(--green2);
  color: var(--green);
}
.asset-action-menu button.danger {
  color: var(--red);
}
.asset-action-menu button.danger:hover {
  background: var(--red2);
  color: var(--red);
}
.item-row,
.compact-item,
.sec,
.vhtg-card,
.asset-history-pl-section,
.asset-list-accordion .compact-item {
  overflow: visible !important;
}
.asset-action-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(15,23,42,.36);
  backdrop-filter: blur(4px);
  display: none;
}
.asset-action-backdrop.show {
  display: block;
}
.asset-history-list {
  display: grid;
  gap: 10px;
  max-height: min(54vh, 420px);
  overflow: auto;
  text-align: left;
}
.asset-history-row {
  border: 1px solid var(--border2);
  border-radius: 14px;
  padding: 12px;
  background: var(--bg3);
}
.asset-history-row strong {
  display: block;
  font-size: 13px;
  color: var(--text);
}
.asset-history-row span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text3);
  line-height: 1.45;
}
@media (max-width: 640px) {
  .asset-action-wrap {
    position: static;
  }
  .asset-action-menu {
    position: fixed;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    top: auto !important;
    min-width: auto;
    border-radius: 22px;
    padding: 12px;
    z-index: 100000;
    box-shadow: 0 -12px 40px rgba(15,23,42,.22);
  }
  .asset-action-menu::before {
    content: "Thao tác tài sản";
    display: block;
    font-size: 14px;
    font-weight: 950;
    color: var(--text);
    padding: 8px 10px 12px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 8px;
  }
  .asset-action-menu button {
    min-height: 50px;
    font-size: 14px;
  }
}

/* Asset action portal: fixes hidden/covered menus on desktop and mobile */
#asset-action-portal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  background: transparent;
  display: none;
}
#asset-action-portal-backdrop.mobile {
  background: rgba(15,23,42,.38);
  backdrop-filter: blur(6px);
}
#asset-action-portal-backdrop.show {
  display: block;
}
#asset-action-portal-menu {
  position: fixed;
  z-index: 2147483001;
  min-width: 218px;
  background: var(--bg2, #fff);
  border: 1px solid var(--border2, #e5ebe8);
  border-radius: 16px;
  box-shadow: 0 20px 48px rgba(15,23,42,.18);
  padding: 8px;
  display: none;
}
#asset-action-portal-menu.show {
  display: block;
}
#asset-action-portal-menu .portal-title {
  display: none;
}
#asset-action-portal-menu button {
  width: 100%;
  min-height: 42px;
  border: 0;
  background: transparent;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 850;
  color: var(--text, #12342b);
  cursor: pointer;
  text-align: left;
}
#asset-action-portal-menu button svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  flex: 0 0 auto;
}
#asset-action-portal-menu button:hover {
  background: var(--green2, #eaf8f1);
  color: var(--green, #0f766e);
}
#asset-action-portal-menu button.danger {
  color: var(--red, #dc2626);
}
#asset-action-portal-menu button.danger:hover {
  background: var(--red2, #fee2e2);
  color: var(--red, #dc2626);
}
@media (max-width: 640px) {
  #asset-action-portal-menu {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    min-width: 0;
    border-radius: 22px;
    padding: 12px;
    box-shadow: 0 -18px 52px rgba(15,23,42,.26);
  }
  #asset-action-portal-menu .portal-title {
    display: block;
    padding: 8px 10px 12px;
    border-bottom: 1px solid var(--border, #edf3ef);
    margin-bottom: 8px;
  }
  #asset-action-portal-menu .portal-title strong {
    display: block;
    font-size: 15px;
    font-weight: 950;
    color: var(--text, #12342b);
  }
  #asset-action-portal-menu .portal-title span {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    font-weight: 700;
    color: var(--text3, #6b7c75);
  }
  #asset-action-portal-menu button {
    min-height: 52px;
    font-size: 14px;
  }
}

/* Polished asset action modals */
.asset-op-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483200;
  background: rgba(15,23,42,.42);
  backdrop-filter: blur(7px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.asset-op-overlay.show {
  display: flex;
}
.asset-op-modal {
  width: min(560px, 100%);
  max-height: min(82vh, 760px);
  overflow: auto;
  background: var(--bg2, #fff);
  border: 1px solid var(--border2, #e5ebe8);
  border-radius: 26px;
  box-shadow: 0 30px 80px rgba(15,23,42,.24);
}
.asset-op-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 20px 14px;
  border-bottom: 1px solid var(--border, #edf3ef);
}
.asset-op-title {
  margin: 0;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 950;
  color: var(--text, #12342b);
  letter-spacing: -.03em;
}
.asset-op-sub {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text3, #6b7c75);
  line-height: 1.45;
}
.asset-op-close {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  border: 1px solid var(--border2, #e5ebe8);
  background: var(--bg3, #fbfdfc);
  color: var(--text2, #334155);
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
}
.asset-op-body {
  padding: 18px 20px 20px;
}
.asset-op-summary {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(135deg,#f0fdf4,#fff);
  border: 1px solid rgba(15,118,110,.14);
  margin-bottom: 16px;
}
.asset-op-summary strong {
  font-size: 16px;
  font-weight: 950;
  color: var(--text, #12342b);
}
.asset-op-summary span {
  font-size: 12px;
  font-weight: 750;
  color: var(--text3, #6b7c75);
}
.asset-op-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.asset-op-field {
  display: grid;
  gap: 6px;
}
.asset-op-field.full {
  grid-column: 1 / -1;
}
.asset-op-field label {
  font-size: 11px;
  font-weight: 900;
  color: var(--text3, #6b7c75);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.asset-op-field input,
.asset-op-field textarea {
  width: 100%;
  border: 1px solid var(--border2, #e5ebe8);
  border-radius: 14px;
  background: var(--bg3, #fbfdfc);
  color: var(--text, #12342b);
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  padding: 11px 12px;
  box-sizing: border-box;
}
.asset-op-field textarea {
  min-height: 84px;
  resize: vertical;
}
.asset-op-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}
.asset-op-btn {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  padding: 0 16px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
.asset-op-btn.secondary {
  background: var(--bg3, #f8fafc);
  color: var(--text2, #334155);
  border: 1px solid var(--border2, #e5ebe8);
}
.asset-op-btn.primary {
  background: #0f8a5f;
  color: #fff;
  box-shadow: 0 12px 24px rgba(15,118,110,.18);
}
.asset-op-btn.danger {
  background: #dc2626;
  color: #fff;
  box-shadow: 0 12px 24px rgba(220,38,38,.18);
}
.asset-op-choice-list {
  display: grid;
  gap: 10px;
}
.asset-op-choice {
  width: 100%;
  border: 1px solid var(--border2, #e5ebe8);
  background: var(--bg3, #fbfdfc);
  border-radius: 18px;
  padding: 14px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.asset-op-choice strong {
  display: block;
  font-size: 14px;
  font-weight: 950;
  color: var(--text, #12342b);
}
.asset-op-choice span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text3, #6b7c75);
  line-height: 1.45;
}
.asset-op-choice:hover {
  background: var(--green2, #eaf8f1);
  border-color: rgba(15,118,110,.22);
}
@media (max-width: 640px) {
  .asset-op-overlay {
    align-items: flex-end;
    padding: 12px;
  }
  .asset-op-modal {
    width: 100%;
    max-height: 86vh;
    border-radius: 24px;
  }
  .asset-op-grid {
    grid-template-columns: 1fr;
  }
  .asset-op-actions {
    flex-direction: column-reverse;
  }
  .asset-op-btn {
    width: 100%;
  }
}


/* VHTG final asset-list refinement: inline metrics, less table feel, fuller information */
#coin-list.investment-list,
#stock-list.investment-list,
#gold-list.investment-list,
#re-list.investment-list,
#other-list.investment-list{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
#coin-list.investment-list .investment-card-compact,
#stock-list.investment-list .investment-card-compact,
#gold-list.investment-list .investment-card-compact,
#re-list.investment-list .investment-card-compact,
#other-list.investment-list .investment-card-compact{
  padding:13px 16px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%)!important;
  border:1px solid rgba(15,118,110,.11)!important;
  box-shadow:0 8px 22px rgba(15,76,69,.045)!important;
  gap:10px!important;
}
#coin-list .investment-card-compact+.investment-card-compact,
#stock-list .investment-card-compact+.investment-card-compact,
#gold-list .investment-card-compact+.investment-card-compact,
#re-list .investment-card-compact+.investment-card-compact,
#other-list .investment-card-compact+.investment-card-compact{margin-top:0!important}
#coin-list .investment-card-head,
#stock-list .investment-card-head,
#gold-list .investment-card-head,
#re-list .investment-card-head,
#other-list .investment-card-head{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
}
#coin-list .investment-current-value,
#stock-list .investment-current-value,
#gold-list .investment-current-value,
#re-list .investment-current-value,
#other-list .investment-current-value{text-align:right!important;min-width:88px!important}
#coin-list .investment-current-value span,
#stock-list .investment-current-value span,
#gold-list .investment-current-value span,
#re-list .investment-current-value span,
#other-list .investment-current-value span{font-size:11px!important;color:#70837d!important;font-weight:700!important}
#coin-list .investment-current-value b,
#stock-list .investment-current-value b,
#gold-list .investment-current-value b,
#re-list .investment-current-value b,
#other-list .investment-current-value b{font-size:22px!important;line-height:1.05!important;color:#073b33!important}
#coin-list .investment-readable-grid,
#stock-list .investment-readable-grid,
#gold-list .investment-readable-grid,
#re-list .investment-readable-grid,
#other-list .investment-readable-grid{
  display:grid!important;
  grid-template-columns:1.25fr 1fr 1fr 1fr 1fr 1fr!important;
  gap:8px 12px!important;
  margin-top:7px!important;
  padding-top:9px!important;
  border-top:1px solid rgba(15,118,110,.075)!important;
}
#coin-list .investment-readable-grid .investment-metric,
#stock-list .investment-readable-grid .investment-metric,
#gold-list .investment-readable-grid .investment-metric,
#re-list .investment-readable-grid .investment-metric,
#other-list .investment-readable-grid .investment-metric{
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:4px!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
#coin-list .investment-metric-label,
#stock-list .investment-metric-label,
#gold-list .investment-metric-label,
#re-list .investment-metric-label,
#other-list .investment-metric-label{
  flex:0 0 auto!important;
  min-width:auto!important;
  max-width:none!important;
  color:#6f837d!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#coin-list .investment-readable-grid .investment-metric-value,
#stock-list .investment-readable-grid .investment-metric-value,
#gold-list .investment-readable-grid .investment-metric-value,
#re-list .investment-readable-grid .investment-metric-value,
#other-list .investment-readable-grid .investment-metric-value{
  min-width:0!important;
  color:#0b382f!important;
  font-size:12.5px!important;
  font-weight:850!important;
  font-family:'Be Vietnam Pro',sans-serif!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#coin-list .investment-readable-grid .investment-metric.down .investment-metric-value,
#stock-list .investment-readable-grid .investment-metric.down .investment-metric-value,
#gold-list .investment-readable-grid .investment-metric.down .investment-metric-value,
#re-list .investment-readable-grid .investment-metric.down .investment-metric-value,
#other-list .investment-readable-grid .investment-metric.down .investment-metric-value{color:#dc2626!important}
#coin-list .investment-readable-grid .investment-metric.up .investment-metric-value,
#stock-list .investment-readable-grid .investment-metric.up .investment-metric-value,
#gold-list .investment-readable-grid .investment-metric.up .investment-metric-value,
#re-list .investment-readable-grid .investment-metric.up .investment-metric-value,
#other-list .investment-readable-grid .investment-metric.up .investment-metric-value{color:#059669!important}
#save-list .compact-item,
#share-list .compact-item{
  background:linear-gradient(180deg,#fff,#fbfffd)!important;
  border:1px solid rgba(15,118,110,.10)!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(15,76,69,.045)!important;
  padding:14px 16px!important;
}
#save-list .compact-item .item-stats-grid,
#share-list .compact-item .item-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px 12px!important;
  margin-top:7px!important;
  padding-top:9px!important;
  border-top:1px solid rgba(15,118,110,.075)!important;
}
#save-list .compact-item .stat-col,
#share-list .compact-item .stat-col{
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:4px!important;
  min-width:0!important;
}
#save-list .compact-item .stat-col .lbl,
#share-list .compact-item .stat-col .lbl{
  flex:0 0 auto!important;
  font-size:11px!important;
  font-weight:750!important;
  color:#6f837d!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
#save-list .compact-item .stat-col .lbl::after,
#share-list .compact-item .stat-col .lbl::after{content:':' }
#save-list .compact-item .stat-col .val,
#share-list .compact-item .stat-col .val{
  min-width:0!important;
  font-family:'Be Vietnam Pro',sans-serif!important;
  font-size:12.5px!important;
  font-weight:850!important;
  color:#0b382f!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  #coin-list .investment-readable-grid,
  #stock-list .investment-readable-grid,
  #gold-list .investment-readable-grid,
  #re-list .investment-readable-grid,
  #other-list .investment-readable-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:640px){
  #coin-list.investment-list .investment-card-compact,
  #stock-list.investment-list .investment-card-compact,
  #gold-list.investment-list .investment-card-compact,
  #re-list.investment-list .investment-card-compact,
  #other-list.investment-list .investment-card-compact{padding:13px!important;border-radius:17px!important}
  #coin-list .investment-card-head,
  #stock-list .investment-card-head,
  #gold-list .investment-card-head,
  #re-list .investment-card-head,
  #other-list .investment-card-head{grid-template-columns:1fr!important;gap:8px!important}
  #coin-list .investment-current-value,
  #stock-list .investment-current-value,
  #gold-list .investment-current-value,
  #re-list .investment-current-value,
  #other-list .investment-current-value{text-align:left!important}
  #coin-list .investment-current-value b,
  #stock-list .investment-current-value b,
  #gold-list .investment-current-value b,
  #re-list .investment-current-value b,
  #other-list .investment-current-value b{font-size:24px!important}
  #coin-list .investment-readable-grid,
  #stock-list .investment-readable-grid,
  #gold-list .investment-readable-grid,
  #re-list .investment-readable-grid,
  #other-list .investment-readable-grid,
  #save-list .compact-item .item-stats-grid,
  #share-list .compact-item .item-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px 10px!important}
  #coin-list .investment-metric-label,
  #stock-list .investment-metric-label,
  #gold-list .investment-metric-label,
  #re-list .investment-metric-label,
  #other-list .investment-metric-label,
  #save-list .compact-item .stat-col .lbl,
  #share-list .compact-item .stat-col .lbl{font-size:10.5px!important}
  #coin-list .investment-readable-grid .investment-metric-value,
  #stock-list .investment-readable-grid .investment-metric-value,
  #gold-list .investment-readable-grid .investment-metric-value,
  #re-list .investment-readable-grid .investment-metric-value,
  #other-list .investment-readable-grid .investment-metric-value,
  #save-list .compact-item .stat-col .val,
  #share-list .compact-item .stat-col .val{font-size:12.5px!important}
}


/* === VHTG PATCH: luôn bật đồng bộ toàn web === */
.live-pill.paused{background:var(--amber2)!important;color:var(--amber)!important;border-color:rgba(245,158,11,.24)!important}
#sync-indicator.paused{background:var(--green2)!important;color:var(--green)!important}
#sync-indicator.paused #sync-label::after{content:''}

/* VHTG 2026-06-03: HOME decision dashboard responsive + grouped settings + growth chart layout */
#section-home .home-today-filter{display:none!important}
#section-home .home-section-actions{display:flex;align-items:center;gap:8px}
#section-home .home-today-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important}
#section-home .home-today-card{min-width:0!important;scroll-snap-align:unset!important}
#section-home .home-today-topline{display:flex;align-items:center;gap:10px;min-width:0}
#section-home .home-today-topline small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.decision-metric-modal.upgraded{max-height:58vh;overflow:auto;padding-right:4px;text-align:left}.decision-metric-modal.upgraded p{font-size:13px;font-weight:700;color:var(--text3);line-height:1.5;margin:0 0 12px}.decision-metric-group{border:1px solid rgba(15,118,110,.1);background:linear-gradient(180deg,#fff,#f7fffb);border-radius:16px;padding:10px;margin-bottom:10px}.decision-metric-group h4{font-size:12px;font-weight:950;color:#08735f;margin:0 0 8px;text-transform:none}.decision-row-actions{display:flex;gap:6px}.decision-metric-option{display:flex!important;align-items:center;justify-content:space-between;gap:10px;border-radius:12px;padding:9px 8px!important;background:rgba(255,255,255,.72)!important;margin:6px 0!important}.decision-metric-option label{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:850;color:var(--text)}.decision-metric-option label span{white-space:normal}.decision-metric-option input{accent-color:#0f8f4d}.modal-btn.icon svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.4;fill:none}.home-growth-customize-btn{height:34px;padding:0 13px;border-radius:999px;border:1px solid rgba(15,118,110,.12);background:#f5fff9;color:#07813f;font:inherit;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.home-growth-customize-btn:hover{background:#0f8f4d;color:#fff}.growth-setting-modal{max-height:58vh;overflow:auto;text-align:left}.growth-setting-modal p{font-size:13px;color:var(--text3);font-weight:700;line-height:1.5}.growth-setting-group{border:1px solid var(--border);border-radius:16px;padding:12px;margin:10px 0;background:linear-gradient(180deg,#fff,#f8fffb)}.growth-setting-group h4{font-size:13px;font-weight:950;color:var(--text);margin:0 0 9px}.growth-setting-row{display:flex;align-items:center;gap:9px;min-height:34px;font-size:13px;font-weight:850;color:var(--text2)}.growth-setting-row input{accent-color:#0f8f4d}
@media(max-width:900px){#section-home .home-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-growth-charts,.growth-chart-grid{grid-template-columns:1fr!important;display:grid!important}.home-growth-chart-card,.growth-chart-card{width:100%!important;min-width:0!important}.home-growth-kpis,.growth-metric-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important}.home-growth-head{align-items:flex-start!important}.home-range-pills.growth-filter-chips{display:none!important}}
@media(max-width:520px){#section-home .home-today-section{padding:18px!important;border-radius:24px!important}#section-home .home-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#section-home .home-today-card{min-height:148px!important;padding:14px!important;border-radius:22px!important}#section-home .home-today-icon{width:34px!important;height:34px!important;border-radius:13px!important;font-size:15px!important}#section-home .home-today-card small{font-size:13px!important;line-height:1.25!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#section-home .home-today-card b{font-size:clamp(20px,6vw,26px)!important;margin-top:8px!important}#section-home .decision-mini-chart{height:28px!important}.home-growth-kpis,.growth-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-growth-chart-card canvas{height:220px!important;max-height:220px!important}.decision-metric-modal.upgraded,.growth-setting-modal{max-height:64vh}}

/* VHTG 2026-06-03: refined empty states for new accounts */
#section-home .home-today-card.is-empty{background:linear-gradient(180deg,#ffffff 0%,#f4fff8 100%)!important;border:1px dashed rgba(15,118,110,.18)!important;box-shadow:0 10px 26px rgba(15,118,110,.045)!important}
#section-home .home-today-card.is-empty .home-today-icon{background:rgba(16,185,129,.10)!important;color:#0f766e!important;box-shadow:none!important}
#section-home .home-today-card.is-empty b{font-size:28px!important;line-height:1!important;color:#9bb6ae!important;margin-top:8px!important}
#section-home .home-today-card.is-empty em{color:#64847b!important;font-weight:750!important}
#section-home .home-today-card.is-empty .decision-mini-chart{opacity:.32!important}
.home-growth-empty{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:8px!important;min-height:150px!important;border:1px dashed rgba(15,118,110,.18)!important;border-radius:18px!important;background:linear-gradient(180deg,#f7fffb,#eefbf5)!important;color:#58756d!important;font-weight:850!important;text-align:center!important;padding:18px!important}
.home-growth-empty::before{content:'◌';width:42px;height:42px;border-radius:16px;background:#e6f8ef;color:#0f8f4d;display:flex;align-items:center;justify-content:center;font-size:25px;box-shadow:0 8px 20px rgba(15,118,110,.08)}
.home-growth-chart-card:has(.home-growth-empty[style*="block"]),.growth-chart-card:has(.home-growth-empty[style*="block"]){background:linear-gradient(180deg,#fff,#f8fffb)!important}
@media(max-width:900px){.home-growth-charts,.growth-chart-grid{grid-template-columns:1fr!important}.home-growth-chart-card,.growth-chart-card{min-height:260px!important}.home-growth-empty{min-height:170px!important}}
@media(max-width:520px){#section-home .home-today-card.is-empty b{font-size:24px!important}.home-growth-empty{font-size:13px!important}.home-growth-chart-card,.growth-chart-card{border-radius:24px!important;padding:18px!important}}

/* === VHTG PATCH 2026-06-03: premium hero, expense filter, compact growth === */
#section-home .journey-hero{position:relative;overflow:hidden;border-radius:30px!important;background:radial-gradient(circle at 72% 28%,rgba(74,222,128,.36),transparent 18%),linear-gradient(135deg,#003b31 0%,#00533f 46%,#012f29 100%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 28px 70px rgba(0,77,64,.22)!important;padding:28px 32px!important;min-height:360px!important}
#section-home .journey-hero:before{content:'';position:absolute;inset:-20%;background:radial-gradient(circle at 18% 72%,rgba(52,211,153,.18),transparent 24%),radial-gradient(circle at 88% 78%,rgba(251,191,36,.10),transparent 22%);pointer-events:none}
#section-home .journey-hero:after{content:'';position:absolute;right:22%;top:26%;width:240px;height:190px;border:3px dashed rgba(187,247,208,.72);border-left-color:transparent;border-bottom-color:rgba(187,247,208,.22);border-radius:52% 48% 58% 42%;transform:rotate(-18deg);filter:drop-shadow(0 0 10px rgba(74,222,128,.38));pointer-events:none}
#section-home .journey-copy{position:relative;z-index:3;max-width:560px!important}.journey-title{color:#fff!important;font-size:clamp(32px,4vw,50px)!important;letter-spacing:-.04em!important;text-shadow:0 3px 20px rgba(0,0,0,.18)}
#section-home .journey-kicker,#section-home .journey-subtitle,#section-home .journey-main-stat span,#section-home .journey-progress-top span,#section-home .journey-goal-chip{color:rgba(255,255,255,.86)!important}#section-home .journey-main-stat strong{color:#a7f3d0!important;text-shadow:0 8px 28px rgba(74,222,128,.35);font-size:clamp(36px,5vw,58px)!important}
#section-home .journey-progress-track{background:rgba(255,255,255,.15)!important;height:12px!important;box-shadow:inset 0 1px 4px rgba(0,0,0,.18)}#section-home .journey-progress-fill{background:linear-gradient(90deg,#4ade80,#86efac,#22c55e)!important;box-shadow:0 0 18px rgba(74,222,128,.45)}#section-home .journey-progress-top strong{color:#fff!important;font-size:22px!important}.journey-goal-chip{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important}
#section-home .journey-visual{position:absolute!important;right:30px!important;top:34px!important;bottom:22px!important;width:48%!important;min-width:420px!important;z-index:2!important;background:transparent!important;border:none!important;box-shadow:none!important}.journey-visual .journey-runner{display:none!important}.journey-visual .journey-road,.journey-visual .journey-city{display:none!important}.journey-visual:before{content:'✈';position:absolute;left:18%;top:26%;font-size:128px;line-height:1;transform:rotate(-14deg);filter:drop-shadow(0 24px 28px rgba(0,0,0,.28));animation:vhtgPlane 4.8s ease-in-out infinite}.journey-visual:after{content:'';position:absolute;left:12%;top:60%;width:56%;height:12px;background:linear-gradient(90deg,rgba(74,222,128,.75),rgba(74,222,128,.18),transparent);filter:blur(6px);transform:rotate(-13deg)}.journey-sun{right:80px!important;top:80px!important;width:82px!important;height:82px!important;background:radial-gradient(circle,#fff 0 22%,#86efac 24% 44%,rgba(34,197,94,.25) 45% 70%,transparent 71%)!important;box-shadow:0 0 46px rgba(74,222,128,.72)!important}.journey-quote{right:10px!important;bottom:26px!important;max-width:240px!important;background:rgba(0,45,39,.58)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;backdrop-filter:blur(12px)!important;padding:20px!important;border-radius:22px!important;font-size:17px!important;line-height:1.55!important}.journey-quote:before{content:'“';display:block;font-size:44px;line-height:.7;color:rgba(167,243,208,.5)}
#section-home .journey-settings-btn{z-index:5!important;background:#fff!important;color:#073b33!important;padding:13px 20px!important;border-radius:999px!important;font-size:15px!important;box-shadow:0 16px 38px rgba(0,0,0,.18)!important}.journey-metrics{position:relative;z-index:3;grid-template-columns:minmax(0,300px) minmax(0,240px)!important;max-width:620px!important}.journey-metric{background:rgba(255,255,255,.95)!important;box-shadow:0 18px 38px rgba(0,0,0,.16)!important;border:none!important}
@keyframes vhtgPlane{0%,100%{transform:translateY(0) rotate(-14deg)}50%{transform:translate(10px,-12px) rotate(-10deg)}}
#section-home .journey-roadmap{border-radius:30px!important;background:#fff!important;padding:26px 28px!important;box-shadow:0 18px 46px rgba(15,118,110,.08)!important}.journey-track{padding:28px 8px 16px!important}.journey-node{position:relative}.journey-node.active:after{content:attr(data-user-badge);position:absolute;top:-25px;left:50%;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:950;box-shadow:0 10px 22px rgba(245,158,11,.28)}.journey-node .journey-node-desc{display:block;font-size:11px;font-weight:800;color:#64748b;margin-top:4px}.journey-current-card{grid-template-columns:1fr auto auto!important;gap:16px!important}.journey-current-extra{display:flex;gap:12px;align-items:center}.journey-current-extra>div{background:#f0fdf4;border:1px solid rgba(15,118,110,.1);border-radius:16px;padding:10px 14px;min-width:130px}.journey-current-extra small{display:block;font-size:11px;color:#64748b;font-weight:800}.journey-current-extra b{font-size:15px;color:#073b33}
#section-home .home-growth-overview{padding:20px!important;border-radius:26px!important}.home-growth-head{gap:10px!important;align-items:flex-start!important}.home-growth-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}.home-growth-kpi{min-height:88px!important;padding:14px!important}.home-growth-kpi-value{font-size:20px!important}.home-growth-charts{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.home-growth-chart-card{min-height:260px!important;padding:16px!important;border-radius:22px!important}.home-growth-chart-card canvas{max-height:200px!important}.home-growth-empty{min-height:110px!important;border-radius:16px!important;background:linear-gradient(135deg,#f0fdf4,#fff)!important;color:#64748b!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px}.home-growth-empty:before{content:'◌';width:34px;height:34px;border-radius:999px;background:#dcfce7;color:#0f766e;display:flex;align-items:center;justify-content:center;font-size:18px}.growth-filter-chips{flex-wrap:wrap!important}.home-growth-insight{margin-top:10px!important}
.home-expense-filter{display:flex;gap:6px;flex-wrap:wrap}.home-expense-filter button{border:1px solid rgba(15,118,110,.14);background:#fff;color:#0f766e;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;font-family:inherit;cursor:pointer}.home-expense-filter button.active{background:#0f766e;color:#fff}.home-expense-distribution{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:center}.home-expense-card .journey-section-head{align-items:center!important}.expense-donut{width:190px!important;height:190px!important}.expense-legend div{padding:9px 0!important}.expense-empty-visual{min-height:210px!important;background:linear-gradient(135deg,#f0fdf4,#fff)!important;border:1px dashed rgba(15,118,110,.18)!important;border-radius:22px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64748b;text-align:center}.expense-empty-visual span{width:44px;height:44px;border-radius:16px;background:#dcfce7;color:#0f766e;display:flex;align-items:center;justify-content:center;font-size:22px}.expense-empty-visual b{font-size:14px;color:#073b33}.expense-empty-visual small{font-size:12px;font-weight:700;max-width:260px}
@media(max-width:900px){#section-home .journey-hero{min-height:unset!important;padding:22px 20px!important}.journey-visual{position:relative!important;right:auto!important;top:auto!important;width:100%!important;min-width:0!important;height:210px!important;margin-top:12px!important}.journey-visual:before{font-size:86px;left:38%;top:20%}.journey-sun{right:24%!important;top:28px!important}.journey-quote{right:10px!important;bottom:14px!important;font-size:13px!important;max-width:190px!important;padding:14px!important}.journey-metrics{grid-template-columns:1fr 1fr!important;max-width:none!important}.journey-current-card{grid-template-columns:1fr!important}.journey-current-extra{display:grid;grid-template-columns:1fr 1fr}.home-growth-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-expense-distribution{grid-template-columns:1fr}.expense-donut{margin:auto}.expense-legend{width:100%}}
@media(max-width:560px){#section-home .journey-title{font-size:30px!important}.journey-main-stat strong{font-size:38px!important}.journey-roadmap{padding:20px 16px!important}.journey-track{overflow-x:auto;padding-top:34px!important}.journey-node{min-width:92px!important}.journey-node-title{font-size:12px!important}.journey-current-extra{grid-template-columns:1fr}.home-growth-kpis{grid-template-columns:1fr 1fr!important}.home-growth-kpi-value{font-size:18px!important}.home-growth-chart-card{min-height:250px!important}.home-growth-chart-card canvas{max-height:180px!important}.home-expense-filter{width:100%;margin-top:8px}.home-expense-filter button{flex:1}.journey-settings-btn{padding:9px 12px!important;font-size:12px!important}}

/* === VHTG HOTFIX 2026-06-03: mobile HOME readability, chart empty state, user layout === */
#section-home,
#section-home *{
  letter-spacing:0!important;
}
#section-home .journey-hero{
  isolation:isolate!important;
}
#section-home .journey-hero:before,
#section-home .journey-hero:after{
  opacity:.72!important;
  z-index:0!important;
}
#section-home .journey-copy,
#section-home .journey-hero-main,
#section-home .journey-main-stat,
#section-home .journey-progress,
#section-home .journey-settings-btn,
#section-home .journey-metrics{
  position:relative!important;
  z-index:4!important;
}
#section-home .journey-title,
#section-home .journey-main-stat strong,
#section-home .journey-progress-top strong{
  color:#ffffff!important;
  text-shadow:0 3px 18px rgba(0,0,0,.38)!important;
}
#section-home .journey-subtitle,
#section-home .journey-kicker,
#section-home .journey-main-stat span,
#section-home .journey-progress-top span,
#section-home .journey-goal-chip{
  color:rgba(255,255,255,.9)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.24)!important;
}
#section-home .journey-goal-chip .maskable,
#section-home .journey-goal-chip b{
  color:#bbf7d0!important;
}
#section-home .home-growth-chart-card.empty canvas,
#section-home .growth-chart-card.empty canvas{
  display:none!important;
}
#section-home .home-growth-chart-card:not(.empty) .home-growth-empty,
#section-home .growth-chart-card:not(.empty) .home-growth-empty{
  display:none!important;
}
#section-home .home-growth-chart-card:not(.empty),
#section-home .growth-chart-card:not(.empty){
  min-height:250px!important;
}
#section-home .home-growth-chart-card canvas,
#section-home .growth-chart-card canvas{
  width:100%!important;
  min-height:190px!important;
}

@media(max-width:768px){
  #section-home .journey-hero{
    border-radius:24px!important;
    padding:20px 18px!important;
    min-height:0!important;
    background:linear-gradient(160deg,#064e3b 0%,#076b54 58%,#05392f 100%)!important;
  }
  #section-home .journey-visual{
    opacity:.32!important;
    height:120px!important;
    margin-top:-18px!important;
    pointer-events:none!important;
  }
  #section-home .journey-visual:before{
    font-size:78px!important;
    left:44%!important;
    top:8%!important;
  }
  #section-home .journey-quote,
  #section-home .journey-sun{
    display:none!important;
  }
  #section-home .journey-title{
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.08!important;
    max-width:100%!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(34px,12vw,50px)!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #section-home .journey-settings-btn{
    top:14px!important;
    right:14px!important;
    max-width:132px!important;
    min-height:42px!important;
    padding:10px 14px!important;
    font-size:14px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #section-home .journey-metrics{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:12px!important;
  }
  #section-home .journey-metric{
    padding:14px 12px!important;
    border-radius:18px!important;
    min-width:0!important;
  }
  #section-home .journey-metric b,
  #section-home .journey-metric strong{
    font-size:clamp(22px,8vw,32px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #section-home .journey-roadmap{
    padding:22px 16px!important;
    border-radius:26px!important;
    overflow:hidden!important;
  }
  #section-home .journey-section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  #section-home .journey-section-head h2{
    font-size:clamp(26px,8vw,34px)!important;
    line-height:1.12!important;
    word-break:normal!important;
  }
  #section-home .journey-section-head span{
    font-size:14px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  #section-home .journey-track{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(62px,1fr))!important;
    gap:0!important;
    overflow:visible!important;
    padding:24px 0 18px!important;
  }
  #section-home .journey-node{
    min-width:0!important;
    width:auto!important;
  }
  #section-home .journey-node-title{
    font-size:clamp(10.5px,3.2vw,13px)!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }
  #section-home .journey-current-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:18px!important;
    overflow:hidden!important;
  }
  #section-home .journey-current-card *{
    min-width:0!important;
  }
  #section-home #journey-current-title{
    font-size:clamp(28px,9vw,40px)!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }
  #section-home .journey-current-extra{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  #section-home .journey-current-extra>div{
    min-width:0!important;
    padding:12px!important;
  }
  #section-home .journey-current-extra b{
    font-size:clamp(18px,5.6vw,24px)!important;
    line-height:1.22!important;
    white-space:normal!important;
  }
  #section-home .home-growth-overview,
  #section-home .home-today-section,
  #section-home .home-expense-card{
    border-radius:24px!important;
    padding:16px!important;
    overflow:hidden!important;
  }
  #section-home .home-growth-chart-card,
  #section-home .growth-chart-card{
    border-radius:20px!important;
    padding:14px!important;
    min-height:240px!important;
    overflow:hidden!important;
  }
  #section-home .home-growth-chart-card canvas,
  #section-home .growth-chart-card canvas{
    height:210px!important;
    max-height:210px!important;
  }
  #section-home .home-growth-empty{
    min-height:150px!important;
    font-size:13px!important;
    line-height:1.45!important;
  }
}

@media(max-width:420px){
  #section-home .journey-metrics{
    grid-template-columns:1fr!important;
  }
  #section-home .journey-current-extra{
    grid-template-columns:1fr!important;
  }
  #section-home .journey-node-title{
    font-size:10px!important;
  }
}

#section-user .user-dashboard,
.user-dashboard{
  font-size:14px!important;
}
#section-user .user-dashboard *,
.user-dashboard *{
  letter-spacing:0!important;
  box-sizing:border-box!important;
}
#section-user .user-name,
.user-name{
  font-size:clamp(22px,5vw,28px)!important;
  line-height:1.15!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
#section-user .user-email,
.user-email{
  font-size:12px!important;
  line-height:1.35!important;
}
#section-user .user-stat-value,
.user-stat-value,
#section-user .user-mini-value,
.user-mini-value{
  font-size:clamp(18px,5vw,24px)!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
#section-user .user-action-title,
.user-action-title{
  font-size:14px!important;
  line-height:1.28!important;
}
#section-user .user-action-sub,
.user-action-sub,
#section-user .user-mini-label,
.user-mini-label,
#section-user .user-stat-label,
.user-stat-label{
  font-size:11.5px!important;
  line-height:1.35!important;
}
@media(max-width:768px){
  .user-dashboard{
    margin-left:-12px!important;
    margin-right:-12px!important;
    overflow:hidden!important;
  }
  .user-hero{
    padding:18px 16px 72px!important;
    border-radius:0 0 24px 24px!important;
  }
  .user-avatar{
    width:88px!important;
    height:88px!important;
    border-width:7px!important;
    font-size:34px!important;
  }
  .user-stat-card{
    margin:-48px 12px 14px!important;
    border-radius:20px!important;
  }
  .user-stat{
    padding:14px 7px!important;
  }
  .user-ai-card,
  .user-info-grid,
  .user-action-list,
  .user-quick-tabs{
    margin-left:12px!important;
    margin-right:12px!important;
  }
  .user-info-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .user-mini-card{
    min-height:104px!important;
    padding:14px 10px!important;
    border-radius:18px!important;
  }
  .user-ai-row{
    align-items:flex-start!important;
  }
  .user-ai-count{
    font-size:clamp(24px,8vw,32px)!important;
  }
}

/* === VHTG HOTFIX 2026-06-03: WCAG dark text + mobile wrapping guards === */
body.dark-mode{
  --text:#F9FAFB!important;
  --text2:#D1D5DB!important;
  --text3:#9CA3AF!important;
  --bg:#111827!important;
  --bg2:#1F2937!important;
  --bg3:#273244!important;
}
body.dark-mode .card,
body.dark-mode .chart-card,
body.dark-mode .modal-box,
body.dark-mode .connect-modal,
body.dark-mode .header-overflow-menu,
body.dark-mode .notif-dropdown,
body.dark-mode .workspace-dropdown,
body.dark-mode .home-growth-chart-card,
body.dark-mode .growth-chart-card,
body.dark-mode .home-today-card,
body.dark-mode .user-action-list,
body.dark-mode .user-mini-card,
body.dark-mode .user-stat-card{
  color:#F9FAFB!important;
  background-color:#1F2937!important;
}
body.dark-mode small,
body.dark-mode .sub,
body.dark-mode .desc,
body.dark-mode .user-action-sub,
body.dark-mode .home-growth-kpi-sub,
body.dark-mode .home-today-card em{
  color:#D1D5DB!important;
  opacity:1!important;
}
@media(max-width:480px){
  #section-home .card,
  #section-home .home-today-card,
  #section-home .home-goal-card,
  #section-home .home-growth-kpi,
  #section-home .home-growth-chart-card,
  #section-home .growth-chart-card,
  #section-home .journey-current-card,
  #section-home .journey-metric,
  #section-home .home-momentum-card,
  #section-home .home-ai-journey,
  #section-home .home-forecast-card,
  #section-home .home-passive-card{
    min-width:0!important;
    overflow:hidden!important;
  }
  #section-home .card *,
  #section-home .home-today-card *,
  #section-home .home-goal-card *,
  #section-home .home-growth-kpi *,
  #section-home .journey-current-card *,
  #section-home .journey-metric *,
  #section-home .home-momentum-card *,
  #section-home .home-ai-journey *,
  #section-home .home-forecast-card *,
  #section-home .home-passive-card *{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    white-space:normal!important;
  }
  #section-home .maskable,
  #section-home .home-goal-number,
  #section-home .home-growth-kpi-value,
  #section-home .home-momentum-value,
  #section-home .home-forecast-value{
    font-size:clamp(17px,6vw,24px)!important;
    line-height:1.15!important;
  }
}

/* === VHTG PATCH 2026-06-04: Home compact slider + readable cards === */
#section-home,#section-home *{font-family:"Be Vietnam Pro","Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:0!important;box-sizing:border-box!important}
#section-home .journey-hero{position:relative!important;overflow:hidden!important;min-height:0!important;padding:26px 28px!important;border-radius:24px!important;background:#064e3b!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 44px rgba(6,78,59,.18)!important}
#section-home .journey-hero:before,#section-home .journey-hero:after,#section-home .journey-visual,#section-home .journey-plane,#section-home .journey-plane-marker{display:none!important;content:none!important;animation:none!important}
#section-home .journey-hero-main{display:block!important;min-height:0!important}
#section-home .journey-copy{max-width:100%!important;position:relative!important;z-index:2!important}
#section-home .journey-settings-btn{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;float:right!important;max-width:160px!important;min-height:36px!important;margin:0 0 12px 14px!important;padding:0 14px!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important;font-size:13px!important;font-weight:850!important;white-space:nowrap!important}
#section-home .journey-kicker,#section-home .journey-subtitle,#section-home .journey-main-stat span,#section-home .journey-progress-top span,#section-home .journey-goal-chip{color:rgba(255,255,255,.84)!important;text-shadow:none!important}
#section-home .journey-title{clear:none!important;margin:4px 0 8px!important;max-width:760px!important;color:#fff!important;text-shadow:none!important;font-size:clamp(28px,4.2vw,44px)!important;line-height:1.12!important;font-weight:950!important;overflow-wrap:break-word!important}
#section-home .journey-main-stat{margin-top:16px!important}
#section-home .journey-main-stat strong{color:#fff!important;text-shadow:none!important;font-size:clamp(34px,5vw,56px)!important;line-height:1.04!important;font-weight:950!important;overflow-wrap:anywhere!important}
#section-home .journey-progress{max-width:560px!important;margin:16px 0 0!important;overflow:visible!important}
#section-home .journey-progress-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:8px!important;min-width:0!important}
#section-home .journey-progress-top span{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
#section-home .journey-progress-top strong{flex:0 0 auto!important;color:#fff!important;text-shadow:none!important;font-size:18px!important}
#section-home .journey-progress-track{height:9px!important;background:rgba(255,255,255,.20)!important;border-radius:999px!important;overflow:hidden!important;box-shadow:none!important}
#section-home .journey-progress-fill{height:100%!important;background:#22c55e!important;box-shadow:none!important}
#section-home .journey-goal-chip{display:block!important;width:fit-content!important;max-width:100%!important;margin-top:8px!important;padding:7px 10px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;line-height:1.35!important}
#section-home .journey-goal-chip b{color:#bbf7d0!important}
#section-home .journey-metrics{clear:both!important;position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,260px))!important;gap:12px!important;max-width:540px!important;margin-top:18px!important}
#section-home .journey-metric{min-width:0!important;min-height:78px!important;padding:14px!important;border-radius:16px!important;background:#fff!important;color:#0f2f29!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important}
#section-home .journey-metric small{color:#4b635d!important}
#section-home .journey-metric b{color:#064e3b!important;white-space:normal!important;overflow-wrap:anywhere!important}
#section-home .home-two-col.journey-action-row,#section-home .home-feed-card,#section-home .home-expense-card{display:none!important}
#section-home .home-growth-overview{padding:18px!important;border-radius:22px!important;overflow:hidden!important}
#section-home .home-growth-head{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:start!important}
#section-home .home-growth-customize-btn{grid-column:2!important;grid-row:1!important;height:34px!important;padding:0 12px!important;border-radius:999px!important;background:#064e3b!important;color:#fff!important;border:0!important}
#section-home .home-range-pills,#section-home .growth-filter-chips{grid-column:1/-1!important;display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:4px!important}
#section-home .home-range-pills::-webkit-scrollbar,#section-home .growth-filter-chips::-webkit-scrollbar{display:none!important}
#section-home .home-growth-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important}
#section-home .home-growth-charts,#section-home .home-growth-charts.growth-chart-grid,#section-home .growth-chart-grid{display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;padding:2px 2px 12px!important}
#section-home .home-growth-charts::-webkit-scrollbar,#section-home .growth-chart-grid::-webkit-scrollbar{height:8px!important}
#section-home .home-growth-charts::-webkit-scrollbar-thumb,#section-home .growth-chart-grid::-webkit-scrollbar-thumb{background:rgba(15,118,110,.24)!important;border-radius:999px!important}
#section-home .home-growth-chart-card,#section-home .growth-chart-card{flex:0 0 min(88vw,430px)!important;width:min(88vw,430px)!important;min-width:min(88vw,430px)!important;min-height:250px!important;padding:15px!important;border-radius:18px!important;scroll-snap-align:start!important;overflow:hidden!important}
#section-home .home-growth-chart-card canvas,#section-home .growth-chart-card canvas{min-height:185px!important;max-height:200px!important}
#section-home .journey-roadmap{border-radius:22px!important;padding:22px!important;background:#fff!important;overflow:hidden!important}
#section-home .journey-roadmap .journey-section-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}
#section-home .journey-roadmap .journey-section-head h2{margin:0!important;color:#073b33!important;font-size:22px!important;line-height:1.2!important}
#section-home .journey-roadmap .journey-section-head span{color:#49645e!important;font-size:12px!important;font-weight:800!important;text-align:right!important;white-space:normal!important}
#section-home .journey-track{position:relative!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;padding:26px 0 14px!important;overflow:visible!important}
#section-home .journey-track-line{position:absolute!important;left:8%!important;right:8%!important;top:42px!important;height:4px!important;background:#d8eee7!important;border-radius:999px!important}
#section-home .journey-track-line span{display:block!important;height:100%!important;background:#22c55e!important;border-radius:999px!important}
#section-home .journey-node{display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;min-width:0!important;min-height:0!important;padding:0 6px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#0f2f29!important;text-align:center!important;cursor:pointer!important}
#section-home .journey-node:hover{transform:none!important;box-shadow:none!important}
#section-home .journey-node span{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;border-radius:999px!important;background:#fff!important;color:#064e3b!important;border:2px solid #22c55e!important;box-shadow:0 0 0 5px #eefbf5!important;animation:none!important}
#section-home .journey-node.active span{background:#064e3b!important;color:#fff!important;border-color:#f59e0b!important}
#section-home .journey-node.active:after{top:-22px!important;font-size:10px!important;box-shadow:none!important}
#section-home .journey-node-title{color:#0f2f29!important;font-size:12px!important;line-height:1.25!important;font-weight:850!important;white-space:normal!important}
#section-home .journey-current-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:16px!important;border-radius:18px!important;background:#f8fffb!important;border:1px solid rgba(15,118,110,.12)!important;overflow:hidden!important}
#section-home .journey-current-card h3,#section-home #journey-current-title{color:#064e3b!important;font-size:22px!important;line-height:1.15!important;white-space:normal!important}
#section-home .journey-current-card p,#section-home #journey-current-sub{color:#49645e!important;line-height:1.45!important}
#section-home .journey-current-extra{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;grid-column:1/-1!important}
#section-home .journey-current-extra>div{min-width:0!important;padding:10px 12px!important;border-radius:14px!important}
.main-tabs-wrap .main-tab{display:inline-flex!important;align-items:center!important;gap:8px!important}
.main-tabs-wrap .main-tab svg,.main-tab-icon svg{width:18px!important;height:18px!important;stroke:currentColor!important;stroke-width:2.2!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;flex:0 0 auto!important}
.mobile-nav .mnav-btn svg{width:20px!important;height:20px!important;stroke:currentColor!important;stroke-width:2.2!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}
@media(min-width:1100px){#section-home .home-growth-chart-card,#section-home .growth-chart-card{flex-basis:calc((100% - 28px)/3)!important;width:calc((100% - 28px)/3)!important;min-width:calc((100% - 28px)/3)!important}}
@media(max-width:900px){#section-home .journey-hero{padding:18px 16px!important;border-radius:22px!important}#section-home .journey-settings-btn{float:none!important;margin:0 0 12px!important;max-width:100%!important;min-height:34px!important}#section-home .journey-title{font-size:30px!important}#section-home .journey-main-stat strong{font-size:40px!important}#section-home .journey-metrics{grid-template-columns:1fr 1fr!important;max-width:none!important}#section-home .home-growth-head{grid-template-columns:1fr!important}#section-home .home-growth-customize-btn{grid-column:1!important;grid-row:auto!important;justify-self:start!important}#section-home .home-range-pills,#section-home .growth-filter-chips{display:flex!important}#section-home .home-growth-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}#section-home .home-growth-chart-card,#section-home .growth-chart-card{flex-basis:min(86vw,390px)!important;width:min(86vw,390px)!important;min-width:min(86vw,390px)!important}}
@media(max-width:560px){#section-home .journey-title{font-size:27px!important}#section-home .journey-main-stat strong{font-size:34px!important}#section-home .journey-metrics{grid-template-columns:1fr!important}#section-home .journey-progress-top{align-items:flex-start!important}#section-home .journey-roadmap{padding:18px 14px!important}#section-home .journey-roadmap .journey-section-head{display:block!important}#section-home .journey-roadmap .journey-section-head span{display:block!important;margin-top:5px!important;text-align:left!important}#section-home .journey-track{display:flex!important;flex-direction:column!important;gap:12px!important;padding:14px 0 14px 4px!important}#section-home .journey-track-line{left:19px!important;right:auto!important;top:22px!important;bottom:22px!important;width:4px!important;height:auto!important}#section-home .journey-track-line span{width:100%!important}#section-home .journey-node{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;text-align:left!important;padding:0!important}#section-home .journey-node span{width:34px!important;height:34px!important}#section-home .journey-node.active:after{content:none!important}#section-home .journey-node-title{font-size:13px!important}#section-home .journey-current-card{grid-template-columns:1fr!important;padding:14px!important}#section-home .journey-current-progress{width:100%!important;min-width:0!important}#section-home .journey-current-extra{grid-template-columns:1fr!important}#section-home .home-growth-kpis{grid-template-columns:1fr!important}#section-home .home-growth-chart-card,#section-home .growth-chart-card{flex-basis:84vw!important;width:84vw!important;min-width:84vw!important;min-height:238px!important}#section-home .home-growth-chart-card canvas,#section-home .growth-chart-card canvas{min-height:178px!important;max-height:185px!important}.mobile-nav .mnav-btn span{font-size:9px!important}}

/* === VHTG PATCH 2026-06-04B: remove Community tab + compact Home journey === */
#mtab-community,#mnav-community,.community-user-entry{display:none!important}
.journey-detail-modal{text-align:left;display:grid;gap:12px}
.journey-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.journey-detail-grid>div,.journey-detail-note{border:1px solid rgba(15,118,110,.12);background:#f8fffb;border-radius:16px;padding:12px;min-width:0}
.journey-detail-grid small{display:block;color:#64756f;font-size:11px;font-weight:850;margin-bottom:4px}
.journey-detail-grid b{display:block;color:#064e3b;font-size:18px;font-weight:950;line-height:1.15;overflow-wrap:anywhere}
.journey-detail-grid span,.journey-detail-note{color:#405c55;font-size:13px;font-weight:750;line-height:1.5}
.journey-detail-note b{color:#064e3b}
@media(max-width:560px){.journey-detail-grid{grid-template-columns:1fr 1fr}.journey-detail-grid>div,.journey-detail-note{padding:10px;border-radius:14px}.journey-detail-grid b{font-size:15px}.journey-detail-grid span,.journey-detail-note{font-size:12px}}
#section-home .journey-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:560px!important}
#section-home .journey-metric{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:72px!important;padding:12px!important}
#section-home .journey-metric-icon{width:34px!important;height:34px!important;border-radius:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}
#section-home .journey-metric b{font-size:clamp(16px,3.2vw,22px)!important;line-height:1.12!important}
#section-home .journey-metric small{font-size:11px!important;font-weight:850!important;text-transform:none!important}
#section-home .journey-current-card{cursor:pointer!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:14px 16px!important}
#section-home .journey-current-card>div:first-child span{display:block!important;color:#64756f!important;font-size:11px!important;font-weight:850!important;margin-bottom:3px!important}
#section-home .journey-current-card>div:first-child span::after{content:"";display:none}
#section-home .journey-current-kind{min-width:0!important}
#section-home .journey-current-kind span{display:block!important;color:#64756f!important;font-size:11px!important;font-weight:850!important;margin-bottom:3px!important}
#section-home .journey-current-kind b{display:block!important;color:#064e3b!important;font-size:18px!important;line-height:1.18!important;font-weight:950!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#section-home #journey-current-title{font-size:22px!important;margin:0!important}
#section-home #journey-current-sub{font-size:13px!important;margin:3px 0 0!important;display:block!important}
#section-home .journey-current-progress{min-width:104px!important;border-radius:14px!important;padding:10px 12px!important;background:#ecfdf5!important;border:1px solid rgba(15,118,110,.12)!important}
#section-home .journey-current-progress strong{font-size:20px!important;color:#064e3b!important}
#section-home .journey-current-extra{display:none!important}
@media(max-width:560px){
  #section-home .journey-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #section-home .journey-metric{grid-template-columns:24px minmax(0,1fr)!important;gap:7px!important;min-height:58px!important;padding:9px!important;border-radius:14px!important}
  #section-home .journey-metric-icon{width:24px!important;height:24px!important;border-radius:10px!important;font-size:12px!important}
  #section-home .journey-metric small{font-size:9.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #section-home .journey-metric b{font-size:clamp(13px,4vw,16px)!important;line-height:1.08!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #section-home .journey-track{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;padding:20px 0 10px!important}
  #section-home .journey-track-line{left:8%!important;right:8%!important;top:35px!important;bottom:auto!important;width:auto!important;height:4px!important}
  #section-home .journey-node{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:center!important;text-align:center!important;padding:0 2px!important}
  #section-home .journey-node span{width:28px!important;height:28px!important;box-shadow:0 0 0 4px #eefbf5!important;font-size:12px!important}
  #section-home .journey-node-title{font-size:9.8px!important;line-height:1.12!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;min-height:22px!important}
  #section-home .journey-current-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 72px!important;gap:8px!important;padding:12px!important}
  #section-home .journey-current-card>div:first-child span{font-size:10px!important}
  #section-home #journey-current-title{font-size:18px!important;line-height:1.08!important}
  #section-home #journey-current-sub{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #section-home .journey-current-kind span{font-size:10px!important}
  #section-home .journey-current-kind b{font-size:13px!important;line-height:1.1!important}
  #section-home .journey-current-progress{min-width:76px!important;padding:8px!important}
  #section-home .journey-current-progress strong{font-size:16px!important}
  #section-home .journey-current-progress small{font-size:9px!important}
}

/* === VHTG PATCH 2026-06-04C: HOME hero image redesign + mobile 2x2 growth KPIs === */
#section-home .journey-hero{
  min-height:clamp(430px,45vw,620px)!important;
  padding:clamp(34px,4.4vw,58px)!important;
  border-radius:30px!important;
  background-image:
    linear-gradient(90deg,rgba(0,42,34,.72) 0%,rgba(0,63,48,.46) 42%,rgba(0,42,34,.12) 100%),
    url("https://ecofami.com.vn/wp-content/uploads/2026/06/vanhanhtinhgon-1.png")!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 22px 60px rgba(0,52,42,.20)!important;
  color:#fff!important;
}
#section-home .journey-hero:before,
#section-home .journey-hero:after,
#section-home .journey-visual,
#section-home .journey-plane,
#section-home .journey-plane-marker{
  display:none!important;
  content:none!important;
}
#section-home .journey-settings-btn{
  position:absolute!important;
  top:clamp(24px,3.2vw,44px)!important;
  right:clamp(24px,3.2vw,44px)!important;
  z-index:4!important;
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  height:54px!important;
  min-height:54px!important;
  max-width:none!important;
  margin:0!important;
  padding:0 24px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  background:rgba(0,48,39,.26)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:blur(4px)!important;
  font-size:17px!important;
  font-weight:900!important;
}
#section-home .journey-settings-btn:before{
  content:"⚙";
  font-size:22px;
  line-height:1;
}
#section-home .journey-copy{
  position:relative!important;
  z-index:2!important;
  max-width:min(58vw,780px)!important;
}
#section-home .journey-kicker{
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(18px,1.8vw,26px)!important;
  font-weight:850!important;
  line-height:1.25!important;
  margin:0 0 24px!important;
}
#section-home .journey-title{
  max-width:780px!important;
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:clamp(46px,5.8vw,84px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  text-shadow:0 3px 14px rgba(0,0,0,.34)!important;
}
#section-home .journey-subtitle{
  color:rgba(255,255,255,.82)!important;
  font-size:clamp(18px,1.55vw,26px)!important;
  line-height:1.35!important;
  font-weight:800!important;
  margin-bottom:clamp(34px,4vw,58px)!important;
}
#section-home .journey-main-stat{
  margin:0 0 26px!important;
}
#section-home .journey-main-stat span{
  display:block!important;
  color:rgba(255,255,255,.86)!important;
  font-size:clamp(16px,1.45vw,23px)!important;
  font-weight:850!important;
  line-height:1.2!important;
  margin-bottom:14px!important;
}
#section-home .journey-main-stat strong{
  display:block!important;
  color:#fff!important;
  font-size:clamp(54px,6vw,88px)!important;
  line-height:1.02!important;
  font-weight:950!important;
  text-shadow:0 3px 14px rgba(0,0,0,.34)!important;
  white-space:normal!important;
}
#section-home .journey-main-stat strong::first-letter{
  color:#7bf05c;
}
#section-home .journey-progress{
  position:relative!important;
  z-index:2!important;
  max-width:min(84vw,1360px)!important;
  margin:0!important;
  padding-bottom:28px!important;
  overflow:visible!important;
}
#section-home .journey-progress-top{
  display:block!important;
  margin:0!important;
}
#section-home .journey-progress-top span{
  display:block!important;
  color:rgba(255,255,255,.86)!important;
  font-size:clamp(16px,1.35vw,22px)!important;
  font-weight:850!important;
  line-height:1.25!important;
  margin-bottom:14px!important;
}
#section-home .journey-progress-top b{
  color:#61ea61!important;
}
#section-home .journey-progress-top strong{
  position:absolute!important;
  right:0!important;
  bottom:10px!important;
  color:#a8ff73!important;
  font-size:clamp(27px,2.6vw,42px)!important;
  font-weight:950!important;
  line-height:1!important;
  text-shadow:0 3px 12px rgba(0,0,0,.28)!important;
}
#section-home .journey-progress-track{
  width:calc(100% - 138px)!important;
  height:22px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.22)!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.2),0 0 26px rgba(91,255,99,.16)!important;
}
#section-home .journey-progress-fill{
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#a9ff57 0%,#38ef61 100%)!important;
  box-shadow:0 0 20px rgba(91,255,99,.55)!important;
}
#section-home .journey-goal-chip{
  display:none!important;
}
#section-home .journey-metrics{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  width:min(760px,58vw)!important;
  max-width:none!important;
  margin-top:clamp(22px,3.1vw,44px)!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#section-home .journey-metric{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:center!important;
  min-height:112px!important;
  padding:0 38px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#section-home .journey-metric + .journey-metric{
  padding-left:38px!important;
  border-left:1px solid rgba(255,255,255,.45)!important;
}
#section-home .journey-metric-icon{
  width:96px!important;
  height:96px!important;
  border-radius:999px!important;
  background:rgba(0,117,83,.34)!important;
  border:2px solid rgba(75,255,114,.32)!important;
  box-shadow:inset 0 -18px 32px rgba(0,0,0,.16),0 12px 30px rgba(0,0,0,.14)!important;
  color:#80ff5f!important;
  font-size:34px!important;
}
#section-home .journey-metric-icon.purple::before{
  content:"▰";
}
#section-home .journey-metric-icon.fire::before{
  content:"●";
  color:#ff9f1a;
}
#section-home .journey-metric-icon{
  font-size:0!important;
}
#section-home .journey-metric small{
  color:rgba(255,255,255,.82)!important;
  font-size:clamp(16px,1.3vw,22px)!important;
  font-weight:850!important;
  line-height:1.2!important;
  margin-bottom:8px!important;
}
#section-home .journey-metric b{
  display:inline!important;
  color:#fff!important;
  font-size:clamp(30px,3vw,48px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  text-shadow:0 3px 12px rgba(0,0,0,.28)!important;
  white-space:nowrap!important;
}
#section-home .journey-metric em{
  display:inline!important;
  margin-left:8px!important;
  color:rgba(255,255,255,.58)!important;
  font-size:clamp(22px,2.1vw,34px)!important;
  line-height:1.08!important;
  font-style:normal!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#section-home #journey-streak-sub{
  display:block!important;
  margin:8px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:clamp(14px,1.15vw,19px)!important;
  font-weight:800!important;
}
#section-home .home-growth-kpis,
#section-home .growth-metric-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
@media(max-width:900px){
  #section-home .journey-hero{
    min-height:0!important;
    padding:44px 46px!important;
    border-radius:28px!important;
    background-image:
      linear-gradient(180deg,rgba(0,48,39,.28) 0%,rgba(0,50,40,.12) 42%,rgba(0,42,34,.24) 100%),
      url("https://ecofami.com.vn/wp-content/uploads/2026/06/vanhanhtinhgon-2.png")!important;
    background-position:center top!important;
  }
  #section-home .journey-copy{
    max-width:100%!important;
  }
  #section-home .journey-settings-btn{
    top:44px!important;
    right:46px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 20px!important;
    font-size:17px!important;
  }
  #section-home .journey-kicker{
    max-width:calc(100% - 190px)!important;
    margin-bottom:34px!important;
    font-size:24px!important;
  }
  #section-home .journey-title{
    max-width:58%!important;
    margin-bottom:22px!important;
    font-size:clamp(42px,8.5vw,62px)!important;
    line-height:1.12!important;
  }
  #section-home .journey-subtitle{
    max-width:66%!important;
    margin-bottom:74px!important;
    font-size:23px!important;
  }
  #section-home .journey-main-stat span{
    font-size:22px!important;
    margin-bottom:20px!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(56px,10vw,78px)!important;
  }
  #section-home .journey-progress{
    max-width:100%!important;
    padding-bottom:48px!important;
  }
  #section-home .journey-progress-track{
    width:calc(100% - 76px)!important;
    height:28px!important;
  }
  #section-home .journey-progress-top strong{
    bottom:32px!important;
    font-size:33px!important;
  }
  #section-home .journey-progress-top span{
    margin-top:16px!important;
    margin-bottom:16px!important;
    font-size:22px!important;
  }
  #section-home .journey-metrics{
    width:100%!important;
    margin-top:4px!important;
    padding:26px 24px!important;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:28px!important;
    background:rgba(0,54,43,.30)!important;
    backdrop-filter:blur(3px)!important;
  }
  #section-home .journey-metric{
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:18px!important;
    min-height:132px!important;
    padding:0 22px 0 0!important;
  }
  #section-home .journey-metric + .journey-metric{
    padding-left:24px!important;
  }
  #section-home .journey-metric-icon{
    width:92px!important;
    height:92px!important;
  }
  #section-home .journey-metric small{
    font-size:22px!important;
  }
  #section-home .journey-metric b{
    display:block!important;
    font-size:36px!important;
  }
  #section-home .journey-metric em{
    display:block!important;
    margin:9px 0 0!important;
    color:rgba(255,255,255,.78)!important;
    font-size:18px!important;
    line-height:1.25!important;
  }
  #section-home .home-growth-kpis,
  #section-home .growth-metric-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  #section-home .journey-hero{
    margin-left:-4px!important;
    margin-right:-4px!important;
    padding:26px 24px 28px!important;
    border-radius:24px!important;
    background-position:center top!important;
  }
  #section-home .journey-settings-btn{
    top:22px!important;
    right:22px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 14px!important;
    gap:7px!important;
    font-size:14px!important;
  }
  #section-home .journey-settings-btn:before{
    font-size:18px!important;
  }
  #section-home .journey-kicker{
    max-width:calc(100% - 138px)!important;
    margin:14px 0 36px!important;
    font-size:17px!important;
  }
  #section-home .journey-title{
    max-width:68%!important;
    margin-bottom:18px!important;
    font-size:clamp(34px,10.6vw,48px)!important;
    line-height:1.12!important;
  }
  #section-home .journey-subtitle{
    max-width:74%!important;
    margin-bottom:70px!important;
    font-size:17px!important;
    line-height:1.35!important;
  }
  #section-home .journey-main-stat{
    margin-bottom:16px!important;
  }
  #section-home .journey-main-stat span{
    font-size:17px!important;
    margin-bottom:18px!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(42px,13vw,58px)!important;
    white-space:normal!important;
  }
  #section-home .journey-progress{
    padding-bottom:42px!important;
  }
  #section-home .journey-progress-top span{
    font-size:16px!important;
    margin:20px 0 12px!important;
  }
  #section-home .journey-progress-track{
    width:calc(100% - 58px)!important;
    height:22px!important;
  }
  #section-home .journey-progress-top strong{
    right:0!important;
    bottom:28px!important;
    font-size:25px!important;
  }
  #section-home .journey-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    margin-top:2px!important;
    padding:18px 14px!important;
    border-radius:22px!important;
  }
  #section-home .journey-metric{
    grid-template-columns:1fr!important;
    gap:10px!important;
    min-height:142px!important;
    padding:0 12px 0 0!important;
    text-align:left!important;
  }
  #section-home .journey-metric + .journey-metric{
    padding:0 0 0 14px!important;
  }
  #section-home .journey-metric-icon{
    width:62px!important;
    height:62px!important;
    border-radius:999px!important;
  }
  #section-home .journey-metric small{
    display:block!important;
    font-size:15px!important;
    line-height:1.18!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    margin-bottom:9px!important;
  }
  #section-home .journey-metric b{
    display:block!important;
    font-size:clamp(24px,7vw,32px)!important;
    line-height:1.02!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #section-home .journey-metric em,
  #section-home #journey-streak-sub{
    display:block!important;
    margin-top:10px!important;
    font-size:13px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  #section-home .home-growth-kpis,
  #section-home .growth-metric-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  #section-home .home-growth-kpi,
  #section-home .growth-metric-card{
    min-height:98px!important;
    padding:11px!important;
  }
  #section-home .home-growth-kpi-label{
    font-size:10.5px!important;
    line-height:1.2!important;
  }
  #section-home .home-growth-kpi-value{
    font-size:clamp(16px,4.6vw,20px)!important;
    line-height:1.12!important;
  }
  #section-home .home-growth-kpi-sub{
    font-size:10px!important;
    line-height:1.25!important;
    -webkit-line-clamp:2!important;
  }
}

/* === VHTG PATCH 2026-06-04E: final HOME hero balance override === */
#section-home .journey-copy{max-width:min(54vw,680px)!important;overflow:visible!important}
#section-home .journey-title{max-width:100%!important;font-size:clamp(38px,4.2vw,62px)!important;line-height:1.06!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block!important}
#section-home .journey-kicker{font-size:clamp(17px,1.35vw,22px)!important;margin-bottom:18px!important}
#section-home .journey-subtitle{font-size:clamp(16px,1.28vw,21px)!important;margin-bottom:clamp(28px,3.1vw,42px)!important}
#section-home .journey-main-stat{margin-bottom:18px!important}
#section-home .journey-main-stat span{font-size:clamp(15px,1.24vw,20px)!important;margin-bottom:10px!important}
#section-home .journey-main-stat strong{font-size:clamp(42px,4.6vw,66px)!important;line-height:1.04!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#section-home .journey-progress{max-width:min(68vw,1040px)!important;padding-bottom:0!important;margin:0 0 24px!important;overflow:visible!important}
#section-home .journey-progress-top span{font-size:clamp(14px,1.15vw,18px)!important;margin-bottom:10px!important}
#section-home .journey-progress-track{width:calc(100% - 92px)!important;height:16px!important;clear:both!important}
#section-home .journey-progress-top strong{right:0!important;bottom:-3px!important;font-size:clamp(24px,2.2vw,34px)!important}
#section-home .journey-metrics{width:min(620px,52vw)!important;margin-top:0!important;align-items:center!important}
#section-home .journey-metric{grid-template-columns:76px minmax(0,1fr)!important;gap:16px!important;min-height:84px!important;padding-right:26px!important}
#section-home .journey-metric + .journey-metric{padding-left:26px!important}
#section-home .journey-metric-icon{width:68px!important;height:68px!important;font-size:initial!important;color:#8cff63!important}
#section-home .journey-metric-icon:before{content:none!important}
#section-home .journey-metric-icon svg{width:34px!important;height:34px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:2.35!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#section-home .journey-metric-icon.fire{color:#ff9f1a!important;border-color:rgba(255,159,26,.44)!important}
#section-home .journey-metric-icon.fire svg{fill:rgba(255,159,26,.18)!important}
#section-home .journey-metric small{font-size:clamp(14px,1.1vw,18px)!important;margin-bottom:5px!important}
#section-home .journey-metric b{font-size:clamp(24px,2.2vw,34px)!important;line-height:1.08!important}
#section-home .journey-metric em{font-size:clamp(15px,1.25vw,20px)!important;line-height:1.18!important}
#section-home #journey-streak-sub{font-size:clamp(13px,1vw,16px)!important;margin-top:5px!important}
@media(max-width:900px){
  #section-home .journey-copy{max-width:100%!important}
  #section-home .journey-kicker{max-width:calc(100% - 150px)!important;font-size:20px!important;margin:0 0 30px!important}
  #section-home .journey-title{max-width:68%!important;font-size:clamp(34px,7.1vw,48px)!important;line-height:1.12!important;margin-bottom:16px!important}
  #section-home .journey-subtitle{max-width:72%!important;font-size:18px!important;margin-bottom:44px!important}
  #section-home .journey-main-stat span{font-size:18px!important;margin-bottom:12px!important}
  #section-home .journey-main-stat strong{font-size:clamp(38px,8.4vw,54px)!important;max-width:72%!important}
  #section-home .journey-progress{max-width:100%!important;margin-bottom:18px!important;padding-bottom:0!important}
  #section-home .journey-progress-track{width:calc(100% - 68px)!important;height:18px!important}
  #section-home .journey-progress-top strong{bottom:-4px!important;font-size:28px!important}
  #section-home .journey-progress-top span{font-size:17px!important;margin:10px 0 10px!important}
  #section-home .journey-metrics{width:100%!important;margin-top:12px!important;padding:18px!important;border-radius:24px!important}
  #section-home .journey-metric{grid-template-columns:70px minmax(0,1fr)!important;gap:14px!important;min-height:100px!important;padding-right:18px!important}
  #section-home .journey-metric + .journey-metric{padding-left:18px!important}
  #section-home .journey-metric-icon{width:62px!important;height:62px!important}
  #section-home .journey-metric-icon svg{width:31px!important;height:31px!important}
  #section-home .journey-metric small{font-size:16px!important}
  #section-home .journey-metric b{font-size:28px!important}
  #section-home .journey-metric em{font-size:14px!important;margin-top:5px!important}
}
@media(max-width:560px){
  #section-home .journey-hero{padding:22px 22px 24px!important;border-radius:22px!important}
  #section-home .journey-settings-btn{top:18px!important;right:18px!important;height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:13px!important}
  #section-home .journey-kicker{max-width:calc(100% - 128px)!important;font-size:16px!important;line-height:1.25!important;margin:8px 0 42px!important}
  #section-home .journey-title{max-width:66%!important;font-size:clamp(30px,9vw,38px)!important;line-height:1.13!important;margin-bottom:14px!important}
  #section-home .journey-subtitle{max-width:78%!important;font-size:15.5px!important;line-height:1.35!important;margin-bottom:48px!important}
  #section-home .journey-main-stat{margin-bottom:12px!important}
  #section-home .journey-main-stat span{font-size:15.5px!important;margin-bottom:10px!important}
  #section-home .journey-main-stat strong{max-width:72%!important;font-size:clamp(34px,10.8vw,44px)!important;line-height:1.12!important}
  #section-home .journey-progress{margin-bottom:14px!important}
  #section-home .journey-progress-top span{font-size:14px!important;margin:12px 0 8px!important}
  #section-home .journey-progress-track{width:calc(100% - 54px)!important;height:16px!important}
  #section-home .journey-progress-top strong{bottom:-4px!important;font-size:23px!important}
  #section-home .journey-metrics{margin-top:14px!important;padding:14px 12px!important;border-radius:20px!important}
  #section-home .journey-metric{grid-template-columns:1fr!important;gap:8px!important;min-height:118px!important;padding-right:10px!important}
  #section-home .journey-metric + .journey-metric{padding-left:12px!important}
  #section-home .journey-metric-icon{width:50px!important;height:50px!important}
  #section-home .journey-metric-icon svg{width:26px!important;height:26px!important}
  #section-home .journey-metric small{font-size:13px!important;margin-bottom:4px!important}
  #section-home .journey-metric b{font-size:clamp(22px,6.2vw,28px)!important}
  #section-home .journey-metric em,#section-home #journey-streak-sub{font-size:12px!important;line-height:1.22!important;margin-top:6px!important}
}

/* === VHTG PATCH 2026-06-04F: compact HOME hero + remove signal/journey milestone panels === */
#section-home .journey-roadmap,
#section-home .signal-panel,
#section-home .level-journey-card,
#section-home .home-bottom-grid{
  display:none!important;
}
#section-home .journey-hero{
  min-height:0!important;
  padding:28px 34px 30px!important;
}
#section-home .journey-copy{
  max-width:min(720px,62vw)!important;
}
#section-home .journey-kicker{
  font-size:16px!important;
  line-height:1.3!important;
  margin:0 0 14px!important;
}
#section-home .journey-title{
  max-width:100%!important;
  font-size:clamp(24px,2.25vw,34px)!important;
  line-height:1.16!important;
  margin:0 0 10px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#section-home .journey-subtitle{
  font-size:15px!important;
  line-height:1.35!important;
  margin:0 0 24px!important;
}
#section-home .journey-main-stat{
  margin:0 0 14px!important;
}
#section-home .journey-main-stat span{
  font-size:14px!important;
  line-height:1.25!important;
  margin:0 0 8px!important;
}
#section-home .journey-main-stat strong{
  max-width:100%!important;
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#section-home .journey-progress{
  max-width:min(720px,62vw)!important;
  margin:0 0 18px!important;
}
#section-home .journey-progress-top span{
  font-size:13px!important;
  line-height:1.25!important;
  margin:0 0 7px!important;
}
#section-home .journey-progress-track{
  height:12px!important;
  width:calc(100% - 70px)!important;
}
#section-home .journey-progress-top strong{
  font-size:22px!important;
  bottom:-4px!important;
}
#section-home .journey-metrics{
  width:min(560px,54vw)!important;
  margin-top:0!important;
}
#section-home .journey-metric{
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:12px!important;
  min-height:68px!important;
  padding-right:18px!important;
}
#section-home .journey-metric + .journey-metric{
  padding-left:18px!important;
}
#section-home .journey-metric-icon{
  width:48px!important;
  height:48px!important;
}
#section-home .journey-metric-icon svg{
  width:24px!important;
  height:24px!important;
}
#section-home .journey-metric small{
  font-size:13px!important;
  line-height:1.2!important;
  margin-bottom:4px!important;
}
#section-home .journey-metric b{
  font-size:22px!important;
  line-height:1.08!important;
}
#section-home .journey-metric em,
#section-home #journey-streak-sub{
  font-size:12px!important;
  line-height:1.2!important;
  margin-top:4px!important;
}
@media(max-width:900px){
  #section-home .journey-hero{
    padding:24px 24px 26px!important;
  }
  #section-home .journey-copy{
    max-width:100%!important;
  }
  #section-home .journey-kicker{
    max-width:calc(100% - 130px)!important;
    font-size:15px!important;
    margin:2px 0 24px!important;
  }
  #section-home .journey-title{
    max-width:100%!important;
    font-size:clamp(21px,5vw,28px)!important;
    line-height:1.16!important;
    margin-bottom:10px!important;
    white-space:nowrap!important;
  }
  #section-home .journey-subtitle{
    max-width:100%!important;
    font-size:14px!important;
    margin-bottom:38px!important;
  }
  #section-home .journey-main-stat span{
    font-size:14px!important;
    margin-bottom:8px!important;
  }
  #section-home .journey-main-stat strong{
    max-width:100%!important;
    font-size:clamp(26px,7vw,36px)!important;
    white-space:nowrap!important;
  }
  #section-home .journey-progress{
    max-width:100%!important;
    margin-bottom:14px!important;
  }
  #section-home .journey-progress-track{
    width:calc(100% - 54px)!important;
    height:12px!important;
  }
  #section-home .journey-progress-top strong{
    font-size:20px!important;
    bottom:-4px!important;
  }
  #section-home .journey-progress-top span{
    font-size:13px!important;
    margin-bottom:7px!important;
  }
  #section-home .journey-metrics{
    width:100%!important;
    margin-top:12px!important;
    padding:12px!important;
  }
  #section-home .journey-metric{
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:74px!important;
    padding-right:12px!important;
  }
  #section-home .journey-metric + .journey-metric{
    padding-left:12px!important;
  }
  #section-home .journey-metric-icon{
    width:42px!important;
    height:42px!important;
  }
  #section-home .journey-metric-icon svg{
    width:22px!important;
    height:22px!important;
  }
  #section-home .journey-metric small{
    font-size:12px!important;
  }
  #section-home .journey-metric b{
    font-size:20px!important;
  }
}
@media(max-width:560px){
  #section-home .journey-hero{
    padding:20px 18px 22px!important;
  }
  #section-home .journey-settings-btn{
    top:14px!important;
    right:14px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  #section-home .journey-kicker{
    max-width:calc(100% - 112px)!important;
    font-size:14px!important;
    margin:4px 0 28px!important;
  }
  #section-home .journey-title{
    font-size:clamp(19px,5.2vw,23px)!important;
    line-height:1.16!important;
    letter-spacing:0!important;
    margin-bottom:8px!important;
  }
  #section-home .journey-subtitle{
    font-size:13px!important;
    margin-bottom:34px!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(24px,6.8vw,30px)!important;
  }
  #section-home .journey-progress-top span{
    font-size:12px!important;
  }
  #section-home .journey-metric{
    grid-template-columns:1fr!important;
    min-height:96px!important;
    gap:7px!important;
  }
  #section-home .journey-metric-icon{
    width:38px!important;
    height:38px!important;
  }
  #section-home .journey-metric-icon svg{
    width:20px!important;
    height:20px!important;
  }
  #section-home .journey-metric small{
    font-size:11.5px!important;
  }
  #section-home .journey-metric b{
    font-size:19px!important;
  }
  #section-home .journey-metric em,
  #section-home #journey-streak-sub{
    font-size:11px!important;
  }
}

/* === VHTG PATCH 2026-06-04G: HOME final compact typography + premium user page === */
#section-home .journey-title{
  font-size:clamp(21px,1.85vw,28px)!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  letter-spacing:0!important;
}
#section-home .journey-main-stat strong{
  font-size:clamp(24px,2.25vw,34px)!important;
  line-height:1.12!important;
  white-space:nowrap!important;
}
#section-home .journey-subtitle,
#section-home .journey-kicker,
#section-home .journey-progress-top span{
  font-size:13.5px!important;
}
#section-home .journey-metric>div{
  min-width:0!important;
}
#section-home .journey-metric b,
#section-home .journey-metric em,
#section-home #journey-streak-sub{
  display:inline!important;
  white-space:nowrap!important;
  vertical-align:baseline!important;
}
#section-home .journey-metric b{
  font-size:20px!important;
}
#section-home .journey-metric em,
#section-home #journey-streak-sub{
  margin:0 0 0 4px!important;
  font-size:13px!important;
  line-height:1.1!important;
}
@media(max-width:560px){
  #section-home .journey-title{
    font-size:clamp(17px,4.6vw,20px)!important;
  }
  #section-home .journey-main-stat strong{
    font-size:clamp(21px,5.8vw,26px)!important;
  }
  #section-home .journey-subtitle,
  #section-home .journey-kicker,
  #section-home .journey-progress-top span{
    font-size:12px!important;
  }
  #section-home .journey-metric b{
    font-size:17px!important;
  }
  #section-home .journey-metric em,
  #section-home #journey-streak-sub{
    font-size:11.5px!important;
  }
}

#section-user{
  --primary:#0F7A4A;
  --primary-dark:#045534;
  --mint-bg:#EEF8F3;
  --card:#FFFFFF;
  --border:#DDEFE7;
  --text:#12372A;
  --muted:#6B8178;
  --radius-lg:22px;
  --radius-md:16px;
  --shadow-soft:0 8px 24px rgba(15,122,74,.08);
  max-width:1180px!important;
  margin:0 auto 28px!important;
  padding:16px!important;
  background:linear-gradient(180deg,#f4fbf7 0%,#ffffff 82%)!important;
  border-radius:0!important;
  color:var(--text)!important;
  font-family:"Be Vietnam Pro","Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
#section-user *{box-sizing:border-box!important;letter-spacing:0!important}
#section-user .user-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  min-height:176px!important;
  padding:24px!important;
  border-radius:var(--radius-lg)!important;
  background:
    radial-gradient(circle at 78% 18%,rgba(52,211,153,.22),transparent 30%),
    linear-gradient(135deg,var(--primary-dark) 0%,#086b43 52%,#0f8a56 100%)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:var(--shadow-soft)!important;
  overflow:hidden!important;
}
#section-user .user-hero-top{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:end!important;
  margin:0!important;
  z-index:2!important;
}
#section-user .user-logout-pill{
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
}
#section-user .user-avatar-wrap{
  grid-column:1 / -1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  text-align:left!important;
  max-width:720px!important;
}
#section-user .user-avatar{
  width:88px!important;
  height:88px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  background:linear-gradient(135deg,#e9fff4,#bff7d5)!important;
  color:var(--primary-dark)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.14)!important;
  font-size:34px!important;
}
#section-user .user-avatar-img{border-radius:24px!important}
#section-user .user-edit-avatar{
  right:-7px!important;
  bottom:-7px!important;
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  border:2px solid #fff!important;
  color:var(--primary)!important;
}
#section-user .user-name{
  font-size:clamp(22px,2.4vw,32px)!important;
  line-height:1.12!important;
  font-weight:950!important;
  color:#fff!important;
  text-shadow:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-user .user-email{
  margin-top:5px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:13px!important;
  font-weight:700!important;
}
#section-user .user-pills{
  justify-content:flex-start!important;
  margin-top:12px!important;
  gap:8px!important;
}
#section-user .user-pill{
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.22)!important;
  font-size:11.5px!important;
  font-weight:850!important;
}
#section-user .user-stat-card{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:14px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#section-user .user-stat{
  min-height:104px!important;
  padding:16px!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
  background:var(--card)!important;
  box-shadow:var(--shadow-soft)!important;
  text-align:left!important;
}
#section-user .user-stat:not(:last-child){border-right:1px solid var(--border)!important}
#section-user .user-stat-icon{
  width:34px!important;
  height:34px!important;
  margin:0 0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#eaf8f1!important;
  color:var(--primary)!important;
}
#section-user .user-stat-value{
  color:var(--text)!important;
  font-family:"Be Vietnam Pro","Inter",system-ui,sans-serif!important;
  font-size:clamp(20px,2vw,26px)!important;
  font-weight:950!important;
}
#section-user .user-stat-label{
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:750!important;
}
#section-user .user-quick-tabs{
  margin:0 0 14px!important;
  padding:6px!important;
  gap:6px!important;
  border:1px solid var(--border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--shadow-soft)!important;
}
#section-user .user-qtab{
  min-height:58px!important;
  min-width:84px!important;
  border-radius:14px!important;
  color:var(--muted)!important;
}
#section-user .user-qtab.active{
  background:#eaf8f1!important;
  color:var(--primary)!important;
  box-shadow:none!important;
}
#section-user .life-journey-card,
#section-user .smart-input-card,
#section-user .daily-report-card,
#section-user .family-mode-card,
#section-user .ai-ops-card,
#section-user .user-mini-card,
#section-user .user-action-list{
  border:1px solid var(--border)!important;
  background:var(--card)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:var(--shadow-soft)!important;
}
#section-user .life-journey-card,
#section-user .smart-input-card,
#section-user .daily-report-card,
#section-user .family-mode-card,
#section-user .ai-ops-wrap,
#section-user .user-info-grid,
#section-user .user-action-list{
  margin:0 0 14px!important;
}
#section-user .life-journey-card,
#section-user .smart-input-card,
#section-user .daily-report-card,
#section-user .family-mode-card{
  padding:18px!important;
}
#section-user .journey-head,
#section-user .smart-input-head,
#section-user .daily-report-head,
#section-user .family-mode-head,
#section-user .ai-ops-head{
  margin-bottom:12px!important;
}
#section-user .journey-title,
#section-user .smart-input-title,
#section-user .daily-report-title,
#section-user .family-mode-title,
#section-user .ai-ops-title{
  color:var(--text)!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:950!important;
}
#section-user .journey-sub,
#section-user .smart-input-sub,
#section-user .family-mode-sub{
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.45!important;
}
#section-user .journey-track,
#section-user .smart-input-actions,
#section-user .daily-report-grid,
#section-user .family-mode-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
#section-user .journey-step,
#section-user .smart-input-btn,
#section-user .daily-report-metric,
#section-user .family-mode-metric{
  min-height:88px!important;
  padding:12px!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  background:#fbfffd!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
#section-user .journey-step{
  min-height:96px!important;
}
#section-user .journey-step-desc,
#section-user .smart-input-note,
#section-user .family-mode-status{
  color:var(--muted)!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#section-user .journey-progress{
  height:8px!important;
  margin-bottom:12px!important;
  background:#e6f3ec!important;
}
#section-user .journey-progress-fill{
  background:linear-gradient(90deg,var(--primary),#33c978)!important;
}
#section-user .journey-level-badge,
#section-user .daily-report-time,
#section-user .ai-ops-badge{
  border:1px solid #ccebdd!important;
  background:#eef8f3!important;
  color:var(--primary)!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
}
#section-user .ai-ops-wrap{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
#section-user .ai-ops-card{
  padding:16px!important;
  min-height:168px!important;
}
#section-user .ai-ops-card.wide{
  grid-column:1 / -1!important;
}
#section-user .ai-ops-list{
  display:grid!important;
  gap:8px!important;
}
#section-user .user-info-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
#section-user .user-mini-card{
  min-height:112px!important;
  padding:18px!important;
  text-align:left!important;
}
#section-user .user-mini-icon{
  width:36px!important;
  height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  background:#eef8f3!important;
  color:var(--primary)!important;
  margin:0 0 12px!important;
}
#section-user .user-mini-value{
  color:var(--text)!important;
  font-family:"Be Vietnam Pro","Inter",system-ui,sans-serif!important;
  font-size:26px!important;
  font-weight:950!important;
}
#section-user .user-mini-label,
#section-user .user-mini-sub{
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.35!important;
}
#section-user .user-action-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  overflow:hidden!important;
}
#section-user .user-action-item{
  min-height:78px!important;
  padding:14px!important;
  border-bottom:1px solid var(--border)!important;
  background:#fff!important;
}
#section-user .user-action-item:nth-child(odd){
  border-right:1px solid var(--border)!important;
}
#section-user .user-action-ico{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  background:#eef8f3!important;
  color:var(--primary)!important;
}
#section-user .user-action-title{
  color:var(--text)!important;
  font-size:13.5px!important;
  line-height:1.25!important;
}
#section-user .user-action-sub{
  color:var(--muted)!important;
  font-size:11px!important;
  line-height:1.35!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
@media(max-width:1024px){
  #section-user .journey-track,
  #section-user .smart-input-actions,
  #section-user .daily-report-grid,
  #section-user .family-mode-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:768px){
  #section-user{
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding:12px!important;
    border-radius:0!important;
  }
  #section-user .user-hero{
    min-height:148px!important;
    padding:18px!important;
    border-radius:22px!important;
  }
  #section-user .user-avatar-wrap{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:12px!important;
    max-width:calc(100% - 92px)!important;
  }
  #section-user .user-avatar{
    width:64px!important;
    height:64px!important;
    border-radius:18px!important;
    font-size:25px!important;
  }
  #section-user .user-name{
    font-size:20px!important;
  }
  #section-user .user-email{
    font-size:11.5px!important;
  }
  #section-user .user-pills{
    gap:6px!important;
  }
  #section-user .user-pill{
    min-height:26px!important;
    padding:0 8px!important;
    font-size:10px!important;
  }
  #section-user .user-logout-pill{
    min-height:32px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
  #section-user .user-stat-card{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #section-user .user-stat{
    min-height:90px!important;
    padding:11px 9px!important;
  }
  #section-user .user-stat-icon{
    width:28px!important;
    height:28px!important;
    border-radius:10px!important;
    margin-bottom:8px!important;
  }
  #section-user .user-stat-value{
    font-size:clamp(16px,5vw,20px)!important;
  }
  #section-user .user-stat-label{
    font-size:10.5px!important;
    white-space:normal!important;
  }
  #section-user .user-quick-tabs{
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  #section-user .life-journey-card,
  #section-user .smart-input-card,
  #section-user .daily-report-card,
  #section-user .family-mode-card{
    padding:14px!important;
    border-radius:18px!important;
  }
  #section-user .journey-track{
    display:flex!important;
    overflow-x:auto!important;
    padding-bottom:3px!important;
  }
  #section-user .journey-step{
    min-width:154px!important;
  }
  #section-user .smart-input-actions,
  #section-user .daily-report-grid,
  #section-user .family-mode-grid,
  #section-user .ai-ops-wrap,
  #section-user .user-info-grid,
  #section-user .user-action-list{
    grid-template-columns:1fr!important;
  }
  #section-user .smart-input-actions,
  #section-user .daily-report-grid,
  #section-user .family-mode-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #section-user .ai-ops-card.wide{
    grid-column:auto!important;
  }
  #section-user .user-action-item,
  #section-user .user-action-item:nth-child(odd){
    border-right:0!important;
  }
}
@media(max-width:390px){
  #section-user .user-avatar-wrap{
    max-width:100%!important;
    padding-top:38px!important;
  }
  #section-user .user-hero-top{
    position:absolute!important;
    right:14px!important;
    top:14px!important;
  }
  #section-user .smart-input-actions,
  #section-user .daily-report-grid,
  #section-user .family-mode-grid{
    gap:8px!important;
  }
  #section-user .smart-input-btn,
  #section-user .daily-report-metric,
  #section-user .family-mode-metric{
    padding:10px!important;
  }
}

/* === VHTG PATCH 2026-06-04H: no-wrap user metrics + HOME hit target fixes === */
#section-home .journey-hero:before,
#section-home .journey-hero:after{
  pointer-events:none!important;
}
#section-home .journey-settings-btn{
  position:absolute!important;
  z-index:80!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#section-home .journey-copy{
  pointer-events:none!important;
}
#section-home .journey-settings-btn,
#section-home .journey-metrics,
#section-home .journey-metric{
  pointer-events:auto!important;
}
#section-home .journey-main-stat{
  transform:translateY(-3px)!important;
}
#section-home .journey-progress{
  transform:translateY(-3px)!important;
}
#section-home .journey-metrics{
  transform:translateY(3px)!important;
}
#section-home .journey-progress-track{
  position:relative!important;
  z-index:1!important;
}
#section-home .journey-progress-top strong{
  z-index:2!important;
}

#section-user .user-pills{
  flex-wrap:nowrap!important;
  overflow:hidden!important;
}
#section-user .user-pill{
  white-space:nowrap!important;
  max-width:150px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.15!important;
}
#section-user .user-stat-value,
#section-user .user-mini-value,
#section-user .daily-report-value,
#section-user .family-mode-value,
#section-user .maskable{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-overflow:clip!important;
}
#section-user .user-stat-value{
  display:block!important;
  width:100%!important;
  overflow:visible!important;
  font-size:clamp(19px,1.7vw,24px)!important;
  line-height:1.05!important;
}
#section-user .user-stat:nth-child(3) .user-stat-value{
  font-size:clamp(17px,1.45vw,22px)!important;
}
#section-user .user-stat-card{
  grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(260px,1.3fr)!important;
}
#section-user .user-stat{
  min-width:0!important;
  overflow:hidden!important;
}
#section-user .user-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#section-user .user-mini-card{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  align-items:center!important;
  min-height:92px!important;
}
#section-user .user-mini-icon{
  grid-row:1 / 3!important;
  margin:0!important;
}
#section-user .user-mini-value{
  font-size:24px!important;
  line-height:1.05!important;
  overflow:visible!important;
}
#section-user .user-mini-label{
  margin-top:3px!important;
}
#section-user .user-mini-sub{
  grid-column:2!important;
  margin-top:2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:768px){
  #section-user .user-pills{
    gap:5px!important;
  }
  #section-user .user-pill{
    max-width:105px!important;
    font-size:9.5px!important;
    padding:0 7px!important;
  }
  #section-user .user-stat-card{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #section-user .user-stat:nth-child(3){
    grid-column:1 / -1!important;
  }
  #section-user .user-stat:nth-child(3) .user-stat-value{
    font-size:clamp(20px,6vw,26px)!important;
  }
  #section-user .user-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #section-user .user-mini-card{
    grid-template-columns:34px minmax(0,1fr)!important;
    min-height:82px!important;
    padding:12px!important;
    column-gap:8px!important;
  }
  #section-user .user-mini-icon{
    width:32px!important;
    height:32px!important;
    border-radius:11px!important;
  }
  #section-user .user-mini-value{
    font-size:clamp(18px,5.2vw,22px)!important;
  }
  #section-user .user-mini-label,
  #section-user .user-mini-sub{
    font-size:10.5px!important;
  }
}
@media(max-width:390px){
  #section-user .user-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #section-user .user-mini-card{
    display:block!important;
    min-height:104px!important;
  }
  #section-user .user-mini-icon{
    margin:0 0 8px!important;
  }
  #section-user .user-mini-value{
    font-size:20px!important;
  }
  #section-user .user-mini-sub{
    grid-column:auto!important;
  }
}

/* === VHTG PATCH 2026-06-04I: draggable nav + safer compact profile === */
#section-home .journey-settings-btn{
  z-index:999!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#section-home .journey-hero,
#section-home .journey-hero-main{
  isolation:isolate!important;
}
#section-home .journey-hero:before,
#section-home .journey-hero:after,
#section-home .journey-visual{
  pointer-events:none!important;
}
#section-home .journey-main-stat{
  transform:translateY(-5px)!important;
}
#section-home .journey-progress{
  transform:translateY(-5px)!important;
}
#section-home .journey-metrics{
  transform:translateY(5px)!important;
}
.main-tab.nav-draggable,
.mnav-btn.nav-draggable{
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:pan-y!important;
}
.main-tab.nav-dragging,
.mnav-btn.nav-dragging{
  opacity:.62!important;
  transform:scale(.98)!important;
  outline:2px dashed rgba(15,122,74,.35)!important;
  outline-offset:3px!important;
}
.main-tabs-wrap{
  min-height:48px!important;
}
.mobile-nav .mnav-btn{
  min-width:0!important;
}

#section-user .user-pill{
  max-width:none!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#section-user #user-start-pill{
  max-width:180px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#section-user #user-sync-pill{
  max-width:110px!important;
}
#section-user .user-compact-toggle{
  width:100%!important;
  min-height:40px!important;
  margin:0 0 14px!important;
  border:1px solid var(--border,#DDEFE7)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:var(--primary,#0F7A4A)!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 24px rgba(15,122,74,.06)!important;
  cursor:pointer!important;
}
#section-user:not(.user-expanded) .daily-report-card,
#section-user:not(.user-expanded) .family-mode-card,
#section-user:not(.user-expanded) .ai-ops-wrap,
#section-user:not(.user-expanded) .user-action-list{
  display:none!important;
}
#section-user .life-journey-card{
  padding:14px!important;
}
#section-user .life-journey-card .journey-sub,
#section-user .life-journey-card .journey-step-desc{
  display:none!important;
}
#section-user .life-journey-card .journey-track{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
#section-user .life-journey-card .journey-step{
  min-height:64px!important;
  padding:10px!important;
}
#section-user .life-journey-card .journey-step-name{
  font-size:11px!important;
  line-height:1.22!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#section-user .smart-input-card .smart-input-sub,
#section-user .smart-input-card .smart-input-note{
  display:none!important;
}
#section-user .smart-input-card .smart-input-btn{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
#section-user .smart-input-card .smart-input-name{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-user .user-stat-value,
#section-user .daily-report-value,
#section-user .family-mode-value{
  font-variant-numeric:tabular-nums!important;
}
#section-user .user-action-title,
#section-user .user-action-sub,
#section-user .journey-step-name,
#section-user .smart-input-name,
#section-user .ai-ops-title{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(max-width:768px){
  #section-user #user-start-pill{
    max-width:132px!important;
  }
  #section-user #user-sync-pill{
    max-width:92px!important;
  }
  #section-user .life-journey-card .journey-track{
    display:flex!important;
    overflow-x:auto!important;
  }
  #section-user .life-journey-card .journey-step{
    min-width:118px!important;
  }
  #section-user .smart-input-card .smart-input-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:390px){
  #section-user #user-start-pill{
    max-width:110px!important;
  }
  #section-user #user-sync-pill{
    max-width:84px!important;
  }
}

/* === VHTG PATCH 2026-06-04J: auth click safety === */
#auth-modal{
  z-index:999999!important;
  pointer-events:auto!important;
}
#auth-modal.auth-hidden{
  pointer-events:none!important;
}
#auth-modal .auth-landing,
#auth-modal .auth-content,
#auth-modal button,
#auth-modal input,
#auth-modal a,
#auth-modal label{
  pointer-events:auto!important;
}

/* === VHTG PATCH 2026-06-04K: restore HOME journey + full profile rank === */
#section-home .journey-roadmap.journey-map,
#section-home .journey-roadmap.journey-line-map{
  display:block!important;
  margin:16px 0!important;
  padding:18px!important;
  border:1px solid var(--border,#DDEFE7)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,122,74,.08)!important;
}
#section-home .journey-roadmap .journey-section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
#section-home .journey-roadmap .journey-section-head h2{
  margin:0!important;
  font-size:18px!important;
  line-height:1.25!important;
  color:var(--text,#12372A)!important;
}
#section-home #journey-roadmap-status{
  min-width:0!important;
  color:var(--muted,#6B8178)!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-roadmap .journey-track{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  min-width:0!important;
  margin:0 0 12px!important;
}
#section-home .journey-roadmap .journey-track-line{
  position:absolute!important;
  left:8%!important;
  right:8%!important;
  top:22px!important;
  height:4px!important;
  border-radius:999px!important;
  background:#DDEFE7!important;
  overflow:hidden!important;
  z-index:0!important;
}
#section-home .journey-roadmap .journey-track-line span{
  display:block!important;
  height:100%!important;
  width:var(--journey-fill,0%)!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#0F7A4A,#2DD36F)!important;
}
#section-home .journey-roadmap .journey-node{
  position:relative!important;
  z-index:1!important;
  min-height:62px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  color:var(--muted,#6B8178)!important;
  cursor:pointer!important;
}
#section-home .journey-roadmap .journey-node span{
  width:44px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#F6FBF8!important;
  border:2px solid #DDEFE7!important;
  font-size:16px!important;
  color:#0F7A4A!important;
}
#section-home .journey-roadmap .journey-node.done span,
#section-home .journey-roadmap .journey-node.active span{
  border-color:#2DD36F!important;
  background:#EAFBF1!important;
  color:#0F7A4A!important;
}
#section-home .journey-roadmap .journey-node.active span{
  box-shadow:0 0 0 5px rgba(45,211,111,.14)!important;
}
#section-home .journey-roadmap .journey-node-title{
  max-width:100%!important;
  color:var(--text,#12372A)!important;
  font-size:11px!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-current-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid #DDEFE7!important;
  border-radius:16px!important;
  background:#F7FCFA!important;
  min-width:0!important;
}
#section-home .journey-current-card h3{
  margin:2px 0!important;
  font-size:16px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-home .journey-current-card p,
#section-home .journey-current-card span,
#section-home .journey-current-card small{
  margin:0!important;
  color:var(--muted,#6B8178)!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
#section-home .journey-current-card b,
#section-home .journey-current-card strong{
  color:#0F7A4A!important;
  font-size:15px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
#section-home .journey-current-extra{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  grid-column:1 / -1!important;
  border-top:1px solid #DDEFE7!important;
  padding-top:10px!important;
}
#section-home .journey-current-extra>div{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
#section-user #user-sync-pill{
  display:none!important;
}
#section-user #user-start-pill{
  max-width:100%!important;
  width:auto!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  justify-content:flex-start!important;
  text-align:left!important;
  line-height:1.35!important;
}
@media(max-width:768px){
  #section-home .journey-roadmap.journey-map,
  #section-home .journey-roadmap.journey-line-map{
    padding:14px!important;
    border-radius:18px!important;
  }
  #section-home .journey-roadmap .journey-section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
  }
  #section-home .journey-roadmap .journey-section-head h2{
    font-size:16px!important;
  }
  #section-home #journey-roadmap-status{
    max-width:100%!important;
    white-space:normal!important;
  }
  #section-home .journey-roadmap .journey-track{
    display:flex!important;
    overflow-x:auto!important;
    gap:12px!important;
    padding:2px 2px 8px!important;
    scroll-snap-type:x proximity!important;
  }
  #section-home .journey-roadmap .journey-track::-webkit-scrollbar{
    display:none!important;
  }
  #section-home .journey-roadmap .journey-node{
    flex:0 0 76px!important;
    scroll-snap-align:start!important;
  }
  #section-home .journey-roadmap .journey-track-line{
    display:none!important;
  }
  #section-home .journey-current-card{
    grid-template-columns:1fr auto!important;
    gap:10px!important;
  }
  #section-home .journey-current-kind{
    display:none!important;
  }
  #section-home .journey-current-extra{
    justify-content:flex-start!important;
    overflow-x:auto!important;
  }
  #section-home .journey-current-extra b{
    font-size:12px!important;
  }
  #section-user #user-start-pill{
    font-size:11px!important;
    padding:7px 10px!important;
  }
}

/* === VHTG PATCH 2026-06-04L: polished arrow journey + compact profile badge placement === */
#section-home .journey-roadmap.journey-map .journey-track,
#section-home .journey-roadmap.journey-line-map .journey-track{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  padding:10px 44px 8px!important;
  margin:0 0 14px!important;
  overflow:visible!important;
}
#section-home .journey-roadmap.journey-map .journey-track-line,
#section-home .journey-roadmap.journey-line-map .journey-track-line{
  display:block!important;
  position:absolute!important;
  left:76px!important;
  right:76px!important;
  top:33px!important;
  width:auto!important;
  height:6px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#DDEFE7 0%,#BFE8D5 100%)!important;
  overflow:visible!important;
  z-index:0!important;
}
#section-home .journey-roadmap.journey-map .journey-track-line:after,
#section-home .journey-roadmap.journey-line-map .journey-track-line:after{
  content:""!important;
  position:absolute!important;
  right:-12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:0!important;
  height:0!important;
  border-top:9px solid transparent!important;
  border-bottom:9px solid transparent!important;
  border-left:14px solid #BFE8D5!important;
}
#section-home .journey-roadmap.journey-map .journey-track-line span,
#section-home .journey-roadmap.journey-line-map .journey-track-line span{
  display:block!important;
  height:100%!important;
  width:var(--journey-fill,0%)!important;
  max-width:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#0F7A4A 0%,#2DD36F 88%,#86EFAC 100%)!important;
  box-shadow:0 0 18px rgba(45,211,111,.28)!important;
}
#section-home .journey-roadmap.journey-map .journey-track-line span:after,
#section-home .journey-roadmap.journey-line-map .journey-track-line span:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  left:calc(var(--journey-fill,0%) - 5px)!important;
  transform:translateY(-50%)!important;
  width:10px!important;
  height:10px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:3px solid #2DD36F!important;
  box-shadow:0 0 0 5px rgba(45,211,111,.16)!important;
}
#section-home .journey-roadmap.journey-map .journey-node,
#section-home .journey-roadmap.journey-line-map .journey-node{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-width:0!important;
  min-height:74px!important;
  padding:0 6px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center!important;
  transform:none!important;
}
#section-home .journey-roadmap.journey-map .journey-node span,
#section-home .journey-roadmap.journey-line-map .journey-node span{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:999px!important;
  background:#F7FCFA!important;
  border:2px solid #DDEFE7!important;
  box-shadow:0 0 0 7px #fff,0 12px 22px rgba(15,122,74,.08)!important;
  color:#0F7A4A!important;
  font-size:16px!important;
  line-height:1!important;
  animation:none!important;
}
#section-home .journey-roadmap.journey-map .journey-node.done span,
#section-home .journey-roadmap.journey-line-map .journey-node.done span{
  border-color:#2DD36F!important;
  background:#EAFBF1!important;
}
#section-home .journey-roadmap.journey-map .journey-node.active span,
#section-home .journey-roadmap.journey-line-map .journey-node.active span{
  border-color:#F59E0B!important;
  background:linear-gradient(135deg,#FFF7ED,#ECFDF5)!important;
  box-shadow:0 0 0 7px #fff,0 0 0 12px rgba(245,158,11,.12),0 16px 26px rgba(15,122,74,.12)!important;
}
#section-home .journey-roadmap.journey-map .journey-node.active:after,
#section-home .journey-roadmap.journey-line-map .journey-node.active:after{
  top:-22px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}
#section-home .journey-roadmap.journey-map .journey-node-title,
#section-home .journey-roadmap.journey-line-map .journey-node-title{
  display:block!important;
  max-width:92px!important;
  min-height:28px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#12372A!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#section-user .user-avatar{
  grid-column:1!important;
  grid-row:1 / 4!important;
}
#section-user .user-name,
#section-user .user-email,
#section-user .user-pills{
  grid-column:2!important;
  min-width:0!important;
}
#section-user .user-name{grid-row:1!important;align-self:end!important}
#section-user .user-email{grid-row:2!important;align-self:center!important}
#section-user .user-pills{
  grid-row:3!important;
  align-self:start!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  max-width:min(560px,100%)!important;
  margin-top:8px!important;
}
#section-user #user-start-pill{
  width:auto!important;
  max-width:min(520px,100%)!important;
  min-height:28px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:768px){
  #section-home .journey-roadmap.journey-map .journey-track,
  #section-home .journey-roadmap.journey-line-map .journey-track{
    display:flex!important;
    gap:12px!important;
    padding:28px 4px 8px!important;
    overflow-x:auto!important;
    scroll-snap-type:x proximity!important;
  }
  #section-home .journey-roadmap.journey-map .journey-track-line,
  #section-home .journey-roadmap.journey-line-map .journey-track-line{
    left:28px!important;
    right:28px!important;
    top:51px!important;
    height:5px!important;
  }
  #section-home .journey-roadmap.journey-map .journey-node,
  #section-home .journey-roadmap.journey-line-map .journey-node{
    flex:0 0 82px!important;
    min-height:74px!important;
    scroll-snap-align:start!important;
  }
  #section-home .journey-roadmap.journey-map .journey-node span,
  #section-home .journey-roadmap.journey-line-map .journey-node span{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    box-shadow:0 0 0 6px #fff,0 10px 18px rgba(15,122,74,.08)!important;
  }
  #section-home .journey-roadmap.journey-map .journey-node-title,
  #section-home .journey-roadmap.journey-line-map .journey-node-title{
    max-width:82px!important;
    font-size:11px!important;
  }
  #section-user .user-avatar-wrap{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:12px!important;
    max-width:100%!important;
  }
  #section-user .user-avatar{
    width:70px!important;
    height:70px!important;
    border-radius:20px!important;
    font-size:26px!important;
  }
  #section-user #user-start-pill{
    max-width:100%!important;
    font-size:10.5px!important;
    padding:6px 9px!important;
  }
}

/* === VHTG PATCH 2026-06-04M: force HOME journey horizontal on mobile === */
@media(max-width:768px){
  #section-home .journey-roadmap .journey-track,
  #section-home .journey-roadmap.journey-map .journey-track,
  #section-home .journey-roadmap.journey-line-map .journey-track{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:28px 4px 10px!important;
    margin:0 0 12px!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #section-home .journey-roadmap .journey-track::-webkit-scrollbar{
    display:none!important;
  }
  #section-home .journey-roadmap .journey-node,
  #section-home .journey-roadmap.journey-map .journey-node,
  #section-home .journey-roadmap.journey-line-map .journey-node{
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
    padding:0!important;
    gap:8px!important;
    scroll-snap-align:start!important;
  }
  #section-home .journey-roadmap .journey-track-line,
  #section-home .journey-roadmap.journey-map .journey-track-line,
  #section-home .journey-roadmap.journey-line-map .journey-track-line{
    display:block!important;
    left:28px!important;
    right:28px!important;
    top:51px!important;
    bottom:auto!important;
    width:auto!important;
    height:5px!important;
  }
  #section-home .journey-roadmap .journey-node-title,
  #section-home .journey-roadmap.journey-map .journey-node-title,
  #section-home .journey-roadmap.journey-line-map .journey-node-title{
    max-width:82px!important;
    min-height:26px!important;
    font-size:11px!important;
    line-height:1.18!important;
    text-align:center!important;
    white-space:normal!important;
  }
}

/* === VHTG PATCH 2026-06-04N-FINAL-END: readable finance font scale === */
#section-home .journey-section-head h2,
#section-home .home-section-title,
#section-home .growth-section-title,
#section-assets .investment-dashboard-title,
#section-assets .investment-alerts-head h3{
  font-size:18px!important;
  line-height:1.25!important;
}
#section-home .journey-roadmap .journey-node-title,
#section-home .home-growth-kpi-label,
#section-home .growth-metric-label,
#section-assets .investment-list-title{
  font-size:13.5px!important;
  line-height:1.25!important;
}
#section-home .home-growth-kpi-sub,
#section-home .growth-metric-sub,
#section-home #journey-roadmap-status,
#section-assets .investment-dashboard-sub{
  font-size:12.5px!important;
  line-height:1.45!important;
}
#section-home .home-growth-kpi-value,
#section-home .growth-metric-value{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.12!important;
}
/* === VHTG PATCH 2026-06-04P-FINAL-TAIL: mobile menu readable labels === */
@media(max-width:768px){
  .mobile-nav .mnav-btn{
    min-height:58px!important;
    height:58px!important;
    padding:7px 2px!important;
    gap:4px!important;
    font-size:12px!important;
    line-height:1.05!important;
  }
  .mobile-nav .mnav-btn span{
    display:block!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.05!important;
    font-weight:800!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mobile-nav .mnav-btn svg{
    width:22px!important;
    height:22px!important;
  }
}
@media(max-width:380px){
  .mobile-nav .mnav-btn span{font-size:11px!important}
}

/* === VHTG PATCH 2026-06-04Q: auth birthdate, logo/VIP, Journey v2 component === */
.auth-date-field{
  display:block;
  text-align:left;
  margin-bottom:12px;
}
.auth-date-field label{
  display:block;
  margin:0 0 5px;
  color:var(--text2);
  font-size:12.5px;
  line-height:1.25;
  font-weight:800;
}
.auth-date-field input{
  margin-bottom:0!important;
}
.auth-date-helper{
  margin-top:5px;
  color:#6B7C73;
  font-size:12px;
  line-height:1.35;
  font-weight:600;
}
.app-brand-zone .app-logo,
.logo-status-wrap .app-logo,
.hdr .app-logo,
.app-logo{
  height:62px!important;
  max-width:196px!important;
  object-fit:contain!important;
}
.app-brand-zone .vip-status-btn,
.logo-status-wrap .vip-status-btn,
.vip-status-btn{
  left:calc(100% - 10px)!important;
  right:auto!important;
  top:4px!important;
  transform:none!important;
}
@media(max-width:768px){
  .app-brand-zone .app-logo,
  .logo-status-wrap .app-logo,
  .hdr .app-logo,
  .app-logo{
    height:48px!important;
    max-width:148px!important;
  }
  .app-brand-zone .vip-status-btn,
  .logo-status-wrap .vip-status-btn,
  .vip-status-btn{
    left:calc(100% - 8px)!important;
    top:2px!important;
  }
  .auth-date-field{margin-bottom:11px}
}

/* Keep the account VIP badge attached to the clickable brand logo. */
.logo-status-wrap .app-logo{cursor:pointer}
.app-brand-zone .vip-status-btn,
.logo-status-wrap .vip-status-btn,
.vip-status-btn{
  left:calc(100% - 34px)!important;
  top:5px!important;
}
@media(max-width:768px){
  .app-brand-zone .vip-status-btn,
  .logo-status-wrap .vip-status-btn,
  .vip-status-btn{
    left:calc(100% - 30px)!important;
    top:3px!important;
  }
}

.vhtg-journey-v2,
.vhtg-journey-v2 *{
  box-sizing:border-box;
  min-width:0;
}
.vhtg-journey-v2{
  --vhtg-progress:0%;
  width:100%;
  max-width:100%;
  overflow:visible!important;
  background:#fff!important;
  border:1px solid #DDEFE7!important;
  border-radius:22px!important;
  padding:18px!important;
  box-shadow:0 12px 32px rgba(15,122,74,.07)!important;
}
.vhtg-journey-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.vhtg-journey-head h2{
  margin:0;
  color:#12372A;
  font-size:20px!important;
  line-height:1.22!important;
  font-weight:900;
  letter-spacing:0!important;
}
.vhtg-journey-head p{
  margin:5px 0 0;
  color:#6B8178;
  font-size:13px;
  line-height:1.4;
  font-weight:650;
}
.vhtg-journey-head>span{
  flex:0 0 auto;
  max-width:45%;
  color:#0F7A4A;
  background:#EEF8F3;
  border:1px solid #DDEFE7;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vhtg-journey-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  padding:10px 4px 18px;
  -webkit-overflow-scrolling:touch;
}
.vhtg-journey-scroll::-webkit-scrollbar{height:0}
.vhtg-journey-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(112px,1fr));
  gap:12px;
  min-width:640px;
  align-items:start;
  isolation:isolate;
}
.vhtg-journey-track::before,
.vhtg-journey-track::after{
  content:'';
  position:absolute;
  left:54px;
  right:54px;
  top:32px;
  height:6px;
  border-radius:999px;
  pointer-events:none;
}
.vhtg-journey-track::before{
  background:#DDEFE7;
  z-index:0;
}
.vhtg-journey-track::after{
  right:auto;
  width:calc((100% - 108px) * var(--vhtg-progress) / 100);
  max-width:calc(100% - 108px);
  background:linear-gradient(90deg,#2DD36F,#0F7A4A);
  z-index:1;
  animation:vhtgJourneyFill .9s ease both;
}
.vhtg-milestone{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  min-height:94px;
  padding:0 6px;
  border:0;
  background:transparent;
  color:#12372A;
  font-family:"Be Vietnam Pro",Inter,system-ui,sans-serif;
  cursor:pointer;
  text-align:center;
}
.vhtg-milestone-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:999px;
  background:#F7FCFA;
  border:2px solid #DDEFE7;
  box-shadow:0 0 0 7px #fff,0 10px 24px rgba(15,122,74,.08);
  font-size:22px;
  line-height:1;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.vhtg-milestone.completed .vhtg-milestone-icon{
  background:#EAFBF1;
  border-color:#2DD36F;
}
.vhtg-milestone.current .vhtg-milestone-icon{
  background:linear-gradient(135deg,#FFF7ED,#ECFDF5);
  border-color:#F59E0B;
  box-shadow:0 0 0 7px #fff,0 0 0 13px rgba(245,158,11,.14),0 16px 30px rgba(15,122,74,.12);
  animation:vhtgCurrentPulse 1.9s ease-in-out infinite;
}
.vhtg-milestone:hover .vhtg-milestone-icon,
.vhtg-milestone:focus-visible .vhtg-milestone-icon{
  transform:scale(1.04);
}
.vhtg-milestone:focus-visible{
  outline:3px solid rgba(15,122,74,.22);
  outline-offset:4px;
  border-radius:16px;
}
.vhtg-milestone-title{
  display:block;
  width:100%;
  color:#12372A;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vhtg-milestone small{
  display:block;
  width:100%;
  color:#6B8178;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
}
.vhtg-milestone-tooltip{
  position:absolute;
  left:50%;
  bottom:100%;
  z-index:50;
  width:280px;
  max-width:280px;
  transform:translate(-50%,-10px);
  display:none;
  padding:12px;
  border-radius:14px;
  background:#12372A;
  color:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.22);
  text-align:left;
  pointer-events:none;
}
.vhtg-milestone:hover .vhtg-milestone-tooltip,
.vhtg-milestone:focus-visible .vhtg-milestone-tooltip{
  display:block;
}
.vhtg-milestone-tooltip b,
.vhtg-milestone-tooltip em{
  display:block;
  font-style:normal;
  overflow-wrap:anywhere;
}
.vhtg-milestone-tooltip b{
  font-size:13px;
  line-height:1.3;
  margin-bottom:6px;
}
.vhtg-milestone-tooltip em{
  color:rgba(255,255,255,.82);
  font-size:11.5px;
  line-height:1.45;
  margin-top:5px;
}
.vhtg-progress-plane{
  position:absolute;
  left:calc(54px + (100% - 108px) * var(--vhtg-progress) / 100);
  top:8px;
  z-index:3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  transform:translateX(-50%);
  border-radius:999px;
  background:#fff;
  border:1px solid #DDEFE7;
  box-shadow:0 10px 24px rgba(15,122,74,.12);
  font-size:17px;
  pointer-events:none;
  animation:vhtgPlaneArrive .9s ease both;
}
.vhtg-journey-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:2px;
}
.vhtg-journey-summary>div{
  padding:13px;
  border:1px solid #DDEFE7;
  border-radius:16px;
  background:#F8FDFA;
}
.vhtg-journey-summary small,
.vhtg-journey-summary span{
  display:block;
  color:#6B8178;
  line-height:1.35;
}
.vhtg-journey-summary small{
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.vhtg-journey-summary b{
  display:block;
  margin-top:5px;
  color:#0F7A4A;
  font-size:16px;
  line-height:1.2;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vhtg-journey-summary span{
  margin-top:5px;
  font-size:11.5px;
  font-weight:700;
  overflow-wrap:anywhere;
}
.vhtg-journey-summary .nowrap{
  white-space:nowrap;
}
.vhtg-ai-coach{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin-top:12px;
  padding:13px 14px;
  border:1px solid rgba(245,158,11,.22);
  border-radius:16px;
  background:#FFF8E8;
}
.vhtg-ai-coach span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#F59E0B;
  color:#fff;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.vhtg-ai-coach p{
  margin:0;
  color:#12372A;
  font-size:13px;
  line-height:1.45;
  font-weight:750;
}
.vhtg-milestone-sheet{
  text-align:left;
}
.vhtg-milestone-sheet b{
  display:block;
  color:var(--text);
  margin-bottom:8px;
}
.vhtg-milestone-sheet p{
  margin:8px 0;
  color:var(--text2);
  font-size:13px;
  line-height:1.5;
}
@keyframes vhtgJourneyFill{
  from{width:0}
}
@keyframes vhtgPlaneArrive{
  from{left:54px;opacity:.2}
  to{opacity:1}
}
@keyframes vhtgCurrentPulse{
  0%,100%{box-shadow:0 0 0 7px #fff,0 0 0 13px rgba(245,158,11,.14),0 16px 30px rgba(15,122,74,.12)}
  50%{box-shadow:0 0 0 7px #fff,0 0 0 17px rgba(245,158,11,.08),0 18px 34px rgba(15,122,74,.16)}
}
@media(min-width:1024px){
  .vhtg-journey-track{
    min-width:0;
    grid-template-columns:repeat(5,1fr);
  }
}
@media(max-width:768px){
  .vhtg-journey-v2{
    padding:14px!important;
    border-radius:20px!important;
  }
  .vhtg-journey-head{
    flex-direction:column;
    gap:8px;
    margin-bottom:12px;
  }
  .vhtg-journey-head h2{
    font-size:18px!important;
  }
  .vhtg-journey-head p{
    font-size:12px;
  }
  .vhtg-journey-head>span{
    max-width:100%;
  }
  .vhtg-journey-scroll{
    padding:8px 2px 15px;
  }
  .vhtg-journey-track{
    min-width:620px;
    grid-template-columns:repeat(5,112px);
    gap:12px;
  }
  .vhtg-journey-track::before,
  .vhtg-journey-track::after{
    left:44px;
    right:44px;
    top:28px;
    height:5px;
  }
  .vhtg-journey-track::after{
    width:calc((100% - 88px) * var(--vhtg-progress) / 100);
    max-width:calc(100% - 88px);
  }
  .vhtg-progress-plane{
    left:calc(44px + (100% - 88px) * var(--vhtg-progress) / 100);
    top:7px;
    width:30px;
    height:30px;
    font-size:15px;
  }
  @keyframes vhtgPlaneArrive{
    from{left:44px;opacity:.2}
    to{opacity:1}
  }
  .vhtg-milestone{
    min-height:86px;
    gap:6px;
    padding:0 4px;
  }
  .vhtg-milestone-icon{
    width:50px;
    height:50px;
    font-size:19px;
    box-shadow:0 0 0 6px #fff,0 9px 18px rgba(15,122,74,.08);
  }
  .vhtg-milestone-title{
    font-size:12px;
  }
  .vhtg-milestone-tooltip{
    display:none!important;
  }
  .vhtg-journey-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .vhtg-journey-summary>div{
    padding:11px;
  }
  .vhtg-journey-summary b{
    font-size:14px;
  }
  .vhtg-ai-coach{
    grid-template-columns:1fr;
    gap:8px;
  }
  .vhtg-ai-coach span{
    justify-self:start;
  }
  .vhtg-ai-coach p{
    font-size:12.5px;
  }
}
@media(max-width:390px){
  .vhtg-journey-summary{
    grid-template-columns:1fr;
  }
  .vhtg-journey-track{
    min-width:590px;
    grid-template-columns:repeat(5,106px);
  }
}

/* Hero asset source configuration */
.hero-source-config{max-height:60vh;overflow:auto;text-align:left;display:grid;gap:12px;padding-right:3px}
.hero-source-note{border:1px solid rgba(15,118,110,.13);background:linear-gradient(180deg,#f8fffb,#eefbf5);border-radius:16px;padding:12px 13px;display:grid;gap:4px;color:#12372a}
.hero-source-note b{font-size:14px;font-weight:950;color:#064e3b}
.hero-source-note span{font-size:12.5px;font-weight:700;line-height:1.5;color:#5f746d}
.hero-source-group{border:1px solid rgba(15,118,110,.12);background:#fff;border-radius:16px;padding:10px;display:grid;gap:8px;box-shadow:0 8px 18px rgba(15,118,110,.045)}
.hero-source-group h4{margin:0;color:#08735f;font-size:13px;font-weight:950}
.hero-source-head,.hero-source-row{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(86px,.55fr));gap:8px;align-items:center;min-width:0}
.hero-source-head{padding:0 8px 2px;color:#6b8178;font-size:11px;font-weight:950;text-transform:none}
.hero-source-head span:not(:first-child){text-align:center}
.hero-source-row{border:1px solid #e5f3ec;background:#fbfffd;border-radius:14px;padding:9px 8px}
.hero-source-name{min-width:0;display:grid;gap:2px}
.hero-source-name b{font-size:13px;font-weight:900;color:#103d31;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-source-name small{font-size:11px;font-weight:700;line-height:1.35;color:#6b8178;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-source-check{min-width:0;display:grid;justify-items:center;gap:3px;color:#405c55;font-size:10.5px;font-weight:800;line-height:1.1}
.hero-source-check input{width:18px;height:18px;accent-color:#0f8f4d;cursor:pointer}
.hero-source-check span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'JetBrains Mono','Be Vietnam Pro',monospace}
.hero-source-config-btn{width:100%;margin-top:12px;border:1px solid rgba(15,118,110,.16);background:#ecfdf5;color:#047857;border-radius:14px;padding:11px 14px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.hero-source-config-btn:hover{background:#0f8f4d;color:#fff}
.hero-source-mini-title{margin:12px 0 6px;color:#08735f;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:560px){
  .hero-source-config{max-height:64vh}
  .hero-source-head,.hero-source-row{grid-template-columns:minmax(0,1fr) repeat(3,52px);gap:6px}
  .hero-source-head{font-size:9.5px;padding:0 4px}
  .hero-source-row{padding:8px 6px;border-radius:13px}
  .hero-source-name b{font-size:12px}
  .hero-source-name small{font-size:10.5px}
  .hero-source-check span{display:none}
  .hero-source-check input{width:19px;height:19px}
  .hero-source-note span{font-size:12px}
}

/* =========================================================
   VHTG NAV REDESIGN — Floating pill desktop + Quick Nav
   ========================================================= */

/* ── Desktop main tab bar: floating pill ── */
.main-tabs-wrap{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:6px!important;
  height:56px!important;
  padding:8px 10px!important;
  margin-bottom:24px!important;
  background:rgba(255,255,255,.84)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border:1px solid rgba(15,122,74,.14)!important;
  border-radius:22px!important;
  box-shadow:0 4px 20px rgba(15,122,74,.08),0 1px 4px rgba(0,0,0,.04)!important;
  overflow:visible!important;
  /* remove old border-bottom */
  border-bottom:none!important;
}
.main-tabs-wrap::-webkit-scrollbar{display:none!important}

/* ── Each tab button ── */
.main-tab{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:10px 16px!important;
  border-radius:16px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#53635F!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:background .18s,color .18s,box-shadow .18s!important;
  box-shadow:none!important;
  /* kill old underline */
  margin-bottom:0!important;
  position:static!important;
  transform:none!important;
}
.main-tab::after{display:none!important;}
.main-tab:hover{
  background:#F3FBF6!important;
  color:#0B7A3B!important;
  box-shadow:none!important;
  transform:none!important;
}
.main-tab.active{
  background:#EAF8EF!important;
  color:#07833D!important;
  border:1px solid rgba(7,131,61,.18)!important;
  box-shadow:0 2px 8px rgba(7,131,61,.10)!important;
}
.main-tab svg,.main-tab-icon svg{
  width:17px!important;height:17px!important;
  stroke:currentColor!important;stroke-width:2.2!important;
  fill:none!important;flex:0 0 auto!important;
}

/* ── Quick nav floating pill (desktop only) ── */
#vhtg-quick-nav{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  z-index:9990!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:6px!important;
  padding:8px!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border:1px solid rgba(15,122,74,.14)!important;
  border-radius:999px!important;
  box-shadow:0 8px 32px rgba(15,122,74,.13),0 2px 8px rgba(0,0,0,.06)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .22s ease!important;
}
.vhtg-qnav-btn{
  position:relative!important;
  width:40px!important;height:40px!important;
  border-radius:999px!important;
  border:none!important;
  background:transparent!important;
  color:#64736F!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;
  transition:background .15s,color .15s!important;
  padding:0!important;
}
.vhtg-qnav-btn svg{width:20px!important;height:20px!important;stroke:currentColor!important;stroke-width:2.2!important;fill:none!important;flex:0 0 auto!important;}
.vhtg-qnav-btn:hover,.vhtg-qnav-btn:focus-visible{background:#F3FBF6!important;color:#0B7A3B!important;outline:none!important;}
.vhtg-qnav-btn.active{background:#EAF8EF!important;color:#07833D!important;}

/* Tooltip */
.vhtg-qnav-tooltip{
  position:absolute!important;
  bottom:calc(100% + 8px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  background:rgba(17,24,28,.88)!important;
  color:#fff!important;
  font-size:11px!important;font-weight:700!important;
  padding:4px 9px!important;
  border-radius:8px!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  opacity:0!important;
  transition:opacity .14s!important;
}
.vhtg-qnav-btn:hover .vhtg-qnav-tooltip{opacity:1!important;}

/* Hide quick nav on mobile */
@media(max-width:899px){
  #vhtg-quick-nav{display:none!important;}
}

/* ── Mobile nav refinements ── */
@media(max-width:899px){
  .main-tabs-wrap{display:none!important;}
  .mobile-nav{
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    border-top:1px solid rgba(15,122,74,.12)!important;
    box-shadow:0 -4px 20px rgba(15,122,74,.08)!important;
  }
  .mnav-btn{
    font-size:11px!important;
    font-weight:600!important;
    color:#64736F!important;
    padding:10px 0 8px!important;
    gap:3px!important;
  }
  .mnav-btn svg{width:20px!important;height:20px!important;}
  .mnav-btn span{font-size:11px!important;line-height:1.2!important;}
  .mnav-btn.active{
    color:#07833D!important;
    background:rgba(7,131,61,.07)!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }
}
/* ── Dark mode ── */
body.dark-mode .main-tabs-wrap{
  background:rgba(31,41,55,.90)!important;
  border-color:rgba(52,211,153,.14)!important;
  box-shadow:0 4px 20px rgba(0,0,0,.30),0 1px 4px rgba(0,0,0,.18)!important;
}
body.dark-mode .main-tab{color:#9ca3af!important;}
body.dark-mode .main-tab:hover{background:rgba(15,118,110,.18)!important;color:#6ee7b7!important;}
body.dark-mode .main-tab.active{background:rgba(15,118,110,.22)!important;color:#34d399!important;border-color:rgba(52,211,153,.22)!important;}
body.dark-mode #vhtg-quick-nav{
  background:rgba(31,41,55,.94)!important;
  border-color:rgba(52,211,153,.14)!important;
  box-shadow:0 8px 32px rgba(0,0,0,.40)!important;
}
body.dark-mode .vhtg-qnav-btn{color:#9ca3af!important;}
body.dark-mode .vhtg-qnav-btn:hover{background:rgba(15,118,110,.20)!important;color:#6ee7b7!important;}
body.dark-mode .vhtg-qnav-btn.active{background:rgba(15,118,110,.25)!important;color:#34d399!important;}
/* =========================================================
   END VHTG NAV REDESIGN
   ========================================================= */

/* =========================================================
   VHTG MENU UX REDESIGN 2026-06-12
   Clean sticky desktop tabs + ergonomic mobile bottom nav
   ========================================================= */
.main-tabs-wrap{
  position:sticky!important;
  top:10px!important;
  z-index:1200!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:60px!important;
  height:auto!important;
  padding:8px!important;
  margin:0 0 22px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  scroll-snap-type:x proximity!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(15,118,110,.13)!important;
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.72)!important;
  backdrop-filter:blur(18px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18)!important;
}
.main-tabs-wrap::before{
  content:''!important;
  position:sticky!important;
  left:0!important;
  width:1px!important;
  height:42px!important;
  flex:0 0 1px!important;
  pointer-events:none!important;
}
.main-tab{
  scroll-snap-align:center!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 16px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#52645f!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.main-tab:hover,.main-tab:focus-visible{
  color:#065f46!important;
  background:rgba(15,118,110,.07)!important;
  border-color:rgba(15,118,110,.12)!important;
  outline:none!important;
}
.main-tab.active{
  color:#064e3b!important;
  background:linear-gradient(180deg,#ffffff 0%,#ecfdf5 100%)!important;
  border-color:rgba(15,118,110,.20)!important;
  box-shadow:0 8px 20px rgba(15,118,110,.12),inset 0 -2px 0 rgba(15,118,110,.26)!important;
}
.main-tab::after{display:none!important}
.main-tab svg,.main-tab-icon svg{
  width:18px!important;
  height:18px!important;
  stroke-width:2.25!important;
}
body.vhtg-nav-scrolled .main-tabs-wrap{
  box-shadow:0 16px 42px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.78)!important;
}
#vhtg-quick-nav{
  right:18px!important;
  bottom:18px!important;
  gap:7px!important;
  padding:8px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(15,118,110,.14)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.13)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
  transform:translateY(10px)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
body.vhtg-qnav-visible #vhtg-quick-nav{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.vhtg-qnav-btn{
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  color:#52645f!important;
}
.vhtg-qnav-btn:hover,.vhtg-qnav-btn:focus-visible{
  background:rgba(15,118,110,.08)!important;
  color:#065f46!important;
}
.vhtg-qnav-btn.active{
  background:#ecfdf5!important;
  color:#047857!important;
  box-shadow:inset 0 -2px 0 rgba(15,118,110,.24)!important;
}
@media(max-width:899px){
  .main-tabs-wrap{display:none!important}
  .app{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
  .mobile-nav{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:min(calc(100% - 18px),460px)!important;
    height:70px!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:7px!important;
    border:1px solid rgba(15,118,110,.13)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.93)!important;
    box-shadow:0 18px 46px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.80)!important;
    backdrop-filter:blur(20px) saturate(1.2)!important;
    -webkit-backdrop-filter:blur(20px) saturate(1.2)!important;
    transform:translateX(-50%) translateY(0)!important;
    transition:transform .24s ease,opacity .18s ease,box-shadow .18s ease!important;
    z-index:5000!important;
    overflow:visible!important;
  }
  .mobile-nav::before{
    content:''!important;
    position:absolute!important;
    left:50%!important;
    top:-8px!important;
    width:46px!important;
    height:4px!important;
    border-radius:999px!important;
    background:rgba(15,118,110,.22)!important;
    transform:translateX(-50%)!important;
  }
  body.vhtg-mobile-nav-collapsed .mobile-nav{
    transform:translateX(-50%) translateY(calc(100% - 14px))!important;
    opacity:.96!important;
    box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
  }
  .mnav-btn{
    min-width:0!important;
    height:56px!important;
    min-height:56px!important;
    flex:1 1 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    padding:0 3px!important;
    border:1px solid transparent!important;
    border-radius:17px!important;
    background:transparent!important;
    color:#5f716b!important;
    font-size:10.5px!important;
    font-weight:800!important;
    line-height:1.1!important;
    letter-spacing:0!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:background-color .16s ease,color .16s ease,box-shadow .16s ease!important;
  }
  .mnav-btn svg{
    width:21px!important;
    height:21px!important;
    stroke-width:2.35!important;
  }
  .mnav-btn span{
    display:block!important;
    width:100%!important;
    max-width:64px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10.5px!important;
    line-height:1.15!important;
  }
  .mnav-btn.active{
    color:#065f46!important;
    background:linear-gradient(180deg,#ffffff 0%,#ecfdf5 100%)!important;
    border-color:rgba(15,118,110,.16)!important;
    box-shadow:0 8px 18px rgba(15,118,110,.12),inset 0 -2px 0 rgba(15,118,110,.24)!important;
  }
  .mnav-btn:active{transform:scale(.98)!important}
  .mnav-btn.nav-dragging{opacity:.72!important;transform:scale(.96)!important}
  .fab-container{bottom:calc(env(safe-area-inset-bottom) + 94px)!important}
}
@media(max-width:370px){
  .mobile-nav{width:calc(100% - 12px)!important;padding:6px!important}
  .mnav-btn span{font-size:9.5px!important}
  .mnav-btn svg{width:20px!important;height:20px!important}
}
body.dark-mode .main-tabs-wrap,
body.dark-mode .mobile-nav,
body.dark-mode #vhtg-quick-nav{
  background:rgba(17,24,39,.88)!important;
  border-color:rgba(52,211,153,.14)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
body.dark-mode .main-tab,
body.dark-mode .mnav-btn,
body.dark-mode .vhtg-qnav-btn{color:#a7b3af!important}
body.dark-mode .main-tab.active,
body.dark-mode .mnav-btn.active,
body.dark-mode .vhtg-qnav-btn.active{
  color:#6ee7b7!important;
  background:rgba(15,118,110,.20)!important;
  border-color:rgba(52,211,153,.20)!important;
}

/* Desktop does not need the global + floating action button. Keep it available on mobile only. */
@media(min-width:900px){
  .fab-container,
  .fab-main,
  .fab-close-badge,
  #fab-restore{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* VHTG 2026-06-13: performance + notification layering fix */
.main-tabs-wrap{
  z-index:80!important;
  background:#fff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
body.vhtg-nav-scrolled .main-tabs-wrap{
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
#notif-wrapper{
  position:relative!important;
  z-index:9000!important;
}
.notif-dropdown{
  z-index:9100!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
}
.workspace-dropdown{
  z-index:9000!important;
}
@media(min-width:900px){
  #vhtg-quick-nav{
    display:none!important;
  }
}
@media(max-width:899px){
  .mobile-nav{
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 10px 30px rgba(15,23,42,.14)!important;
  }
  body.vhtg-mobile-nav-collapsed .mobile-nav{
    box-shadow:0 6px 18px rgba(15,23,42,.10)!important;
  }
  .notif-dropdown{
    position:fixed!important;
    top:84px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-height:calc(100vh - 120px)!important;
  }
  .notif-list{
    max-height:calc(100vh - 190px)!important;
  }
}
body.dark-mode .main-tabs-wrap,
body.dark-mode .mobile-nav,
body.dark-mode .notif-dropdown{
  background:#111827!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* VHTG PATCH 2026-06-13: quick add hub in asset home */
.asset-quick-add-hub{margin-top:18px;border:1px solid rgba(15,118,110,.12);border-radius:18px;background:linear-gradient(135deg,#f0fdf4,#fff);padding:14px}
.asset-quick-add-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.asset-quick-add-head b{font-size:15px;font-weight:950;color:var(--green)}
.asset-quick-add-head span{font-size:12px;font-weight:750;color:var(--text3);text-align:right}
.asset-quick-add-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.asset-quick-add-btn{border:1px solid rgba(15,118,110,.14);background:#fff;border-radius:14px;min-height:74px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text);font-family:inherit;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.asset-quick-add-btn:hover{border-color:rgba(15,118,110,.34);box-shadow:0 12px 26px rgba(15,118,110,.10);transform:translateY(-1px)}
.asset-quick-add-btn span{width:30px;height:30px;border-radius:10px;background:var(--green2);color:var(--green);display:inline-flex;align-items:center;justify-content:center}
.asset-quick-add-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.asset-quick-add-btn b{font-size:12px;font-weight:900;line-height:1.2;text-align:center}
@media(max-width:900px){
  .asset-quick-add-head{align-items:flex-start;flex-direction:column}
  .asset-quick-add-head span{text-align:left}
  .asset-quick-add-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:420px){
  .asset-quick-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== Stats Ticker (Hero summary marquee) ===== */
.stats-ticker{
  display:flex;align-items:center;gap:8px;
  background:var(--bg2);border:1px solid var(--border);border-radius:14px;
  padding:10px 8px 10px 16px;margin-bottom:18px;
  box-shadow:0 1px 3px rgba(62,39,35,.04);
  position:relative;overflow:hidden;
}
.stats-ticker-track{flex:1;overflow-x:auto;overflow-y:hidden;position:relative;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);cursor:grab;}
.stats-ticker-track::-webkit-scrollbar{display:none;}
.stats-ticker-track.dragging{cursor:grabbing;scroll-behavior:auto;}
.stats-ticker-inner{display:inline-flex;align-items:center;}
.stats-ticker-content{display:inline-flex;align-items:center;gap:28px;padding-right:28px;flex-shrink:0;}
.st-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;}
.st-lbl{color:var(--text3);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:10.5px;}
.st-val{font-family:'JetBrains Mono',monospace;font-weight:800;color:var(--text);font-size:12.5px;}
.st-val.up{color:var(--green);}
.st-val.dn{color:var(--red);}
.stats-ticker-settings{
  flex-shrink:0;width:30px;height:30px;border-radius:10px;border:1px solid var(--border);
  background:var(--bg);color:var(--text3);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .15s ease;
}
.stats-ticker-settings:hover{color:var(--green);border-color:var(--green);background:var(--green2);transform:rotate(20deg);}
@media(max-width:768px){
  .stats-ticker{padding:8px 6px 8px 12px;border-radius:12px;margin-bottom:14px;}
  .stats-ticker-content{gap:20px;padding-right:20px;}
  .st-item{font-size:11px;}
  .st-lbl{font-size:9.5px;}
  .st-val{font-size:11.5px;}
  .stats-ticker-settings{width:26px;height:26px;border-radius:9px;}
}
