@charset "UTF-8";
.upload-drop{display:grid;justify-items:center;gap:14px;padding:40px 24px;border:2px dashed #abc6bc;border-radius:12px;margin-bottom:24px;background:#f5faf7;text-align:center;cursor:pointer}.upload-drop:focus-visible{outline:3px solid rgba(23,107,85,.35);outline-offset:3px}.upload-drop.dragging{border-color:#176b55;background:#e8f3ee}.upload-drop input{max-width:100%}.upload-queue{display:grid;gap:12px;margin-top:18px}.upload-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.upload-row>div:first-child{min-width:0;flex:1}.upload-row strong{overflow-wrap:anywhere}.upload-row progress{width:100%;accent-color:#176b55}.upload-row .button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}button:disabled{cursor:wait;opacity:.55}@media(max-width:650px){.upload-row{align-items:stretch;flex-direction:column}.upload-drop{padding:18px}}
:root{--bg:#f3f6f8;--surface:#fff;--ink:#262b30;--muted:#656d75;--line:#e0e7e9;--accent:#176b55;--accent-light:#e8f3ee;--radius:14px;--shadow:0 3px 18px #203b4d05;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #64ac99;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.4;font-weight:650}h2{font-size:16px;font-weight:650}h3{font-size:14px}p,.muted{color:var(--muted)}small{font-size:12px}.mono,code{font-family:Consolas,monospace;font-variant-numeric:tabular-nums}
.icon{width:18px;height:18px;flex:none;vertical-align:middle;opacity:.7}.button:not(.button-secondary) .icon{filter:invert(1);opacity:1}.skip-link{position:fixed;left:12px;top:-100px;padding:10px;background:#fff;z-index:20}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:28px 18px 22px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:24px;font-weight:700}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--accent);color:#fff;font-size:21px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400}.nav-label{font-size:11px;color:var(--muted);margin:34px 12px 10px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px;color:#52616a;border-radius:8px;font-size:13px;min-height:44px}.sidebar nav a:hover{background:#f3f5f4;text-decoration:none}.sidebar nav a[aria-current=page]{background:var(--accent-light);color:var(--accent);font-weight:600}.sidebar-note{margin-top:auto;border-top:1px solid var(--line);padding:18px 10px 0;font-size:11px;color:var(--muted)}
.workspace{margin-left:232px;min-height:100vh;display:flex;flex-direction:column;min-width:0}.topbar{min-height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 36px;background:#fff}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:#a5abad}.account{display:flex;align-items:center;gap:10px;font-size:12px;min-width:0}.account-name{max-width:200px;overflow-wrap:anywhere}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9edef;color:#536069;flex:none}.text-button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:7px;color:var(--muted);font-size:12px}.text-button:hover{color:var(--accent)}.icon-button{display:inline-grid;place-items:center;min-width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
main{width:100%;max-width:1440px;margin:0 auto;flex:1;padding:32px 36px 48px;min-width:0}.eyebrow{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{margin-top:8px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:13px;font-weight:600;text-align:center;transition:background-color .15s,border-color .15s}.button:hover{background:#125440;text-decoration:none}.button-secondary{background:#fff;border-color:#cbd3d2;color:#414d48}.button-secondary:hover{background:#eef3f0}.button-small{min-height:34px;padding:6px 10px}.full-width{display:flex;width:100%}.notice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:24px;padding:14px 16px;background:#fff8e7;color:#745c20;border:1px solid #ecdfb7;border-left:3px solid #c79c3c;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.notice a{margin-left:auto}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;border:0}.stat{min-width:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat+.stat{border:1px solid var(--line)}.stat-primary{background:#175b49;border-color:#175b49;color:#fff}.stat:nth-child(2){background:#fbf6eb}.stat-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#56645e}.stat-value{font-size:34px;line-height:1.35;font-weight:650;margin:14px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-value small{font-size:17px;margin-right:5px;font-weight:400}.stat-value .unit{font-size:12px;color:var(--muted);margin-left:6px}.stat-foot{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;align-items:start}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:0 0 16px;border-bottom:1px solid var(--line)}.panel-heading a,.panel-heading .muted{font-size:12px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:55px 20px}.empty-state h3{margin:14px 0 7px;font-weight:550}.empty-state p{max-width:390px;margin-bottom:18px;font-size:12px}.empty-icon{display:grid;place-items:center;width:54px;height:54px;background:#e9edef;border-radius:8px}.empty-icon .icon{width:26px;height:26px;opacity:.5}.account-summary{padding:24px}.account-summary h2{margin-bottom:12px}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px;margin-bottom:24px;align-items:start}.form-panel{padding:24px}.form-panel>h2{margin-bottom:8px}.form-panel>p{font-size:12px}
.form-field{margin:22px 0}label{display:block;margin-bottom:8px;font-size:13px;color:#4e585d}input:not([type=hidden]),select,textarea{width:100%;border:1px solid #cbd2d6;border-radius:6px;padding:10px 12px;color:var(--ink);background:#fff;font-size:14px}input::placeholder{color:#81888e}.errorlist{list-style:none;padding:0;margin:8px 0;color:#ae3939;font-size:13px}.hint{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;color:var(--muted);font-size:12px}.danger{color:#a44242}.compact{padding:40px 20px}.secret-panel{max-width:680px}.secret-key{font-family:Consolas,monospace;resize:vertical;word-break:break-all}.secret-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px}.copy-status{font-size:12px}
.table-wrap{overflow:auto;max-width:100%;margin-top:16px;border-radius:8px;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-weight:600;color:#596a73;font-size:12px;padding:12px 16px;white-space:nowrap;background:#f2f5f6}td{border-bottom:1px solid var(--line);padding:16px;color:#535d63}td strong{display:block;color:var(--ink);font-weight:550;overflow-wrap:anywhere;max-width:300px}td small{display:block;font-size:11px;margin-top:4px;overflow-wrap:anywhere}.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;background:#e8edef;color:#5d676d;white-space:nowrap}.badge.ready{color:#206447;background:#e4f2e9}.badge.authorized,.badge.verifying{color:#705819;background:#f8efd6}.badge.failed,.badge.expired{color:#a54642;background:#fae9e7}.inline-form{display:flex;align-items:center;gap:8px}.inline-form label{margin:0;white-space:nowrap}.inline-form select{width:auto;font-size:12px;padding:7px}.pagination{display:flex;justify-content:center;align-items:center;gap:22px;padding:20px 0;font-size:12px}
.balance-strip{display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding:24px;margin-bottom:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-size:13px;color:var(--muted)}.balance-strip strong{display:block;font-size:26px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;margin-top:5px}.balance-strip p{margin-left:auto}.detail-list{margin:20px 0}.detail-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.large-heading{margin-top:25px;font-size:20px}.price-equation{font-size:26px;margin:26px 0 18px;color:var(--accent)}.price-equation small{font-size:12px;color:var(--muted)}.prose{line-height:1.9}.prose code{font-size:12px;overflow-wrap:anywhere}.endpoint-list>div{display:flex;gap:15px;margin:20px 0}.endpoint-list dt{font-size:11px;width:38px;flex:none;color:var(--accent)}.endpoint-list dd{margin:0;min-width:0}.endpoint-list small{display:block;color:var(--muted)}footer{padding:18px 36px;font-size:11px;color:var(--muted)}.footer-right{float:right}
.login-body{background:var(--bg)}.login-layout{min-height:100vh;max-width:490px;display:flex;justify-content:center;flex-direction:column;padding:36px 24px;margin:auto}.login-layout .brand{margin-bottom:32px}.login-layout h1{font-size:24px}.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 42px #203b4d08}.login-card .login-help{font-size:12px;margin-top:22px}
@media(max-width:1100px){.dashboard-grid,.content-grid{grid-template-columns:1fr}.stat{padding:20px}.stat-value{font-size:28px}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:18px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:22px}.sidebar .brand small,.nav-label,.sidebar-note{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.sidebar nav a{padding:8px 10px;gap:7px;font-size:12px}.sidebar nav:last-of-type{margin-top:5px}.workspace{margin:0}.topbar{padding:12px 20px;min-height:56px}.breadcrumb{display:none}.account{width:100%}.account form{margin-left:auto}.account-name{max-width:75%}main{padding:26px 20px 40px}.page-heading{align-items:flex-start;flex-wrap:wrap}h1{font-size:24px}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line)}.stat{padding:18px 20px}.stat-value{font-size:30px;margin:10px 0}.panel-heading{flex-wrap:wrap;gap:10px}.balance-strip{gap:25px}.balance-strip p{width:100%}input:not([type=hidden]),textarea{font-size:16px}footer{padding:16px 20px}.footer-right{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.platform-brand{font-size:17px;gap:10px;white-space:nowrap}.platform-brand .brand-mark{flex-shrink:0;width:36px;height:36px}.platform-brand .icon{filter:invert(1);opacity:1}.login-layout .platform-brand{font-size:23px}.field-help{font-size:12px;line-height:1.6;margin-top:8px}.register-layout{max-width:470px}.register-layout .form-field{margin:18px 0}.sidebar .platform-brand{font-size:17px}
.media-prices{margin:24px 0;border-top:1px solid var(--line)}.media-prices>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.media-prices span{font-size:14px}.media-prices span small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.media-prices strong{font-size:28px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.media-prices strong small{font-size:12px;font-weight:400;color:var(--muted)}.pricing-formats{margin-top:16px;font-size:12px;overflow-wrap:anywhere}
.narrow-panel { max-width: 680px; }
.secret-value { overflow-wrap: anywhere; word-break: break-word; }
.record-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 20px 0; border-bottom: 1px solid #dde2e4; }
.record-filters .form-field { flex: 1 1 170px; margin: 0; min-width: 0; }
.record-filters input, .record-filters select { width: 100%; }
.upload-row input[hidden]{display:none}#queue-summary{font-size:12px;margin-top:16px}#upload-notice:not(:empty){margin-top:12px;color:#8f3838;font-size:13px}
@media(max-width:1250px){.keys-grid{grid-template-columns:1fr}}
@media(max-width:760px){.key-list-panel table,.key-list-panel tbody{display:block}.key-list-panel thead{display:none}.key-list-panel tr{display:grid;grid-template-columns:1fr 1fr;padding:16px 0;border-bottom:1px solid var(--line);gap:12px}.key-list-panel td{padding:0;border:0;min-width:0}.key-list-panel td:last-child{grid-column:1/-1}.key-list-panel .key-actions{display:grid;grid-template-columns:1fr 1fr}}
.key-list-panel{min-width:0}.key-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#f4f6f5}.key-tabs a{padding:5px 10px;border-radius:5px;color:var(--muted);font-size:12px}.key-tabs a:hover{text-decoration:none;background:#fff}.key-tabs a.is-active{background:#fff;color:var(--accent);box-shadow:0 1px 2px #00000012;font-weight:600}.key-tabs span{margin-left:3px;font-variant-numeric:tabular-nums}.key-action-heading{min-width:165px}.key-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.key-actions form{margin:0}.button-danger{background:#fff;border-color:#d8b6b6;color:#a44242}.button-danger:hover{background:#fbeeed;border-color:#bd8d8d}.notice.success{background:#e8f4ed;color:#205d42;border-left-color:#4d9b73}.notice.error{background:#fbeeed;color:#8f3838;border-left-color:#bd6b6b}.notice.info{background:#edf4fa;color:#315e7c;border-left-color:#6b9abb}@media(max-width:760px){.key-tabs{width:100%;justify-content:center}.key-tabs a{flex:1;text-align:center}.key-actions{align-items:stretch}.key-actions .button,.key-actions form{width:100%}.key-actions .button{display:flex;width:100%}}

/* Workspace hierarchy and shared interaction states. */
.workspace > main { width: 100%; max-width: 1480px; margin-inline: auto; }
.page-heading > div { min-width: 0; }
.page-heading h1 { margin-bottom: 8px; }
.page-heading p { max-width: 720px; line-height: 1.8; }
.stat-primary .stat-label, .stat-primary .stat-foot, .stat-primary a { color: #eefaf5; }
.stat-primary .icon { filter: invert(1); opacity: 1; }
.stats .stat:nth-child(2) { background: #fffaf0; }
.panel-heading + .hint { margin-top: 16px; }
.panel .record-filters { padding-top: 0; margin-bottom: 20px; }
input[aria-invalid="true"], select[aria-invalid="true"] { border-color: #af4545; background: #fffafa; }
input[type="checkbox"], input[type="radio"] { width: auto; min-height: 0; accent-color: var(--accent); }
.button[aria-disabled="true"] { opacity: .65; cursor: progress; }
.empty-state h2 { margin-block: 14px 8px; }
.empty-state > a { margin-top: 8px; }
.table-wrap:focus-visible { outline: 3px solid #64ac99; outline-offset: 3px; }
tbody tr:hover { background: #f7faf9; }
.sidebar-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#portal-nav { display: flex; flex-direction: column; flex: 1; }
.nav-toggle { display: none; }

/* Upload-specific information and states, shared with the existing queue markup. */
.upload-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.upload-guide { display: grid; gap: 20px; min-width: 0; }
.upload-guide h2 { line-height: 1.6; }
.upload-guide p { font-size: 12px; line-height: 1.8; }
.upload-drop h2 { font-size: 21px; font-weight: 650; }
.upload-drop .empty-icon { width: 64px; height: 64px; border-radius: 18px; background: #e3f0e8; }
.upload-drop .empty-icon .icon { opacity: .8; }
.upload-drop .drop-caption { font-size: 12px; }
.upload-drop .button { min-width: 148px; }
.upload-prices { margin: 18px 0; }
.upload-prices > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.upload-prices dt { font-weight: 600; }
.upload-prices dt small { display: block; color: var(--muted); font-weight: 400; margin-top: 3px; }
.upload-prices dd { margin: 0; color: var(--accent); font-size: 20px; font-weight: 650; white-space: nowrap; }
.upload-prices dd small { font-size: 11px; color: var(--muted); font-weight: 400; }
.guide-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 12px; }
.upload-steps { margin: 18px 0 0; padding-left: 20px; }
.upload-steps li { padding-left: 4px; margin-bottom: 18px; color: var(--accent); }
.upload-steps li:last-child { margin-bottom: 0; }
.upload-steps strong, .upload-steps span { display: block; }
.upload-steps strong { color: var(--ink); font-size: 13px; }
.upload-steps span { font-size: 12px; color: var(--muted); line-height: 1.8; margin-top: 4px; }
.upload-queue > p { padding: 32px 18px; text-align: center; background: #f8fafb; border-radius: 10px; }
.upload-row[data-state="running"] { border-color: #72a991; background: #f6fbf8; }
.upload-row[data-state="ready"] { border-left: 3px solid #3c926c; }
.upload-row[data-state="released"] { border-left: 3px solid #b88b43; }
.upload-status { font-size: 12px; line-height: 1.8; margin-top: 6px; overflow-wrap: anywhere; }
.upload-row progress { height: 7px; margin-top: 12px; }
#upload-notice:not(:empty) { padding: 12px 14px; background: #fff5ee; border: 1px solid #f0d7c6; border-radius: 8px; }
@media (max-width: 1180px) {
  .upload-workspace { grid-template-columns: 1fr; }
  .upload-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .js .nav-toggle { display: inline-flex; min-height: 40px; }
  .js .sidebar:has(.nav-toggle[aria-expanded="false"]) #portal-nav { display: none; }
  .sidebar { padding: 16px; }
  .sidebar nav a { min-height: 44px; }
  .workspace > main { padding: 24px 16px 36px; }
  .panel, .form-panel, .account-summary { padding: 20px; }
  .stats { gap: 12px; }
  .stat + .stat { border: 1px solid var(--line); }
  .stat { padding: 18px 20px; }
  .upload-guide { grid-template-columns: 1fr; }
  .upload-drop { padding: 28px 16px; }
  .upload-row { padding: 14px; }
  .upload-row .button { min-height: 42px; }
  .upload-main .panel-heading { align-items: flex-start; }
  .upload-main .panel-heading .button { max-width: 100%; }
  .login-layout { padding: 24px 16px; }
  .login-card { padding: 24px; }
  .inline-form { flex-wrap: wrap; }
  .balance-strip { padding: 20px; }
}

.upload-drop .drop-pricing { color: var(--ink); font-size: 13px; margin: 16px 0; line-height: 1.8; }
