:root{font-family:Arial,"Microsoft YaHei",sans-serif;color:#262629;background:#fff;font-size:14px;letter-spacing:0}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;background:white;color:inherit;border:1px solid #dedee4;border-radius:5px;cursor:pointer}button:hover{background:#f7f7f8}button:disabled{opacity:.5;cursor:not-allowed}button svg{width:17px;height:17px;flex-shrink:0}input{min-width:0;max-width:100%;border:1px solid #dcdce2;border-radius:4px;padding:10px;background:#fff}input:focus,button:focus-visible{outline:2px solid #d92d39;outline-offset:2px}h1{font-size:23px;margin:0 0 8px}h2{font-size:17px;margin:0}p{line-height:1.6}.environment{padding:9px 20px;background:#fff3d5;color:#7a5310;text-align:center;font-size:12px}.top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #e7e7eb;gap:16px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand strong,.brand small{display:block}.brand small{color:#707078;margin-top:4px}#identity{display:flex;align-items:center;gap:10px;min-width:0}#identity span{overflow-wrap:anywhere;min-width:0}main{max-width:1060px;margin:auto;padding:26px 28px 40px}.muted{color:#707078;font-size:12px}.primary{background:#d92d39;color:white;border-color:#d92d39}.primary:hover{background:#bd202e}.tabs{display:flex;border-bottom:1px solid #e7e7eb;gap:18px;margin:20px 0}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 2px;background:transparent}.tabs button[aria-selected=true]{border-bottom-color:#d92d39;color:#d92d39;font-weight:bold}#auth{max-width:360px;margin:32px auto}.auth-heading p{color:#707078}.auth-heading strong{font-size:20px;color:#262629}form{display:grid;gap:20px}form label{display:grid;gap:9px}#auth-submit{margin-top:4px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading p{margin:0}.metrics{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #e7e7eb}.metrics small{display:block;color:#707078;margin-bottom:10px}.metrics strong{font-size:25px}.metrics strong span{font-size:12px;font-weight:normal;color:#707078}#binding{padding:20px 0;border-bottom:1px solid #e7e7eb;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.binding-text{min-width:0;overflow-wrap:anywhere}.binding-text strong{display:block;margin-bottom:7px}.binding-text small{color:#707078}.binding-actions{display:flex;gap:8px;flex-wrap:wrap}.shop{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid #e7e7eb}.shop strong{display:block;overflow-wrap:anywhere}.shop small{display:block;color:#707078;margin-top:7px;overflow-wrap:anywhere}.status{font-size:12px;color:#935a16}.status.active{color:#147356}.status i{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:6px}.empty{padding:36px 0;text-align:center;color:#707078}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:#f7f7f8;color:#66666e;font-weight:normal}th,td{padding:13px 10px;border-bottom:1px solid #e7e7eb;min-width:100px}td:first-child{max-width:250px;overflow-wrap:anywhere}td small{display:block;color:#707078;margin-top:6px}#notice{padding:12px;background:#f7f7f8;color:#55555d;margin-bottom:18px;overflow-wrap:anywhere}#notice.error{background:#fff0ef;color:#a22d27}dialog{width:470px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #e7e7eb;border-radius:7px;color:#262629}dialog::backdrop{background:#18181b66}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e7e7eb}dialog footer{border:0;border-top:1px solid #e7e7eb;justify-content:flex-end}.checkout-body{padding:20px}.checkout-body p{overflow-wrap:anywhere}.price{font-size:30px;font-weight:bold;margin:18px 0}.warning{background:#fff3d5;color:#7a5310;padding:12px;font-size:12px}.check{display:flex;align-items:center;gap:8px}.check input{width:16px;height:16px}#checkout-error{color:#a22d27;font-size:12px}[hidden]{display:none!important}@media(max-width:600px){.top{padding:12px 16px;height:auto;min-height:70px;align-items:flex-start}.brand{font-size:12px}#identity{font-size:12px;flex-direction:column;align-items:flex-end}.environment{padding:8px 12px}main{padding:22px 16px}.metrics{gap:12px;grid-template-columns:1.5fr 1fr 1fr}.metrics strong{font-size:21px}.metrics strong span{display:block;margin-top:4px}.shop{grid-template-columns:minmax(0,1fr) auto;gap:12px}.shop .validity{grid-column:1;grid-row:2}.shop>button{grid-column:2;grid-row:1/3}.shop small{font-size:11px}#auth{margin:20px auto}.metrics small{font-size:11px}}
:root .shop{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1.2fr) minmax(110px,auto)}
.shop-actions{display:flex;flex-direction:column;gap:8px;min-width:0}
.shop-actions button{white-space:normal;overflow-wrap:anywhere}
.shop-authorization{min-width:0;overflow-wrap:anywhere;font-size:12px}
#credential-error{color:#a22d27;font-size:12px;margin:0}
#credential-form{gap:14px}
#credential-form strong{overflow-wrap:anywhere}
.service-login-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #e7e7eb;color:#66666e;font-size:13px;flex-wrap:wrap}.service-login-status span{min-width:0;overflow-wrap:anywhere}
:root { --motion-ease:cubic-bezier(.4,0,.2,1); --motion-fast:200ms; --motion-dialog:300ms; font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;
  --canvas:#121214; --surface:#1b1b1e; --raised:#242428; --input:#161619; --border:#38383f; --control-border:#62626d;
  --ink:#ededf0; --muted:#b0b0ba; --accent:#d92d39; --accent-text:#ff8992; --accent-soft:#351e24; color-scheme:dark; background:var(--canvas); color:var(--ink);
}
button,input { transition-property:background-color,border-color,color,box-shadow; transition-duration:var(--motion-fast); transition-timing-function:var(--motion-ease); }
button.primary { transition-property:background-color,border-color,box-shadow,transform; }
button.primary:active:not(:disabled) { transform:translateY(1px); box-shadow:none; }
input:hover:not(:disabled) { border-color:#b8b8c1; }
#auth:not([hidden]) { animation:auth-enter 400ms var(--motion-ease); }
#workspace:not([hidden]),#shops-view:not([hidden]),#orders-view:not([hidden]) { animation:surface-enter var(--motion-fast) var(--motion-ease); }
dialog[open] { animation:dialog-enter var(--motion-dialog) var(--motion-ease); }
dialog[open]::backdrop { animation:surface-enter var(--motion-dialog) var(--motion-ease); }
@keyframes surface-enter { from { opacity:0; } to { opacity:1; } }
@keyframes auth-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes dialog-enter { from { opacity:0; transform:translateY(8px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(hover:hover) { button.primary:hover:not(:disabled) { box-shadow:0 3px 9px #d92d3926; } }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after,dialog::backdrop { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  button.primary:active:not(:disabled) { transform:none; }
}
body { background:var(--canvas); color:var(--ink); }
:root button { background:var(--raised); color:var(--ink); border-color:var(--control-border); }
:root button:hover { background:#2d2d32; border-color:#858591; }
:root button.primary { background:var(--accent); color:#fff; border-color:var(--accent); }
:root button.primary:hover { background:#bd202e; border-color:#bd202e; }
:root input { background:var(--input); color:var(--ink); border-color:var(--control-border); }
:root input::placeholder { color:#9d9da8; opacity:1; }
:root input:autofill { box-shadow:0 0 0 1000px var(--input) inset; -webkit-text-fill-color:var(--ink); caret-color:var(--ink); }
:root input:hover { border-color:#858591; }
:root :is(input:focus,button:focus-visible) { outline-color:var(--accent-text); }
:root :is(.top,th,dialog) { background:var(--surface); border-color:var(--border); color:var(--ink); }
:root :is(.brand small,.muted,.auth-heading p,.metrics small,.metrics strong span,.binding-text small,.shop small,.empty,th,td small,.service-login-status) { color:var(--muted); }
:root .auth-heading strong { color:var(--ink); }
:root :is(.tabs,.metrics,#binding,.shop,th,td,dialog header,dialog footer,.service-login-status) { border-color:var(--border); }
:root .tabs button { background:transparent; border-color:transparent; color:var(--muted); }
:root .tabs button[aria-selected=true] { border-bottom-color:var(--accent); color:var(--accent-text); }
:root .brand>svg { color:var(--accent-text); }
:root :is(.environment,.warning) { background:#30281c; color:#e7c288; }
:root #notice { background:var(--raised); color:var(--ink); }
:root #notice.error { background:var(--accent-soft); color:var(--accent-text); }
:root :is(#checkout-error,#credential-error) { color:var(--accent-text); }
:root .status { color:#e7c288; }
:root .status.active { color:#87c9a9; }
:root dialog { box-shadow:0 16px 64px #0009; }
:root dialog::backdrop { background:#050507b3; }
@media(max-width:720px){:root .shop{grid-template-columns:minmax(0,1fr) minmax(110px,auto)}.shop-actions{grid-column:2;grid-row:1/4}.shop-authorization{grid-column:1;grid-row:3}}
.brand>svg{width:28px;height:28px;color:#d92d39;flex-shrink:0}.top{height:60px;background:#fafafa;padding:0 28px}.environment{background:#faf5eb;color:#866326;font-size:11px;padding:7px 20px}.primary{font-weight:500}input{height:40px}input[type=checkbox]{height:16px;accent-color:#d92d39}main{max-width:1000px;padding:28px 32px 36px}.tabs{gap:28px}.shop{padding:24px 0}#auth{max-width:380px;margin:36px auto}.auth-heading h1{font-size:22px}.auth-heading p{font-size:13px;margin-bottom:24px}dialog{box-shadow:0 16px 64px #00000026}.checkout-body{padding:24px}button{border-radius:4px}#auth-submit{min-height:40px}@media(max-width:600px){.top{padding:12px 20px;height:auto}main{padding:24px 20px}#auth{margin:24px auto}.metrics{gap:16px}.shop{padding:20px 0}}
.required{color:#dc2626;font-size:13px;font-weight:700}
#credential-shop-id{overflow-wrap:anywhere}
#credential-form .check{align-items:flex-start;line-height:1.6;font-size:12px}
#credential-form .check input{flex-shrink:0;margin-top:2px}
:is(#shop-currency,#currency-value){width:100%;min-width:0;max-width:100%;height:40px;padding:8px 10px;border:1px solid var(--control-border);border-radius:4px;font:inherit;background:var(--input);color:var(--ink)}
:is(#shop-currency,#currency-value):focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
:is(#shop-currency,#currency-value):disabled{opacity:.6}
.credential-currency-status{display:flex;align-items:center;gap:8px;min-width:0}
.credential-currency-status:has(small:empty):not(:has(button:not([hidden]))){display:none}
.credential-currency-status small{min-width:0;overflow-wrap:anywhere}
:is(#reload-currency,#currency-read-retry){padding:4px;min-width:28px;min-height:28px}
#currency-form{gap:18px}
#currency-shop{overflow-wrap:anywhere}
#currency-error{color:var(--accent-text);font-size:12px;margin:0}
#currency-error:empty{display:none}
.account-rates-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 24px}
.account-rates-heading h2{font-size:17px;margin:0 0 8px}
.account-rates-heading p{font-size:12px;margin:0;overflow-wrap:anywhere}
.account-rates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.account-rate-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,140px);align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:16px 0;min-width:0}
.account-rate-currency{display:flex;flex-direction:column;gap:6px;min-width:0}
.account-rate-currency strong{font-size:14px;font-weight:500}
.account-rate-currency>span{font-size:12px;font-weight:400;color:var(--muted);overflow-wrap:anywhere}
.account-rate-field input{width:100%;min-width:0;font-variant-numeric:tabular-nums;text-align:right}
.account-rates-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0}
#rates-status{font-size:12px;color:var(--muted)}
#rates-status[data-saved=true]{color:#87c9a9}
#rates-error{color:var(--accent-text);font-size:13px;line-height:1.6;margin:16px 0 0}
#rates-submit{flex-shrink:0}
@media(max-width:600px){.account-rates-grid{grid-template-columns:minmax(0,1fr)}.tabs{gap:18px}.tabs button{font-size:13px}.account-rates-footer{position:sticky;bottom:0;background:var(--canvas);border-top:1px solid var(--border);padding:16px 0}}
/* Match the extension's charcoal surfaces and compact form rhythm. */
:root { --canvas:#141518; --raised:#292a31; --border:#34353d; --control-border:#494b56; --input:#23242b; }
:root button { border-radius:6px; border-color:#484850; }
:root .tabs button { border-radius:0; }
:root input,:is(#shop-currency,#currency-value) { border-radius:6px; }
:root :is(#refresh,#identity button,dialog header button) { background:transparent; border-color:transparent; }
:root :is(#refresh,#identity button,dialog header button):hover { background:var(--raised); border-color:var(--border); }
.brand>svg { width:34px; height:34px; padding:6px; background:var(--accent-soft); border-radius:6px; }
.heading h1 { font-size:21px; margin-bottom:6px; }
.metrics { gap:0; margin-top:20px; padding:24px 0 28px; }
.metrics>div { padding:0 24px; border-left:1px solid var(--border); }
.metrics>div:first-child { padding-left:0; border:0; }
:root .metrics small { display:flex; align-items:center; gap:7px; font-size:12px; }
.metrics small svg { width:16px; height:16px; color:var(--muted); flex-shrink:0; }
.metrics strong { font-weight:600; font-variant-numeric:tabular-nums; }
.metrics>div:first-child strong { color:var(--accent-text); }
#binding { padding:24px 0; }
.binding-text { padding-left:14px; border-left:3px solid var(--accent); }
.binding-text strong { font-size:14px; font-weight:500; line-height:1.5; }
:root .shop { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) 152px; gap:24px; }
.shop>div:first-child strong { font-size:14px; line-height:1.6; }
.shop-authorization strong { font-weight:500; }
.shop small { line-height:1.6; }
.shop-actions { display:grid; grid-template-columns:1fr; gap:8px; }
.shop-actions button { font-size:12px; min-height:32px; }
:root .shop-actions button:not(.primary) { border-color:transparent; background:transparent; color:var(--muted); }
:root .shop-actions button:not(.primary):hover { background:var(--raised); color:var(--ink); }
.status { display:inline-flex; align-items:center; padding:5px 8px; border-radius:4px; background:var(--raised); }
.status.active { background:#192820; }
dialog header { background:var(--surface); }
#auth { max-width:360px; margin:32px auto; }
.auth-emblem { display:grid; place-items:center; width:40px; height:40px; border-radius:8px; background:var(--accent-soft); color:var(--accent-text); margin-bottom:20px; }
.auth-emblem svg { width:22px; height:22px; }
.auth-heading h1 { font-size:23px; }
.auth-heading p { margin:10px 0 26px; }
:root .auth-heading strong { color:var(--accent-text); font-size:14px; font-weight:500; }
.tabs:has(#register-tab[hidden]) { display:none; }
.auth-input { position:relative; display:block; }
.auth-input>svg { position:absolute; left:12px; top:14px; width:17px; height:17px; color:var(--muted); pointer-events:none; }
.auth-input>input { width:100%; height:44px; padding-left:40px; }
#auth-form label { color:#c3c3cd; font-size:13px; }
#auth-submit { min-height:42px; margin-top:8px; }
@media(max-width:720px) {
  :root .shop { grid-template-columns:minmax(0,1fr) 128px; gap:12px 20px; }
  .metrics>div { padding:0 12px; }
  .metrics small { gap:5px; }
}
@media(max-width:400px) {
  .metrics small svg { display:none; }
  #auth { margin:20px auto; }
  .auth-emblem { margin-bottom:16px; }
  :root .shop { grid-template-columns:minmax(0,1fr) 112px; gap:12px; }
}
/* The standalone extension and its login use the same light workspace palette. */
:root[data-theme=workspace] {
  --canvas:#fff; --surface:#f6f8f7; --raised:#edf2ef; --input:#fff;
  --border:#e3e9e5; --control-border:#cfdad3; --ink:#28332e; --muted:#748078;
  --accent:#18795c; --accent-text:#176d52; --accent-soft:#e9f3ed;
  color-scheme:light;
}
:root[data-theme=workspace] button { border-color:var(--control-border); }
:root[data-theme=workspace] button:hover { background:#f0f5f2; border-color:#acbfb2; }
:root[data-theme=workspace] button.primary { background:var(--accent); border-color:var(--accent); }
:root[data-theme=workspace] button.primary:hover { background:#126147; border-color:#126147; box-shadow:0 3px 9px #18795c16; }
:root[data-theme=workspace] input:hover { border-color:#acbfb2; }
:root[data-theme=workspace] input::placeholder { color:#97a29b; }
:root[data-theme=workspace] input[type=checkbox] { accent-color:var(--accent); }
:root[data-theme=workspace] :is(input:focus,button:focus-visible) { outline-color:var(--accent); }
:root[data-theme=workspace] #auth-form label { color:#58675e; }
:root[data-theme=workspace] :is(.environment,.warning) { background:#fff7e7; color:#92691e; }
:root[data-theme=workspace] #notice.error { background:#fff2f3; color:#b4474e; }
:root[data-theme=workspace] :is(#checkout-error,#credential-error,#currency-error,#rates-error,.required) { color:#b4474e; }
:root[data-theme=workspace] .status { color:#92691e; }
:root[data-theme=workspace] .status.active { background:#eef7f0; color:#21764e; }
:root[data-theme=workspace] #rates-status[data-saved=true] { color:#21764e; }
:root[data-theme=workspace] dialog { box-shadow:0 16px 60px #20352a30; }
:root[data-theme=workspace] dialog::backdrop { background:#233c3255; }
:root[data-theme=workspace] .tabs button { border-color:transparent; }
:root[data-theme=workspace] .tabs button[aria-selected=true] { border-bottom-color:var(--accent); }
