:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-muted:#f0f3f6;--border:#d9dee5;--border-strong:#b8c0ca;--text:#171b22;--muted:#687383;--brand:#145a7b;--brand-strong:#0d425d;--brand-soft:#e5f2f7;--ok:#1f7a4c;--ok-soft:#e4f4eb;--warn:#9a5b12;--warn-soft:#fff1d6;--danger:#b33a3a;--danger-soft:#fae7e7;--shadow:0 8px 24px #161e2a14;--radius:8px;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}body{min-width:320px;color:var(--text);background:var(--bg);margin:0;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,Arial,sans-serif}button,input,select,textarea{font:inherit}button{border:1px solid var(--brand);border-radius:var(--radius);color:#fff;background:var(--brand);cursor:pointer;white-space:nowrap;min-height:34px;padding:7px 12px}button:hover{background:var(--brand-strong)}button:disabled{opacity:.56;cursor:not-allowed}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:34px;color:var(--text);background:#fff;padding:7px 9px}textarea{resize:vertical}code,.mono{font-family:var(--mono)}.app-shell{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eef6fa;background:#1d2732;border-right:1px solid #121922;flex-direction:column;gap:18px;min-height:100vh;padding:18px 14px;display:flex}.brand{border-bottom:1px solid #ffffff1f;gap:4px;padding:0 4px 10px;display:grid}.brand span{color:#9fc9d8;font-family:var(--mono);font-size:12px}.brand strong{font-size:18px}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#d9e5ec;text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;padding:9px 10px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff1c}.sidebar-footer{color:#9facba;overflow-wrap:anywhere;gap:6px;margin-top:auto;font-size:12px;display:grid}.main-content{align-content:start;gap:14px;min-width:0;padding:18px 22px 28px;display:grid}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.topbar h1{letter-spacing:0;margin:0 0 3px;font-size:22px}.topbar span,.muted,td small,.metric-card small,.login-panel span,.field-hint{color:var(--muted)}.toolbar,.row-actions,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar select,.toolbar input{width:auto;min-width:150px}.secondary{border-color:var(--border-strong);color:var(--text);background:#fff}.secondary:hover{background:var(--surface-muted)}.danger-button{border-color:var(--danger);color:#fff;background:var(--danger)}.danger-button:hover{background:#8f2f2f}.text-button{min-height:28px;color:var(--brand);background:0 0;border:0;padding:3px 0}.text-button:hover{color:var(--brand-strong);background:0 0}.text-button.danger{color:var(--danger)}.text-link{color:var(--brand);font-weight:600;text-decoration:none}.text-link:hover{color:var(--brand-strong);text-decoration:underline}.flash{border-radius:var(--radius);color:#11465e;background:#e5f4fa;border:1px solid #acd0dd;padding:9px 12px}.flash.error{color:#812525;background:var(--danger-soft);border-color:#e0b2b2}.boundary-note{border-radius:var(--radius);color:var(--warn);background:var(--warn-soft);border:1px solid #e4c27a;margin:0 0 12px;padding:9px 12px;font-size:13px;line-height:1.55}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow)}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 14px;display:flex}.panel-head h2{letter-spacing:0;margin:0;font-size:16px}.panel>:not(.panel-head){padding:14px}.metric-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.metric-grid.small{grid-template-columns:repeat(6,minmax(120px,1fr))}.metric-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:4px;min-height:84px;padding:12px;display:grid}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{overflow-wrap:anywhere;font-size:23px;line-height:1.15}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:9px 10px}th{color:#435061;background:#f8fafc;font-size:12px;font-weight:700}tbody tr:hover{background:#f9fbfd}tbody tr.selected{background:var(--brand-soft)}td strong,td small{display:block}td code{text-overflow:ellipsis;vertical-align:bottom;max-width:260px;display:inline-block;overflow:hidden}.split-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;display:grid}.stack-form,.login-panel{gap:12px;display:grid}.stack-form label,.login-panel label,.form-grid label{color:#3c4653;gap:5px;font-size:13px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.compact-form button{align-self:end}.inline-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pill{border:1px solid var(--border);color:#3c4653;text-overflow:ellipsis;white-space:nowrap;background:#fbfcfe;border-radius:999px;align-items:center;max-width:360px;min-height:26px;padding:3px 10px;font-size:12px;display:inline-flex;overflow:hidden}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.mini-list{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfe;padding:10px}.mini-list h3{margin:0 0 8px;font-size:14px}.mini-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;min-height:30px;display:flex}.mini-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.progress-bar{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;width:100%;min-width:120px;height:8px;overflow:hidden}.progress-bar span{border-radius:inherit;background:var(--brand);height:100%;display:block}.progress-steps{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px;display:grid}.progress-step{border:1px solid var(--border);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:flex}.progress-step.completed{background:var(--ok-soft);border-color:#afd8bf}.progress-step.in-progress,.progress-step.queued,.progress-step.publishing{background:var(--warn-soft);border-color:#edcd95}.progress-step.failed,.progress-step.blocked{background:var(--danger-soft);border-color:#e5b9b9}.upload-progress{align-self:end;gap:6px;display:grid}.modal-backdrop{z-index:50;background:#11182775;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:14px;width:min(520px,100%);padding:18px;display:grid;box-shadow:0 20px 60px #00000038}.confirm-modal h2,.confirm-modal p{margin:0}.confirm-details{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.confirm-details div{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.confirm-details div:first-child{border-top:0}.confirm-details span{color:var(--muted)}.confirm-details strong{text-align:right;overflow-wrap:anywhere;min-width:0}.confirm-actions{justify-content:flex-end}.badge{border:1px solid var(--border);color:#425063;background:var(--surface-muted);white-space:nowrap;border-radius:999px;align-items:center;max-width:150px;min-height:22px;padding:2px 8px;font-size:12px;display:inline-flex}.badge.ok{color:var(--ok);background:var(--ok-soft);border-color:#afd8bf}.badge.warn{color:var(--warn);background:var(--warn-soft);border-color:#edcd95}.badge.danger{color:var(--danger);background:var(--danger-soft);border-color:#e5b9b9}.empty-state,.empty-cell{color:var(--muted)}.empty-cell{text-align:center;height:70px}.login-panel{max-width:420px}.login-panel>div{gap:4px;display:grid}@media (width<=1120px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.metric-grid,.metric-grid.small{grid-template-columns:repeat(2,minmax(150px,1fr))}.split-layout,.three-columns,.form-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{z-index:10;min-height:auto;position:sticky;top:0}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:14px}.topbar,.panel-head{flex-direction:column;align-items:flex-start}.toolbar,.toolbar select,.toolbar input,.toolbar button{width:100%}.metric-grid,.metric-grid.small{grid-template-columns:1fr}}
