:root{--bg:#031321;--bg2:#061a2a;--surface:#0a1c2b;--surface2:#0d2233;--line:#294052;--text:#edf6ff;--muted:#91a5b8;--cyan:#08aef0;--cyan2:#0bd0ff;--green:#2bc85a;--amber:#ffa915;--red:#ff5353;--shadow:0 16px 50px rgba(0,0,0,.25)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at 65% -20%,#0a2840 0,transparent 42%),var(--bg);color:var(--text);font-family:Noto Sans Thai,Leelawadee UI,Tahoma,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-frame{grid-template-columns:224px minmax(0,1fr)}.sidebar{top:0;border-right:1px solid var(--line);background:rgba(3,17,29,.94)}.side-brand{height:78px;border-bottom:1px solid var(--line);padding:0 18px;font-weight:700}.bot-mark{width:44px;height:44px;border:1px solid var(--cyan);border-radius:50%;color:var(--cyan)}.icon{flex:none}.sidebar nav{padding:18px 10px;grid-gap:5px;gap:5px}.sidebar nav a{gap:13px;color:#b2c2d5;padding:12px;border-radius:4px;border-left:3px solid transparent}.sidebar nav a:hover{background:#081f31;color:#fff}.sidebar nav a.active{color:var(--cyan2);border-left-color:var(--cyan);background:linear-gradient(90deg,#082941,rgba(8,41,65,.25))}.sidebar nav small{margin-left:auto;border:1px solid #466070;border-radius:10px;padding:1px 5px;font-size:9px}.sidebar footer{margin-top:auto;padding:18px;color:var(--muted);line-height:1.8}.status-dot{background:var(--amber);margin-right:5px}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 26px;gap:18px;background:rgba(3,17,29,.7)}.topbar h1{font-size:20px}.sandbox-chip{margin-left:auto;border:1px solid #2d7895;color:#74dfff;padding:6px 10px;border-radius:3px;letter-spacing:.08em}.account{border-left:1px solid var(--line);padding-left:18px}.account span:last-child{display:grid}.account small{color:var(--muted)}.avatar{width:36px;height:36px;background:#20364a;border:1px solid #3a5268}main{padding:24px 26px 50px;max-width:1600px}.page-intro{gap:20px;margin-bottom:20px}.page-intro h2{font-size:20px;margin:0 0 4px}.page-intro p{color:var(--muted)}.page-actions{gap:10px}.button{border:1px solid #3c5a70;background:#0c2031;color:#fff;padding:10px 15px;border-radius:5px}.button.primary{background:linear-gradient(135deg,#099edc,#0ab4ef);border-color:#15c2ff;font-weight:700}.button.danger{color:#ff7272;border-color:#c83e45;background:#22151b}.button:disabled{opacity:.45}.panel{border:1px solid var(--line);background:linear-gradient(145deg,rgba(12,31,46,.96),rgba(7,23,36,.96));border-radius:6px;box-shadow:var(--shadow)}.stats{grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.stat{padding:17px 18px}.stat-head{gap:10px;color:#c8d5df}.stat strong{text-align:right;font-size:29px;color:var(--cyan2);font-weight:500}.stat small{border-top:1px solid var(--line);padding-top:8px;color:var(--muted)}.content-grid{grid-gap:22px;gap:22px}.section-title{font-size:16px;margin:0 0 11px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;min-width:720px}.data-table td,.data-table th{text-align:left;border-bottom:1px solid #223849;border-right:1px solid #1e3445;padding:12px 13px;white-space:nowrap}.data-table th{background:#102535;font-size:12px;color:#d8e3eb}.data-table td{color:#cbd8e3}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:rgba(11,174,240,.035)}.badge{gap:5px}.badge:before{width:7px;height:7px;background:#75899b}.badge.ok{color:#58df74}.badge.ok:before{background:var(--green)}.badge.warn{color:#ffc14f}.badge.warn:before{background:var(--amber)}.badge.bad{color:#ff7373}.badge.bad:before{background:var(--red)}.badge.info{color:#62d4ff}.badge.info:before{background:var(--cyan)}.stack{grid-gap:18px;gap:18px}.activity-item{padding:13px 0;border-top:1px solid var(--line)}.activity-item small{color:var(--muted)}.empty-notice,.owner-banner,.synthetic-note{border:1px solid #34546b;background:#092237;color:#9fdcf2;padding:10px 12px;border-radius:5px;margin-bottom:18px}.empty-notice,.owner-banner{gap:9px}.filters{gap:10px;margin-bottom:14px}.field{grid-gap:7px;gap:7px}.field label{color:#c9d7e1}.input,.select{color:#edf6ff;background:#0b2031;border:1px solid #365064;border-radius:5px;padding:10px 12px}.input:focus,.select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(8,174,240,.12)}.select option{background:#0b2031}.detail-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);grid-gap:20px;gap:20px}.detail-panel{padding:20px}.detail-list{grid-template-columns:repeat(2,1fr)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:4px 0;font-size:15px}.timeline{padding-left:18px;border-left:1px solid #31546a}.timeline div{position:relative;margin:0 0 20px}.timeline div:before{content:"";position:absolute;width:9px;height:9px;background:var(--cyan);border-radius:50%;left:-23px;top:5px}.progress{background:#243849;margin-top:7px}.progress span{background:linear-gradient(90deg,var(--green),#58dc80)}.profile-grid{grid-template-columns:repeat(2,minmax(280px,1fr));grid-gap:14px;gap:14px}.profile-card{padding:18px}.profile-card h3{margin:0 0 4px}.profile-meta{color:var(--muted);margin:14px 0}.rotation{overflow:auto}.rotation-node{border:1px solid #385268;border-radius:6px}.rotation-node:first-child{border-color:var(--cyan)}.rotation-arrow{font-size:24px;color:#7890a5}.form-panel{padding:20px;max-width:720px}.form-grid{grid-template-columns:1fr 1fr}.form-help{color:var(--muted)}.auth-page{padding:30px;background:radial-gradient(circle at 50% 30%,#0a2d49 0,transparent 38%),#031321}.auth-wrap{width:min(460px,100%)}.auth-brand{margin-bottom:24px}.auth-brand .bot-mark{margin:auto}.auth-brand p{color:var(--muted)}.auth-card h2{margin-top:0}.auth-links{margin-top:18px;color:var(--cyan2)}.callout{border-left:3px solid var(--amber);background:#261d0b;color:#ffd27c;padding:11px 12px;margin:14px 0}.two-column{grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.security-row{padding:15px 0;border-top:1px solid var(--line)}@media(max-width:1050px){.content-grid,.detail-layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-frame{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;left:0;right:0;top:auto;bottom:0;width:100%;height:66px;border-right:0;border-top:1px solid var(--line)}.side-brand,.sidebar footer{display:none}.sidebar nav{padding:5px;display:flex;overflow-x:auto}.sidebar nav a{min-width:68px;display:grid;place-items:center;grid-gap:2px;gap:2px;padding:5px;border-left:0;border-top:2px solid transparent;font-size:10px}.sidebar nav a.active{border-top-color:var(--cyan)}.sidebar nav small{display:none}.topbar{height:66px;padding:0 15px}.mobile-brand{display:block}.mobile-brand .bot-mark{width:38px;height:38px}.topbar h1{font-size:16px}.sandbox-chip{font-size:0;padding:6px}.sandbox-chip:after{content:"SANDBOX";font-size:9px}.account span:last-child{display:none}main{padding:18px 14px 90px}.page-intro{display:grid}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px}.stat strong{font-size:23px}.form-grid,.two-column{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.detail-list{grid-template-columns:1fr}.page-actions{width:100%}.page-actions .button{flex:1 1}}.backup-codes{grid-template-columns:1fr 1fr}.backup-codes code{background:#071724}.backup-codes code,.scope-options label{border:1px solid var(--line);border-radius:4px}.scope-options label{background:#081b2a}.scope-options small{color:var(--muted)}@media(max-width:430px){.stats{grid-template-columns:1fr}.topbar h1{max-width:145px}.sandbox-chip{margin-left:auto}.page-intro h2{font-size:18px}.backup-codes{grid-template-columns:1fr}}@media(max-width:760px){.topbar{height:auto;min-height:66px;display:grid;grid-template-columns:38px minmax(0,1fr) 36px auto;grid-gap:8px;gap:8px;padding:10px 14px}.topbar h1{font-size:14px;max-width:none;min-width:0}.topbar .account{grid-column:3;grid-row:1;padding-left:0;border-left:0}.topbar>.button{grid-column:4;grid-row:1;white-space:nowrap;font-size:12px;padding:8px}.topbar .sandbox-chip{grid-column:2/-1;grid-row:2;justify-self:start;margin-left:0;padding:3px 6px;font-size:9px}.topbar .sandbox-chip:after{content:none}}.source-banner{border:1px solid #28708a;background:#082638;color:#bcecff;padding:11px 13px;border-radius:5px;margin-bottom:14px}.source-banner.warning{border-color:#b87913;background:#2a200c;color:#ffd98a}.crs-settings-form{max-width:800px;margin-bottom:28px}.crs-settings-audit{border-bottom:1px solid var(--line);padding:12px 0}.crs-settings table{text-align:left}.crs-settings td,.crs-settings th{border-bottom:1px solid var(--line)}:root{color-scheme:light;--color-paper:oklch(98.2% 0.008 82);--color-paper-2:oklch(96.2% 0.012 78);--color-surface:oklch(99.2% 0.006 82);--color-surface-raised:oklch(99.8% 0.004 82);--color-ink:oklch(24% 0.02 258);--color-ink-2:oklch(36% 0.018 257);--color-muted:oklch(46% 0.018 255);--color-rule:oklch(89% 0.012 252);--color-rule-strong:oklch(79% 0.02 252);--color-accent:oklch(47% 0.18 256);--color-accent-hover:oklch(41% 0.17 256);--color-accent-soft:oklch(95% 0.028 255);--color-accent-ink:oklch(98.5% 0.004 250);--color-success:oklch(43% 0.125 154);--color-success-soft:oklch(95% 0.035 154);--color-warning:oklch(44% 0.115 76);--color-warning-soft:oklch(96% 0.04 83);--color-danger:oklch(47% 0.17 28);--color-danger-soft:oklch(96% 0.035 25);--color-info:oklch(45% 0.12 225);--color-info-soft:oklch(95% 0.032 225);--color-plum:oklch(48% 0.13 315);--color-plum-soft:oklch(95% 0.028 315);--color-coral:oklch(59% 0.15 32);--color-gold:oklch(66% 0.13 80);--color-focus:oklch(61% 0.185 256);--color-overlay:oklch(18% 0.02 258/0.48);--shadow-rail:0 1px 2px oklch(24% 0.02 258/0.05),0 18px 45px oklch(24% 0.02 258/0.07);--shadow-dialog:0 24px 80px oklch(24% 0.02 258/0.18);--font-display:"Leelawadee UI","Noto Sans Thai",Tahoma,sans-serif;--font-body:"Leelawadee UI","Noto Sans Thai",Tahoma,sans-serif;--font-mono:ui-monospace,"Cascadia Mono","SFMono-Regular",Consolas,monospace;--radius-control:6px;--radius-panel:10px;--dur-fast:160ms;--topbar-height:82px;--ease-out:cubic-bezier(0.16,1,0.3,1);--bank-ktb:oklch(54% 0.14 229);--bank-kbank:oklch(45% 0.13 145);--bank-scb:oklch(40% 0.13 303);--bank-bbl:oklch(42% 0.14 258);--bank-bay:oklch(60% 0.15 92);--bank-ttb:oklch(45% 0.17 260);--bank-gsb:oklch(52% 0.19 345);--bank-baac:oklch(45% 0.13 139);--bank-ghb:#f57d23;--bank-lhbank:#6d6e71;--bank-kkp:oklch(52% 0.12 223);--bank-cimb:oklch(48% 0.18 25);--bank-uob:oklch(37% 0.13 260);--bank-tisco:oklch(48% 0.14 256);--bank-trwl:oklch(99% 0.004 90);--bg:var(--color-paper);--surface:var(--color-surface);--surface2:var(--color-paper-2);--text:var(--color-ink);--muted:var(--color-muted);--line:var(--color-rule);--cyan:var(--color-accent);--cyan2:var(--color-accent);--green:var(--color-success);--amber:var(--color-warning);--red:var(--color-danger);--shadow:none}:root[data-theme=dark]{color-scheme:dark;--color-paper:oklch(17.5% 0.018 264);--color-paper-2:oklch(21% 0.022 264);--color-surface:oklch(23% 0.024 264);--color-surface-raised:oklch(25% 0.025 264);--color-ink:oklch(94% 0.012 258);--color-ink-2:oklch(83% 0.016 258);--color-muted:oklch(70% 0.022 258);--color-rule:oklch(32% 0.025 262);--color-rule-strong:oklch(43% 0.032 260);--color-accent:oklch(68% 0.15 253);--color-accent-hover:oklch(77% 0.12 247);--color-accent-soft:oklch(29% 0.055 258);--color-accent-ink:oklch(16% 0.025 260);--color-success:oklch(73% 0.14 154);--color-success-soft:oklch(26% 0.052 154);--color-warning:oklch(78% 0.13 82);--color-warning-soft:oklch(28% 0.052 77);--color-danger:oklch(72% 0.16 28);--color-danger-soft:oklch(27% 0.065 28);--color-info:oklch(73% 0.11 225);--color-info-soft:oklch(27% 0.052 225);--color-plum:oklch(74% 0.12 315);--color-plum-soft:oklch(28% 0.05 315);--color-coral:oklch(72% 0.14 32);--color-gold:oklch(78% 0.12 80);--color-focus:oklch(75% 0.16 250);--color-overlay:oklch(8% 0.015 260/0.7);--shadow-rail:0 18px 50px oklch(6% 0.02 260/0.28);--shadow-dialog:0 28px 90px oklch(6% 0.02 260/0.55)}body,html{overflow-x:clip;background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body)}html{transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}body{min-width:320px}a{color:var(--color-accent)}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-frame{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:var(--color-paper)}.sidebar{position:-webkit-sticky;position:sticky;inset-block-start:0;z-index:30;height:100vh;display:flex;flex-direction:column;background:var(--color-surface-raised);-webkit-border-end:1px solid var(--color-rule);border-inline-end:1px solid var(--color-rule);box-shadow:var(--shadow-rail)}:root:not([data-theme=dark]) .sidebar{background:oklch(98.7% .012 292)}.side-brand{min-height:82px;display:flex;align-items:center;gap:12px;padding:18px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);color:var(--color-ink)}.side-brand>span{display:grid;grid-gap:1px;gap:1px;min-width:0}.side-brand b{font-size:14px;letter-spacing:-.01em}.side-brand small{color:var(--color-muted);font-size:12px}.bot-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid var(--color-accent);border-radius:9px;background:var(--color-accent);color:var(--color-accent-ink)}.mobile-menu-button,.sidebar-backdrop,.sidebar-close{display:none}.sidebar nav{display:grid;grid-gap:3px;gap:3px;padding:14px 10px 20px;overflow-y:auto}.sidebar-section-label{margin:15px 10px 5px;color:var(--color-muted);font:600 11px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.sidebar-section-label:first-child{margin-top:3px}.sidebar nav a{min-height:42px;display:flex;align-items:center;gap:11px;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius-control);color:var(--color-ink-2);text-decoration:none;font-size:13px;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.sidebar nav a:hover{background:var(--color-paper-2);color:var(--color-ink)}.sidebar nav a.active{background:var(--color-accent-soft);border-color:var(--color-rule);color:var(--color-accent-hover);font-weight:650}.sidebar nav a.active .icon{stroke-width:2}.sidebar nav small{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--color-muted);font:500 10px/1 var(--font-mono);letter-spacing:.04em}.sidebar footer{-webkit-margin-before:auto;margin-block-start:auto;padding:16px 18px 20px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule);color:var(--color-ink-2);font-size:12px;line-height:1.7}.sidebar footer small{color:var(--color-muted)}.status-dot{display:inline-block;width:7px;height:7px;-webkit-margin-end:7px;margin-inline-end:7px;border-radius:50%;background:var(--color-success)}.workspace{min-width:0}.topbar{position:-webkit-sticky;position:sticky;inset-block-start:0;z-index:20;min-height:82px;display:flex;align-items:center;gap:16px;padding:13px 24px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);background:color-mix(in oklch,var(--color-paper) 92%,var(--color-plum-soft));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-title{display:grid;grid-gap:2px;gap:2px;min-width:0}.topbar h1{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:19px;font-weight:650;letter-spacing:-.02em;overflow-wrap:anywhere}.eyebrow{color:var(--color-muted);font:600 11px/1.3 var(--font-mono);letter-spacing:.08em}.sandbox-chip{-webkit-margin-start:auto;margin-inline-start:auto;min-height:30px;display:inline-flex;align-items:center;padding:5px 10px;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink-2);font-size:11px;white-space:nowrap}.sandbox-chip .status-dot{width:6px;height:6px}.account{display:flex;align-items:center;gap:9px;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-border-start:1px solid var(--color-rule);border-inline-start:1px solid var(--color-rule);color:var(--color-ink-2);text-decoration:none;white-space:nowrap}.account>span:last-child{display:grid;line-height:1.25}.account b{color:var(--color-ink);font-size:12px}.account small{color:var(--color-muted);font-size:11px}.avatar{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--color-rule-strong);border-radius:50%;background:var(--color-surface-raised);color:var(--color-accent);font-weight:700}.mobile-brand{display:none}.theme-toggle{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px 11px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-ink-2);font:600 12px/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.theme-toggle:hover{border-color:var(--color-plum);color:var(--color-plum);background:var(--color-plum-soft)}.theme-toggle--compact{width:40px;padding-inline:0}.theme-toggle__icon{font-size:18px;line-height:1;transform:translateY(-1px)}.workspace>main{width:min(100%,1560px);margin-inline:auto;padding:26px 28px 64px}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;-webkit-margin-after:22px;margin-block-end:22px;-webkit-padding-after:18px;padding-block-end:18px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule)}.page-intro h2{margin:0 0 5px;color:var(--color-ink);font:650 22px/1.25 var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere}.page-intro p{max-width:72ch;margin:0;color:var(--color-muted);line-height:1.65}.page-actions{display:flex;align-items:center;gap:8px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-ink);text-decoration:none;font-weight:600;font-size:13px;line-height:1.1;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button.primary:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover);color:var(--color-accent-ink)}.button.danger{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.button:disabled{opacity:.48;cursor:not-allowed}.panel{border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-surface-raised);box-shadow:none}.detail-panel{padding:22px}.detail-panel>h3:first-child,.section-title{margin:0 0 15px;color:var(--color-ink);font-size:15px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;-webkit-margin-after:20px;margin-block-end:20px}.stat{min-width:0;padding:17px}.stat:nth-child(4n+1){-webkit-border-before:3px solid var(--color-accent);border-block-start:3px solid var(--color-accent)}.stat:nth-child(4n+2){-webkit-border-before:3px solid var(--color-plum);border-block-start:3px solid var(--color-plum)}.stat:nth-child(4n+3){-webkit-border-before:3px solid var(--color-gold);border-block-start:3px solid var(--color-gold)}.stat:nth-child(4n+4){-webkit-border-before:3px solid var(--color-success);border-block-start:3px solid var(--color-success)}.stat-head{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:13px}.stat strong{display:block;margin-block:16px 11px;color:var(--color-ink);font:650 28px/1 var(--font-display);text-align:start;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat small{display:block;-webkit-padding-before:10px;padding-block-start:10px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule);color:var(--color-muted)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:18px;gap:18px}.stack{display:grid;grid-gap:14px;gap:14px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;-webkit-margin-after:16px;margin-block-end:16px;padding:10px;border:1px solid var(--color-rule);background:var(--color-paper-2)}.panel>.filters{margin:0;padding:12px 14px;border:0;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);border-radius:0}.panel>.filters:first-child{border-start-start-radius:var(--radius-panel);border-start-end-radius:var(--radius-panel)}.panel>.filters:has(+.filters){-webkit-border-after:0;border-block-end:0}.panel>.filters+.filters{-webkit-padding-before:0;padding-block-start:0}fieldset:not([class]){min-width:0;margin:0;padding:0;border:0}.field{display:grid;grid-gap:6px;gap:6px;min-width:0}.field label{color:var(--color-ink-2);font-size:12px;font-weight:600}.input,.select{min-width:170px;min-height:44px;padding:8px 11px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-ink);outline:none}.input:hover,.select:hover{border-color:var(--color-accent)}.input:focus,.select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-accent-soft)}.select option{background:var(--color-surface-raised);color:var(--color-ink)}input[type=date]{color-scheme:light}:root[data-theme=dark] input[type=date]{color-scheme:dark}.form-help{color:var(--color-muted);font-size:12px;line-height:1.6}.form-panel{max-width:760px;padding:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:15px;gap:15px}.form-grid .full{grid-column:1/-1}.table-wrap{max-width:100%;overflow-x:auto}.data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.data-table td,.data-table th{padding:13px 14px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);-webkit-border-end:0;border-inline-end:0;text-align:start;vertical-align:middle}.data-table th{position:-webkit-sticky;position:sticky;inset-block-start:0;z-index:10;background:var(--color-paper-2);color:var(--color-muted);font:650 12px/1.3 var(--font-body);letter-spacing:.02em;white-space:nowrap}.data-table td{color:var(--color-ink-2);font-size:13px}.data-table tbody tr:last-child td{-webkit-border-after:0;border-block-end:0}.data-table tbody tr:hover td{background:var(--color-accent-soft)}.data-table .button{min-height:34px;padding:6px 10px}.data-table td.amount-cell,.data-table td.number-cell,.data-table th.amount-cell,.data-table th.number-cell,.number-cell{text-align:end;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stat-unit{-webkit-margin-start:4px;margin-inline-start:4px;color:var(--color-muted);font-size:.55em;font-weight:600;letter-spacing:0}.transaction-id{max-width:190px;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:11px}.table-secondary{display:block;-webkit-margin-before:4px;margin-block-start:4px;color:var(--color-muted);font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper-2);color:var(--color-ink-2);font-size:12px;font-weight:650;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-muted)}.badge.ok{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.badge.ok:before{background:var(--color-success)}.badge.warn{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.badge.warn:before{background:var(--color-warning)}.badge.bad{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.badge.bad:before{background:var(--color-danger)}.badge.info{border-color:var(--color-info);background:var(--color-info-soft);color:var(--color-info)}.badge.info:before{background:var(--color-info)}.bank-identity{display:inline-flex;align-items:center;gap:8px;color:var(--color-ink);font-weight:650;white-space:nowrap}.bank-logo{--bank-bg:var(--color-muted);width:30px;height:30px;flex:0 0 30px;display:inline-grid;place-items:center;overflow:hidden;border:1px solid color-mix(in oklch,var(--bank-bg),var(--color-ink) 12%);border-radius:7px;background:var(--bank-bg);color:var(--color-accent-ink);font:700 9px/1 var(--font-mono)}.bank-logo img{width:76%;height:76%;object-fit:contain}.bank-logo--sm{width:24px;height:24px;flex-basis:24px;border-radius:5px}.bank-logo--lg{width:38px;height:38px;flex-basis:38px;border-radius:9px}.bank-logo--ktb{--bank-bg:var(--bank-ktb)}.bank-logo--kbank{--bank-bg:var(--bank-kbank)}.bank-logo--scb{--bank-bg:var(--bank-scb)}.bank-logo--bbl{--bank-bg:var(--bank-bbl)}.bank-logo--bay{--bank-bg:var(--bank-bay)}.bank-logo--ttb{--bank-bg:var(--bank-ttb)}.bank-logo--gsb{--bank-bg:var(--bank-gsb)}.bank-logo--baac{--bank-bg:var(--bank-baac)}.bank-logo--ghb{--bank-bg:var(--bank-ghb)}.bank-logo--lhbank{--bank-bg:var(--bank-lhbank)}.bank-logo--kkp{--bank-bg:var(--bank-kkp)}.bank-logo--cimb{--bank-bg:var(--bank-cimb)}.bank-logo--uob{--bank-bg:var(--bank-uob)}.bank-logo--tisco{--bank-bg:var(--bank-tisco)}.bank-logo--trwl{--bank-bg:var(--bank-trwl)}.bank-logo--trwl img{width:92%;height:92%}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.profile-card{padding:20px}.profile-card-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;-webkit-margin-after:8px;margin-block-end:8px}.profile-card-heading .bank-identity{grid-row:span 2}.profile-card h3{margin:0;color:var(--color-ink);overflow-wrap:anywhere}.profile-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-block:16px;color:var(--color-muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);grid-gap:16px;gap:16px}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;-webkit-margin-after:18px;margin-block-end:18px}.detail-heading h3{margin:4px 0 0;color:var(--color-ink)}.transaction-amount{margin-block:18px 24px;color:var(--color-ink);font:650 34px/1 var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;margin:0}.detail-list>div{min-width:0;-webkit-padding-before:12px;padding-block-start:12px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule)}.detail-list dt{color:var(--color-muted);font-size:12px}.detail-list dd{margin:5px 0 0;color:var(--color-ink);font-weight:600;overflow-wrap:anywhere}.timeline{-webkit-padding-start:18px;padding-inline-start:18px;-webkit-border-start:1px solid var(--color-rule-strong);border-inline-start:1px solid var(--color-rule-strong)}.timeline>div{position:relative;-webkit-margin-after:18px;margin-block-end:18px}.timeline>div:before{content:"";position:absolute;inset-inline-start:-23px;inset-block-start:5px;width:9px;height:9px;border:2px solid var(--color-surface-raised);border-radius:50%;background:var(--color-accent)}.callout,.empty-notice,.owner-banner,.source-banner,.synthetic-note{padding:11px 13px;border:1px solid var(--color-info);border-radius:var(--radius-control);background:var(--color-info-soft);color:var(--color-ink-2);line-height:1.6}.empty-notice,.owner-banner{display:flex;align-items:center;gap:8px;-webkit-margin-after:16px;margin-block-end:16px}.callout,.source-banner.warning{border-color:var(--color-warning);background:var(--color-warning-soft)}.source-banner{display:grid;grid-gap:3px;gap:3px;-webkit-margin-after:14px;margin-block-end:14px}.source-banner span{font-size:12px}.worker-control{-webkit-margin-after:24px;margin-block-end:24px;padding:22px;border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-surface)}.worker-control-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;-webkit-margin-after:18px;margin-block-end:18px;-webkit-padding-after:16px;padding-block-end:16px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule)}.worker-control-heading h2{margin:2px 0 4px;color:var(--color-ink);font-size:18px}.worker-control-heading p{margin:0;color:var(--color-muted)}.worker-control h3{margin:18px 0 2px;color:var(--color-ink);font-size:15px}.worker-control h3+p{margin:0 0 12px;color:var(--color-muted);font-size:12px}.worker-control table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-rule);border-radius:var(--radius-control);overflow:hidden}.worker-control th{padding:10px 14px;background:var(--color-paper-2);color:var(--color-muted);font:650 12px/1.3 var(--font-body);white-space:nowrap}.worker-control td,.worker-control th{-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);text-align:start}.worker-control td{padding:11px 14px;color:var(--color-ink-2);font-size:13px;vertical-align:middle}.worker-control tbody tr:last-child td{-webkit-border-after:0;border-block-end:0}.worker-control td b{color:var(--color-ink)}.worker-control td small{color:var(--color-muted);font-size:12px}.worker-actions{display:flex;flex-wrap:wrap;gap:6px}.worker-action{min-width:70px;min-height:46px;display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:6px 10px}.worker-action small{color:var(--color-ink-2);font-size:11px}.deploy-controls{-webkit-margin-before:20px;margin-block-start:20px;padding-block:18px 4px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule)}.deploy-controls h3{-webkit-margin-before:0;margin-block-start:0}.deploy-facts{display:grid;grid-gap:6px;gap:6px;margin:10px 0 14px;color:var(--color-ink-2);font-size:13px}.deploy-facts p{margin:0;overflow-wrap:anywhere}.deploy-actions{display:flex;flex-wrap:wrap;gap:8px}.button--sm{min-height:36px;padding:6px 12px;font-size:12px}.control-dialog-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgb(5 12 20/72%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.control-dialog{width:min(520px,100%);padding:24px;border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-dialog)}.control-dialog .input{width:100%;-webkit-margin-before:6px;margin-block-start:6px}.control-dialog h3{margin-block:0 10px;color:var(--color-ink)}.control-dialog p{color:var(--color-ink-2);line-height:1.6}.control-dialog label{display:grid;grid-gap:6px;gap:6px;-webkit-margin-before:14px;margin-block-start:14px;color:var(--color-ink-2);font-size:13px;font-weight:600}.control-dialog .select{width:100%;min-width:0;-webkit-margin-before:6px;margin-block-start:6px}.deploy-dialog{max-height:90vh;overflow-y:auto}.control-dialog-actions{display:flex;gap:10px;-webkit-margin-before:20px;margin-block-start:20px}@media (max-width:720px){.worker-control-heading{display:grid}.worker-control-heading .button{width:100%}.worker-actions{min-width:296px}.worker-action{flex:1 1}.control-dialog-actions{display:grid}}.error-message{color:var(--color-danger)}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.security-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:15px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule)}.security-row>div:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.security-row b{color:var(--color-ink)}.session-list .security-row:first-child{-webkit-border-before:0;border-block-start:0;-webkit-padding-before:4px;padding-block-start:4px}.session-list .security-row b{color:var(--color-ink-2);font:500 12px/1.55 var(--font-mono);overflow-wrap:anywhere}.detail-panel details{padding-block:4px 12px}.detail-panel details>summary{padding-block:6px;color:var(--color-accent);cursor:pointer;font-size:13px;font-weight:600}.detail-panel details[open]>summary{-webkit-margin-after:12px;margin-block-end:12px}.mfa-status{display:grid;justify-items:end;grid-gap:8px;gap:8px}.detail-panel>p:has(>a:only-child){margin:0}.detail-panel>p>a:only-child{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:13px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule);color:var(--color-accent);font-weight:600;text-decoration:none}.detail-panel>p>a:only-child:after{content:"\2192";color:var(--color-muted);transition:transform .12s ease}.detail-panel>p>a:only-child:hover:after{transform:translateX(3px);color:var(--color-accent)}.detail-panel>p:has(>a:only-child)+.form-help{-webkit-margin-before:10px;margin-block-start:10px}@media (prefers-reduced-motion:reduce){.detail-panel>p>a:only-child:after{transition:none}}.mfa-switch{display:inline-flex;align-items:center;gap:6px;color:var(--color-ink-2);font-size:13px}.backup-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}.backup-codes code{padding:8px;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2);text-align:center}.scope-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.scope-options label{padding:9px 10px;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-paper-2)}.scope-options small{color:var(--color-muted)}.auth-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(circle at 12% 8%,var(--color-plum-soft),transparent 34%),radial-gradient(circle at 88% 92%,var(--color-warning-soft),transparent 30%),var(--color-paper-2)}.auth-theme{position:absolute;inset-block-start:20px;inset-inline-end:20px}.auth-wrap{width:min(440px,100%)}.auth-brand{display:grid;justify-items:center;-webkit-margin-after:22px;margin-block-end:22px;text-align:center}.auth-brand h1{margin:12px 0 4px;color:var(--color-ink);font-size:22px}.auth-brand p{margin:0;color:var(--color-muted)}.auth-card{padding:26px;box-shadow:var(--shadow-rail);-webkit-border-before:3px solid var(--color-plum);border-block-start:3px solid var(--color-plum)}.auth-card h2{-webkit-margin-before:0;margin-block-start:0;color:var(--color-ink)}.auth-card form{display:grid;grid-gap:15px;gap:15px}.auth-card .input{width:100%}.password-input-wrap{position:relative}.password-input{-webkit-padding-end:48px;padding-inline-end:48px}.password-toggle{position:absolute;inset-inline-end:5px;inset-block-start:50%;display:grid;width:36px;height:36px;padding:0;transform:translateY(-50%);place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-muted);cursor:pointer}.password-toggle:hover{color:var(--color-accent);background:var(--color-accent-soft)}.password-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.auth-links{display:flex;justify-content:space-between;gap:16px;-webkit-margin-before:18px;margin-block-start:18px}.activity{padding:16px}.activity-list{display:grid}.activity-item{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px;padding-block:13px;-webkit-border-before:1px solid var(--color-rule);border-block-start:1px solid var(--color-rule)}.activity-item p{margin:0}.activity-item small{color:var(--color-muted)}.progress{height:5px;overflow:hidden;border-radius:5px;background:var(--color-rule)}.progress span{display:block;height:100%;background:var(--color-success)}.rotation{display:flex;align-items:center;gap:12px;overflow-x:auto}.rotation-node{min-width:155px;padding:14px;border:1px solid var(--color-rule);border-radius:var(--radius-control)}.rotation-node:first-child{border-color:var(--color-accent)}.rotation-arrow{color:var(--color-muted);font-size:22px}.crs-settings-form{display:grid;grid-gap:16px;gap:16px;max-width:820px;-webkit-margin-after:28px;margin-block-end:28px}.crs-settings-form label{display:grid;grid-gap:6px;gap:6px;min-width:0}.crs-settings-form .input,.crs-settings-form .select{width:100%;min-width:0}.crs-settings-form>label{display:flex;align-items:center}.crs-settings-audit{padding-block:12px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);overflow-wrap:anywhere}.crs-settings-audit pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.crs-settings{min-width:0}.crs-settings table{width:100%;min-width:660px;border-collapse:collapse;text-align:start}.crs-settings td,.crs-settings th{padding:12px 10px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);vertical-align:top}.crs-settings th{white-space:nowrap}.crs-settings table .select{min-width:170px;max-width:260px}.intake-mode-options{display:flex;gap:8px}.intake-switches{max-width:1200px}@media (max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.detail-layout,.profile-grid{grid-template-columns:1fr}}@media (max-width:900px){.app-frame{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,88vw);transform:translateX(-105%);transition:transform .2s var(--ease-out)}.sidebar.is-open{transform:translateX(0)}.sidebar-close{width:38px;height:38px;-webkit-margin-start:auto;margin-inline-start:auto;display:grid;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font-size:22px}.sidebar-backdrop{position:fixed;inset:0;z-index:25;display:block;border:0;background:var(--color-overlay)}.mobile-menu-button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-ink);white-space:nowrap}.topbar{padding-inline:16px}.topbar .sandbox-chip{display:none}.workspace>main{padding-inline:18px}}@media (max-width:700px){:root{--topbar-height:70px}.topbar{min-height:70px;gap:9px}.account>span:last-child,.mobile-menu-button span,.topbar-title .eyebrow{display:none}.mobile-menu-button{width:40px;padding:7px;justify-content:center}.topbar-title{flex:1 1}.topbar h1{font-size:15px}.account{-webkit-padding-start:0;padding-inline-start:0;border:0}.logout-button{min-height:38px;padding-inline:9px;font-size:11px}.workspace>main{padding:20px 13px 48px}.page-intro{display:grid;grid-gap:14px;gap:14px}.page-actions{width:100%;flex-wrap:wrap}.page-actions .button{flex:1 1}.filters{display:grid;grid-template-columns:minmax(0,1fr)}.filters .button,.filters .input,.filters .select{width:100%;min-width:0}.detail-list,.form-grid,.stats,.two-column{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.security-row{align-items:stretch;flex-direction:column}.transaction-amount{font-size:28px}.transaction-ledger{overflow:visible;border:0;background:transparent}.transaction-ledger .data-table,.transaction-ledger tbody,.transaction-ledger td,.transaction-ledger tr{display:block;width:100%;min-width:0}.transaction-ledger thead{display:none}.transaction-ledger tbody{display:grid;grid-gap:10px;gap:10px}.transaction-ledger tr{overflow:hidden;border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-surface-raised)}.transaction-ledger td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);grid-gap:10px;gap:10px;padding:10px 12px;-webkit-border-after:1px solid var(--color-rule);border-block-end:1px solid var(--color-rule);-webkit-border-end:0;border-inline-end:0;overflow-wrap:anywhere}.transaction-ledger td:before{content:attr(data-label);color:var(--color-muted);font-size:11px;font-weight:650}.transaction-ledger td:last-child{-webkit-border-after:0;border-block-end:0}.transaction-ledger td:last-child .button{width:100%}.transaction-ledger .data-table td.number-cell{text-align:start}.transaction-ledger .badge{justify-self:start}}@media (max-width:420px){.topbar .account{display:none}.topbar>.logout-button{width:38px;min-width:38px;padding:0;font-size:0}.topbar>.logout-button:after{content:"ออก";font-size:11px}.backup-codes,.scope-options,.stats{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portal-copy-button{-webkit-margin-start:.55rem;margin-inline-start:.55rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface-2);color:var(--text);padding:.3rem .55rem;font:inherit;font-size:.78rem;cursor:pointer}.portal-copy-button:hover{border-color:var(--accent);color:var(--accent)}.portal-status-badge.failed{background:color-mix(in srgb,#dc2626 14%,var(--surface));color:#b91c1c;border-color:color-mix(in srgb,#dc2626 30%,var(--border))}[data-theme=dark] .portal-status-badge.failed{color:#fca5a5}