:root{
 --ui-bg:#EEF3F1;--ui-halo-green:#C0E0D4;--ui-halo-blue:#D8DFF1;
 --ui-card:rgba(255,255,255,.82);--ui-solid:#f9fbfa;--ui-soft:#E1EEE8;--ui-hover:#d8e9e0;
 --ui-text:#232A28;--ui-secondary:#536961;--ui-accent:#175C49;--ui-on-accent:#fff;
 --ui-line:rgba(44,87,68,.16);--ui-glass-edge:rgba(255,255,255,.8);
 --ui-input:rgba(255,255,255,.88);--ui-shadow:0 8px 32px rgba(25,56,43,.055);
 --ui-positive:#176341;--ui-negative:#b82f43;--ui-warning:#785821;--ui-warning-bg:#f6ecd7;
 --ui-positive-bg:#e1eee8;--ui-negative-bg:#fae6e9;--ui-backdrop:rgba(13,30,22,.38);
 --lime:var(--ui-accent);--ink:var(--ui-text);--muted:var(--ui-secondary);--line:var(--ui-line);--bg:var(--ui-bg);--green:var(--ui-positive);--negative:var(--ui-negative);
 color-scheme:light;
}
:root[data-appearance="dark"]{
 --ui-bg:#111E19;--ui-halo-green:#1c3d30;--ui-halo-blue:#262e46;
 --ui-card:rgba(29,46,40,.93);--ui-solid:#1d2e28;--ui-soft:#2a4438;--ui-hover:#345242;
 --ui-text:#edf3ef;--ui-secondary:#b8c9c0;--ui-accent:#a6d5bc;--ui-on-accent:#102a1d;
 --ui-line:rgba(190,222,204,.18);--ui-glass-edge:rgba(193,224,208,.13);
 --ui-input:rgba(16,32,24,.78);--ui-shadow:0 8px 32px rgba(0,0,0,.12);
 --ui-positive:#a2d6b7;--ui-negative:#ffa5b0;--ui-warning:#e2c386;--ui-warning-bg:#3c3424;
 --ui-positive-bg:#294235;--ui-negative-bg:#452b32;--ui-backdrop:rgba(0,10,5,.65);
 color-scheme:dark;
}
html{min-height:100%;background:var(--ui-bg);scroll-padding-bottom:110px}
body{min-height:100vh;background:radial-gradient(ellipse 85% 650px at 0 0,var(--ui-halo-green),transparent 85%),radial-gradient(ellipse 70% 650px at 100% 15%,var(--ui-halo-blue),transparent 90%),var(--ui-bg);background-attachment:fixed;color:var(--ui-text);font:16px/1.75 Tahoma,"Leelawadee UI","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;line-height:1.75}button,a,summary{touch-action:manipulation}button:disabled{cursor:default;opacity:.65}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
header{max-width:1240px;height:auto;min-height:90px;margin:24px auto 0;padding:20px 26px;border:1px solid var(--ui-glass-edge);border-radius:26px;background:var(--ui-card);box-shadow:var(--ui-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);gap:20px;position:relative;flex-wrap:wrap}
header .brand{color:var(--ui-text);font-family:inherit;font-size:23px;line-height:1.25;letter-spacing:-.8px;padding-left:54px;flex:none}header .brand img{width:42px;height:42px;border-radius:13px}header .brand>span{color:var(--ui-accent)}header .brand small{font-size:11px;letter-spacing:0;color:var(--ui-secondary);margin-top:5px}
header nav{margin-left:auto;gap:4px}header nav a{font-size:14px;padding:10px 12px;gap:7px;color:var(--ui-secondary);border-radius:14px}header nav a.active{background:var(--ui-soft);color:var(--ui-accent)}header nav a:hover{background:var(--ui-hover)}
.appearance-control{display:flex;align-items:center;gap:8px;color:var(--ui-secondary);font-size:13px;margin-left:auto}.appearance-control select{padding:8px 11px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-input);color:var(--ui-text);font-size:14px;min-height:44px}
.app{max-width:1160px;margin:auto;padding:0 28px 48px}.topline{padding:25px 0;color:var(--ui-secondary);font-size:14px;justify-content:flex-end}.topline label:before{color:var(--ui-secondary)}.topline select{background:var(--ui-card);border:1px solid var(--ui-line);border-radius:14px;color:var(--ui-text);font-size:15px;min-height:44px;padding:6px 12px;margin-left:8px}
h1,.page-heading h1,.ref-transactions h1,.ref-asset-head h1{font-size:32px;color:var(--ui-text);font-weight:600;letter-spacing:-.7px;line-height:1.45;margin:0}h2,.ref-transactions>h2{font-size:20px;line-height:1.6;letter-spacing:-.2px;font-weight:600}h3{font-size:17px;line-height:1.7}.page-heading{margin:0 0 28px;align-items:center;gap:20px}.page-heading p{font-size:15px;margin:6px 0 0}.muted,small,.eyebrow{color:var(--ui-secondary)}.section-head{gap:20px;margin-bottom:20px}.section-head>button,.text-button{font-size:14px;color:var(--ui-accent)}
.surface,.metric,.tool-tile,.professional-balance,.yearly-card,.ref-attention,.ref-asset-balance,.z3-result,.hero,.info-grid>div,.ref-summary{background:var(--ui-card)!important;color:var(--ui-text);border:1px solid var(--ui-glass-edge);border-radius:26px;box-shadow:var(--ui-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.surface,.professional-balance,.ref-attention,.ref-asset-balance,.hero{padding:28px}.layout,.professional-grid,.z3-layout{gap:26px}.column{gap:26px}.metrics{gap:20px;margin-bottom:26px}.metric{padding:24px}.tool-grid{gap:24px}.tool-tile{padding:28px;min-height:130px}.tool-tile:hover{background:var(--ui-hover)!important;border-color:var(--ui-line)}.tool-tile p{font-size:15px;color:var(--ui-secondary);margin-top:12px}.tool-tile h3{font-size:18px}
.primary,.ref-transactions .primary{background:var(--ui-accent);color:var(--ui-on-accent);border:1px solid transparent;padding:11px 20px;min-height:46px;border-radius:14px;font-size:15px;font-weight:500}.primary:hover{filter:brightness(.95)}.secondary,.ref-add,.ref-greeting>button{background:var(--ui-soft);color:var(--ui-accent);border-radius:14px;padding:10px 18px;font-size:15px;min-height:44px}.z3-result .primary{background:var(--ui-accent);color:var(--ui-on-accent)}
.field label,.z3-fields label{font-size:15px;color:var(--ui-secondary);margin-bottom:9px}.field input,.field select,.field textarea,.search,.ref-search .search{background:var(--ui-input);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:14px;font-size:16px;padding:12px 14px;min-height:48px;box-shadow:none}.field input::placeholder,.search::placeholder{color:var(--ui-secondary);opacity:.85}.form-grid{gap:24px}.z3-fields{gap:24px;margin-top:24px}.form-actions{gap:14px;margin-top:24px}.field textarea{min-height:100px}input[type="checkbox"],input[type="radio"]{accent-color:var(--ui-accent)}
.note,.note.validation,.ref-validation,.simple-validation{font-size:14px;line-height:1.8;color:var(--ui-secondary);background:var(--ui-soft);border-radius:14px;padding:16px 18px}.z3-help{font-size:14px;line-height:1.8;color:var(--ui-secondary)}.z3-result p,.ref-attention small,.ref-attention b,.professional-balance small,.professional-balance .baht-value,.professional-balance .baht-value small,.yearly-card small{color:var(--ui-secondary)}
.ref-total,.professional-balance .ref-total,.z3-result .ref-total,.balance-number,.big,.amount-medium{font-family:Tahoma,"Segoe UI",sans-serif;color:var(--ui-text);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-1.3px}.ref-total,.balance-number{font-size:44px}.z3-result .ref-total{font-size:38px}.amount-medium{font-size:30px}.metric .amount-medium{font-size:28px}.ref-total>span{font-size:16px;letter-spacing:0}.gain,.professional-balance .gain{color:var(--ui-positive)}.loss,.professional-balance .loss{color:var(--ui-negative)}
.professional-balance .ref-summary{border:0;border-top:1px solid var(--ui-line);background:transparent!important;box-shadow:none;border-radius:0;backdrop-filter:none;padding:24px 0 0}.ref-summary strong{font-size:22px}.ref-summary small{font-size:14px}.yearly-card .line-row,.z3-result .line-row,.ref-attention>button{border-color:var(--ui-line)}.ref-attention strong{font-size:16px}.ref-attention small{font-size:14px}.ref-attention>button{padding:20px 0}
.line-row{font-size:15px;line-height:1.75;gap:20px;padding:20px 0;border-color:var(--ui-line)}.line-row small{font-size:13px;margin-top:5px}.line-row strong{overflow-wrap:anywhere}.stock-row{padding:22px 0;gap:16px;border-color:var(--ui-line)}.stock-info h3{font-size:18px;color:var(--ui-text)}.stock-info small{font-size:13px;line-height:1.7}.stock-row .right strong{font-size:19px}.stock-row .right small{font-size:14px}.list-button:hover,.ref-tx:hover{background:var(--ui-soft);border-radius:14px}.stock-logo,.company-logo{background:var(--ui-solid);border-color:var(--ui-line);color:var(--ui-text);width:46px;height:46px}.stock-logo img{border-radius:4px}.ref-review{background:var(--ui-soft);color:var(--ui-secondary);font-size:12px;padding:3px 8px;border-radius:8px}
.chip,.status,.ref-currency{background:var(--ui-soft);color:var(--ui-secondary);font-size:13px;border-radius:8px;padding:5px 10px}.status.pending,.validation{background:var(--ui-warning-bg);color:var(--ui-warning)}.status.purified,.success{background:var(--ui-positive-bg);color:var(--ui-positive)}.status.review{background:var(--ui-soft);color:var(--ui-secondary)}.error{color:var(--ui-negative);font-size:14px}.success{padding:24px;border-radius:20px;line-height:1.8}
.ref-asset-head{background:var(--ui-card);border:1px solid var(--ui-glass-edge);border-radius:26px;padding:28px;backdrop-filter:blur(20px)}.ref-asset-head>.section-head h1{color:var(--ui-text)}.ref-asset-balance{box-shadow:none;background:var(--ui-input)!important}.ref-asset-head .pill-tabs{margin:24px 0}.pill-tabs{gap:10px}.pill-tabs button,.ref-asset-head .pill-tabs button{background:var(--ui-input);color:var(--ui-secondary);border:1px solid var(--ui-line);font-size:14px;border-radius:14px;padding:10px 16px}.pill-tabs button.active,.ref-asset-head .pill-tabs button.active{background:var(--ui-soft);border-color:var(--ui-accent);color:var(--ui-accent)}.ref-asset-list>.section-head,.ref-asset-list>.section-head strong{color:var(--ui-secondary);font-size:14px}.ref-profit-line,.ref-cash-row{border-color:var(--ui-line);font-size:15px}
.ref-segment{border-color:var(--ui-line);gap:8px}.ref-segment button{font-size:15px;color:var(--ui-secondary);padding:14px 8px}.ref-segment .selected{color:var(--ui-accent);border-color:var(--ui-accent)}.ref-month{color:var(--ui-secondary);font-size:18px;margin:28px 0 12px}.ref-tx{border-color:var(--ui-line);padding:24px 0}.ref-tx-top{font-size:17px}.ref-tx-sub,.ref-tx-price{font-size:14px;color:var(--ui-secondary)}.baht-value{color:var(--ui-secondary);font-size:14px}.baht-value strong{font-size:18px;color:var(--ui-text)}.baht-value small{font-size:13px;color:var(--ui-secondary);line-height:1.8}.ref-tx .baht-value strong{font-size:15px}.instrument-preview small{font-size:13px;color:var(--ui-secondary)}
.faq{padding:21px 0;border-color:var(--ui-line)}.faq summary{font-size:16px;color:var(--ui-text);line-height:1.75}.faq summary:after{color:var(--ui-accent)}.faq p,.article{font-size:15px;line-height:1.85;color:var(--ui-secondary)}.article h5{color:var(--ui-text)}.article a{color:var(--ui-accent)}.info-grid{gap:16px}.info-grid>div{padding:18px;font-size:15px;border-radius:16px;box-shadow:none}.info-grid small{font-size:13px}.empty{font-size:16px;line-height:1.8;color:var(--ui-secondary);padding:32px 20px}.quiz-option{border-color:var(--ui-line);font-size:15px;border-radius:14px;padding:16px}
dialog{background:var(--ui-solid);color:var(--ui-text);border:1px solid var(--ui-glass-edge);border-radius:26px;padding:28px;box-shadow:0 24px 80px var(--ui-backdrop);width:min(680px,calc(100% - 28px));max-height:90dvh}dialog::backdrop{background:var(--ui-backdrop);backdrop-filter:blur(8px)}.dialog-head h2{font-size:22px}.dialog-head button{min-width:44px;min-height:44px}.dialog-head{margin-bottom:24px}#toast{background:var(--ui-accent);color:var(--ui-on-accent);border-radius:14px;font-size:15px;box-shadow:var(--ui-shadow)}
.bottom-nav{background:var(--ui-card);border-color:var(--ui-glass-edge);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom-nav a{color:var(--ui-secondary)}.bottom-nav a.active{color:var(--ui-accent)}.bottom-nav a.active .icon{background:var(--ui-soft);border-radius:9px;outline:6px solid var(--ui-soft)}
@supports not (backdrop-filter:blur(20px)){header,.surface,.metric,.tool-tile,.professional-balance,.yearly-card,.ref-attention,.ref-asset-balance,.z3-result,.hero,.bottom-nav{background:var(--ui-solid)!important}}
@media(min-width:761px) and (max-width:1150px){header{margin:18px 24px 0}header nav{order:3;width:100%;justify-content:center;margin:0}.appearance-control{margin-left:auto}}
@media(max-width:760px){body{font-size:15px}header{margin:12px 14px 0;padding:18px;min-height:82px;border-radius:22px;gap:14px}header .brand{font-size:20px;padding-left:46px!important}header .brand img{width:36px;height:36px;border-radius:11px}header .brand small{font-size:10px}.appearance-control{gap:0;margin-left:auto}.appearance-control>span{display:none}.appearance-control select{font-size:14px;padding:8px;max-width:110px}.app{padding:0 18px 120px}.topline{padding:20px 0;font-size:13px}.topline select{font-size:14px}h1,.page-heading h1,.ref-transactions h1,.ref-asset-head h1{font-size:30px}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-heading>.primary{padding:11px 18px;font-size:15px}.page-heading p{font-size:15px}.surface,.professional-balance,.ref-attention,.z3-layout .surface,.hero{padding:22px;border-radius:22px}.professional-grid,.layout,.z3-layout{grid-template-columns:1fr;gap:24px}.metrics{grid-template-columns:1fr;gap:16px}.metric{padding:22px}.metric small{font-size:14px}.metric .amount-medium{font-size:30px}.tool-grid{grid-template-columns:1fr;gap:18px}.tool-tile{padding:24px;min-height:0}.tool-tile h3{font-size:18px}.tool-tile p{font-size:15px}.form-grid{grid-template-columns:1fr;gap:22px}.wide{grid-column:auto}.ref-total,.professional-balance .ref-total{font-size:36px}.z3-result .ref-total{font-size:34px}.professional-balance .ref-summary{grid-template-columns:1fr;gap:20px}.professional-balance .ref-summary>div{align-items:flex-start;flex-wrap:wrap;gap:6px}.professional-balance .ref-summary small{font-size:14px}.professional-balance .ref-summary strong{font-size:18px}.ref-attention strong{font-size:16px}.ref-attention small{font-size:14px}.ref-attention b{font-size:16px}.stock-row{gap:12px}.stock-info h3{font-size:17px}.stock-info small{font-size:13px}.stock-row .right strong{font-size:17px}.stock-row .right small{font-size:13px}.stock-logo,.company-logo{width:40px;height:40px}.ref-asset-head{margin:0;padding:22px;border-radius:22px}.ref-asset-balance{padding:20px}.ref-asset-balance .ref-total{font-size:31px;white-space:normal}.ref-asset-balance>small{font-size:14px}.ref-profit-line{font-size:14px}.pill-tabs button{font-size:14px}.ref-asset-list{padding:24px 0}.ref-tx-top{font-size:16px;flex-wrap:wrap;gap:8px}.ref-tx-sub{font-size:14px;flex-wrap:wrap}.ref-search .search{font-size:16px}.ref-segment button{font-size:14px}.ref-tx .baht-value{text-align:left}.line-row{font-size:15px;flex-wrap:wrap;gap:10px}.z3-fields label{font-size:15px}.z3-help{font-size:14px}.instrument-preview small{font-size:13px}.bottom-nav{height:calc(82px + env(safe-area-inset-bottom));padding:12px 4px calc(8px + env(safe-area-inset-bottom));align-items:center}.bottom-nav a{font-size:12px;line-height:1.7}.bottom-nav .icon{width:22px;height:22px;margin-bottom:8px}dialog{padding:24px}.info-grid{grid-template-columns:1fr}footer{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html,body{background:white!important;color:black!important}header,.appearance-control,.bottom-nav{display:none!important}.surface,.professional-balance,.yearly-card,.z3-result{background:white!important;color:black!important;box-shadow:none;backdrop-filter:none;border:0}.app{padding:0}.line-row,small,.z3-result p{color:black!important}}
