/* XUORA light console: cool-white surfaces with the supplied blue/violet brand. */
:root{color-scheme:light;--bg:#f5f7fc;--panel:#ffffff;--panel2:#f0f3f9;--line:#dce3ee;--text:#18253b;--muted:#5b6980;--accent:#4e46d9;--danger:#b42337;--amber:#925f08;--success:#156b42;--focus:#4e46d91f;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:16px}

/* Commercial console: dense summaries, lazy media only inside task details. */
.activity-filter{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;align-items:end;margin:20px 0}
.activity-filter label{margin:0}
.activity-filter button{min-height:44px}
.toolbar{flex-wrap:wrap}
.toolbar label{margin-bottom:0;min-width:160px}
.detail-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.detail-section h3{margin:10px 0}
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.media-grid figure{margin:0;min-width:0}
.media-grid img,.media-grid video{width:100%;max-height:420px;object-fit:contain;background:#f0f3f9;border-radius:8px}
.media-grid figcaption{font-size:.9rem;margin-top:8px;color:var(--accent)}
.prompt-text{white-space:pre-wrap;max-height:220px;overflow:auto}
.detail-section .kv b{max-width:68%;text-align:right}
dialog{max-width:min(900px,calc(100vw - 32px))}
.activity-filter+ .table-wrap{max-width:100%}
@media(max-width:720px){.activity-filter{grid-template-columns:1fr 1fr}
.media-grid{grid-template-columns:1fr}
.activity-filter label:first-child{grid-column:1 / -1}
}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{opacity:.5;cursor:wait}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--focus)}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.3}
h1{font-size:1.8rem;font-weight:600;letter-spacing:-.03em}
h2{font-size:1.3rem;font-weight:600}
h3{font-size:1rem}
p+p{margin-top:12px}
small,.muted{color:var(--muted)}
code,.mono{font-family:Consolas,monospace;overflow-wrap:anywhere}
button{border:1px solid var(--line);border-radius:8px;padding:9px 15px;color:var(--text);background:var(--panel2);font-size:.9rem}
button:hover{border-color:#a7afe9}
.primary{background:var(--accent);border-color:var(--accent);color:#ffffff;font-weight:650}
.primary:hover{background:#4038bd;border-color:#4038bd}
.secondary{background:transparent}
.danger{color:var(--danger)}
.text-button{padding:5px 0;background:none;border:0;color:var(--muted)}
.text-button:hover{color:var(--text)}
.full{width:100%;display:flex;justify-content:space-between}
.eyebrow{color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}
.dot{color:var(--accent);margin:0 8px}
.startup{background:#ffffff;min-height:100vh;display:grid;align-content:center;justify-items:center;gap:20px}
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-intro{background:#ffffff;padding:54px clamp(30px,5vw,90px);display:flex;flex-direction:column;justify-content:space-between;gap:50px;border-right:1px solid var(--line)}
.auth-intro h1{font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.25;margin:20px 0 24px}
.intro-copy{max-width:480px;color:var(--muted)}
.auth-notes{margin-top:44px}
.auth-notes p{font-size:.9rem}
.auth-notes span{color:var(--accent);font-family:Consolas,monospace;margin-right:18px}
.auth-main{display:grid;align-items:center;padding:50px 28px;background:linear-gradient(145deg,#f7f9fe,#eef1fc)}
.auth-card{width:100%;max-width:460px;margin:auto;padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 44px #2639630d}
.segmented{display:flex;background:#edf1f8;border:1px solid var(--line);padding:4px;border-radius:9px;margin-bottom:32px}
.segmented button{width:50%;border:0;background:none}
.segmented .selected{background:var(--panel);color:var(--accent);box-shadow:0 2px 6px #2639630d}
.auth-card h2{font-size:1.6rem;margin-bottom:8px}
.auth-card form{margin-top:27px}
.email-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.email-code-row label{margin-bottom:0}.email-code-row button{min-height:44px;margin-bottom:0;white-space:nowrap}
label{display:block;font-size:.9rem;margin-bottom:17px;color:#34435b}
input:not([type=checkbox]),textarea,select{display:block;background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:var(--text);width:100%;margin-top:6px;min-height:44px}
input::placeholder,textarea::placeholder{color:#66758b}
textarea{resize:vertical;min-height:94px}
input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;margin:0 8px 0 0;vertical-align:middle}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:.88rem;color:var(--muted)}
.fine-print{font-size:.8rem;color:var(--muted);margin-top:35px}
.notice{padding:16px 18px;border:1px solid #e7cf9e;background:#fff8e9;border-radius:9px;color:#865609;font-size:.9rem;margin:20px 0;overflow-wrap:anywhere}
.notice.error{border-color:#f0c2ca;background:#fff1f3;color:#b42337}
.error-text{font-size:.88rem;color:var(--danger);margin:12px 0}
.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
.sidebar{padding:31px 22px;background:#ffffff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.sidebar .brand{margin:0 0 34px 8px}
.nav-label{font-size:.75rem;letter-spacing:.08em;color:#637188;margin:0 13px 14px}
.sidebar nav{display:grid;gap:5px}
.nav-link{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:8px;color:var(--muted);font-size:.9rem}
.nav-link:hover{background:#f4f6fb}
.nav-link.active{background:#edf0ff;color:#4038bd;font-weight:650;box-shadow:inset 3px 0 0 var(--accent)}
.nav-icon{width:21px;text-align:center;font-family:Consolas,monospace;color:inherit;font-size:1.1rem}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:22px 12px 0}
.sidebar-bottom a{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);padding:6px 0}
.sidebar-bottom p{font-size:.75rem;color:#637188;margin-top:22px}
.main{padding:0 clamp(20px,3vw,48px);min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:29px 0;border-bottom:1px solid var(--line);margin-bottom:31px}
.topbar-actions{display:flex;align-items:center;gap:20px}
.identity{display:flex;align-items:center;gap:9px;font-size:.88rem}
.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edeaff;color:var(--accent);font-weight:600}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}
.metric{padding:23px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.metric p{font-size:.86rem;color:var(--muted)}
.metric strong{display:block;font-size:2rem;font-weight:500;line-height:1.6;letter-spacing:-.04em}
.metric small{display:block;font-size:.78rem}
.metric.highlight{border-color:#c7c9f4;background:#f0f1ff}
.metric.highlight strong{color:var(--accent)}
.panel{box-shadow:0 3px 16px #26396304;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:24px}
.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}
.panel-head p{color:var(--muted);font-size:.88rem;margin-top:6px}
.split{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}
.flow{display:grid;gap:22px}
.flow-item{display:flex;gap:15px;align-items:flex-start}
.step{flex-shrink:0;display:grid;place-items:center;width:31px;height:31px;background:#efedff;color:var(--accent);border-radius:50%;font-size:.85rem}
.flow-item p{font-size:.86rem;color:var(--muted);margin-top:4px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag,.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:5px;background:#edf1f7;color:#526079;font-size:.78rem;white-space:nowrap}
.badge.active,.badge.approved,.badge.succeeded{background:#e7f7ee;color:#156b42}
.badge.pending,.badge.queued,.badge.retry_wait{background:#fff4d9;color:#865c0b}
.badge.disabled,.badge.rejected,.badge.failed{background:#fdecef;color:#b42337}
.badge.running{background:#e8f2ff;color:#245aad}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}
.row-actions button{font-size:.8rem;padding:5px 9px}
.table-wrap{overflow:auto;width:100%}
table{border-collapse:collapse;width:100%;font-size:.88rem;white-space:nowrap}
th{color:var(--muted);font-weight:600;font-size:.875rem;text-align:left;padding:11px 13px;background:#f6f8fc}
td{padding:16px 13px;border-bottom:1px solid var(--line);vertical-align:middle}
td small{display:block;font-size:.77rem;margin-top:4px}
td .tags{max-width:250px;white-space:normal}
td.wrap{white-space:normal;min-width:150px;max-width:380px;overflow-wrap:anywhere}
td small.wrap{white-space:normal;max-width:280px;overflow-wrap:anywhere;word-break:break-word}
td:last-child{white-space:nowrap;min-width:112px}
th:last-child,td:last-child{position:sticky;right:0;background:var(--panel);box-shadow:-4px 0 8px rgba(24,37,59,.06)}
.empty{padding:44px 20px;text-align:center;color:var(--muted)}
.empty .empty-symbol{font-size:2rem;color:#7a78ae;margin-bottom:12px}
.empty p{font-size:.9rem;margin:9px 0 20px}
.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.toolbar input,.toolbar select{margin:0;max-width:250px;font-size:.9rem;min-height:39px;padding:8px 12px}
.pager{display:flex;align-items:center;justify-content:flex-end;gap:13px;color:var(--muted);font-size:.85rem;padding-top:20px}
.settings{max-width:560px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.service-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 22px}
.service-options label{margin:0;padding:9px 10px;background:#f7f9fd;border:1px solid var(--line);border-radius:7px;font-size:.86rem}
.section-label{color:var(--muted);font-size:.86rem;margin-bottom:8px}
.kv{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.kv span{color:var(--muted)}
footer{padding:30px 0;font-size:.78rem;color:#637188;display:flex;justify-content:space-between;gap:20px}
dialog{padding:26px;background:var(--panel);color:var(--text);border:1px solid #d4dcea;border-radius:14px;max-width:min(900px,calc(100vw - 32px));width:100%;max-height:88vh;overflow:auto;box-shadow:0 25px 100px #26396326}
dialog::backdrop{background:#1a28484d;backdrop-filter:blur(4px)}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}
.icon-button{padding:0;width:32px;height:32px;font-size:24px;line-height:1;background:none}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.secret{font-size:.95rem;font-family:Consolas,monospace;min-height:104px;color:var(--accent);word-break:break-all}
.toasts{position:fixed;right:24px;bottom:22px;z-index:20;display:grid;gap:10px}
.toast{padding:12px 18px;border:1px solid #cbd2ee;background:#ffffff;border-radius:9px;max-width:440px;font-size:.9rem;box-shadow:0 8px 30px #2639631a}
.loading{padding:70px;text-align:center;color:var(--muted)}
.search-form{display:flex;gap:8px}
.balance-positive{color:var(--accent)}
.balance-negative{color:var(--amber)}

@media(min-width:1600px){.main{max-width:1450px;width:100%;margin:auto}
}

@media(max-width:1100px){.workspace{grid-template-columns:195px minmax(0,1fr)}
.sidebar{padding:28px 15px}
.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.split{grid-template-columns:1fr}
.topbar-actions{gap:12px}
.identity #identityName{display:none}
.auth-intro{padding:40px}
.main{padding:0 24px}
}

@media(max-width:720px){.workspace{display:block}
.sidebar{position:static;width:100%;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}
.sidebar .brand{margin:0 0 18px}
.sidebar nav{display:flex;overflow:auto;gap:7px}
.nav-link{white-space:nowrap;padding:8px 12px}
.nav-label,.sidebar-bottom{display:none}
.main{padding:0 16px}
.topbar{padding:20px 0;margin-bottom:22px;align-items:flex-start}
.topbar h1{font-size:1.4rem}
.topbar-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}
.identity{display:none}
.metrics{gap:10px}
.metric{padding:16px}
.metric strong{font-size:1.7rem}
.panel{padding:18px}
.panel-head{align-items:flex-start}
.form-grid{grid-template-columns:1fr}
.auth-layout{display:block}
.auth-intro{padding:25px;gap:22px;border-right:0}
.auth-intro>div,.auth-intro>p{display:none}
.auth-main{padding:26px 16px;min-height:calc(100vh - 100px)}
.auth-card{max-width:430px;padding:25px 22px;border-radius:16px}
footer span{display:none}
.service-options{grid-template-columns:1fr}
.toasts{left:16px;right:16px}
.toast{max-width:100%}
.toolbar{align-items:stretch}
.search-form{width:100%}
}


/* Interaction and data states stay legible on light surfaces. */
button{transition:background-color .15s,border-color .15s,box-shadow .15s}

input:not([type=checkbox]):hover,select:hover,textarea:hover{border-color:#b8c4d8}

input:not([type=checkbox]):focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid var(--focus)}

input::selection,textarea::selection{background:#dddfff;color:var(--text)}

tbody tr:hover{background:#f8faff}

.secondary:hover{background:#edf0ff;border-color:#c7c9f4;color:var(--accent)}

.danger:hover{background:#fff1f3;border-color:#f0c2ca}

.auth-links a:hover,.sidebar-bottom a:hover{color:var(--accent)}

.notice a{text-decoration:underline;text-underline-offset:3px}

.badge.review{background:#fff4d9;color:#865c0b}

.badge.settled,.badge.released{background:#e7f7ee;color:#156b42}

.badge.reserved{background:#e8f2ff;color:#245aad}

.balance-positive{color:var(--success)}

.metric{box-shadow:0 3px 16px #26396304}

.media-grid img,.media-grid video{border:1px solid var(--line)}

.activity-filter{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:720px){.activity-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
.activity-filter input,.activity-filter select{min-width:0}
.topbar-actions{gap:8px}
.auth-intro{border-bottom:1px solid var(--line)}
}

@media(prefers-reduced-motion:reduce){button{transition:none}
}


/* User history has no fixed action column. Keep billing from covering errors. */
.customer-activity th:last-child,.customer-activity td:last-child{position:static;box-shadow:none}

/* Recharge forms use the existing portal layout and colors. */
.recharge-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.purchase-code-link{font-weight:600;text-decoration:underline;text-underline-offset:4px}
.recharge-toggle{display:flex;align-items:center;gap:10px}.recharge-toggle input{width:auto}
textarea.recharge-codes{min-height:240px;white-space:pre;overflow:auto}
