@font-face {
  font-family: "Nexa";
  src: url("../fonts/nexa/Nexa-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nexa";
  src: url("../fonts/nexa/Nexa-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nexa";
  src: url("../fonts/nexa/Nexa-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nexa";
  src: url("../fonts/nexa/Nexa-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NexaText";
  src: url("../fonts/nexa/NexaText-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NexaText";
  src: url("../fonts/nexa/NexaText-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NexaText";
  src: url("../fonts/nexa/NexaText-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NexaText";
  src: url("../fonts/nexa/NexaText-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #333132;
  --muted: #6d6e71;
  --line: #e5e3e3;
  --surface: #f5f5f4;
  --paper: #ffffff;
  --red: #ae132a;
  --red-dark: #7d0d20;
  --red-soft: #f8ecee;
  --green: #26745a;
  --shadow: 0 18px 45px rgba(51, 49, 50, 0.08);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { background: var(--surface); color: var(--ink); }
body { margin: 0; background: var(--surface); font-family: "NexaText", Arial, Helvetica, sans-serif; font-size: 15px; }
h1, h2, h3, h4, h5, h6 { font-family: "Nexa", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(174, 19, 42, 0.24); outline-offset: 2px; }
.skip-link { position: fixed; z-index: 100; left: 12px; top: -60px; padding: 10px 15px; border-radius: 9px; background: var(--ink); color: white; }
.skip-link:focus { top: 12px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.portal { min-height: 100vh; }
.topbar { position: fixed; z-index: 30; inset: 0 0 auto 0; height: 72px; display: grid; grid-template-columns: 260px minmax(260px, 620px) 1fr; align-items: center; gap: 28px; padding: 0 28px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { font-family: Nexa, Arial, sans-serif; font-size: 19px; font-weight: 900; letter-spacing: .04em; }
.brand b { margin-left: 7px; color: var(--red); font-size: 10px; letter-spacing: .16em; vertical-align: 3px; }
.global-search { height: 42px; display: flex; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: #fafafa; color: var(--muted); }
.global-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.global-search kbd { padding: 4px 8px; background: white; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.top-actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.icon-button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--red); }
.icon-button span { font-size: 8px; }
.profile-button { border: 0; background: transparent; display: flex; align-items: center; gap: 10px; text-align: left; padding: 5px 8px; border-radius: 12px; }
.profile-button:hover { background: var(--surface); }
.profile-button > span:nth-child(2) { display: grid; gap: 2px; }
.profile-button strong { font-size: 12px; }
.profile-button small { color: var(--muted); font-size: 10px; }
.profile-button i { color: var(--muted); font-style: normal; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-size: 11px; font-weight: 800; }
.profile-area { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 10px; }
.profile-details { display: grid; gap: 2px; }
.profile-area strong { font-size: 11px; }.profile-area small { color: var(--muted); font-size: 9px; }
.profile-area form { margin: 0 0 0 6px; }.text-button { padding: 6px; border: 0; background: transparent; color: var(--red); font-size: 10px; font-weight: 900; }
.header-help { min-height: 38px; padding: 0 10px; display: inline-flex; align-items: center; gap: 7px; border-radius: 10px; color: #555; font-size: 11px; font-weight: 900; }.header-help:hover { background: var(--red-soft); color: var(--red); }.header-help > span { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #d8c3c7; border-radius: 50%; color: var(--red); }.header-help svg { width: 15px; height: 15px; display: block; overflow: visible; }.header-help path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.header-help circle { fill: currentColor; }
.menu-button { display: none; }

.portal-menu-toggle { display: none; }
@media (max-width: 820px) { .portal-menu-toggle { display: block; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font-size: 20px; } }
.sidebar { position: fixed; z-index: 25; top: 72px; left: 0; bottom: 0; width: 248px; padding: 28px 18px 18px; display: flex; flex-direction: column; background: var(--paper); border-right: 1px solid var(--line); overflow-y: auto; }
.nav-label { margin: 0 12px 12px; color: #999; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.sidebar nav { display: grid; gap: 4px; }
.sidebar nav a { min-height: 46px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 8px; padding: 0 12px; border-radius: 12px; color: #555; font-size: 13px; font-weight: 700; }
.sidebar nav a:hover { background: var(--surface); }
.sidebar nav a.active { background: var(--red-soft); color: var(--red); }
.sidebar nav a[aria-disabled="true"] { color: #a7a7a7; }
.sidebar nav a small { padding: 3px 6px; border-radius: 999px; background: #efeeee; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.nav-mark { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #ddd; border-radius: 8px; font-size: 9px; font-weight: 900; }
.active .nav-mark { color: white; background: var(--red); border-color: var(--red); }
.sidebar-card { margin-top: 30px; padding: 18px; border-radius: 16px; background: var(--ink); color: white; }
.sidebar-card > span { color: #c9c7c7; text-transform: uppercase; font-size: 9px; letter-spacing: .13em; }
.sidebar-card strong { display: block; margin-top: 10px; font-size: 13px; line-height: 1.35; }
.sidebar-card p { color: #c9c7c7; font-size: 11px; line-height: 1.5; }
.sidebar-card button { width: 100%; padding: 9px; border: 0; border-radius: 999px; background: white; color: var(--ink); font-size: 11px; font-weight: 800; }
.sidebar-foot { margin: auto 12px 0; padding-top: 24px; color: #aaa; font-size: 9px; }

.main, .main-content { margin-left: 248px; padding: 112px clamp(28px, 4vw, 68px) 60px; min-height: 100vh; }
/* One shared working-area width for every authenticated module. */
html { scrollbar-gutter: stable; }
.portal-workspace { width: 100%; max-width: 1450px; min-width: 0; margin-inline: auto; }
.portal-workspace-wide { max-width: none; }
.portal-workspace-wide > .page-head { max-width: none; }
.page-head { max-width: 1450px; margin: 0 auto 30px; display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; }
.eyebrow, .section-title > div > span, .card-kicker, .table-head > div > span, .archive-head > div > span { display: block; color: var(--red); text-transform: uppercase; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.page-head h1 { margin: 8px 0 7px; font-family: Nexa, Arial, sans-serif; font-size: clamp(34px, 4vw, 58px); line-height: 1; letter-spacing: -.035em; }
.page-head p { max-width: 740px; margin: 0; color: var(--muted); line-height: 1.55; }
.primary-button, .secondary-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 5px 19px; border-radius: 999px; border: 1px solid var(--red); font-size: 12px; line-height: 1.35; font-weight: 900; text-align: center; }
.primary-button { background: var(--red); color: white; }
.primary-button:hover { background: var(--red-dark); border-color: var(--red-dark); }
/* Secondary navigation and utility actions should not compete with the main CTA. */
.secondary-button { min-height: 36px; padding: 4px 14px; background: white; color: var(--ink); border-color: var(--line); font-weight: 700; }
.primary-button:focus-visible, .secondary-button:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.secondary-button span { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); color: var(--red); font-size: 9px; }
.link-button { text-decoration: none; }
.action-row, .hero-actions { display: flex; align-items: center; gap: 10px; }

.hero-panel, .section-block, .pricebook-banner, .variant-panel, .archive-card { max-width: 1450px; margin-left: auto; margin-right: auto; }
.hero-panel { min-height: 330px; display: grid; grid-template-columns: 1.6fr .55fr; align-items: center; gap: 35px; padding: clamp(32px, 5vw, 68px); border-radius: 26px; background: radial-gradient(circle at 80% 10%, #d63c51 0, transparent 29%), linear-gradient(135deg, #8d0d21, #b8152d 64%, #7b0b1e); color: white; box-shadow: 0 25px 55px rgba(125, 13, 32, .24); overflow: hidden; }
.status-pill { width: fit-content; display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.status-pill i { width: 6px; height: 6px; border-radius: 50%; background: #8ce1c2; box-shadow: 0 0 0 4px rgba(140,225,194,.14); }
.hero-panel h2 { margin: 20px 0 12px; font-size: clamp(38px, 5vw, 72px); line-height: .98; letter-spacing: -.05em; }
.hero-panel > div > p { max-width: 690px; color: #f5dfe3; font-size: 16px; line-height: 1.6; }
.primary-button.light { background: white; border-color: white; color: var(--red); }
.text-link { color: var(--red); font-size: 12px; font-weight: 900; }
.text-link.light { color: white; }
.text-link span { margin-left: 4px; }
.hero-metric { min-height: 210px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 30px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(255,255,255,.09); backdrop-filter: blur(12px); }
.hero-metric > span { color: #f2cdd3; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.hero-metric strong { font-size: 64px; line-height: 1; margin-top: 12px; }
.hero-metric p { margin: 5px 0 18px; color: #f2cdd3; }
.metric-bars { height: 48px; display: flex; align-items: end; gap: 7px; }
.metric-bars i { flex: 1; height: 30%; border-radius: 4px 4px 0 0; background: rgba(255,255,255,.38); }
.metric-bars i:nth-child(2) { height: 48%; }.metric-bars i:nth-child(3) { height: 38%; }.metric-bars i:nth-child(4) { height: 76%; }.metric-bars i:nth-child(5) { height: 100%; background: white; }

.section-block { margin-top: 44px; }
.section-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.section-title h2 { margin: 5px 0 0; font-size: 24px; letter-spacing: -.025em; }
.dashboard-resource-heading { margin-top: 32px; }
.section-title small { color: var(--muted); }
.section-title > a { color: var(--red); font-size: 11px; font-weight: 900; }
.module-grid { max-width: 1450px; margin: 0 auto 44px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.module-card { position: relative; min-height: 230px; padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 7px 20px rgba(51,49,50,.035); transition: transform .2s ease, box-shadow .2s ease; }
.module-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.module-card.muted { background: #f0efee; color: #888; }
.module-code { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--ink); color: white; font-size: 11px; font-weight: 900; }
.module-card:has(.live-label) .module-code { background: var(--red); }
.live-label, .soon-label { position: absolute; top: 24px; right: 22px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.live-label { color: var(--green); }.soon-label { color: #999; }
.module-card h2, .module-card h3 { margin: 26px 0 8px; font-size: 18px; }
.module-card p { min-height: 47px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.module-card footer { display: flex; justify-content: space-between; align-items: center; margin-top: 22px; font-size: 10px; }
.module-card footer b { color: var(--red); font-size: 17px; }
.dashboard-columns { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: 1.7fr .72fr; gap: 16px; }
.compact-list { border: 1px solid var(--line); border-radius: var(--radius); background: white; overflow: hidden; }
.compact-list a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 14px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.compact-list a:last-child { border-bottom: 0; }
.compact-list a:hover { background: #fafafa; }
.compact-list a > span:nth-child(2) { display: grid; gap: 4px; }
.compact-list small { color: var(--muted); font-size: 10px; }
.compact-list a > b { color: var(--red); }
.file-badge { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--red-soft); color: var(--red); font-size: 9px; font-weight: 900; }
.update-card { position: relative; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.date-box { width: 54px; height: 62px; display: grid; place-items: center; align-content: center; border-radius: 13px; background: var(--red); color: white; }
.date-box b { font-size: 21px; line-height: 1; }.date-box small { font-size: 8px; }
.update-card h3 { margin: 18px 0 8px; font-size: 18px; }.update-card > p { color: var(--muted); line-height: 1.55; font-size: 12px; }

.library-search { max-width: 1450px; margin: 0 auto 15px; display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 11px; border-radius: 17px; background: var(--ink); box-shadow: var(--shadow); }
.library-search label { display: flex; align-items: center; gap: 12px; padding: 0 13px; color: white; }
.library-search input { width: 100%; height: 45px; border: 0; outline: 0; background: transparent; color: white; font-size: 14px; }
.library-search input::placeholder { color: #bbb; }
.filter-row { max-width: 1450px; margin: 0 auto; display: flex; align-items: end; gap: 9px; padding: 15px 0 25px; border-bottom: 1px solid var(--line); }
.filter-row label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.filter-row select { min-width: 140px; height: 38px; padding: 0 32px 0 12px; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); font-size: 11px; text-transform: none; letter-spacing: 0; }
.clear-button { height: 38px; margin-left: auto; border: 0; background: transparent; color: var(--red); font-size: 10px; font-weight: 900; }
.results-toolbar { max-width: 1450px; margin: 22px auto 14px; display: flex; justify-content: space-between; align-items: center; }
.results-toolbar > div:first-child { display: flex; gap: 12px; align-items: baseline; }.results-toolbar span { color: var(--muted); font-size: 10px; }
.view-toggle { display: flex; padding: 3px; border-radius: 9px; background: #eae9e8; }
.view-toggle button { padding: 6px 11px; border: 0; border-radius: 7px; background: transparent; font-size: 10px; }
.view-toggle button.active { background: white; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.resource-grid { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.resource-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: white; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.resource-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.resource-cover { position: relative; height: 185px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; overflow: hidden; background: #e9e8e7; }
.resource-cover::after { content: ""; position: absolute; width: 210px; height: 210px; right: -60px; bottom: -100px; border-radius: 50%; border: 36px solid rgba(174,19,42,.14); }
.resource-cover span { width: fit-content; padding: 5px 8px; border-radius: 999px; background: white; color: var(--red); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.resource-cover strong { font-size: 12px; letter-spacing: .05em; }
.resource-cover b { position: relative; z-index: 2; color: var(--red); font-size: 29px; letter-spacing: -.04em; }
.resource-cover .resource-type-badge { position: relative; z-index: 4; pointer-events: none; }
.resource-thumbnail { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; object-fit: contain; border: 0; background: #f4f3f2; opacity: 0; pointer-events: none; }
.resource-pdf-thumbnail { object-fit: cover; object-position: top; }
.resource-cover video.resource-thumbnail { opacity: 1; background: transparent; }
.resource-cover.is-preview-ready .resource-thumbnail { opacity: 1; }
.resource-cover.is-preview-ready .resource-cover-fallback { visibility: hidden; }
.resource-cover-link { position: absolute; z-index: 5; inset: 0; }
.resource-cover-link:focus-visible { outline-offset: -4px; }
.resource-detail-preview { min-width: 0; padding: 20px; border-radius: var(--radius); background: #eeedeb; }
.resource-preview-image, .resource-preview-video { display: block; width: 100%; max-height: 720px; object-fit: contain; }
.resource-preview-pdf { display: block; width: 100%; height: auto; border: 0; background: white; }
.resource-preview-pdf[hidden], .resource-thumbnail[hidden] { display: none; }
.resource-detail-preview audio { display: block; width: 100%; margin: 35px 0; }
.resource-preview-note { padding: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.resource-preview-note a { color: var(--red); text-decoration: underline; }
.filter-row { flex-wrap: wrap; }
.filter-row select { max-width: 260px; }
.taxonomy-search-feedback { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 9px; }
.taxonomy-search-feedback p { margin: 0; color: var(--muted); font-size: 10px; }
.taxonomy-search-feedback button { font-size: 10px; }
.taxonomy-search-feedback button[hidden], .taxonomy-no-matches[hidden] { display: none; }
.taxonomy-no-matches { padding: 10px; border-radius: 8px; background: var(--red-soft); color: var(--red); font-size: 11px; line-height: 1.5; }
.taxonomy-picker-help { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.taxonomy-picker-help a { color: var(--red); text-decoration: underline; }
.cover-1 { background: #363334; color: white; }.cover-1::after { border-color: rgba(255,255,255,.11); }.cover-1 span { color: var(--ink); }
.cover-2 { background: #efe1e3; }
.resource-body { padding: 20px; }
.resource-meta { display: flex; justify-content: space-between; color: var(--red); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.resource-meta button { border: 0; background: transparent; color: var(--ink); font-size: 20px; }
.resource-body h2 { margin: 10px 0 8px; font-size: 17px; }.resource-body h2 a:hover { color: var(--red); }
@media (min-width: 1101px) and (max-width: 1279px) { .resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }.tag-row span { padding: 5px 8px; border-radius: 999px; background: var(--surface); color: #666; font-size: 9px; }
.resource-body footer { margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.resource-body footer small { color: #999; font-size: 9px; }.resource-body footer a { color: var(--red); font-size: 10px; font-weight: 900; }
.resource-grid.list-view { grid-template-columns: 1fr; }
.list-view .resource-card { display: grid; grid-template-columns: 220px 1fr; }.list-view .resource-cover { height: 100%; min-height: 190px; }.list-view .resource-body p { min-height: auto; }
.empty-state { max-width: 1450px; margin: 20px auto; padding: 50px; border: 1px dashed #ccc; border-radius: var(--radius); text-align: center; }.empty-state p { color: var(--muted); }

.detail-layout, .detail-grid { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; }
.document-preview { min-height: 780px; padding: 0 30px 45px; border-radius: var(--radius); background: #dedddb; overflow: hidden; }
.preview-toolbar { height: 58px; display: flex; justify-content: space-between; align-items: center; color: #666; font-size: 10px; }
.preview-toolbar > div { display: flex; align-items: center; gap: 10px; }.preview-toolbar button { padding: 5px 9px; border: 1px solid #ccc; border-radius: 7px; background: white; }
.paper { position: relative; width: min(590px, 86%); aspect-ratio:  .707; margin: 0 auto; padding: 50px; background: white; box-shadow: 0 18px 40px rgba(0,0,0,.18); overflow: hidden; }
.paper::after { content: ""; position: absolute; width: 430px; height: 430px; right: -160px; bottom: 40px; border-radius: 50%; border: 70px solid var(--red-soft); }
.paper-label { color: var(--red); font-size: 8px; font-weight: 900; letter-spacing: .16em; }.paper-brand { position: absolute; right: 48px; top: 49px; font-size: 11px; }
.paper h2 { margin: 90px 0 10px; color: var(--red); font-size: clamp(36px, 5vw, 58px); line-height: 1.02; letter-spacing: -.05em; }
.paper > p { color: var(--muted); }.paper-figure { position: relative; z-index: 2; width: 62%; height: 170px; margin: 70px 0 0 auto; display: flex; align-items: end; justify-content: center; gap: 12px; }
.paper-figure i { display: block; width: 28px; height: 130px; border: 10px solid var(--ink); border-top: 0; border-radius: 0 0 17px 17px; transform: rotate(12deg); }.paper-figure i:nth-child(2) { height: 165px; transform: rotate(-5deg); border-color: var(--red); }.paper-figure i:nth-child(3) { height: 110px; transform: rotate(-18deg); }
.paper footer { position: absolute; z-index: 3; left: 50px; right: 50px; bottom: 35px; display: flex; justify-content: space-between; align-items: end; }.paper footer b { color: var(--red); font-size: 30px; }.paper footer span { color: #999; font-size: 8px; }
.detail-panel { display: grid; align-content: start; gap: 12px; }
.info-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.info-card > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.info-card dl { margin: 20px 0 0; }.info-card dl div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 10px; }.info-card dt { color: var(--muted); }.info-card dd { margin: 0; font-weight: 800; text-align: right; }
.related-link { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); }.related-link:first-of-type { margin-top: 12px; }.related-link > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--red-soft); color: var(--red); font-size: 10px; font-weight: 900; }.related-link > div { display: grid; gap: 3px; }.related-link strong { font-size: 10px; }.related-link small { color: var(--muted); font-size: 8px; }.related-link > b { color: var(--red); }

.pricebook-banner { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 28px 32px; border-radius: var(--radius); background: var(--ink); color: white; }
.pricebook-banner .status-pill { padding: 5px 9px; }.pricebook-banner h2 { margin: 13px 0 5px; font-size: 24px; }.pricebook-banner p { margin: 0; color: #c9c7c7; font-size: 11px; }
.approval { padding-left: 28px; border-left: 1px solid #5f5b5d; display: grid; gap: 4px; }.approval span { color: #8ce1c2; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }.approval strong { font-size: 11px; }.approval small { color: #aaa; font-size: 9px; }
.variant-panel { margin-top: 14px; padding: 17px; display: grid; grid-template-columns: repeat(3, 1fr) 1.2fr; gap: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.variant-panel > div { display: grid; grid-template-columns: 28px 1fr; align-items: end; gap: 9px; }.variant-panel > div > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); color: var(--red); font-size: 9px; font-weight: 900; }
.variant-panel label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 800; }.variant-panel select { height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); font-size: 11px; font-weight: 800; }
.variant-panel .variant-result { display: grid; align-content: center; grid-template-columns: 1fr; padding: 0 18px; border-left: 1px solid var(--line); }.variant-result small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }.variant-result strong { margin: 3px 0; color: var(--red); }.variant-result > span { color: var(--green); font-size: 9px; }
.pricebook-layout { max-width: 1450px; margin: 16px auto 0; display: grid; grid-template-columns: 210px 1fr; gap: 16px; }
.contents-panel { height: fit-content; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }.contents-panel > span { display: block; margin: 3px 8px 12px; color: #999; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }.contents-panel a { display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 5px; padding: 12px 8px; border-radius: 9px; color: #666; font-size: 11px; }.contents-panel a b { color: #aaa; font-size: 8px; }.contents-panel a.active { background: var(--red-soft); color: var(--red); font-weight: 900; }.contents-panel a.active b { color: var(--red); }
.pricebook-content { max-width: 1450px; min-width: 0; margin: 16px auto 0; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.price-table td small, table td small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.table-head, .archive-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 18px; }.table-head h2, .archive-head h2 { margin: 5px 0 0; font-size: 21px; }.table-head label, .archive-head label { min-width: 250px; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; }.table-head input, .archive-head input { width: 100%; border: 0; outline: 0; font-size: 10px; }
.price-table-wrap, .archive-table-wrap { overflow-x: auto; }.price-table, .archive-table { width: 100%; border-collapse: collapse; font-size: 11px; }.price-table th, .archive-table th { padding: 11px 12px; background: var(--surface); color: var(--muted); text-align: left; font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }.price-table td, .archive-table td { padding: 15px 12px; border-bottom: 1px solid var(--line); }.price-table td:first-child { color: #999; font-size: 9px; }.price-table td:nth-child(2) { font-weight: 900; }.price-table .price { color: var(--red); font-weight: 900; }.price-table button { border: 0; background: transparent; }
.pricebook-note { margin-top: 20px; padding: 16px; display: grid; grid-template-columns: 130px 1fr; gap: 18px; border-left: 3px solid var(--red); background: var(--red-soft); }.pricebook-note strong { color: var(--red); font-size: 10px; }.pricebook-note p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }

.archive-summary { max-width: 1450px; margin: 0 auto 15px; display: grid; grid-template-columns: 1.4fr .65fr .8fr; gap: 12px; }.archive-summary > div { padding: 20px; display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 15px; background: white; }.archive-summary span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }.archive-summary strong { font-size: 17px; }.archive-summary small { color: #999; font-size: 9px; }
.archive-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.archive-table td:first-child { display: flex; align-items: center; gap: 9px; }.pdf-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--red-soft); color: var(--red); font-size: 8px; font-weight: 900; }.current-badge, .archive-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 8px; font-weight: 900; }.current-badge { background: #e7f4ee; color: var(--green); }.archive-badge { background: var(--surface); color: var(--muted); }.archive-table button { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 9px; font-weight: 900; }
.archive-foot { display: flex; justify-content: space-between; gap: 20px; padding-top: 18px; color: var(--muted); font-size: 9px; }.archive-foot a { color: var(--red); font-weight: 900; }
.loading-view { padding: 20px; }.loading-grid { display: grid; grid-template-columns: 230px 1fr; gap: 24px; margin-top: 18px; }.loading-grid > div { display: grid; gap: 18px; }

.guest-body { min-height: 100vh; background: radial-gradient(circle at 85% 8%, #cc4054 0, transparent 27%), linear-gradient(145deg, #7d0d20, #ae132a 55%, #333132); }
.guest-content { position: relative; min-height: 100vh; display: grid; place-items: center; overflow: hidden; padding: 30px; }
.auth-card { position: relative; z-index: 1; width: min(470px, 100%); padding: clamp(30px, 5vw, 52px); border-radius: 24px; background: white; box-shadow: 0 30px 70px rgba(36,8,13,.28); }
.auth-logo-lockup { display: flex; align-items: flex-end; gap: 11px; margin-bottom: 45px; }.auth-logo-lockup img { display: block; width: min(250px, 76%); height: auto; }.auth-logo-lockup span { padding-bottom: 22px; color: var(--red); font-family: Nexa, Arial, sans-serif; font-size: 15px; font-weight: 900; letter-spacing: .16em; }
.auth-brand-symbol { position: absolute; right: clamp(-145px, -6vw, -65px); bottom: clamp(20px, 8vh, 90px); width: clamp(360px, 43vw, 650px); height: auto; opacity: .24; pointer-events: none; user-select: none; }
.auth-card h1 { margin: 8px 0; font-size: 38px; letter-spacing: -.035em; }.auth-card > p { margin: 0 0 26px; color: var(--muted); line-height: 1.55; }
.stack-form { display: grid; gap: 16px; }.stack-form label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.stack-form input:not([type="checkbox"]):not([type="radio"]), .stack-form select, .stack-form textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); font-size: 13px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.stack-form textarea { resize: vertical; }.stack-form fieldset { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }.stack-form legend { padding: 0 6px; color: var(--muted); font-size: 10px; font-weight: 900; }
.stack-form .choice { display: flex; align-items: center; gap: 8px; margin: 6px 0; text-transform: none; }.stack-form .choice input { width: auto; min-height: auto; }
.pricebook-access-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; }
.pricebook-access-options fieldset { min-width: 0; }
.pricebook-access-options .choice { padding: 8px; cursor: pointer; border-radius: 6px; }
.pricebook-access-options .choice:has(input:checked) { background: var(--red-soft, #fbeef0); }
.pricebook-access-options input { accent-color: var(--red); }
.pricebook-access-options input:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.stack-form .primary-button { width: fit-content; margin-top: 4px; }
.panel { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }.panel h2 { margin: 0 0 20px; }.narrow-panel { max-width: 660px; margin: 0 auto; }
.admin-grid { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: minmax(310px, .65fr) 1.35fr; gap: 16px; align-items: start; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }.full-button { width: 100%; margin-top: 20px; }
.resource-admin-grid { grid-template-columns: minmax(300px, .48fr) 1.52fr; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.panel-heading h2 { margin: 4px 0 0; }.panel-heading > span { color: var(--muted); font-size: 10px; font-weight: 800; }
.editor-layout { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 18px; align-items: start; }
.workflow-strip { max-width: 1450px; margin: -10px auto 22px; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; }.workflow-strip span { position: relative; min-height: 46px; display: grid; place-items: center; color: #999; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }.workflow-strip span + span { border-left: 1px solid var(--line); }.workflow-strip span.active { background: var(--red-soft); color: var(--red); }.workflow-strip span.active::after { content: ""; position: absolute; inset: auto 18px 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--red); }
.locked-content { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }.locked-content strong { display: block; margin-bottom: 8px; }.locked-content p { color: var(--muted); line-height: 1.6; }.locked-content small { color: #888; }
.workflow-actions p { color: var(--muted); font-size: 12px; line-height: 1.6; }.workflow-actions form + form { margin-top: 10px; }.workflow-actions form + form .full-button { margin-top: 0; }.danger-button { color: #8e1025; border-color: #dfb6bd; }
.file-list, .version-list { display: grid; gap: 10px; margin-top: 18px; }.file-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }.file-list span { color: var(--muted); font-size: 10px; }
.version-list > div { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; padding: 13px 0; border-bottom: 1px solid var(--line); }.version-list > div:last-child { border-bottom: 0; }.version-list b { color: var(--red); }.version-list .status { justify-self: end; }.version-list strong, .version-list small { grid-column: 1 / -1; }.version-list small { color: var(--muted); font-size: 9px; }
.panel-stack { display: grid; gap: 16px; }.compact-button { min-height: 32px; padding: 4px 12px; font-size: 11px; }.form-status { color: var(--muted); font-size: 10px; }.stack-form progress { width: 100%; accent-color: var(--red); }
/* Filter actions align with fields, without inheriting large CTA dimensions. */
.filter-row .secondary-button, .news-filters .secondary-button, .pb-profile-form .secondary-button { min-height: 38px; padding: 4px 14px; }
@media (pointer: coarse) {
  .primary-button, .secondary-button, .compact-button,
  .filter-row .secondary-button, .news-filters .secondary-button, .pb-profile-form .secondary-button { min-height: 44px; }
}
.admin-section-title { max-width: 1450px; margin: 44px auto 17px; }.three-panel-grid { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }.panel-span-2 { grid-column: span 2; }.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.inventory-panel { max-width: 1450px; margin: 16px auto 0; }
.table-wrap { overflow-x: auto; }.table-panel table { width: 100%; border-collapse: collapse; font-size: 11px; }.table-panel th { padding: 11px 12px; background: var(--surface); color: var(--muted); text-align: left; font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }.table-panel td { padding: 14px 12px; border-bottom: 1px solid var(--line); }
.status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 8px; font-weight: 900; text-transform: uppercase; }.status-active, .status-published, .status-clean { background: #e7f4ee; color: var(--green); }.status-pending, .status-review { background: #fff4d8; color: #855e00; }.status-draft, .status-uploading, .status-processing { background: #edf1f8; color: #485f82; }.status-archived, .status-superseded { background: #efeeee; color: #777; }.status-infected, .status-error, .status-failed { background: var(--red-soft); color: var(--red); }
.alert { max-width: 1450px; margin: 0 auto 18px; padding: 13px 16px; border-radius: 11px; border: 1px solid; font-size: 12px; }.alert-success { color: #175d45; background: #e7f4ee; border-color: #bbdfd1; }.alert-error { color: #7d0d20; background: var(--red-soft); border-color: #eac4ca; }
.empty-inline { padding: 22px; color: var(--muted); text-align: center; }.error-state { margin-top: 120px; background: white; }.error-state h1 { margin: 8px 0; font-size: 56px; }

.setup-notice { max-width: 1450px; margin: 0 auto 18px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #e5cf96; border-radius: 14px; background: #fff8e5; }.setup-notice > div { display: grid; gap: 5px; }.setup-notice strong { font-size: 13px; }
.resource-entry-grid { max-width: 1450px; margin: 0 auto 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.resource-entry-card { min-height: 210px; padding: 24px; display: grid; grid-template-columns: 48px 1fr; grid-template-rows: 1fr auto; gap: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: white; color: var(--ink); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }.resource-entry-card:hover { transform: translateY(-2px); border-color: #d2a5ad; box-shadow: 0 14px 30px rgba(60, 25, 31, .08); }.resource-entry-card .entry-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--red-soft); color: var(--red); font-size: 22px; font-weight: 900; }.resource-entry-card h2 { margin: 5px 0 7px; font-size: 21px; }.resource-entry-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }.resource-entry-card > b { grid-column: 1 / -1; color: var(--red); font-size: 10px; }.resource-entry-card.settings-card .entry-icon { background: var(--surface); color: var(--ink); }.resource-entry-card.disabled { pointer-events: none; opacity: .48; }.resource-inventory-panel { max-width: 1450px; margin: 0 auto; }
.upload-publisher { max-width: 1450px; margin: 0 auto; }.upload-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); gap: 18px; align-items: start; }.panel-stack { display: grid; gap: 18px; }.panel-stack h2 { margin: 5px 0 0; }.drop-zone { min-height: 255px; padding: 34px; display: grid; place-items: center; align-content: center; gap: 8px; border: 2px dashed #d7c4c8; border-radius: 18px; background: linear-gradient(145deg, #fff, #fcf7f8); text-align: center; cursor: pointer; transition: border-color .18s ease, background .18s ease; }.drop-zone:hover, .drop-zone:focus, .drop-zone.is-dragging { outline: 0; border-color: var(--red); background: var(--red-soft); }.drop-zone .drop-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: white; font-size: 24px; font-weight: 900; }.drop-zone strong { margin-top: 6px; font-size: 18px; }.drop-zone p { margin: 0; color: var(--muted); }.drop-zone small { color: #888; font-size: 9px; }
.selected-files { display: grid; gap: 8px; }.selected-files > p { margin: 0; color: var(--muted); font-size: 11px; }.selected-file { display: grid; grid-template-columns: minmax(0, 1fr) auto 28px; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; }.selected-file span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 800; }.selected-file small { color: var(--muted); font-size: 9px; }.selected-file button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--surface); color: var(--muted); cursor: pointer; }
.stack-field { display: grid; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 900; }.stack-field > span { color: var(--muted); font-size: 9px; font-weight: 500; }.stack-field input, .stack-field select, .stack-field textarea { width: 100%; min-height: 44px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); font: inherit; font-weight: 400; resize: vertical; }
.taxonomy-new-term { margin-top: 12px; }
.taxonomy-fields { display: grid; gap: 13px; }.taxonomy-picker { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }.taxonomy-picker legend { padding: 0 5px; font-size: 11px; font-weight: 900; }.taxonomy-picker legend span { margin-left: 6px; color: var(--muted); font-size: 8px; font-weight: 500; }.taxonomy-search input { width: 100%; height: 38px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; font-size: 10px; }.taxonomy-options { max-height: 180px; margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; overflow-y: auto; }.taxonomy-options label { min-width: 0; padding: 9px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 10px; cursor: pointer; }.taxonomy-options label:has(input:checked) { border-color: #d5a5ad; background: var(--red-soft); color: var(--red); font-weight: 900; }.taxonomy-options label[hidden] { display: none; }.taxonomy-options input { accent-color: var(--red); }.taxonomy-options p { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.publish-summary { padding: 15px; border-left: 3px solid var(--red); border-radius: 0 10px 10px 0; background: var(--red-soft); }.publish-summary strong { font-size: 11px; }.publish-summary p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.upload-results { margin-top: 18px; }.upload-result-list { display: grid; gap: 10px; }.upload-result-item { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(120px, .6fr) auto auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; }.upload-result-main { min-width: 0; display: grid; gap: 3px; }.upload-result-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.upload-result-main small, .retry-note { color: var(--muted); font-size: 9px; }.upload-result-item progress { width: 100%; accent-color: var(--red); }.upload-item-error { grid-column: 1 / -1; margin: 0; color: var(--red); font-size: 10px; }.upload-result-item > .retry-note { grid-column: 1 / -1; }
.single-publish-form { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: 18px; align-items: start; }.success-card { max-width: 1100px; margin: 0 auto 18px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #bbdfd1; border-radius: 14px; background: #e7f4ee; }.success-card > div { display: grid; gap: 5px; }
.taxonomy-admin-grid { grid-template-columns: 340px minmax(0, 1fr); }.taxonomy-admin-list { display: grid; gap: 9px; }.taxonomy-admin-row { padding: 12px; display: grid; grid-template-columns: 80px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 10px; }.taxonomy-admin-row > form:first-of-type { min-width: 0; display: flex; gap: 8px; }.taxonomy-admin-row input[name="label"] { min-width: 0; flex: 1; height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; }.taxonomy-admin-row small { color: var(--muted); font-size: 9px; }.taxonomy-admin-row.inactive { opacity: .58; }
.taxonomy-admin-row > .status:first-child { width: 80px; max-width: 100%; justify-content: center; }
.help-page-head { margin-bottom: 20px; }.help-jump-links { max-width: 1450px; margin: 0 auto 18px; padding: 10px; display: flex; flex-wrap: wrap; gap: 7px; border: 1px solid var(--line); border-radius: 14px; background: white; }.help-jump-links a { min-height: 34px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: 9px; color: var(--muted); font-size: 10px; font-weight: 900; }.help-jump-links a:hover { background: var(--red-soft); color: var(--red); }.help-layout { max-width: 1450px; margin: 0 auto; display: grid; gap: 16px; }.help-section { scroll-margin-top: 95px; padding: clamp(22px, 3vw, 34px); display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }.help-section-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; background: var(--red-soft); color: var(--red); font-family: Nexa, Arial, sans-serif; font-size: 14px; font-weight: 900; }.help-section h2 { margin: 6px 0 22px; font-size: clamp(22px, 2.5vw, 31px); }.help-steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; counter-reset: help-step; }.help-steps li { min-height: 105px; padding: 16px; display: grid; align-content: start; gap: 7px; border-radius: 12px; background: var(--surface); counter-increment: help-step; }.help-steps li strong::before { content: counter(help-step) ". "; color: var(--red); }.help-steps li strong { font-size: 12px; }.help-steps li span { color: var(--muted); font-size: 11px; line-height: 1.55; }.help-note { margin: 15px 0 0; padding: 13px 15px; border-left: 3px solid var(--red); background: var(--red-soft); color: var(--muted); font-size: 10px; line-height: 1.55; }.help-subsections, .planned-module-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.help-subsections > div, .planned-module-list > div { padding: 17px; border: 1px solid var(--line); border-radius: 12px; }.help-subsections h3 { margin: 0 0 7px; font-size: 13px; }.help-subsections p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.58; }.planned-module-list > div { display: grid; gap: 5px; background: var(--surface); }.planned-module-list strong { font-size: 12px; }.planned-module-list span { color: var(--muted); font-size: 10px; line-height: 1.5; }.help-contact { max-width: 1450px; margin: 18px auto 0; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-radius: var(--radius); background: var(--ink); color: white; }.help-contact h2 { margin: 6px 0; font-size: 22px; }.help-contact p { margin: 0; color: #c9c7c7; font-size: 11px; }.help-contact .secondary-button { flex: none; background: white; }

@media (max-width: 1120px) {
  .module-grid { grid-template-columns: repeat(2, 1fr); }
  .resource-grid { grid-template-columns: repeat(2, 1fr); }
  .variant-panel { grid-template-columns: repeat(3, 1fr); }.variant-panel .variant-result { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); padding-top: 14px; }
  .detail-layout, .detail-grid { grid-template-columns: 1fr; }.detail-panel { grid-template-columns: repeat(3, 1fr); }
  .admin-grid { grid-template-columns: 1fr; }
  .editor-layout { grid-template-columns: 1fr; }
  .three-panel-grid { grid-template-columns: 1fr; }.panel-span-2 { grid-column: auto; }
  .resource-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .upload-layout { grid-template-columns: 1fr; }
  .taxonomy-admin-grid { grid-template-columns: 1fr; }
  .help-steps, .help-subsections, .planned-module-list { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .topbar { grid-template-columns: auto minmax(0, 1fr) auto; padding: 0 12px; gap: 8px; }
  .portal-menu-toggle { width: 44px; height: 44px; }
  .panel, .panel-stack, .stack-form, .stack-form label, .stack-form fieldset { min-width: 0; }
  .table-wrap { max-width: 100%; }
  .menu-button { width: 38px; height: 38px; display: grid; place-content: center; gap: 5px; border: 0; border-radius: 9px; background: var(--surface); }.menu-button span { width: 17px; height: 2px; background: var(--ink); }
  .global-search { display: none; }.profile-button > span:nth-child(2), .profile-button i, .icon-button { display: none; }
  .sidebar { transform: translateX(-102%); transition: transform .22s ease; }.sidebar.is-open { transform: translateX(0); }
  .nav-backdrop { position: fixed; z-index: 20; inset: 72px 0 0 0; border: 0; background: rgba(0,0,0,.3); }
  .main, .main-content { margin-left: 0; padding: 102px 18px 40px; }
  .profile-details { display: none; }
  .page-head { align-items: flex-start; flex-direction: column; }.page-head h1 { font-size: 38px; }
  .hero-panel { grid-template-columns: 1fr; }.hero-metric { min-height: 150px; }
  .dashboard-columns, .pricebook-layout { grid-template-columns: 1fr; }.contents-panel { display: none; }
  .filter-row { overflow-x: auto; padding-bottom: 18px; }.filter-row .clear-button { min-width: 90px; }
  .detail-panel { grid-template-columns: 1fr; }
  .archive-summary { grid-template-columns: 1fr; }
  .workflow-strip { grid-template-columns: repeat(2, 1fr); }.workflow-strip span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.workflow-strip span:nth-child(4) { border-top: 1px solid var(--line); }
  .header-help b { display: none; }.header-help { min-width: 44px; min-height: 44px; padding: 0; justify-content: center; }
  .taxonomy-admin-row { grid-template-columns: 80px minmax(0, 1fr); }
  .taxonomy-admin-row > form:first-of-type { grid-column: 1 / -1; grid-row: 2; }
  .taxonomy-admin-row > small { grid-column: 2; grid-row: 1; justify-self: end; }
  .taxonomy-admin-row > form:last-child, .taxonomy-admin-row > .status-archived { grid-column: 1 / -1; grid-row: 3; justify-self: start; }
  .taxonomy-admin-row .text-button { min-height: 44px; }
  .single-publish-form { grid-template-columns: 1fr; }
  .upload-result-item { grid-template-columns: 1fr auto; }.upload-result-item progress { grid-column: 1 / -1; grid-row: 2; }.upload-result-item > .secondary-button { grid-column: 1 / -1; width: fit-content; }
}

@media (max-width: 600px) {
  .brand b { display: none; }
  .brand { font-size: 17px; }
  .profile-area { gap: 4px; }
  .profile-area .avatar { display: none; }
  .profile-area .text-button { min-height: 44px; }
  .panel { padding: 18px 14px; }
  .panel-heading { flex-wrap: wrap; gap: 10px; }
  .page-head h1 { font-size: 32px; overflow-wrap: anywhere; }
  .action-row { flex-wrap: wrap; }
  .field-pair { grid-template-columns: minmax(0, 1fr); }
  .stack-form input:not([type="checkbox"]):not([type="radio"]), .stack-form select, .stack-form textarea, .taxonomy-admin-row input[name="label"] { font-size: 16px; }
  .resource-body h2, .resource-body footer small, .file-list strong { overflow-wrap: anywhere; }
  .resource-body footer { gap: 10px; }
  .resource-body footer small { min-width: 0; }
  .resource-body footer a { flex-shrink: 0; }
  .guest-content { padding: 18px; }
  .auth-logo-lockup { gap: 8px; }.auth-logo-lockup img { width: min(220px, calc(100% - 90px)); }.auth-logo-lockup span { flex-shrink: 0; font-size: 15px; }
  .auth-brand-symbol { right: -150px; bottom: -10px; width: 390px; opacity: .15; }
  .page-action, .page-action .action-row { width: 100%; }.page-action .primary-button, .page-action .secondary-button { flex: 1; }
  .hero-panel { padding: 28px 22px; }.hero-panel h2 { font-size: 40px; }.hero-actions { align-items: flex-start; flex-direction: column; }
  .module-grid, .resource-grid { grid-template-columns: 1fr; }
  .dashboard-columns { display: block; }.dashboard-columns .section-block { margin-top: 30px; }
  .library-search { grid-template-columns: minmax(0, 1fr); }.library-search .primary-button { display: inline-flex; }
  .library-search input { min-width: 0; font-size: 16px; }
  .filter-row { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; }
  .filter-row label { min-width: 0; }
  .filter-row select { width: 100%; min-width: 0; max-width: none; min-height: 44px; font-size: 16px; }
  .filter-row .clear-button { min-height: 44px; display: grid; place-items: center; }
  .results-toolbar > div:first-child { display: grid; gap: 3px; }
  .list-view .resource-card { grid-template-columns: 1fr; }
  .document-preview { min-height: 560px; padding: 0 12px 25px; }.paper { width: 100%; padding: 30px; }.paper-brand { right: 28px; top: 30px; }.paper h2 { margin-top: 70px; font-size: 38px; }.paper footer { left: 30px; right: 30px; }
  .pricebook-banner { align-items: flex-start; flex-direction: column; }.approval { padding: 15px 0 0; border-left: 0; border-top: 1px solid #5f5b5d; }
  .variant-panel { grid-template-columns: 1fr; }.variant-panel .variant-result { grid-column: auto; }
  .pricebook-content, .archive-card { padding: 18px 13px; }.table-head, .archive-head { align-items: stretch; flex-direction: column; }.table-head label, .archive-head label { min-width: 0; }
  .archive-foot { flex-direction: column; }
  .file-list > div { grid-template-columns: 1fr; }
  .setup-notice { align-items: stretch; flex-direction: column; }.resource-entry-grid { grid-template-columns: 1fr; }.resource-entry-card { min-height: 185px; }
  .taxonomy-options { grid-template-columns: 1fr; }.drop-zone { min-height: 220px; padding: 24px 16px; }.selected-file { grid-template-columns: minmax(0, 1fr) 28px; }.selected-file small { display: none; }
  .success-card { align-items: stretch; flex-direction: column; }
  .taxonomy-admin-row > form:first-of-type { flex-wrap: wrap; }
  .taxonomy-admin-row input[name="label"] { flex-basis: 100%; min-height: 44px; }
  .help-section { grid-template-columns: 1fr; }.help-section-mark { width: 44px; height: 44px; }.help-contact { align-items: stretch; flex-direction: column; }.help-contact .secondary-button { width: 100%; }
}
[data-activation-form] [data-temp-password][hidden] { display: none; }

.resource-filter-row { position: relative; z-index: 10; overflow: visible; flex-wrap: wrap; }
.resource-tag-control { min-width: 140px; display: grid; gap: 6px; }
.resource-tag-control > span { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.resource-tag-filter { position: relative; }
.resource-tag-filter summary { display: flex; align-items: center; justify-content: space-between; height: 38px; padding: 0 12px; cursor: pointer; border: 1px solid var(--line); border-radius: 10px; background: white; font-size: 11px; font-weight: 700; }
.resource-tag-filter summary::-webkit-details-marker { display: none; }
.resource-tag-filter summary::after { content: ''; width: 6px; height: 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.resource-tag-filter[open] summary::after { transform: rotate(225deg); }
.resource-tag-filter fieldset { position: absolute; inset: 100% 0 auto; z-index: 5; min-width: 0; max-height: 15rem; overflow-y: auto; margin: 4px 0 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: 0 6px 18px #0002; }
.resource-tag-filter small { color: var(--muted); font-size: 10px; }
.resource-tag-filter fieldset label { display: flex; align-items: center; gap: 7px; padding: 6px 0; color: var(--ink); font-size: 12px; font-weight: 500; text-transform: none; letter-spacing: normal; overflow-wrap: anywhere; cursor: pointer; }
.resource-tag-filter input { accent-color: var(--red); }
@media (max-width: 640px) { .resource-tag-filter fieldset { position: static; } .resource-tag-filter fieldset label { min-height: 40px; } .resource-tag-filter summary { height: 44px; font-size: 16px; } }
.resource-body footer .secondary-button { min-height: 32px; padding: 4px 10px; }
.resource-body footer small { overflow-wrap: anywhere; }

.stack-form .taxonomy-options label { text-transform: none; letter-spacing: normal; }
.taxonomy-options input[type="checkbox"] { width: 16px; height: 16px; flex: none; margin: 0; }

.resource-confirm summary { width: fit-content; cursor: pointer; list-style: none; }
.resource-confirm summary::-webkit-details-marker { display: none; }
.resource-confirm:not([open]) summary span:last-child,
.resource-confirm[open] summary span:first-child { display: none; }
.resource-confirm p { overflow-wrap: anywhere; }
