:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f6f7f9;--border:#e3e6ea;--text:#16191d;--text-dim:#666e78;--green:#12805c;--green-bg:#e6f6ef;--yellow:#9a6b00;--yellow-bg:#fdf3d9;--orange:#b34700;--orange-bg:#fdeee2;--red:#c0201f;--red-bg:#fdebeb;--c-status:#12805c;--c-todo:#b8730a;--c-eye:#6d4aff;--c-chart:#0d7ea8;--c-biz:#2557d6;--c-list:#5b6673;--shadow:0 1px 2px #10192d0f, 0 4px 16px #10192d0d;--r:16px}@media (prefers-color-scheme:dark){:root{--bg:#101317;--surface:#191d23;--surface-2:#1f242b;--border:#2c333c;--text:#eef1f5;--text-dim:#9aa4b0;--green:#4ade9b;--green-bg:#10291f;--yellow:#f2c94c;--yellow-bg:#2a2313;--orange:#ff9457;--orange-bg:#2e1c11;--red:#ff7b72;--red-bg:#2e1616;--c-status:#4ade9b;--c-todo:#f2c94c;--c-eye:#a78bfa;--c-chart:#38bdf8;--c-biz:#7aa2ff;--c-list:#94a3b8;--shadow:0 1px 2px #0006, 0 6px 20px #0000004d}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans Thai,Noto Sans Thai,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.55}a{color:var(--green)}.num{font-variant-numeric:tabular-nums}.unit{color:var(--text-dim);margin-left:2px;font-size:.62em;font-weight:600}.wrap{max-width:480px;margin:0 auto;padding:0 14px}.app-body{padding-bottom:96px}details.topwarn{background:var(--yellow-bg);color:var(--yellow);border-bottom:1px solid var(--border);font-size:12px}details.topwarn>summary{cursor:pointer;align-items:center;gap:7px;max-width:480px;margin:0 auto;padding:9px 14px;font-weight:600;list-style:none;display:flex}details.topwarn>summary::-webkit-details-marker{display:none}details.topwarn>summary .more{opacity:.75;white-space:nowrap;margin-left:auto;font-size:11px;text-decoration:underline}details.topwarn .body{max-width:480px;margin:0 auto;padding:0 14px 11px;line-height:1.65}header.app-head{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.head-in{justify-content:space-between;align-items:center;gap:10px;max-width:480px;margin:0 auto;padding:11px 14px;display:flex}.brand{letter-spacing:-.01em;color:inherit;align-items:center;gap:9px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.brand .dot{background:var(--green);border-radius:8px;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.badge{white-space:nowrap;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}.lv-green{background:var(--green-bg);color:var(--green)}.lv-yellow{background:var(--yellow-bg);color:var(--yellow)}.lv-orange{background:var(--orange-bg);color:var(--orange)}.lv-red{background:var(--red-bg);color:var(--red)}.wsbar{border-bottom:1px solid var(--border);background:var(--surface)}.wsbar .wrap{align-items:center;gap:9px;padding-top:8px;padding-bottom:8px;display:flex}.wsbar select{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;flex:1;padding:8px 10px;font-size:13.5px;font-weight:600}.wsbar .who{color:var(--text-dim);white-space:nowrap;font-size:11.5px}.wsbar a.mini,.wsbar button.mini{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:9px;padding:7px 10px;font-size:11.5px;text-decoration:none}section.card,details.fold{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent,var(--border));border-radius:var(--r);box-shadow:var(--shadow);margin-top:12px}section.card{padding:15px 16px 16px}details.fold{overflow:hidden}[data-accent=status]{--accent:var(--c-status)}[data-accent=todo]{--accent:var(--c-todo)}[data-accent=eye]{--accent:var(--c-eye)}[data-accent=chart]{--accent:var(--c-chart)}[data-accent=biz]{--accent:var(--c-biz)}[data-accent=list]{--accent:var(--c-list)}.card h2{color:var(--accent);letter-spacing:.02em;align-items:center;gap:7px;margin:0 0 10px;font-size:12.5px;font-weight:700;display:flex}.ico-chip{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.headline{letter-spacing:-.015em;margin:0;font-size:18px;font-weight:700;line-height:1.45}.sub{color:var(--text-dim);margin:9px 0 0;font-size:13px}.gauge{margin-top:14px}.gauge-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:12px;overflow:hidden}.gauge-track.sm{height:9px;margin-top:8px}.gauge-fill{border-radius:999px;height:100%}.gauge-row{color:var(--text-dim);justify-content:space-between;margin-top:7px;font-size:12px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);text-align:center;box-shadow:var(--shadow);padding:13px 8px}.stat .lbl{color:var(--text-dim);font-size:11px;line-height:1.3}.stat .val{letter-spacing:-.03em;margin-top:4px;font-size:18px;font-weight:700}ul.todo{margin:0;padding:0;list-style:none}ul.todo li{border-bottom:1px solid var(--border);gap:9px;padding:10px 0;font-size:14px;line-height:1.5;display:flex}ul.todo li:last-child{border-bottom:0;padding-bottom:0}.tag{border-radius:6px;flex:none;height:fit-content;margin-top:3px;padding:2px 7px;font-size:10px;font-weight:700}details.fold>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:14px 16px;list-style:none;display:flex}details.fold>summary::-webkit-details-marker{display:none}details.fold .f-title{letter-spacing:-.01em;align-items:center;gap:7px;font-size:14.5px;font-weight:700;display:flex}details.fold .f-sum{color:var(--text-dim);margin-top:3px;font-size:12px}details.fold .f-left{flex:1;min-width:0}details.fold .chev{color:var(--text-dim);flex:none;font-size:12px}details.fold[open] .chev{transform:rotate(180deg)}details.fold .f-body{border-top:1px solid var(--border);padding:14px 16px 16px}.pill{border-radius:999px;flex:none;padding:3px 9px;font-size:11px;font-weight:700}.chart-box svg{width:100%;height:auto;display:block}.legend{color:var(--text-dim);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:6px;font-size:11.5px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.chart-cap{color:var(--text-dim);text-align:center;margin:2px 0 0;font-size:11.5px}.barrow{padding:8px 0 0}.barrow .bl{justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.barrow .bl small{color:var(--text-dim)}.barrow .bt{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;margin-top:5px;overflow:hidden}.barrow .bf{border-radius:999px;height:100%}.kpi{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.kpi>div{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.kpi .k{color:var(--text-dim);font-size:11px}.kpi .v{margin-top:2px;font-size:15px;font-weight:700}table.cmp{border-collapse:collapse;width:100%;font-size:13px}table.cmp th,table.cmp td{text-align:right;border-bottom:1px solid var(--border);padding:9px 5px}table.cmp th:first-child,table.cmp td:first-child{text-align:left}table.cmp thead th{color:var(--text-dim);font-size:11px;font-weight:600}table.cmp tr.best td{background:var(--green-bg);font-weight:700}.cmp-wrap{overflow-x:auto}.rec{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.rec:last-child{border-bottom:0}.rec .ico{border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.rec .meta{flex:1;min-width:0}.rec .meta b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.rec .meta small{color:var(--text-dim);font-size:12px}.rec .amt{white-space:nowrap;font-weight:700}.rec .del{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);cursor:pointer;border-radius:8px;flex:none;padding:4px 8px;font-size:11px}.inst{border-bottom:1px solid var(--border);padding:12px 0}.inst:last-of-type{border-bottom:0}.inst-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;display:flex}.inst-head .pct{font-weight:700}.inst-meta{color:var(--text-dim);justify-content:space-between;gap:8px;margin-top:6px;font-size:12px;display:flex}.inst-msg{margin:7px 0 0;font-size:12px;line-height:1.55}.inst-sub{color:var(--text-dim);font-size:11px;font-weight:400}.total-line{border-top:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;padding-top:12px;font-size:13px;display:flex}.total-line .big{letter-spacing:-.02em;white-space:nowrap;font-size:20px;font-weight:700}.warn-box{border-radius:12px;margin-top:12px;padding:12px 13px;font-size:12.5px;font-weight:600;line-height:1.65}.warn-box.orange{background:var(--orange-bg);color:var(--orange)}.warn-box.red{background:var(--red-bg);color:var(--red)}.acc-chip{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 0;font-size:13px;display:flex}.acc-chip:last-child{border-bottom:0}.acc-chip .grow{flex:1;min-width:0}.acc-chip small{color:var(--text-dim);font-size:11px;display:block}.notify{border-bottom:1px solid var(--border);padding:10px 0;font-size:13px;font-weight:700;line-height:1.5}.notify .wrap{align-items:flex-start;gap:9px;display:flex}.notify.n-yellow{background:var(--yellow-bg);color:var(--yellow)}.notify.n-orange{background:var(--orange-bg);color:var(--orange)}.notify.n-red{background:var(--red-bg);color:var(--red)}.page-head{align-items:center;gap:10px;padding:12px 0 4px;display:flex}.page-head .back{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.page-head h1{letter-spacing:-.02em;margin:0;font-size:19px}.amount-box{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--r);box-shadow:var(--shadow);margin-top:12px;padding:16px}.amount-box .cap{color:var(--text-dim);font-size:12px;font-weight:600}.amount-in{width:100%;font:inherit;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;padding:4px 0 6px;font-size:34px;font-weight:700}.amount-in:focus{outline:0}.amount-in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quick{flex-wrap:wrap;gap:7px;display:flex}.quick button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:11px;flex:auto;padding:9px 13px;font-size:13px;font-weight:700}.fieldcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);margin-top:12px;padding:14px 16px 16px}.fieldcard>.cap{color:var(--text-dim);margin-bottom:9px;font-size:12px;font-weight:700}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;padding:9px 14px;font-size:13.5px}.chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.chips button .x{opacity:.5;margin-left:8px;font-weight:700}.seg{grid-template-columns:1fr 1fr;gap:7px;display:grid}.seg button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:12px;padding:11px 8px;font-size:13.5px}.seg button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}input[type=date],input[type=text],input[type=email],input[type=password],input[type=number]:not(.amount-in),select{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:12px;padding:12px}input:focus,select:focus{outline:2px solid var(--accent,var(--green));outline-offset:1px}label{color:var(--text-dim);margin:12px 0 5px;font-size:12px;font-weight:600;display:block}nav.tabbar{z-index:30;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:10px 14px calc(10px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.tab-in{grid-template-columns:1fr 1fr;gap:10px;max-width:480px;margin:0 auto;display:grid}.tabbar button,.tabbar a{font:inherit;cursor:pointer;color:#fff;letter-spacing:-.01em;text-align:center;border:0;border-radius:14px;padding:15px 6px;font-size:15px;font-weight:700;text-decoration:none;display:block}.b-in{background:#12805c}.b-out{background:#c0201f}.b-ghost{background:var(--surface-2);color:var(--text)!important;border:1px solid var(--border)!important}.b-save{background:var(--accent)}.toolbar{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.toolbar button,.toolbar a{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;padding:9px 14px;font-size:12.5px;text-decoration:none}.toolbar .ghost{background:var(--surface);color:var(--text-dim)}.disclaimer{color:var(--text-dim);text-align:center;padding:16px 2px 6px;font-size:11px;line-height:1.65}.empty{text-align:center;color:var(--text-dim);padding:14px 0;font-size:13px;line-height:1.6}.note{color:var(--text-dim);padding:8px 0 0;font-size:12px;line-height:1.6}.auth-wrap{max-width:400px;margin:0 auto;padding:40px 16px 60px}.auth-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--green);border-radius:var(--r);box-shadow:var(--shadow);padding:22px 20px 24px}.auth-card h1{letter-spacing:-.02em;margin:0 0 4px;font-size:21px}.auth-card .lede{color:var(--text-dim);margin:0 0 6px;font-size:13px}.auth-card button[type=submit]{width:100%;font:inherit;background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:12px;margin-top:20px;padding:14px;font-size:15px;font-weight:700}.auth-alt{text-align:center;color:var(--text-dim);margin-top:16px;font-size:13px}.err{background:var(--red-bg);color:var(--red);border-radius:12px;margin-top:14px;padding:11px 13px;font-size:13px;font-weight:600;line-height:1.55}.brandline{justify-content:center;align-items:center;gap:9px;margin-bottom:18px;font-size:17px;font-weight:700;display:flex}.brandline .dot{background:var(--green);border-radius:9px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.card h3{letter-spacing:-.01em;margin:20px 0 7px;font-size:15px}.card h3:first-of-type{margin-top:10px}.card .sub{line-height:1.75}.card .todo li{line-height:1.7}.warn-box:not(.red):not(.orange){background:var(--surface-2);color:var(--text)}.card code{background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:12px}
