@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root {
    --fds-ink: #14251d;
    --fds-muted: #7c8c83;
    --fds-paper: #f6f7f4;
    --fds-surface: #ffffff;
    --fds-line: #e4e8e3;
    --fds-line-soft: #eef1ec;
    --fds-green: #1f6f4d;
    --fds-green-2: #123b29;
    --fds-lime: #eaf3ee;
    --fds-amber: #b5730f;
    --fds-amber-tint: #fbf1e0;
    --fds-red: #b3362c;
    --fds-red-tint: #fbeceb;
    --fds-radius: 10px;
    --fds-shadow: 0 1px 2px rgba(20, 37, 29, .06);
    --surface: var(--fds-surface);
    --line: var(--fds-line);
}

* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: clip; }
body { margin: 0; color: var(--fds-ink); background: var(--fds-paper); font-family: "DM Sans", "Noto Sans SC", sans-serif; font-size: 14px; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.topbar { height: 56px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; background: var(--fds-surface); color: var(--fds-ink); border-bottom: 1px solid var(--fds-line); }
.brand { display: flex; gap: 10px; align-items: center; color: var(--fds-ink); text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--fds-green); color: #fff; font-size: 13px; font-weight: 700; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 13px; letter-spacing: .01em; }
.brand small { margin-top: 1px; color: var(--fds-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.brand-logo { height: 26px; width: auto; display: block; }
.environment { display: flex; align-items: center; gap: 7px; padding: 4px 10px; border-radius: 99px; background: var(--fds-lime); color: var(--fds-green-2); font-size: 11px; font-weight: 600; letter-spacing: .02em; }
.environment span { width: 6px; height: 6px; border-radius: 50%; background: var(--fds-green); }
.topbar-tools { display: flex; align-items: center; gap: 16px; }
.logout-form { margin: 0; }
.logout-form button { padding: 6px 0; border: 0; color: var(--fds-muted); background: none; cursor: pointer; font-size: 12px; }
.logout-form button:hover { color: var(--fds-ink); }
.shell { min-height: calc(100vh - 56px); display: grid; grid-template-columns: 224px 1fr; }
.sidebar { padding: 24px 14px; background: var(--fds-surface); border-right: 1px solid var(--fds-line); }
.eyebrow { margin: 0 0 10px; padding: 0 10px; color: var(--fds-muted); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.nav-item { min-height: 38px; margin: 2px 0; padding: 0 10px; display: flex; align-items: center; gap: 10px; border-radius: 8px; color: var(--fds-ink); text-decoration: none; font-weight: 500; font-size: 13.5px; }
.nav-item span { color: var(--fds-muted); font-size: 11px; }
.nav-item.active { color: var(--fds-green-2); background: var(--fds-lime); font-weight: 600; }
.nav-item.active span { color: var(--fds-green); }
.nav-item:not(.active):hover { background: var(--fds-line-soft); }
.nav-item.muted { color: var(--fds-muted); }
.nav-item em { margin-left: auto; color: var(--fds-muted); font-size: 9px; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.sidebar-note { margin: 28px 8px 0; padding-top: 16px; border-top: 1px solid var(--fds-line-soft); color: var(--fds-muted); font-size: 12px; line-height: 1.7; }
.main { width: 100%; min-width: 0; max-width: 1500px; padding: 28px clamp(24px, 4vw, 40px) 64px; }
.page-heading { margin-bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.page-heading.compact { align-items: center; }
h1 { margin: 0; font-size: clamp(20px, 1.6vw, 24px); line-height: 1.25; font-weight: 600; letter-spacing: -.01em; }
.lede { max-width: 620px; margin: 4px 0 0; color: var(--fds-muted); font-size: 13px; }
.button { min-height: 36px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 13px; text-decoration: none; transition: background .12s, border-color .12s; }
.button.primary { color: #fff; background: var(--fds-green); }
.button.primary:hover { background: var(--fds-green-2); }
.button.secondary { border-color: var(--fds-line); color: var(--fds-ink); background: var(--fds-surface); }
.button.secondary:hover { background: var(--fds-line-soft); }
.flash { margin: -4px 0 20px; padding: 11px 14px; border: 1px solid #cfe3d7; border-radius: 8px; color: var(--fds-green-2); background: var(--fds-lime); font-size: 13px; }
.stats-strip { margin-bottom: 20px; display: grid; grid-template-columns: repeat(3, 150px) 1fr; gap: 12px; align-items: stretch; }
.stats-strip div { padding: 14px 16px; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); box-shadow: var(--fds-shadow); }
.stats-strip strong, .stats-strip span { display: block; }
.stats-strip strong { font-size: 20px; font-weight: 600; }
.stats-strip span, .stats-strip p { color: var(--fds-muted); font-size: 11px; }
.stats-strip p { margin: 0; align-self: center; justify-self: end; border: 0; background: none; box-shadow: none; padding: 0; }
.filters { margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.filters select, .filters input { height: 36px; border: 1px solid var(--fds-line); border-radius: 8px; outline: none; color: var(--fds-ink); background: var(--fds-surface); font-size: 13px; }
.filters select { min-width: 140px; padding: 0 30px 0 12px; }
.search-field { position: relative; flex: 1; max-width: 400px; }
.search-field span { position: absolute; top: 6px; left: 12px; color: var(--fds-muted); font-size: 17px; }
.search-field input { width: 100%; padding: 0 14px 0 36px; }
.filters input:focus, .filters select:focus, .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--fds-green); outline: none; box-shadow: 0 0 0 3px var(--fds-lime); }
.clear-link { color: var(--fds-muted); font-size: 12px; }
.series-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 14px; }
.series-card { overflow: hidden; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); box-shadow: var(--fds-shadow); }
.card-cover { position: relative; height: 140px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, #ded4b6, #efe8d4); }
.card-cover::before, .card-cover::after { display: none; }
.card-cover-image { width: 100%; height: 100%; display: block; object-fit: cover; }
.card-cover > span { position: relative; z-index: 1; font-size: 30px; font-weight: 600; color: var(--fds-green-2); opacity: .5; }
.status { position: absolute; z-index: 2; top: 10px; right: 10px; padding: 3px 9px; border-radius: 99px; color: var(--fds-amber); background: var(--fds-amber-tint); font-size: 10px; font-style: normal; font-weight: 700; }
.status.active { color: var(--fds-green-2); background: var(--fds-lime); }
.status.disabled, .status.archived { color: var(--fds-red); background: var(--fds-red-tint); }
.card-body { padding: 16px; }
.card-code { display: flex; justify-content: space-between; color: var(--fds-green); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.card-code span { color: var(--fds-muted); }
.card-body h2 { margin: 8px 0 2px; font-size: 16px; font-weight: 600; }
.english-name { min-height: 17px; margin: 0; color: var(--fds-muted); font-size: 12px; }
.card-meta { margin-top: 14px; padding: 10px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--fds-line-soft); border-bottom: 1px solid var(--fds-line-soft); color: var(--fds-muted); font-size: 11px; }
.card-actions { padding-top: 12px; display: flex; gap: 14px; }
.card-actions a, .card-actions button { padding: 0; border: 0; color: var(--fds-green); background: none; cursor: pointer; font-size: 12px; font-weight: 600; text-decoration: none; }
.card-actions form { margin: 0; }
.card-actions button { color: var(--fds-red); }
.empty-state { min-height: 280px; padding: 40px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed var(--fds-line); border-radius: var(--fds-radius); text-align: center; background: var(--fds-surface); }
.empty-state h2 { margin: 0; font-size: 18px; font-weight: 600; }
.empty-state > p:not(.eyebrow) { max-width: 420px; margin: 8px 0 20px; color: var(--fds-muted); line-height: 1.6; font-size: 13px; }
.empty-object { position: relative; width: 80px; height: 60px; margin-bottom: 20px; opacity: .5; }
.empty-object span { position: absolute; inset: 8px 14px; border: 1px solid var(--fds-green); border-radius: 10px; transform: rotate(4deg); }
.empty-object span:nth-child(2) { transform: translate(-8px,5px) rotate(-6deg); opacity: .5; }
.empty-object span:nth-child(3) { transform: translate(10px,-2px) rotate(10deg); opacity: .3; }
.pagination { margin-top: 22px; display: flex; justify-content: center; gap: 6px; }
.pagination a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; color: var(--fds-ink); text-decoration: none; font-size: 13px; }
.pagination a:hover { background: var(--fds-line-soft); }
.pagination a.current { color: #fff; background: var(--fds-green); }
.back-link { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 18px; color: var(--fds-muted); font-size: 12px; text-decoration: none; }
.back-link:hover { color: var(--fds-ink); }
.step-chip { padding: 5px 10px; border: 1px solid var(--fds-line); border-radius: 99px; color: var(--fds-muted); font-size: 10px; letter-spacing: .04em; background: var(--fds-surface); }
.series-form { border-top: 1px solid var(--fds-line); }
.form-section { padding: 22px 0; display: grid; grid-template-columns: 34px 200px 1fr; gap: 16px; border-bottom: 1px solid var(--fds-line); }
.section-number { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--fds-green-2); background: var(--fds-lime); font-size: 11px; font-weight: 700; }
.section-copy h2 { margin: 1px 0 4px; font-size: 14.5px; font-weight: 600; }
.section-copy p { margin: 0; color: var(--fds-muted); font-size: 11.5px; line-height: 1.5; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: block; }
.field.full { grid-column: 1 / -1; }
.field > span:first-child { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; color: var(--fds-ink); }
.field b { color: var(--fds-red); font-weight: 600; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--fds-line); border-radius: 8px; outline: none; color: var(--fds-ink); background: var(--fds-paper); }
.field input, .field select { height: 38px; padding: 0 11px; }
.field textarea { padding: 10px 11px; resize: vertical; line-height: 1.55; background: var(--fds-paper); }
.field small { display: block; margin-top: 5px; color: var(--fds-muted); font-size: 11px; }
.field small.error { color: var(--fds-red); }
.cover-preview { width: 140px; height: 90px; margin-top: 10px; border-radius: 8px; object-fit: cover; }
.cover-preview[hidden] { display: none; }
.form-actions { padding: 20px 0; display: flex; justify-content: flex-end; gap: 10px; }
.fatal-card { max-width: 560px; padding: 28px; border: 1px solid var(--fds-red-tint); border-radius: var(--fds-radius); background: var(--fds-surface); }
.fatal-card h1 { margin-bottom: 10px; font-size: 20px; }
.fatal-card > p:not(.eyebrow) { color: var(--fds-muted); }
.fatal-card .button { margin-top: 10px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.product-main { max-width: 1500px; }
.product-filters .search-field { max-width: none; }
.product-filters select { min-width: 120px; }
.product-table-wrap { overflow: hidden; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); box-shadow: var(--fds-shadow); }
.product-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.product-table th { padding: 10px 14px; color: var(--fds-muted); background: var(--fds-paper); text-align: left; font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; font-weight: 600; }
.product-table td { padding: 12px 14px; border-top: 1px solid var(--fds-line-soft); vertical-align: middle; }
.product-table td > strong, .product-table td > small { display: block; }
.product-table td > small { margin-top: 3px; color: var(--fds-muted); }
.product-identity { min-width: 200px; display: flex; align-items: center; gap: 10px; }
.product-identity strong, .product-identity b, .product-identity small { display: block; }
.product-identity strong { color: var(--fds-green); font-size: 10px; letter-spacing: .05em; }
.product-identity b { margin-top: 2px; font-size: 13px; font-weight: 600; }
.product-identity small { color: var(--fds-muted); }
.product-thumb { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; color: var(--fds-green-2); background: linear-gradient(135deg,#ded4b6,#efe8d4); font-size: 15px; font-weight: 700; }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.relation-line { display: block; white-space: nowrap; }
.status.inline { position: static; display: inline-block; }
.table-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px 10px; max-width: 140px; justify-content: flex-end; }
.table-actions form { margin: 0; }
.table-actions a, .table-actions button { padding: 0; border: 0; color: var(--fds-green); background: none; font-size: 11.5px; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; }
.table-actions button { color: var(--fds-red); }
.dimension-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-bottom: 16px; border-bottom: 1px solid var(--fds-line); }
.product-tabs a { padding: 8px 14px; font-size: 12.5px; font-weight: 600; color: var(--fds-muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.product-tabs a:hover { color: var(--fds-green); }
.product-tabs a.active { color: var(--fds-green); border-bottom-color: var(--fds-green); }
.product-tabs a.external { margin-left: auto; color: var(--fds-green); }
.readiness-panel { padding: 16px; border: 1px solid var(--fds-line); border-radius: 10px; background: var(--fds-paper); }
.readiness-grid { margin: 10px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.readiness-grid span { padding: 9px; border-radius: 7px; background: var(--fds-surface); color: var(--fds-muted); font-size: 10px; }
.readiness-grid b { display: block; margin-top: 4px; color: var(--fds-ink); font-size: 12px; }
.readiness-errors { margin: 10px 0; padding: 11px 12px 11px 28px; border-radius: 7px; color: var(--fds-red); background: var(--fds-red-tint); font-size: 12px; }

@media (max-width: 1050px) { .series-grid { grid-template-columns: repeat(2, 1fr); }.form-section { grid-template-columns: 30px 160px 1fr; }.stats-strip { grid-template-columns: repeat(3, 1fr); }.stats-strip p { display: none; } }
@media (max-width: 800px) { .topbar { height: 54px; padding: 0 16px; }.environment { display: none; }.shell { display: block; min-width: 0; }.sidebar { padding: 10px 14px; display: flex; gap: 8px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--fds-line); }.sidebar > .eyebrow, .sidebar-note { display: none; }.nav-item { min-width: 112px; margin: 0; }.main { padding: 22px 16px 48px; }.page-heading { flex-direction: column; align-items: stretch; }.page-heading .button { width: 100%; min-width: 0; padding: 0 12px; }.lede { font-size: 12.5px; }.stats-strip { width: 100%; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }.stats-strip div { min-width: 0; padding: 10px 8px; text-align: center; }.stats-strip span { overflow-wrap: anywhere; }.filters { width: 100%; min-width: 0; flex-wrap: wrap; }.filters > * { min-width: 0; }.search-field { flex: 1 0 100%; max-width: none; }.filters label:not(.search-field), .filters .button { flex: 1 1 calc(50% - 5px); width: auto; }.filters select { width: 100%; min-width: 0; }.clear-link { flex-basis: 100%; text-align: center; }.series-grid { grid-template-columns: minmax(0, 1fr); }.empty-state { width: 100%; min-width: 0; padding: 34px 14px; }.empty-state h2, .empty-state p { max-width: 100%; overflow-wrap: anywhere; }.form-section { grid-template-columns: 30px minmax(0, 1fr); }.section-copy { grid-column: 2; }.fields { min-width: 0; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); }.field.full { grid-column: auto; }.step-chip { display: none; }.form-actions { position: sticky; bottom: 0; z-index: 5; margin: 0 -16px -48px; padding: 12px 16px; background: rgba(246,247,244,.94); backdrop-filter: blur(10px); border-top: 1px solid var(--fds-line); }.form-actions .button { flex: 1; } }

@media (max-width: 800px) { .product-filters label:not(.search-field), .product-filters .button { flex: 1 1 calc(50% - 5px); }.product-table-wrap { overflow: visible; border: 0; background: none; box-shadow: none; }.product-table, .product-table tbody { display: block; }.product-table thead { display: none; }.product-table tr { margin-bottom: 12px; padding: 12px; display: block; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); }.product-table td { min-width: 0; padding: 8px 0; display: grid; grid-template-columns: 92px minmax(0,1fr); border-top: 1px solid var(--fds-line-soft); overflow-wrap: anywhere; }.product-table td:first-child { padding-top: 0; display: block; border: 0; }.product-table td::before { content: attr(data-label); color: var(--fds-muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.product-table td:first-child::before { display: none; }.product-identity { min-width: 0; }.relation-line { white-space: normal; }.table-actions { flex-direction: row; flex-wrap: wrap; }.readiness-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

@media (max-width: 360px) { h1 { font-size: 18px; }.stats-strip strong { font-size: 17px; }.stats-strip span { font-size: 9px; }.nav-item { min-width: 100px; padding-inline: 8px; } }

.login-page { min-height: 100vh; background: var(--fds-paper); }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(340px,40%) 1fr; }
.login-story { padding: clamp(28px,5vw,64px); display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: linear-gradient(160deg,#0f2c21,#1f6f4d 70%); }
.login-story h1 { margin: 14px 0 16px; font-size: clamp(28px,3.4vw,44px); font-weight: 600; line-height: 1.08; letter-spacing: -.02em; }
.login-story p:not(.eyebrow) { max-width: 400px; color: #cfe0d7; font-size: 14px; line-height: 1.6; }
.login-story > small { color: #9fc2b0; letter-spacing: .1em; font-size: 11px; }
.login-panel { padding: 24px; display: grid; place-items: center; background: var(--fds-paper); }
.login-card { width: min(100%,420px); padding: clamp(24px,4vw,40px); border: 1px solid var(--fds-line); border-radius: 16px; background: var(--fds-surface); box-shadow: var(--fds-shadow); }
.login-card h2 { margin: 0; font-size: clamp(22px,3vw,28px); font-weight: 600; }
.login-intro,.login-help { color: var(--fds-muted); line-height: 1.6; font-size: 13px; }
.login-intro { margin: 10px 0 22px; }
.login-help { margin: 18px 0 0; font-size: 11px; }
.login-form { display: grid; gap: 14px; }
.login-form label span { margin-bottom: 6px; display: block; font-size: 12px; font-weight: 600; }
.login-form input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--fds-line); border-radius: 9px; outline: none; background: var(--fds-paper); }
.login-form input:focus { border-color: var(--fds-green); box-shadow: 0 0 0 3px var(--fds-lime); }
.login-form .button { width: 100%; margin-top: 2px; }
.login-error { margin-bottom: 16px; padding: 11px 13px; border-radius: 8px; color: var(--fds-red); background: var(--fds-red-tint); font-size: 12.5px; }
@media (max-width: 760px) { .login-shell { grid-template-columns: 1fr; }.login-story { min-height: 180px; padding: 24px 18px; }.login-story h1 { font-size: clamp(26px,9vw,36px); }.login-story > small { display: none; }.login-panel { padding: 18px 14px 30px; align-items: start; }.login-card { margin-top: -28px; padding: 24px 18px; position: relative; }.topbar-tools { gap: 10px; } }

.media-main { max-width: 1500px; }
.media-heading strong { color: var(--fds-green); }
.media-readiness { margin-bottom: 20px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); box-shadow: var(--fds-shadow); }
.media-readiness span { min-width: 0; padding: 14px 18px; color: var(--fds-muted); font-size: 11px; border-right: 1px solid var(--fds-line-soft); }
.media-readiness span:last-child { border: 0; }
.media-readiness b { margin-top: 4px; display: block; color: var(--fds-ink); font-size: 16px; }
.media-section { margin-bottom: 20px; padding: 20px; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); }
.media-section-head h2 { margin: 3px 0; font-size: 17px; font-weight: 600; }
.media-section-head p:not(.eyebrow) { margin: 0 0 16px; color: var(--fds-muted); font-size: 12px; }
.cover-workspace { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(360px,1.2fr); gap: 20px; }
.cover-stage { min-height: 280px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: linear-gradient(135deg,#ded4b6,#efe8d4); }
.cover-stage .media-image-button,.cover-stage img { width: 100%; height: 100%; }
.media-empty { padding: 26px; text-align: center; color: var(--fds-muted); }
.media-empty span { display: block; color: var(--fds-green); font-size: 42px; }
.media-empty strong { display: block; color: var(--fds-ink); font-size: 17px; }
.media-empty p { margin-bottom: 0; }
.media-upload-form { padding: 16px; display: flex; flex-direction: column; gap: 13px; border: 1px solid var(--fds-line); border-radius: 12px; background: var(--fds-surface); }
.batch-upload { margin-bottom: 18px; }
.drop-zone { min-height: 100px; padding: 18px; position: relative; display: grid; place-items: center; align-content: center; border: 1px dashed var(--fds-line); border-radius: 10px; color: var(--fds-green-2); text-align: center; cursor: pointer; background: var(--fds-paper); }
.drop-zone.dragging { border-color: var(--fds-green); background: var(--fds-lime); }
.drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.drop-zone span { font-weight: 600; font-size: 13px; }
.drop-zone small { margin-top: 4px; color: var(--fds-muted); }
.upload-preview-list { display: grid; gap: 8px; }
.upload-preview-item { min-width: 0; padding: 8px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--fds-line); border-radius: 8px; }
.upload-preview-item img { width: 42px; height: 42px; border-radius: 6px; object-fit: cover; }
.upload-preview-item span { overflow: hidden; color: var(--fds-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.upload-preview-item button,.media-actions button { border: 0; color: var(--fds-green); background: transparent; cursor: pointer; font-weight: 600; }
.media-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.media-card { min-width: 0; overflow: hidden; border: 1px solid var(--fds-line); border-radius: 12px; background: var(--fds-surface); }
.media-card.disabled { opacity: .6; }
.media-image-button { padding: 0; display: block; border: 0; cursor: zoom-in; background: var(--fds-paper); }
.media-card .media-image-button,.showcase-preview .media-image-button { width: 100%; aspect-ratio: 4/3; }
.showcase-preview .media-image-button { max-width: 480px; overflow: hidden; border-radius: 12px; }
.media-image-button img { width: 100%; height: 100%; display: block; object-fit: contain; }
.media-card-body { padding: 13px; }
.media-card-top { margin-bottom: 8px; display: flex; justify-content: space-between; gap: 8px; }
.media-role,.media-state { padding: 3px 8px; border-radius: 99px; color: var(--fds-green-2); background: var(--fds-lime); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.media-state.disabled { color: var(--fds-muted); background: var(--fds-line-soft); }
.media-card-body > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.media-card-body > small,.media-card-body > p { color: var(--fds-muted); font-size: 10.5px; line-height: 1.5; }
.media-actions form { display: flex; flex-wrap: wrap; gap: 7px; }
.media-actions select { max-width: 110px; height: 30px; border: 1px solid var(--fds-line); border-radius: 6px; }
.media-actions button { padding: 5px; font-size: 10.5px; }
.media-actions button.danger { color: var(--fds-red); }
.media-grid-empty { grid-column: 1/-1; padding: 36px; border: 1px dashed var(--fds-line); border-radius: 10px; color: var(--fds-muted); text-align: center; }
.image-modal { position: fixed; z-index: 100; inset: 0; padding: clamp(18px,5vw,70px); display: grid; place-items: center; background: rgba(15,28,23,.85); }
.image-modal[hidden] { display: none; }
.image-modal img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.modal-close { position: absolute; top: 18px; right: 22px; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; background: rgba(0,0,0,.28); cursor: pointer; font-size: 24px; }
.modal-open { overflow: hidden; }
@media (max-width: 1000px) { .media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 800px) { .media-section { padding: 16px 14px; }.cover-workspace { grid-template-columns: minmax(0,1fr); }.cover-stage { min-height: 220px; }.media-grid { grid-template-columns: minmax(0,1fr); }.media-readiness span { padding: 12px 8px; text-align: center; }.media-readiness b { font-size: 14px; }.upload-preview-item { grid-template-columns: 38px minmax(0,1fr) auto; }.upload-preview-item img { width: 38px; height: 38px; }.image-modal { padding: 56px 10px 14px; } }
.flash { white-space: pre-line; }
.cover-panel { min-width: 0; }
.cover-controls { margin-top: 10px; padding: 12px; border: 1px solid var(--fds-line); border-radius: 10px; background: var(--fds-paper); }
.metadata-form { display: grid; gap: 10px; }
.metadata-form button,.media-actions-row button,.disabled-cover-row button { border: 0; color: var(--fds-green); background: transparent; cursor: pointer; font-weight: 600; }
.media-actions-row,.disabled-cover-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.media-actions-row form { margin: 0; }
.media-actions-row .danger { color: var(--fds-red); }
.disabled-cover-list { margin-top: 16px; padding: 14px; border: 1px dashed var(--fds-line); border-radius: 10px; }
.disabled-cover-list h3 { margin: 0 0 8px; font-size: 11px; text-transform: uppercase; color: var(--fds-muted); }
.disabled-cover-row + .disabled-cover-row { margin-top: 8px; }
.metadata-form.compact { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--fds-line); }
.metadata-form.compact label { display: grid; gap: 4px; color: var(--fds-muted); font-size: 9px; }
.metadata-form.compact input { min-width: 0; width: 100%; height: 30px; padding: 0 8px; border: 1px solid var(--fds-line); border-radius: 6px; }
.media-actions { margin-top: 10px; }
.media-actions form { margin: 0; }
.media-command-form,.role-form { display: flex; flex-wrap: wrap; gap: 7px; }
@media (max-width: 420px) { .media-actions-row,.disabled-cover-row { align-items: flex-start; flex-direction: column; }.cover-controls { padding: 10px; } }
.heading-actions,.badge-row{display:flex;gap:8px;flex-wrap:wrap}
.option-main{min-width:0}
.option-section{margin-top:20px;padding:18px;background:var(--fds-surface);border:1px solid var(--fds-line);border-radius:var(--fds-radius)}
.option-grid{display:grid;gap:10px}
.option-card{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(220px,320px);gap:16px;align-items:center;padding:14px;border:1px solid var(--fds-line);border-radius:12px;background:var(--fds-surface)}
.option-card.disabled{opacity:.65}
.option-thumb{aspect-ratio:1;border-radius:9px;background:var(--fds-paper);display:grid;place-items:center;overflow:hidden;color:var(--fds-muted);font-size:11px}
.option-thumb img{width:100%;height:100%;object-fit:contain}
.option-actions form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.option-actions label{display:grid;gap:4px;font-size:12px}
.option-actions input{max-width:120px}
.option-filters{grid-template-columns:minmax(180px,1fr) minmax(180px,280px) auto}
@media(max-width:760px){.heading-actions{width:100%}.heading-actions .button{flex:1}.option-section{padding:12px}.option-card{grid-template-columns:60px minmax(0,1fr)}.option-actions{grid-column:1/-1}.option-actions form,.option-actions label,.option-actions input,.option-actions button{width:100%;max-width:none}.option-filters{grid-template-columns:1fr}}
.slot-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.slot-tabs a{padding:8px 13px;border:1px solid var(--fds-line);border-radius:999px;background:var(--fds-surface);font-size:12.5px;color:var(--fds-ink);text-decoration:none}
.slot-tabs a.active{background:var(--fds-ink);color:#fff;border-color:var(--fds-ink)}
.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.material-card{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;padding:13px;border:1px solid var(--fds-line);border-radius:12px;background:var(--fds-surface)}
.material-card.disabled{opacity:.6}
.material-card form{grid-column:1/-1;display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.material-swatch{width:52px;height:52px;border-radius:50%;background:#ded4b6;display:grid;place-items:center;font:700 19px serif;color:var(--fds-green-2)}
.material-filters{grid-template-columns:2fr 1fr 1fr auto}
.material-rule-form label{display:grid;gap:4px}
@media(max-width:760px){.material-grid{grid-template-columns:1fr}.material-filters{grid-template-columns:1fr}.material-card form,.material-card form label,.material-card form input,.material-card form select,.material-card form button{width:100%}}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.process-card,.color-card{padding:16px;border:1px solid var(--fds-line);border-radius:12px;background:var(--fds-surface)}
.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.color-card{display:flex;gap:12px;align-items:center}
.color-card>span{width:36px;height:36px;border-radius:50%;background:var(--swatch);border:1px solid var(--fds-line)}
.inline-create{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.inline-create input,.inline-create select{min-width:126px}
@media(max-width:760px){.process-grid,.color-grid{grid-template-columns:1fr}.inline-create>*{width:100%}}
.model-grid{display:grid;gap:10px}
.model-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px;border:1px solid var(--fds-line);border-radius:12px;background:var(--fds-surface)}
.model-card.disabled{opacity:.6}
.model-card form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.validation{padding:3px 8px;border-radius:999px;background:var(--fds-line-soft);font-size:11px}
.validation.valid{background:var(--fds-lime);color:var(--fds-green-2)}
.validation.invalid{background:var(--fds-red-tint);color:var(--fds-red)}
@media(max-width:760px){.model-card{grid-template-columns:1fr}.model-card form,.model-card form>*{width:100%}}
.sidebar .sidebar-group{margin-top:22px}
/* Shared admin sidebar: icons, sticky column, FundStone copyright */
.sidebar { position: sticky; top: 56px; align-self: start; height: calc(100vh - 56px); overflow-y: auto; display: flex; flex-direction: column; }
.sidebar-nav { display: flex; flex-direction: column; }
.nav-item .nav-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; flex: 0 0 20px; color: var(--fds-muted); }
.nav-item .nav-icon svg { width: 18px; height: 18px; }
.nav-item.active .nav-icon { color: var(--fds-green); }
.nav-item:not(.active):hover .nav-icon { color: var(--fds-ink); }
.sidebar-copyright { margin: auto 8px 0; padding-top: 24px; color: var(--fds-muted); font-size: 11px; line-height: 1.5; }
@media (min-width: 801px) { .topbar { position: sticky; top: 0; z-index: 50; } }
@media (max-width: 800px) { .sidebar { position: static; height: auto; flex-direction: row; } .sidebar-nav { flex-direction: row; gap: 8px; } .sidebar-nav .eyebrow, .sidebar-copyright { display: none; } }
/* Admin sign-in V2 */
.login-brand { display: inline-flex; align-self: flex-start; padding: 10px 16px; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.login-brand img { display: block; height: 30px; width: auto; }
.login-pitch h1 { margin: 12px 0 12px; }
.login-points { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; color: #dcebe3; font-size: 14px; }
.login-points li { display: flex; align-items: center; gap: 10px; }
.login-points span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: rgba(255,255,255,.12); color: #bfe3cf; font-size: 10px; }
.login-story > small { letter-spacing: 0; }
.login-card-logo { display: none; height: 28px; width: auto; margin-bottom: 18px; }
.login-card h2 { font-size: 24px; }
.login-intro { margin: 8px 0 20px; }
.login-form input::placeholder { color: #a8b5ae; }
.login-form input:hover { border-color: #cbd5cf; }
.password-field { position: relative; display: block !important; margin: 0 !important; font-weight: 400 !important; }
.password-field input { padding-right: 64px; }
.password-toggle { position: absolute; top: 5px; right: 5px; height: 32px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--fds-green); font-size: 12px; font-weight: 600; cursor: pointer; }
.password-toggle:hover { background: var(--fds-lime); }
.caps-hint { display: block; margin-top: 6px; color: #8a5a0b; font-size: 11.5px; }
.caps-hint[hidden] { display: none; }
.login-submit { min-height: 44px; font-size: 14px; }
.login-error { display: flex; align-items: flex-start; gap: 8px; }
.login-error > span { display: inline-grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; background: var(--fds-red); color: #fff; font-size: 11px; font-weight: 700; }
@media (max-width: 760px) { .login-story { display: none; } .login-panel { min-height: 100vh; padding: 28px 18px; align-items: center; } .login-card { margin-top: 0; } .login-card-logo { display: block; } }
.insert-toolbar { margin-bottom: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.category-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.category-tabs button, .tab-bar button { height: 32px; padding: 0 13px; border: 1px solid var(--fds-line); border-radius: 99px; color: var(--fds-ink); background: var(--fds-surface); font: inherit; font-size: 12.5px; cursor: pointer; }
.category-tabs button em, .tab-bar button em { margin-left: 5px; color: var(--fds-muted); font-size: 11px; font-style: normal; }
.category-tabs button:hover, .tab-bar button:hover { border-color: var(--fds-green); }
.category-tabs button.is-active, .tab-bar button.is-active { border-color: var(--fds-green); color: #fff; background: var(--fds-green); }
.category-tabs button.is-active em, .tab-bar button.is-active em { color: rgba(255,255,255,.75); }
.insert-search input { width: 220px; height: 34px; padding: 0 12px; border: 1px solid var(--fds-line); border-radius: 8px; color: var(--fds-ink); background: var(--fds-surface); font-size: 13px; }
.insert-search input:focus { border-color: var(--fds-green); outline: none; box-shadow: 0 0 0 3px var(--fds-lime); }
.insert-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.insert-card[hidden], .insert-no-match[hidden] { display: none; }
.insert-card .card-cover { height: auto; aspect-ratio: 4 / 3; display: grid; text-decoration: none; }
.insert-card .card-cover .status { top: 6px; right: 6px; padding: 2px 7px; font-size: 9px; }
.insert-card .card-body { padding: 9px 11px 8px; }
.insert-card .insert-name { display: block; overflow: hidden; color: var(--fds-ink); font-size: 13px; font-weight: 600; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.insert-card .insert-name:hover { color: var(--fds-green); }
.insert-card .english-name { min-height: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.insert-card .card-code { margin-top: 6px; font-size: 9.5px; }
.insert-card .card-actions { padding-top: 7px; gap: 11px; }
.insert-card .card-actions a, .insert-card .card-actions button { font-size: 11px; }
.insert-card .card-actions button.quiet { color: var(--fds-muted); }
.insert-card.status-disabled, .insert-card.status-archived { opacity: .6; }
.insert-no-match { padding: 40px 0; color: var(--fds-muted); text-align: center; }
.tab-bar { margin-bottom: 18px; display: flex; gap: 6px; }
@media (max-width: 800px) { .insert-search, .insert-search input { width: 100%; }.insert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.pi-section .section-heading h2 em { margin-left: 6px; color: var(--fds-muted); font-size: 12px; font-style: normal; font-weight: 500; }
.pi-section .insert-toolbar { margin-top: 4px; }
.pi-selected-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.pi-card { position: relative; }
.pi-card .pi-manage, .pi-card .pi-add { display: none; }
.pi-card[data-state="selected"] .pi-manage { display: block; }
.pi-card[data-state="available"] .pi-add { display: block; }
.pi-card[data-relation="disabled"] .pi-only-active, .pi-card:not([data-relation="disabled"]) .pi-only-disabled, .pi-card[data-default="1"] .pi-not-default { display: none; }
.pi-card:not([data-default="1"]) .pi-default-chip, .pi-card:not([data-relation="disabled"]) .pi-disabled-chip, .pi-card[data-state="available"] .pi-disabled-chip { display: none; }
.pi-card .card-cover .pi-default-chip { top: 6px; left: 6px; right: auto; padding: 2px 8px; font-size: 9.5px; }
.pi-card .card-cover .pi-flag { top: auto; right: auto; bottom: 6px; left: 6px; padding: 2px 8px; font-size: 9.5px; }
.pi-card[data-state="available"] { opacity: .5; transition: opacity .15s; }
.pi-card[data-state="available"]:hover { opacity: .95; }
.pi-card[data-state="selected"][data-relation="disabled"] .card-cover, .pi-card[data-state="selected"][data-relation="disabled"] .card-body { opacity: .55; }
.pi-card.is-busy { opacity: .7; pointer-events: none; }
.pi-card .insert-name { cursor: default; }
.pi-card .card-body { padding: 9px 12px 8px; }
.pi-card .card-code { margin-top: 3px; }
.pi-add { position: absolute; z-index: 3; top: 6px; right: 6px; margin: 0; }
.pi-add-button { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: var(--fds-green); font-size: 17px; line-height: 1; cursor: pointer; box-shadow: 0 1px 4px rgba(20,37,29,.3); }
.pi-add-button:hover { background: var(--fds-green-2); }
.pi-controls { padding: 0 12px 12px; }
.pi-adjust-form { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pi-adjust-form label { min-width: 0; display: grid; gap: 3px; color: var(--fds-muted); font-size: 10px; font-weight: 600; letter-spacing: .04em; }
.pi-adjust-form input { width: 100%; height: 30px; padding: 0 9px; border: 1px solid var(--fds-line); border-radius: 7px; color: var(--fds-ink); background: var(--fds-paper); font: inherit; font-size: 12.5px; font-variant-numeric: tabular-nums; transition: border-color .12s, background .12s, box-shadow .12s; -moz-appearance: textfield; appearance: textfield; }
.pi-adjust-form input::-webkit-outer-spin-button, .pi-adjust-form input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pi-adjust-form input:hover { border-color: #cfd8d2; }
.pi-adjust-form input:focus { border-color: var(--fds-green); outline: none; background: var(--fds-surface); box-shadow: 0 0 0 3px var(--fds-lime); }
.pi-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; white-space: nowrap; }
.pi-buttons { margin-top: 10px; display: flex; align-items: center; gap: 6px; }
.pi-buttons form { margin: 0; }
.pi-buttons form:first-child { flex: 1; }
.pi-btn { width: 100%; height: 28px; padding: 0 12px; border: 1px solid var(--fds-green); border-radius: 99px; color: var(--fds-green); background: var(--fds-surface); font: inherit; font-size: 11.5px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: background .12s, color .12s; }
.pi-btn:hover { color: #fff; background: var(--fds-green); }
.pi-btn.ghost { border-color: transparent; color: var(--fds-muted); background: transparent; }
.pi-btn.ghost:hover { color: var(--fds-red); background: var(--fds-red-tint); }
.pi-btn.ghost.danger:hover { color: var(--fds-red); background: var(--fds-red-tint); }
.pi-btn:focus-visible, .pi-add-button:focus-visible { outline: 2px solid var(--fds-green); outline-offset: 2px; }
.pi-btn:disabled { opacity: .6; cursor: default; }
.pi-flash.error { border-color: #ecc5c1; color: var(--fds-red); background: var(--fds-red-tint); }
.pi-flash { position: sticky; top: 8px; z-index: 40; }
.media-section-head h2 { display: flex; align-items: center; gap: 8px; }
.media-section-head h2 .media-role { text-transform: none; font-size: 10px; letter-spacing: .02em; }
.metadata-form .field input, .metadata-form.compact input { height: 30px; padding: 0 9px; border: 1px solid var(--fds-line); border-radius: 7px; color: var(--fds-ink); background: var(--fds-paper); font: inherit; font-size: 12.5px; transition: border-color .12s, background .12s, box-shadow .12s; }
.metadata-form .field input:focus, .metadata-form.compact input:focus { border-color: var(--fds-green); outline: none; background: var(--fds-surface); box-shadow: 0 0 0 3px var(--fds-lime); }
.metadata-form > button, .metadata-form.compact > button { height: 28px; padding: 0 14px; border: 1px solid var(--fds-green); border-radius: 99px; color: var(--fds-green); background: var(--fds-surface); font-size: 11.5px; transition: background .12s, color .12s; }
.metadata-form > button:hover, .metadata-form.compact > button:hover { color: #fff; background: var(--fds-green); }
.media-actions button, .media-actions-row button, .disabled-cover-row button { height: 26px; padding: 0 11px; border-radius: 99px; color: var(--fds-green); font-size: 11px; transition: background .12s, color .12s; }
.media-actions button:hover, .media-actions-row button:hover, .disabled-cover-row button:hover { background: var(--fds-lime); }
.media-actions button.danger:hover, .media-actions-row .danger:hover { color: var(--fds-red); background: var(--fds-red-tint); }
.media-actions select { height: 28px; padding: 0 8px; border: 1px solid var(--fds-line); border-radius: 7px; color: var(--fds-ink); background: var(--fds-paper); font-size: 11.5px; }
.readiness-bar { margin-bottom: 14px; padding: 12px 18px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); background: var(--fds-surface); box-shadow: var(--fds-shadow); }
.readiness-head { padding-right: 18px; display: flex; align-items: center; gap: 8px; border-right: 1px solid var(--fds-line-soft); font-size: 12px; font-weight: 700; }
.readiness-bar ul { flex: 1; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; }
.readiness-bar li { min-width: 0; display: flex; align-items: center; gap: 7px; color: var(--fds-muted); font-size: 12px; }
.readiness-bar li i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #cfd6d1; }
.readiness-bar li.ok i { background: var(--fds-green); }
.readiness-bar li.todo i { background: #e3a13b; }
.readiness-bar li b { color: var(--fds-ink); font-weight: 600; }
.readiness-bar li.todo b { color: var(--fds-amber); }
.status-control { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.status-control label { font-size: 12px; font-weight: 600; }
.status-control select { height: 36px; min-width: 120px; padding: 0 30px 0 12px; border: 1px solid var(--fds-line); border-radius: 8px; color: var(--fds-ink); background: var(--fds-surface); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.status-control select:focus { border-color: var(--fds-green); outline: none; box-shadow: 0 0 0 3px var(--fds-lime); }
.status-control select:disabled { color: var(--fds-muted); background: var(--fds-paper); cursor: default; }
.status-control small.error { color: var(--fds-red); font-size: 11px; }
.price-system { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.price-system .tier-block { grid-column: 1 / -1; margin-top: 6px; }
.tier-head { margin-bottom: 8px; display: flex; align-items: center; gap: 8px; font-size: 12px; }
.tier-head span { font-weight: 600; }
.tier-head em { padding: 1px 8px; border-radius: 99px; color: var(--fds-muted); background: var(--fds-line-soft); font-size: 10.5px; font-style: normal; font-weight: 700; }
.tier-table { width: 100%; border: 1px solid var(--fds-line); border-radius: var(--fds-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--fds-surface); font-size: 12.5px; }
.tier-table th { padding: 9px 12px; color: var(--fds-muted); background: var(--fds-paper); font-size: 11px; font-weight: 600; text-align: left; }
.tier-table td { padding: 9px 12px; border-top: 1px solid var(--fds-line-soft); vertical-align: middle; }
.tier-table .tier-price { font-variant-numeric: tabular-nums; font-weight: 600; }
.tier-table tr.is-disabled td { color: var(--fds-muted); }
.tier-table tr.tier-empty td { padding: 16px; color: var(--fds-muted); text-align: center; }
.tier-table tr.tier-add td { background: #fafbf9; }
.tier-table .tier-action { text-align: right; white-space: nowrap; }
.tier-table input { width: 100%; min-width: 80px; height: 32px; padding: 0 10px; border: 1px solid var(--fds-line); border-radius: 7px; background: var(--fds-surface); font: inherit; font-size: 12.5px; }
.tier-table input:focus { border-color: var(--fds-green); outline: none; box-shadow: 0 0 0 3px var(--fds-lime); }
.tier-table button { height: 28px; padding: 0 12px; border: 1px solid transparent; border-radius: 99px; color: var(--fds-green); background: transparent; font: inherit; font-size: 11.5px; font-weight: 600; cursor: pointer; transition: background .12s, color .12s; }
.tier-table button:hover { background: var(--fds-lime); }
.tier-table .tier-add-button { border-color: var(--fds-green); }
.tier-table .tier-add-button:hover { color: #fff; background: var(--fds-green); }
@media (max-width: 800px) { .price-system { grid-template-columns: 1fr; }.readiness-head { width: 100%; padding-right: 0; border-right: 0; }.readiness-bar ul { gap: 8px 16px; }.tier-range { display: none; } }
.toolbar-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.toolbar-filters select { height: 34px; padding: 0 28px 0 12px; border: 1px solid var(--fds-line); border-radius: 8px; color: var(--fds-ink); background: var(--fds-surface); font: inherit; font-size: 13px; cursor: pointer; }
.toolbar-filters select:focus { border-color: var(--fds-green); outline: none; box-shadow: 0 0 0 3px var(--fds-lime); }
.product-table th { text-transform: none; letter-spacing: 0; font-size: 11.5px; }
.product-table tbody tr { transition: background .12s; }
.product-table tbody tr:hover { background: #fafbf9; }
.product-table tr[hidden] { display: none; }
.product-table tr.status-disabled, .product-table tr.status-archived { opacity: .6; }
.product-table td > strong { font-size: 12.5px; font-weight: 600; }
a.product-identity { color: inherit; text-decoration: none; }
a.product-identity:hover b { color: var(--fds-green); }
.product-identity b { margin: 0; font-size: 13px; }
.product-identity strong { margin-top: 2px; color: var(--fds-muted); font-size: 11px; font-weight: 500; letter-spacing: .03em; }
.rel-chips { margin-top: 5px; display: flex; flex-wrap: wrap; gap: 5px; }
.rel-chip { height: 20px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; color: var(--fds-muted); background: var(--fds-line-soft); font-size: 10.5px; font-weight: 600; }
.rel-chip::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.rel-chip.ok { color: var(--fds-green-2); background: var(--fds-lime); }
.rel-chip.todo { color: var(--fds-amber); background: var(--fds-amber-tint); }
.table-actions button.quiet { color: var(--fds-muted); }
.table-actions button.quiet:hover { color: var(--fds-red); }
@media (max-width: 800px) { .toolbar-filters { width: 100%; }.toolbar-filters select, .toolbar-filters .insert-search { flex: 1 1 calc(50% - 4px); }.toolbar-filters .insert-search { flex-basis: 100%; } }
.card-cover .rm-swatch { position: absolute; inset: 0; }
.insert-card .card-cover .status.disabled { top: 6px; right: 6px; }
.logo-card .card-cover { background: var(--fds-paper); }
.logo-card .card-cover-image { padding: 12px; object-fit: contain; }
.logo-card .card-cover > span { font-size: 12px; font-weight: 500; }
.color-card b { font-size: 13px; }
.color-card p { margin: 2px 0 0; color: var(--fds-muted); font-size: 11.5px; }

.cover-controls > form:not(.metadata-form) > button { height: 26px; padding: 0 11px; border: 0; border-radius: 99px; color: var(--fds-muted); background: transparent; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; transition: background .12s, color .12s; }
.cover-controls > form:not(.metadata-form) > button.danger:hover { color: var(--fds-red); background: var(--fds-red-tint); }
