:root {
  --ink: #171511;
  --muted: #6f6a61;
  --paper: #f4f1ea;
  --surface: #fffdf8;
  --surface-2: #ece6da;
  --line: #dcd5c8;
  --gold: #b88a28;
  --gold-bright: #e1ba55;
  --gold-soft: #f3e7bd;
  --green: #267549;
  --green-soft: #e0f1e7;
  --red: #a0443b;
  --red-soft: #f8e3e0;
  --blue: #3d668c;
  --blue-soft: #e2edf6;
  --shadow: 0 16px 50px rgba(37, 29, 15, .08);
  font-family: Inter, Aptos, "Segoe UI", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}
[hidden] { display: none !important; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
.muted { color: var(--muted); }
.eyebrow { margin: 0 0 8px; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.app-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 20px 14px; background: #12110f; color: #f7f1e4; z-index: 20; }
.brand { display: flex; height: 74px; padding: 0 9px 18px; align-items: center; border-bottom: 1px solid #302d27; }
.brand img { display: block; width: 142px; max-height: 57px; object-fit: contain; object-position: left center; }
.side-nav { display: grid; gap: 4px; padding-top: 20px; }
.side-nav a { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 10px; color: #aaa496; font-size: 13px; transition: .16s ease; }
.side-nav a span { display: grid; width: 18px; place-items: center; color: #827a6a; font-size: 16px; }
.side-nav a:hover { background: #22201c; color: #fff; }
.side-nav a.active { background: linear-gradient(120deg, #d4aa48, #b98525); color: #17130c; box-shadow: 0 8px 22px rgba(176, 130, 31, .2); }
.side-nav a.active span { color: #17130c; }
.sidebar-user { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; margin-top: auto; padding: 15px 7px 0; border-top: 1px solid #302d27; }
.user-avatar, .mini-avatar { display: grid; place-items: center; border-radius: 10px; background: #332c1c; color: var(--gold-bright); font-weight: 600; }
.user-avatar { width: 34px; height: 34px; }
.sidebar-user strong, .sidebar-user span { display: block; }
.sidebar-user strong { font-size: 12px; font-weight: 500; }
.sidebar-user span { margin-top: 2px; color: #8f897d; font-size: 10px; }
.icon-button { border: 0; background: transparent; color: #938c7e; font-size: 18px; }
.main-area { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 16px; min-height: 78px; padding: 14px 28px; border-bottom: 1px solid var(--line); background: rgba(255, 253, 248, .92); backdrop-filter: blur(12px); }
.topbar h1 { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.topbar p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.topbar-actions { display: flex; gap: 8px; margin-left: auto; }
.notification-menu { position: relative; }
.notification-menu > summary { position: relative; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); cursor: pointer; list-style: none; }
.notification-menu > summary::-webkit-details-marker { display: none; }
.notification-menu > summary b { position: absolute; top: -5px; right: -5px; display: grid; min-width: 17px; height: 17px; place-items: center; border-radius: 999px; background: var(--gold); color: white; font-size: 8px; }
.notification-popover { position: absolute; z-index: 30; top: 46px; right: 0; width: min(330px, calc(100vw - 30px)); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
.notification-popover header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.notification-popover header strong { font-size: 11px; }
.notification-popover header button { border: 0; background: transparent; color: var(--gold); font-size: 9px; }
.notification-popover > a { display: block; padding: 11px 14px; border-bottom: 1px solid var(--line); }
.notification-popover > a:last-child { border-bottom: 0; }
.notification-popover span, .notification-popover small { display: block; }
.notification-popover span { font-size: 10px; line-height: 1.4; }
.notification-popover small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.mobile-menu { display: none; border: 0; background: transparent; font-size: 20px; }
.page-content { max-width: 1440px; margin: auto; padding: 24px 28px 42px; }
.button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 7px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font-size: 12px; font-weight: 600; }
.button:hover { transform: translateY(-1px); box-shadow: 0 5px 16px rgba(34, 27, 16, .08); }
.button.primary { border-color: #a8761d; background: linear-gradient(120deg, #d6aa45, #b47f1f); color: #17130b; }
.button.quiet { background: transparent; }
.button.full { width: 100%; }
.flash-stack { display: grid; gap: 8px; margin-bottom: 16px; }
.flash { padding: 11px 14px; border-radius: 10px; background: var(--blue-soft); color: var(--blue); font-size: 12px; }
.flash.success { background: var(--green-soft); color: var(--green); }
.flash.error { background: var(--red-soft); color: var(--red); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.metric { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 5px 18px rgba(37, 29, 15, .025); }
.metric span, .metric small { display: block; color: var(--muted); }
.metric span { font-size: 11px; font-weight: 500; }
.metric strong { display: block; margin: 5px 0 4px; font-family: "Arial Narrow", Impact, sans-serif; font-size: 29px; font-weight: 600; letter-spacing: -.02em; }
.metric small { font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr); gap: 16px; align-items: start; }
.panel { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 6px 22px rgba(37, 29, 15, .035); }
.panel-heading { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 17px; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin: 0; font-size: 14px; font-weight: 600; }
.panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.panel-heading > a { color: var(--gold); font-size: 11px; font-weight: 600; }
.item-list { display: grid; }
.list-item { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 13px 17px; border-bottom: 1px solid var(--line); }
.list-item:last-child { border-bottom: 0; }
.item-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 9px; background: var(--gold-soft); color: var(--gold); }
.item-copy strong, .item-copy span { display: block; }
.item-copy strong { font-size: 12px; font-weight: 600; }
.item-copy span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.status { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 5px 8px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 10px; font-weight: 600; white-space: nowrap; }
.status::before { width: 5px; height: 5px; border-radius: 50%; background: currentColor; content: ""; }
.status.ready, .status.released, .status.confirmed { background: var(--green-soft); color: var(--green); }
.status.scheduled, .status.planning { background: var(--gold-soft); color: #82600f; }
.side-stack { display: grid; gap: 16px; }
.agenda { padding: 0 16px; }
.agenda article { display: grid; grid-template-columns: 55px 1fr; gap: 11px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.agenda article:last-child { border-bottom: 0; }
.agenda time { color: var(--gold); font-size: 10px; font-weight: 600; }
.agenda time b { display: block; margin-top: 3px; color: var(--muted); font-weight: 500; }
.agenda strong, .agenda span, .agenda small { display: block; }
.agenda strong { font-size: 12px; }
.agenda span, .agenda small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.agenda.spacious article { padding: 16px 0; }
.demand-alert { display: grid; grid-template-columns: 31px 1fr; gap: 11px; padding: 16px; border-radius: 14px; background: var(--gold-soft); }
.alert-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: var(--gold); color: white; font-weight: 600; }
.demand-alert strong { font-size: 12px; }
.demand-alert p { margin: 4px 0 7px; color: #65582f; font-size: 10px; line-height: 1.45; }
.demand-alert a { color: #80600f; font-size: 10px; font-weight: 600; }
.empty-state { padding: 45px 20px !important; color: var(--muted); text-align: center; font-size: 11px; }
.table-panel { overflow: hidden; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; font-size: 11px; }
th { color: var(--muted); font-size: 9px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
td > strong, td > small { display: block; }
td > strong { font-weight: 600; }
td > small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.talent-cell { display: inline-flex; align-items: center; gap: 9px; }
.talent-cell:hover { color: var(--gold); }
.mini-avatar { width: 30px; height: 30px; background: var(--gold-soft); color: var(--gold); }
.row-action { border: 0; background: transparent; color: var(--gold); font-size: 10px; font-weight: 600; white-space: nowrap; }
.table-actions { display: flex; align-items: center; gap: 9px; }
.inline-form { display: flex; align-items: center; gap: 5px; }
.inline-form input { width: 115px; padding: 5px 7px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); font-size: 10px; }
.profile-hero { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 17px; align-items: center; margin-bottom: 15px; }
.profile-avatar { display: grid; width: 70px; height: 70px; place-items: center; border-radius: 19px; background: linear-gradient(145deg, #f0d98f, #b78625); color: #fffaf0; font-family: "Arial Narrow", Impact, sans-serif; font-size: 25px; }
.profile-identity .eyebrow { margin-bottom: 4px; }
.profile-identity h2 { margin: 0; font-family: "Arial Narrow", Impact, sans-serif; font-size: 26px; letter-spacing: -.01em; }
.profile-identity p { max-width: 550px; margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.profile-contact { text-align: right; }
.profile-contact span, .profile-contact strong, .profile-contact small { display: block; }
.profile-contact span, .profile-contact small { color: var(--muted); font-size: 9px; }
.profile-contact strong { margin: 4px 0; font-size: 12px; }
.detail-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.detail-strip > div { padding: 14px 16px; border-right: 1px solid var(--line); }
.detail-strip > div:last-child { border-right: 0; }
.detail-strip span, .detail-strip strong { display: block; }
.detail-strip span { margin-bottom: 5px; color: var(--muted); font-size: 9px; }
.detail-strip strong { font-size: 11px; font-weight: 600; }
.filter-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.filter { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font-size: 10px; }
.filter.active { border-color: var(--ink); background: var(--ink); color: white; }
.app-dialog { width: min(620px, calc(100% - 24px)); padding: 0; border: 0; border-radius: 17px; background: var(--surface); color: var(--ink); box-shadow: 0 30px 90px rgba(0, 0, 0, .28); }
.app-dialog.small { width: min(470px, calc(100% - 24px)); }
.app-dialog.agreement-dialog { width: min(780px, calc(100% - 24px)); max-height: calc(100vh - 28px); overflow-y: auto; }
.app-dialog::backdrop { background: rgba(15, 13, 10, .62); backdrop-filter: blur(3px); }
.dialog-form { display: grid; gap: 14px; padding: 20px; }
.dialog-form header, .dialog-form footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dialog-form h2 { margin: 0; font-size: 19px; }
.dialog-form footer { justify-content: flex-end; padding-top: 5px; }
.dialog-close { border: 0; background: transparent; color: var(--muted); font-size: 24px; }
.dialog-form label, .stack-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 600; }
input, select, textarea { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; outline: none; background: #fffefa; color: var(--ink); font-size: 12px; }
input:focus, select:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184, 138, 40, .13); }
textarea { resize: vertical; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.file-drop { padding: 14px; border: 1px dashed #c8b990; border-radius: 11px; background: #fbf6e8; }
.file-drop span { color: var(--muted); font-size: 9px; font-weight: 400; }
.upload-progress { display: grid; gap: 8px; padding: 12px; border: 1px solid #d9c785; border-radius: 10px; background: #fffaf0; }
.upload-progress[hidden] { display: none; }
.upload-progress > div { display: flex; justify-content: space-between; gap: 12px; color: var(--ink); font-size: 10px; }
.upload-progress progress { width: 100%; height: 8px; overflow: hidden; border: 0; border-radius: 999px; background: #e8dfc7; accent-color: var(--gold); }
.upload-progress progress::-webkit-progress-bar { background: #e8dfc7; border-radius: 999px; }
.upload-progress progress::-webkit-progress-value { background: linear-gradient(90deg, var(--gold), #e8bd4c); border-radius: 999px; }
.upload-progress p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.check-row { display: flex !important; grid-template-columns: 17px 1fr; align-items: center; }
.check-row input { width: 16px; height: 16px; }
.form-note { margin: 0; padding: 10px 12px; border-radius: 9px; background: var(--gold-soft); color: #65582f; font-size: 10px; }
.agreement-fields { display: grid; gap: 12px; padding: 14px; border-radius: 11px; background: var(--surface-2); }
.agreement-fields[hidden] { display: none !important; }
.agreement-fields h3 { margin: 0; font-size: 12px; }
.field-disabled { opacity: .45; }
.field-disabled input, .field-disabled select { cursor: not-allowed; }
.event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.event-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.event-card > header { display: grid; grid-template-columns: 47px 1fr; gap: 12px; }
.event-date { display: grid; place-content: center; width: 47px; height: 53px; border-radius: 11px; background: var(--gold-soft); color: #7a590e; text-align: center; }
.event-date strong { font-family: "Arial Narrow", Impact, sans-serif; font-size: 19px; }
.event-date span { font-size: 8px; }
.event-card h2 { margin: 8px 0 2px; font-size: 13px; }
.event-card header p, .event-description { color: var(--muted); font-size: 9px; }
.event-description { min-height: 29px; margin: 12px 0; line-height: 1.5; }
.slot-list { margin: 0 -16px 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.slot-label { padding: 9px 16px; color: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.slot { display: grid; grid-template-columns: 50px 1fr auto; gap: 8px; padding: 9px 16px; border-top: 1px solid var(--line); font-size: 10px; }
.slot time { color: var(--gold); font-weight: 600; }
.slot span { color: var(--muted); }
.empty-compact { padding: 11px 16px; color: var(--muted); font-size: 9px; }
.coverage-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--line); }
.coverage-list article:last-child { border-bottom: 0; }
.coverage-list strong, .coverage-list span { display: block; }
.coverage-list strong { font-size: 11px; }
.coverage-list div > span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.rp-notice { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; padding: 13px 15px; border-radius: 12px; background: var(--gold-soft); }
.rp-notice strong { font-size: 11px; white-space: nowrap; }
.rp-notice p { margin: 0; color: #65582f; font-size: 10px; }
.form-page { max-width: 760px; margin: 0 auto; }
.back-link.compact { margin-bottom: 14px; }
.form-panel { overflow: visible; }
.page-form { display: grid; gap: 16px; padding: 20px; }
.page-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 600; }
.page-form footer { display: flex; justify-content: flex-end; gap: 8px; padding-top: 5px; }
.access-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--line); }
.access-summary > div { padding: 14px 16px; background: var(--surface); }
.access-summary strong, .access-summary span { display: block; }
.access-summary strong { font-size: 11px; }
.access-summary span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.role-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 9px; font-weight: 600; }
.role-badge.leadership { background: var(--gold-soft); color: #7b5b13; }
.role-badge.promoter { background: var(--blue-soft); color: var(--blue); }
.role-badge.talent { background: var(--green-soft); color: var(--green); }
.field-help { color: var(--muted); font-size: 9px; font-weight: 400; }
.section-tabs { display: flex; gap: 4px; margin-bottom: 14px; padding: 4px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); width: fit-content; }
.section-tabs a { padding: 7px 13px; border-radius: 8px; color: var(--muted); font-size: 10px; font-weight: 600; }
.section-tabs a.active { background: var(--ink); color: white; }
.position-list { display: grid; gap: 9px; }
.position-row { display: grid; grid-template-columns: minmax(0, 1fr) 95px 130px; gap: 18px; align-items: center; padding: 15px 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.position-row.inactive { opacity: .64; }
.position-row h2 { display: inline; margin: 0 0 0 8px; font-size: 13px; }
.position-row p { margin: 7px 0 0; color: var(--muted); font-size: 9px; }
.position-meta { text-align: center; }
.position-meta strong, .position-meta span { display: block; }
.position-meta strong { font-family: "Arial Narrow", Impact, sans-serif; font-size: 21px; }
.position-meta span { color: var(--muted); font-size: 8px; }
.position-row > div:last-child { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.promoter-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asset-callout { display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center; padding: 16px; border-radius: 14px; background: linear-gradient(120deg, #e9c768, #bb8929); color: #1c170d; }
.asset-callout > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: rgba(255,255,255,.3); }
.asset-callout strong { font-size: 12px; }
.asset-callout p { margin: 4px 0 0; font-size: 9px; line-height: 1.45; opacity: .72; }
.asset-callout > b { font-size: 18px; }
.asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.asset-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.asset-preview { display: grid; height: 132px; place-items: center; background: radial-gradient(circle at 70% 25%, #6c521d, #1c170f 60%, #111); color: var(--gold-bright); }
.asset-preview span { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(225,186,85,.45); transform: rotate(45deg); font-family: "Arial Narrow", Impact, sans-serif; font-size: 28px; }
.asset-preview span::first-letter { transform: rotate(-45deg); }
.asset-copy { padding: 15px; }
.asset-copy .eyebrow { margin-bottom: 5px; }
.asset-copy h2 { margin: 0 0 6px; font-size: 13px; }
.asset-copy p { min-height: 42px; margin: 0 0 9px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.asset-copy small { display: block; margin-bottom: 12px; color: var(--muted); font-size: 8px; }
.asset-pending { display: block; padding: 9px; border-radius: 8px; background: var(--surface-2); color: var(--muted); text-align: center; font-size: 9px; }

/* Public label page */
.public-body { background: #090909; color: #f7f4ec; }
.public-nav { position: absolute; z-index: 5; top: 0; left: 0; right: 0; display: flex; max-width: 1240px; height: 92px; align-items: center; justify-content: space-between; margin: auto; padding: 14px 30px; }
.public-nav img { width: 126px; max-height: 65px; object-fit: contain; }
.public-nav nav { display: flex; align-items: center; gap: 28px; }
.public-nav nav > a { color: #bcb7ae; font-size: 11px; }
.public-nav nav > a:hover { color: white; }
.button.gold-outline { border-color: #9b7425; background: transparent; color: var(--gold-bright); }
.public-hero { position: relative; display: grid; min-height: 690px; place-items: center; overflow: hidden; padding: 130px 7vw 70px; background: radial-gradient(circle at 78% 42%, #2b2110 0, #12100c 22%, #090909 57%); }
.hero-glow { position: absolute; width: 460px; height: 460px; border-radius: 50%; background: rgba(194, 143, 35, .12); filter: blur(70px); transform: translate(250px, -10px); }
.hero-copy { position: relative; z-index: 2; width: min(1140px, 100%); }
.hero-copy h1 { margin: 0; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(66px, 10vw, 134px); font-weight: 600; line-height: .87; letter-spacing: -.055em; text-transform: uppercase; }
.hero-copy h1 em { color: var(--gold-bright); font-style: normal; }
.hero-copy > p:not(.eyebrow) { max-width: 420px; margin: 25px 0; color: #a9a398; font-size: 14px; line-height: 1.6; }
.button.public-primary { border-color: #c89a35; background: var(--gold-bright); color: #15120c; }
.hero-mark { position: absolute; right: 5vw; bottom: 30px; width: min(43vw, 560px); opacity: .15; filter: grayscale(1); }
.public-section { max-width: 1180px; margin: auto; padding: 90px 30px; }
.public-section > header { margin-bottom: 30px; }
.public-section h2 { margin: 0; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(34px, 5vw, 55px); text-transform: uppercase; }
.release-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.release-grid article { min-width: 0; }
.release-art { position: relative; display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; background: radial-gradient(circle at 70% 25%, #6a511c, #1c170f 55%, #0f0f0f); }
.release-art::after { position: absolute; inset: 15%; border: 1px solid rgba(225,186,85,.35); transform: rotate(45deg); content: ""; }
.release-art span { position: absolute; top: 13px; left: 13px; color: #d3ae51; font-size: 9px; letter-spacing: .15em; }
.release-art b { color: #e2bd61; font-family: "Arial Narrow", Impact, sans-serif; font-size: 64px; opacity: .75; }
.release-grid article > p { margin: 14px 0 4px; color: var(--gold-bright); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.release-grid h3 { margin: 0 0 4px; font-size: 14px; }
.release-grid article > span { color: #827d74; font-size: 10px; }
.roster-section { max-width: none; background: #11100e; }
.roster-section > header, .public-roster { max-width: 1120px; margin-left: auto; margin-right: auto; }
.public-roster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.public-roster article { padding: 18px; border: 1px solid #2b2925; }
.public-roster article > div { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 18px; border-radius: 50%; background: #2b2415; color: var(--gold-bright); font-family: "Arial Narrow", Impact, sans-serif; }
.public-roster h3 { margin: 0 0 5px; font-size: 13px; }
.public-roster p { margin: 0; color: #817c73; font-size: 10px; }
.public-events { border-top: 1px solid #292722; }
.public-events article { display: grid; grid-template-columns: 70px 1fr; gap: 20px; align-items: center; padding: 21px 0; border-bottom: 1px solid #292722; }
.public-events time strong, .public-events time span { display: block; }
.public-events time strong { color: var(--gold-bright); font-family: "Arial Narrow", Impact, sans-serif; font-size: 23px; }
.public-events time span { color: #777168; font-size: 9px; }
.public-events h3 { margin: 0 0 5px; font-size: 15px; }
.public-events p { margin: 0; color: #827d74; font-size: 10px; }
.public-footer { display: flex; max-width: 1180px; align-items: center; justify-content: space-between; margin: auto; padding: 35px 30px; border-top: 1px solid #24221e; }
.public-footer img { width: 100px; }
.public-footer p { margin: 0; color: #6d6860; font-size: 9px; }
.public-flashes { position: fixed; z-index: 20; top: 12px; left: 50%; width: min(420px, calc(100% - 24px)); transform: translateX(-50%); }

/* Login */
.login-page { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 100vh; background: #0a0908; }
.login-brand { position: relative; display: grid; place-content: center; padding: 50px; overflow: hidden; background: radial-gradient(circle at center, #3b2b0e 0, #15110a 35%, #090909 68%); text-align: center; }
.login-brand::after { position: absolute; width: 500px; height: 500px; border: 1px solid rgba(215,170,65,.12); border-radius: 50%; content: ""; }
.login-brand img { position: relative; z-index: 1; width: min(390px, 75%); margin: auto; }
.login-brand p { position: relative; z-index: 1; margin: 20px 0 0; color: #908879; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.login-panel { display: grid; place-items: center; padding: 30px; background: var(--paper); color: var(--ink); }
.login-card { width: min(380px, 100%); }
.back-link { display: inline-block; margin-bottom: 48px; color: var(--muted); font-size: 10px; }
.login-card h1 { margin: 0 0 6px; font-size: 28px; }
.login-card > .muted { margin-bottom: 26px; font-size: 11px; }
.stack-form { display: grid; gap: 15px; }
.demo-accounts { margin-top: 22px; color: var(--muted); font-size: 10px; }
.demo-accounts summary { cursor: pointer; }
.demo-accounts code { color: var(--ink); }
.login-help { display: inline-block; margin-top: 16px; color: #8b671e; font-size: 10px; }
.account-security { max-width: 560px; }
.account-security h2 { margin: 4px 0 22px; }

/* Printable agreement */
.document-body { background: #e8e5df; }
.document-toolbar { display: flex; max-width: 850px; justify-content: space-between; margin: 18px auto; }
.document-toolbar > div { display: flex; gap: 10px; }
.document-toolbar a, .document-toolbar button { border: 0; background: transparent; color: #635d54; font-size: 12px; }
.agreement-document { width: min(850px, calc(100% - 28px)); min-height: 1050px; margin: 0 auto 40px; padding: 65px 72px; background: white; color: #181612; box-shadow: 0 15px 50px rgba(0,0,0,.12); }
.agreement-document > header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 24px; border-bottom: 2px solid #b98b2b; }
.agreement-document header img { width: 120px; padding: 7px; background: #080808; }
.agreement-document header div { text-align: right; }
.agreement-document header span, .agreement-document header strong { display: block; }
.agreement-document header span { color: #777; font-size: 10px; text-transform: uppercase; }
.agreement-document h1 { margin: 55px 0 18px; font-family: Georgia, serif; font-size: 34px; }
.document-intro { color: #4d4942; font-family: Georgia, serif; font-size: 14px; line-height: 1.8; }
.agreement-document dl { margin-top: 40px; }
.agreement-document dl > div { display: grid; grid-template-columns: 190px 1fr; padding: 15px 0; border-top: 1px solid #ddd7cc; }
.agreement-document dt { color: #6a645b; font-size: 11px; text-transform: uppercase; }
.agreement-document dd { margin: 0; font-family: Georgia, serif; font-size: 14px; }
.agreement-document .terms { min-height: 120px; }
.agreement-document > footer { display: flex; justify-content: space-between; margin-top: 80px; padding-top: 14px; border-top: 1px solid #ddd7cc; color: #777; font-size: 9px; }
.modular-document { min-height: auto; }
.contract-clause { margin-top: 28px; }
.contract-clause h2 { margin: 0 0 8px; color: #3d372e; font-family: Georgia, serif; font-size: 15px; }
.contract-clause p { margin: 0 0 8px; color: #4d4942; font-family: Georgia, serif; font-size: 12px; line-height: 1.75; }
.contract-clause ul { margin: 8px 0 0; padding-left: 20px; color: #4d4942; font-family: Georgia, serif; font-size: 12px; line-height: 1.65; }
.contract-clause { break-inside: avoid; }

@media (max-width: 1050px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .release-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; width: 232px; transform: translateX(-100%); transition: transform .2s ease; }
  body.menu-open .sidebar { transform: translateX(0); }
  .mobile-menu { display: block; }
  .topbar { padding: 13px 16px; }
  .page-content { padding: 18px 16px 35px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .detail-strip { grid-template-columns: repeat(2, 1fr); }
  .detail-strip > div:nth-child(2) { border-right: 0; }
  .detail-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .event-grid { grid-template-columns: 1fr; }
  .access-summary { grid-template-columns: 1fr; }
  .position-row { grid-template-columns: minmax(0, 1fr) auto; }
  .position-row .position-meta { display: none; }
  .public-nav nav > a:not(.button) { display: none; }
  .public-hero { min-height: 610px; }
  .hero-mark { width: 70vw; opacity: .1; }
  .release-grid, .public-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .login-page { grid-template-columns: 1fr; }
  .login-brand { min-height: 280px; }
  .login-brand img { width: 220px; }
  .login-brand p { margin-top: 10px; }
  .login-panel { min-height: 590px; }
}
@media (max-width: 560px) {
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .metric { padding: 14px; }
  .metric strong { font-size: 24px; }
  .topbar-actions .button { padding-inline: 10px; font-size: 0; }
  .topbar-actions .button::after { content: "+"; font-size: 16px; }
  .profile-hero { grid-template-columns: 56px 1fr; }
  .profile-avatar { width: 56px; height: 56px; }
  .profile-contact { grid-column: 1 / -1; text-align: left; }
  .detail-strip { grid-template-columns: 1fr; }
  .detail-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .form-grid { grid-template-columns: 1fr; }
  .asset-grid { grid-template-columns: 1fr; }
  .promoter-metrics { grid-template-columns: 1fr 1fr; }
  .release-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .public-roster { grid-template-columns: 1fr 1fr; }
  .public-nav { padding-inline: 18px; }
  .public-nav img { width: 100px; }
  .public-section { padding: 65px 18px; }
  .hero-copy h1 { font-size: 63px; }
  .agreement-document { padding: 35px 26px; }
  .agreement-document dl > div { grid-template-columns: 1fr; gap: 7px; }
  .document-toolbar { padding: 0 14px; }
}
@media print {
  .document-toolbar { display: none; }
  .document-body { background: white; }
  .agreement-document { width: 100%; min-height: auto; margin: 0; padding: 40px; box-shadow: none; }
}
