.admin-page { background:#f5f6f8; color:#171b23; color-scheme:light; }
.admin-page input,.admin-page select { font:inherit; }
.admin-page button { cursor:pointer; }
.studio-sidebar { width:218px; background:#0b0d12; color:#e4e7ef; position:fixed; inset:0 auto 0 0; padding:35px 22px; display:flex; flex-direction:column; z-index:10; }
.studio-brand img { width:126px; height:54px; object-fit:contain; margin:0 12px 38px; }
.studio-label { font-size:9px; letter-spacing:.13em; color:#8b93a3; margin:0 12px 15px; }
.studio-nav { display:flex; flex-direction:column; gap:7px; }
.studio-nav button,.studio-nav a { display:flex; align-items:center; gap:13px; padding:14px 13px; min-height:47px; color:#aab1bf; font-size:13px; text-align:left; border:0; background:transparent; border-radius:4px; }
.studio-nav .studio-nav-active { color:#fff; background:#202631; }
.studio-nav span:first-child { font-size:20px; line-height:1; }
.studio-nav #sidebar-count { margin-left:auto; color:#b3bed2; font-size:11px; }
.studio-nav a:hover { background:#151a23; color:#fff; }
.studio-sidebar-footer { display:flex; gap:12px; align-items:center; border-top:1px solid #262c37; padding:23px 8px 0; margin-top:auto; }
.studio-sidebar-footer strong { font-size:12px; font-weight:500; }
.studio-sidebar-footer p { color:#8d96a6; font-size:10px; margin-top:5px; }
.studio-dot { width:7px; height:7px; background:#638de7; border-radius:50%; }
.studio-main { margin-left:218px; padding:0 46px 70px; max-width:1650px; }
.studio-topbar { min-height:85px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid #e1e4eb; }
.studio-topbar > p { color:#647083; font-size:10px; letter-spacing:.1em; font-weight:600; }
.studio-topbar > p > span { margin-inline:12px; color:#9ba5b4; }
.demo-badge { font-size:9px; font-weight:600; letter-spacing:.08em; color:#4b5b74; border:1px solid #d3dbe7; border-radius:3px; padding:7px 9px; flex-shrink:0; }
.studio-demo-notice { margin:25px 0 37px; display:flex; gap:12px; align-items:center; color:#55677e; font-size:12px; line-height:1.65; }
.studio-demo-notice > span { flex:0 0 18px; height:18px; border:1px solid #8a9ab1; border-radius:50%; text-align:center; font-size:11px; }
.studio-demo-notice strong { font-weight:600; }
.studio-heading { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:34px; }
.studio-eyebrow { font-size:9px; letter-spacing:.15em; color:#67778d; font-weight:600; line-height:1.7; }
.studio-heading h1 { font-size:48px; letter-spacing:-.055em; line-height:1.2; margin:7px 0 12px; font-weight:650; }
.studio-heading h1 > span { color:#003da5; }
.studio-heading h1:focus { outline:none; }
.studio-heading div > p:last-child { font-size:13px; color:#6a7484; line-height:1.65; }
.studio-button { display:inline-flex; justify-content:center; align-items:center; gap:11px; min-height:44px; border-radius:4px; padding:12px 17px; font-size:12px; font-weight:600; line-height:1.5; border:1px solid transparent; }
.studio-button > span[aria-hidden] { font-size:18px; font-weight:400; }
.studio-button.primary { background:#003da5; color:#fff; }
.studio-button.primary:hover { background:#001a70; }
.studio-button.secondary { border-color:#d9dfe7; background:white; color:#334055; }
.studio-button.secondary:hover { background:#f4f6fa; border-color:#a8b5c8; }
.studio-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:28px; }
.studio-summary > div { border:1px solid #dfe3ea; padding:23px 25px; border-radius:5px; background:#fff; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.studio-summary span { font-size:9px; letter-spacing:.06em; color:#6c788c; font-weight:600; line-height:1.6; }
.studio-summary strong { font-size:32px; font-weight:500; letter-spacing:-.055em; }
.studio-list-panel { background:#fff; border:1px solid #e0e4eb; border-radius:6px; overflow:hidden; }
.studio-list-toolbar { display:flex; justify-content:space-between; gap:24px; padding:22px 24px 10px; }
.studio-search { display:flex; align-items:center; gap:10px; border:1px solid #e0e4eb; border-radius:4px; min-height:42px; padding:0 12px; color:#8a94a3; width:min(100%,340px); }
.studio-search input { border:0; min-width:0; width:100%; background:transparent; color:#263044; outline-offset:0; padding:12px 0; font-size:12px; }
.studio-line-filter select { border:1px solid #e0e4eb; background:#fff; border-radius:4px; min-height:42px; padding:9px 28px 9px 12px; color:#506078; font-size:12px; width:100%; }
.studio-state-filters { display:flex; gap:22px; margin:0 24px; border-bottom:1px solid #e7eaf0; }
.studio-state-filters button { border:0; border-bottom:2px solid transparent; color:#6a7588; background:transparent; min-height:48px; padding:12px 0; font-size:12px; font-weight:500; }
.studio-state-filters button[aria-pressed="true"] { border-bottom-color:#003da5; color:#003da5; font-weight:600; }
.studio-table-head,.studio-product-row { display:grid; grid-template-columns:minmax(205px,2.4fr) minmax(100px,1fr) minmax(95px,1fr) minmax(100px,1fr) 70px; column-gap:14px; align-items:center; }
.studio-table-head { padding:20px 24px 12px; font-size:8px; letter-spacing:.06em; color:#788498; font-weight:600; }
.studio-product-list { padding:0; margin:0; list-style:none; }
.studio-product-row { padding:18px 24px; border-top:1px solid #eff1f5; min-height:108px; font-size:12px; }
.studio-product-row:hover { background:#fbfcfe; }
.studio-product-main { display:flex; align-items:center; gap:15px; min-width:0; }
.studio-thumb { width:58px; height:66px; object-fit:contain; flex-shrink:0; background:#fff; }
.studio-model-button { background:none; padding:0; border:0; text-align:left; font-size:14px; font-weight:600; color:#192435; overflow-wrap:anywhere; }
.studio-model-button:hover { color:#003da5; }
.studio-model-meta { color:#7e899a; font-size:10px; margin-top:5px; line-height:1.5; }
.studio-model-spec { color:#5e6c81; font-size:10px; margin-top:4px; line-height:1.5; }
.studio-partner { font-size:11px; font-weight:600; color:#424d60; }
.studio-row-price { font-size:13px; font-weight:600; }
.studio-row-price small { display:block; margin-top:5px; font-size:9px; font-weight:400; color:#7d8898; }
.studio-state-pill { display:inline-block; border-radius:3px; background:#eef3fb; color:#3c5b8c; padding:6px 8px; font-size:10px; white-space:nowrap; }
.studio-state-pill[data-value="draft"] { color:#795c23; background:#fbf5e8; }
.studio-state-pill[data-value="archived"] { color:#697386; background:#f0f1f4; }
.studio-row-actions { display:flex; gap:5px; }
.studio-edit-button,.studio-duplicate-button { padding:0; width:32px; height:36px; display:grid; place-items:center; border:1px solid #e2e7ef; background:white; color:#5d6b81; border-radius:4px; }
.studio-edit-button:hover,.studio-duplicate-button:hover { color:#003da5; border-color:#a4b9dc; }
.studio-list-footer { display:flex; justify-content:space-between; gap:18px; padding:17px 24px; border-top:1px solid #e8ebf1; font-size:10px; color:#7d889b; line-height:1.6; }
.studio-footnote { margin-top:21px; font-size:11px; color:#7a8597; line-height:1.7; }
.studio-empty { text-align:center; padding:50px 20px; }
.studio-empty > span { display:block; font-size:32px; color:#8b9db9; margin-bottom:15px; }
.studio-empty h2 { font-size:18px; font-weight:600; margin-bottom:9px; }
.studio-empty p { font-size:13px; color:#79869b; margin-bottom:22px; }
.studio-back { border:0; background:none; padding:0; min-height:38px; display:flex; align-items:center; gap:10px; color:#556b89; font-size:12px; margin-top:-17px; margin-bottom:20px; }
.studio-back > span { font-size:20px; }
.editor-mode { font-size:9px; letter-spacing:.06em; color:#78869b; }
.editor-heading h1 { font-size:38px; }
.studio-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 304px; gap:28px; align-items:start; }
.studio-form-column { min-width:0; }
.studio-form-section { border:1px solid #e0e4eb; background:white; border-radius:5px; padding:24px; margin-bottom:20px; }
.form-section-title { display:flex; align-items:center; gap:12px; margin-bottom:25px; }
.form-section-title > span { color:#8895a9; font-size:10px; }
.form-section-title h2 { font-size:15px; font-weight:600; letter-spacing:-.015em; }
.studio-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px 18px; }
.studio-fields label,.studio-single-field { display:block; font-size:11px; font-weight:600; color:#515e73; min-width:0; }
.field-wide { grid-column:1 / -1; }
.studio-fields input,.studio-fields select,.studio-single-field input { display:block; width:100%; min-width:0; min-height:43px; border:1px solid #dce2eb; border-radius:3px; background:white; color:#23334a; font-size:13px; padding:10px 11px; margin-top:9px; }
.studio-fields input::placeholder,.studio-single-field input::placeholder { color:#8994a7; font-size:12px; }
.studio-fields input:focus,.studio-fields select:focus,.studio-single-field input:focus { border-color:#3466be; }
.field-help { display:block; font-size:10px; font-weight:400; color:#7e8ba1; line-height:1.7; margin-top:8px; }
.field-optional { font-weight:400; color:#8994a6; }
.studio-image-control { display:flex; gap:20px; align-items:center; margin-bottom:23px; }
.studio-image-control > img { width:95px; height:105px; object-fit:contain; border:1px solid #e2e7ef; border-radius:3px; }
.studio-image-control p { margin-top:10px; font-size:10px; color:#718098; }
.studio-image-control #image-status { display:block; font-size:10px; margin-top:7px; color:#718098; line-height:1.5; }
.image-picker { position:relative; cursor:pointer; overflow:hidden; }
.image-picker input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.image-picker:focus-within { outline:3px solid #6c9fff; outline-offset:3px; }
.studio-form-error { padding:15px 18px; background:#fff0f0; border:1px solid #e7b9bc; color:#943941; font-size:12px; line-height:1.7; border-radius:4px; margin-bottom:20px; }
.studio-form-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.studio-form-actions p { flex-basis:100%; font-size:10px; color:#7d8a9f; text-align:right; margin-top:4px; }
.studio-preview { position:sticky; top:28px; min-width:0; }
.studio-preview-top { display:flex; justify-content:space-between; align-items:center; margin:2px 0 20px; }
.studio-preview-top h2 { font-size:18px; letter-spacing:-.025em; font-weight:600; margin-top:4px; }
.studio-preview-top > span { font-size:25px; color:#7c8da5; }
.studio-preview .product-card { box-shadow:0 5px 22px #243b6810; }
.studio-preview .product-photo { aspect-ratio:1.07; padding:18px 23px 7px; }
.studio-preview .product-card-body { padding:23px 19px 19px; }
.studio-preview .product-specs dd { font-size:14px; }
.studio-preview .product-card-top { padding:19px 19px 0; }
.studio-preview .product-index { font-size:8px; }
.studio-preview-note { text-align:center; margin-top:17px; font-size:10px; color:#7a889c; line-height:1.7; }
.studio-toast { position:fixed; bottom:24px; left:calc(50% + 109px); transform:translateX(-50%); max-width:calc(100% - 44px); padding:16px 22px; background:#192b46; color:#fff; box-shadow:0 8px 30px #0002; border-radius:5px; font-size:12px; line-height:1.5; z-index:30; }
@media(min-width:1550px) { .studio-editor-layout { grid-template-columns:minmax(0,1fr) 340px; gap:38px; } }
@media(max-width:1250px) {
  .studio-sidebar { width:185px; padding-inline:16px; }
  .studio-main { margin-left:185px; padding-inline:28px; }
  .studio-table-head,.studio-product-row { grid-template-columns:minmax(185px,2fr) 80px 88px 87px 70px; column-gap:12px; }
  .studio-product-row,.studio-table-head { padding-inline:18px; }
  .studio-model-spec { max-width:185px; }
  .studio-thumb { width:45px; height:58px; }
  .studio-product-main { gap:10px; }
  .studio-editor-layout { grid-template-columns:minmax(0,1fr) 275px; gap:20px; }
  .studio-form-section { padding:20px; }
  .studio-toast { left:calc(50% + 92px); }
}
@media(max-width:1050px) {
  .studio-sidebar { position:static; width:100%; flex-direction:row; align-items:center; justify-content:space-between; padding:12px 25px; gap:20px; }
  .studio-brand img { margin:0; width:98px; height:43px; }
  .studio-label,.studio-sidebar-footer { display:none; }
  .studio-nav { flex-direction:row; }
  .studio-nav a,.studio-nav button { font-size:12px; min-height:42px; padding:10px 13px; }
  .studio-main { margin:0; padding-inline:28px; }
  .studio-topbar { min-height:68px; }
  .studio-table-head,.studio-product-row { grid-template-columns:minmax(180px,2.2fr) 85px 88px 92px 70px; column-gap:13px; }
  .studio-toast { left:50%; }
}
@media(max-width:760px) {
  .studio-editor-layout { grid-template-columns:minmax(0,1fr); }
  .studio-preview { position:static; max-width:380px; width:100%; margin:auto; padding-top:15px; }
  .studio-table-head { display:none; }
  .studio-product-row { grid-template-columns:minmax(0,1fr) 88px; gap:13px 18px; padding:22px; }
  .studio-product-main { grid-column:1; grid-row:1 / 3; gap:13px; }
  .studio-product-main .studio-thumb { width:55px; height:74px; }
  .studio-partner { display:none; }
  .studio-row-price { grid-column:2; grid-row:1; text-align:right; }
  .studio-state-cell { grid-column:1; grid-row:3; padding-left:68px; }
  .studio-row-actions { grid-column:2; grid-row:2 / 4; justify-content:flex-end; align-self:end; }
  .studio-row-actions { gap:4px; }
  .studio-edit-button,.studio-duplicate-button { width:42px; height:44px; }
  .studio-model-meta { font-size:11px; }
  .studio-model-spec { font-size:11px; max-width:unset; }
  .studio-list-footer { flex-wrap:wrap; }
  .studio-summary { gap:12px; }
  .studio-summary > div { padding:18px; flex-direction:column; align-items:flex-start; gap:9px; }
  .studio-summary strong { font-size:30px; }
}
@media(max-width:480px) {
  .studio-main { padding-inline:18px; padding-bottom:45px; }
  .studio-sidebar { padding:12px 18px; }
  .studio-nav a,.studio-nav button { gap:8px; padding:8px 10px; }
  .studio-nav #sidebar-count,.studio-nav a > span:first-child { display:none; }
  .studio-nav { gap:3px; }
  .studio-nav button span:first-child { font-size:16px; }
  .studio-brand img { width:87px; }
  .studio-topbar > p { font-size:8px; letter-spacing:.025em; }
  .studio-topbar > p > span { margin-inline:7px; }
  .demo-badge { font-size:8px; padding:6px 7px; }
  .studio-demo-notice { margin:21px 0 29px; font-size:11px; align-items:flex-start; }
  .studio-heading { flex-wrap:wrap; gap:18px; }
  .studio-heading h1 { font-size:43px; }
  .studio-heading .studio-button { width:100%; }
  .studio-summary { gap:8px; }
  .studio-summary > div { padding:14px 10px; }
  .studio-summary span { font-size:8px; min-height:26px; }
  .studio-list-toolbar { flex-direction:column; gap:10px; padding:16px 16px 5px; }
  .studio-search { width:100%; }
  .studio-line-filter select { font-size:12px; }
  .studio-state-filters { gap:16px; margin-inline:16px; flex-wrap:wrap; }
  .studio-state-filters button { font-size:10px; min-height:43px; }
  .studio-product-row { padding:20px 16px; gap:12px 10px; grid-template-columns:minmax(0,1fr) 88px; }
  .studio-product-main { gap:10px; align-items:flex-start; }
  .studio-product-main .studio-thumb { width:42px; height:58px; }
  .studio-model-button { font-size:13px; }
  .studio-model-meta,.studio-model-spec { font-size:10px; }
  .studio-state-cell { padding-left:52px; }
  .studio-row-price { font-size:12px; }
  .studio-list-footer { padding-inline:16px; font-size:9px; }
  .studio-fields { grid-template-columns:minmax(0,1fr); gap:19px; }
  .studio-form-section { padding:21px 17px; }
  .editor-heading h1 { font-size:32px; }
  .editor-heading { margin-bottom:25px; gap:12px; }
  .studio-image-control { gap:14px; }
  .studio-image-control > img { width:66px; height:85px; }
  .studio-image-control .studio-button { font-size:10px; padding-inline:12px; }
  .studio-form-actions { justify-content:stretch; }
  .studio-form-actions .primary { flex:1; }
  .studio-toast { width:calc(100% - 36px); bottom:18px; font-size:11px; }
}
@media(max-width:360px) {
  .studio-state-filters { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
  .studio-state-filters button { text-align:left; font-size:11px; }
}

/* Live administration and account access. */
.studio-notice { margin:24px 0 32px; font-size:13px; line-height:1.6; color:#5f6876; }
.studio-notice:empty { display:none; }
.session-user { font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.access-form { max-width:620px; }
.access-form .field-help,.access-columns .field-help { margin:18px 0; line-height:1.6; }
.access-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.access-columns h2 { margin:0 0 24px; font-size:20px; }
.access-row { display:grid; grid-template-columns:minmax(100px,1fr) minmax(130px,1fr) auto; align-items:center; gap:20px; padding:22px 26px; border-bottom:1px solid #e7e9ed; }
.access-row:last-child { border-bottom:0; }
.access-row strong { overflow-wrap:anywhere; }
.access-row span { font-size:13px; color:#667181; }
.access-error { color:#a71a30; font-size:14px; line-height:1.6; margin:18px 0; }
button:disabled { cursor:wait; opacity:.6; }
.studio-fields input:disabled,.studio-fields select:disabled { opacity:.7; }
.login-page { min-height:100svh; background:#080b12; color:#fff; display:grid; place-items:center; padding:48px 22px; background-image:radial-gradient(ellipse at 80% 0%,#001a7048,transparent 65%); }
.login-card { width:100%; max-width:420px; }
.login-logo { object-fit:contain; margin-bottom:54px; }
.login-card .studio-eyebrow { color:#90abef; }
.login-card h1 { font-size:clamp(34px,7vw,46px); line-height:1.1; font-weight:600; letter-spacing:-.04em; margin:16px 0; }
#login-description { font-size:15px; color:#b3bdce; line-height:1.65; margin-bottom:30px; }
.login-card form { display:grid; gap:22px; }
.login-card label { display:grid; gap:9px; font-size:13px; color:#d7deea; }
.login-card input { width:100%; border:1px solid #363e4d; background:#141a25; color:#fff; border-radius:5px; min-height:49px; padding:12px 14px; font:inherit; font-size:16px; }
.login-card input:focus { outline:2px solid #819eeb; outline-offset:3px; }
.login-card .studio-button { min-height:50px; justify-content:space-between; font-size:14px; }
.login-card .primary { background:#fff; color:#0a1020; }
.login-card .primary:hover { background:#e3ebff; }
#password-help,.login-support { color:#9ba7bb; font-size:12px; line-height:1.7; }
#login-error { color:#ffadb9; font-size:14px; line-height:1.6; }
#login-message { color:#a6e2c1; font-size:14px; line-height:1.6; }
.login-return { display:inline-block; margin:27px 0 22px; font-size:13px; color:#c5d2ea; }
.login-support { border-top:1px solid #28303e; padding-top:22px; }
.login-card [hidden],.studio-nav [hidden] { display:none; }
@media(max-width:1050px) {
  .studio-sidebar { flex-wrap:wrap; }
  .studio-nav { flex-wrap:wrap; justify-content:flex-end; }
}
@media(max-width:760px) {
  .studio-nav { flex:1 1 100%; justify-content:flex-start; gap:5px; }
  .studio-nav a,.studio-nav button { min-height:44px; }
  .access-columns { grid-template-columns:minmax(0,1fr); }
  .access-row { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:20px; }
  .access-row strong { grid-column:1; }.access-row span { grid-column:1; }
  .access-row button { grid-column:2; grid-row:1 / 3; padding-inline:12px; }
}

.benchmark-help { font-size:13px; line-height:1.7; color:#58677c; margin:0 0 20px; }
.benchmark-row { margin:20px 0; padding:16px; min-width:0; border:1px solid #dce2eb; border-radius:3px; }
.benchmark-row legend { padding:0 7px; font-size:12px; font-weight:600; color:#344969; }
.benchmark-row > button { margin-top:14px; }
/* Optional review import uses the same editor session and catalog API. */
.maintenance-panel { margin-top:28px; padding:22px; border:1px solid #d7dde7; background:#fff; border-radius:5px; }
.maintenance-panel summary { font-size:16px; font-weight:600; cursor:pointer; padding:8px 0; }
.maintenance-panel > p { font-size:14px; line-height:1.65; color:#556070; margin:16px 0; }
.maintenance-file { display:block; margin:20px 0; font-size:14px; }
.maintenance-file input { display:block; margin-top:10px; max-width:100%; }
.maintenance-operation { padding:18px 0; border-top:1px solid #e2e6ed; }
.maintenance-operation label { display:flex; gap:12px; align-items:center; min-height:44px; font-size:14px; }
.maintenance-operation ul { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.maintenance-operation img { object-fit:contain; background:#f3f5f8; }
.maintenance-operation p { font-size:13px; color:#003da5; }
.maintenance-actions { display:flex; gap:12px; flex-wrap:wrap; }

.admin-page,.login-page{--accent:#5348da;--blue:#5348da;font-family:Arial,Helvetica,sans-serif}.studio-brand img{object-fit:contain;width:160px;height:auto}.studio-preview .product-card{max-width:400px}.studio-fields textarea{width:100%;font:inherit;border:1px solid #d9dce3;padding:12px;resize:vertical}.studio-fields select,.studio-fields input{min-width:0}.studio-sidebar{z-index:20}.studio-form-section:has(.studio-fields){scroll-margin-top:30px}
