:root {
  --ink: #27302d;
  --deep: #244b4a;
  --green: #2f7773;
  --green-2: #5ba2a2;
  --mint: #eaf5f4;
  --coral: #fb8350;
  --coral-soft: #fff0e8;
  --amber: #e7aa37;
  --amber-soft: #fff3d9;
  --red: #b8453d;
  --blue: #e8f1f4;
  --paper: #fffefa;
  --bg: #f6f7f8;
  --line: #dde2e4;
  --muted: #66736e;
  --soft: #89938f;
  --brand-teal: #5ba2a2;
  --brand-orange: #fb8350;
  --brand-deep: #244b4a;
  --brand-sky: #7fc8e0;
  --brand-gold: #fdc863;
  --brand-lilac: #9596ec;
  --brand-pink: #e4569d;
  --shadow: 0 8px 28px rgba(39, 48, 45, .07);
}

.admin-moderation-list > article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:20px 0; border-top:1px solid var(--line); }
.admin-moderation-list > article p { margin:8px 0 0; color:var(--muted); }
.admin-moderation-list small { display:block; margin-top:5px; color:var(--muted); }
.admin-moderation-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.admin-moderation-actions .danger { color:#9d3d35; border-color:#e5bbb5; }
@media (max-width: 900px) { .admin-moderation-list > article { grid-template-columns:1fr; } .admin-moderation-actions { justify-content:flex-start; } }

.stage5-sales-board { border: 1px solid var(--line); border-radius: 22px; background: #fff; overflow: hidden; }
.stage5-sales-board > header { display: flex; justify-content: space-between; gap: 24px; padding: 28px 32px; border-bottom: 1px solid var(--line); }
.stage5-sales-board > header small { color: var(--green); font-weight: 800; letter-spacing: .08em; }
.stage5-sales-board > header h2 { margin: 8px 0; }
.stage5-sales-board > header p { margin: 0; color: var(--muted); }
.stage5-sales-board > header > span { white-space: nowrap; color: var(--muted); }
.stage5-sales-summary { display: grid; grid-template-columns: repeat(4, 1fr); background: #f7f8f7; border-bottom: 1px solid var(--line); }
.stage5-sales-summary article { padding: 22px 28px; border-right: 1px solid var(--line); }
.stage5-sales-summary article:last-child { border-right: 0; }
.stage5-sales-summary small, .stage5-sales-summary span { display: block; color: var(--muted); }
.stage5-sales-summary b { display: block; margin: 8px 0 4px; font-size: 1.45rem; }
.stage5-sales-list article { display: grid; grid-template-columns: 1.2fr .75fr .9fr 1.2fr; gap: 24px; align-items: center; padding: 22px 32px; border-bottom: 1px solid var(--line); }
.stage5-sales-list article:last-child { border-bottom: 0; }
.stage5-sales-list span { min-width: 0; }
.stage5-sales-list b, .stage5-sales-list small { display: block; overflow-wrap: anywhere; }
.stage5-sales-list small { margin-top: 5px; color: var(--muted); }
@media (max-width: 900px) {
  .stage5-sales-summary { grid-template-columns: repeat(2, 1fr); }
  .stage5-sales-list article { grid-template-columns: 1fr 1fr; }
}

/* Production account entry */
.auth-shell {
  position: relative;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
  align-items: center;
  gap: clamp(48px, 7vw, 120px);
  padding: clamp(36px, 6vw, 96px);
  background:
    radial-gradient(circle at 12% 14%, rgba(117, 194, 204, .22), transparent 32%),
    radial-gradient(circle at 80% 78%, rgba(238, 181, 91, .16), transparent 30%),
    #f4f3ef;
  color: #1d2424;
}

/* Contact center */
.public-contact-page{max-width:1180px;margin:0 auto;padding:72px 32px 100px}.contact-compose,.contact-query,.contact-account-history{margin-top:28px;padding:32px;border:1px solid var(--line,#ddd);border-radius:28px;background:#fff}.contact-compose>header,.contact-query>header,.contact-account-history>header{margin-bottom:24px}.contact-compose h2,.contact-query h2,.contact-account-history h2{margin:6px 0 8px;font-size:30px}.contact-compose form>label,.contact-query label,.contact-thread form label,.admin-contact-panel label,.admin-contact-thread form label{display:grid;gap:8px;font-weight:700}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.contact-compose input,.contact-compose select,.contact-compose textarea,.contact-query input,.contact-thread textarea,.admin-contact-panel select,.admin-contact-thread textarea{width:100%;box-sizing:border-box;border:1px solid #d7d8d4;border-radius:14px;background:#fff;padding:13px 15px;font:inherit}.contact-compose textarea,.contact-thread textarea,.admin-contact-thread textarea{min-height:140px;resize:vertical}.contact-compose form>button{margin-top:18px}.contact-query form{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.contact-receipt{margin-top:28px;padding:22px 26px;border-left:4px solid #c67a48;background:#fbf4ea}.contact-receipt p{margin:8px 0}.contact-receipt code{user-select:all}.contact-history-layout,.admin-contact-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:24px}.contact-history-layout>nav,.admin-contact-layout>nav{display:grid;align-content:start;gap:8px}.contact-history-layout>nav button,.admin-contact-layout>nav button{display:grid;gap:5px;text-align:left;padding:15px;border:1px solid #dedfdc;border-radius:14px;background:#fff}.contact-history-layout>nav button.active,.admin-contact-layout>nav button.active{border-color:#668f86;background:#f2f7f5}.contact-history-layout>nav span,.contact-history-layout>nav small{font-size:12px;color:#68736f}.contact-thread,.admin-contact-thread{padding:22px;border:1px solid #dedfdc;border-radius:18px}.contact-thread>header,.admin-contact-thread>header{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:18px;border-bottom:1px solid #e6e7e4}.contact-thread h3,.admin-contact-thread h2{margin:4px 0}.contact-thread em{font-style:normal;color:#51776e}.contact-timeline{display:grid;gap:12px;padding:20px 0}.contact-timeline article{max-width:82%;padding:14px 16px;border-radius:14px;background:#f4f4f1}.contact-timeline article.platform{margin-left:auto;background:#edf5f2}.contact-timeline header{display:flex;justify-content:space-between;gap:18px}.contact-timeline time{font-size:12px;color:#7b817e}.contact-timeline p{white-space:pre-wrap;margin:8px 0 0}.contact-closed-note{color:#747b77}.account-contact-link{margin-top:18px}.admin-contact-panel{padding:24px}.admin-contact-filters{display:flex;gap:14px;align-items:end;margin-bottom:22px}.admin-contact-filters label{min-width:180px}.admin-contact-layout>nav button{grid-template-columns:1fr auto}.admin-contact-layout>nav span{display:grid;gap:5px}.admin-contact-layout>nav em{font-style:normal;font-size:12px}.admin-contact-thread>header>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-contact-thread>header button{padding:7px 10px;border:1px solid #d7d8d4;border-radius:999px;background:#fff}.admin-contact-thread>header button.active{background:#557f75;color:#fff;border-color:#557f75}.admin-contact-thread form{margin-top:8px}.admin-contact-thread form button{margin-top:12px}
.contact-login-gate,.rights-complaint{margin-top:28px;padding:32px;border:1px solid var(--line,#ddd);border-radius:28px;background:#fff}.contact-login-gate h2,.rights-complaint h2{margin:6px 0 8px;font-size:30px}.contact-login-gate p,.rights-complaint header p{max-width:760px;color:#686f72;line-height:1.7}.contact-login-gate button{margin-top:10px}.rights-complaint{margin-top:42px}.rights-complaint>header>span{color:#6078c5;font-size:11px;font-weight:800;letter-spacing:.16em}.rights-complaint form{display:grid;gap:18px;margin-top:24px}.rights-complaint form>label{display:grid;gap:8px;font-weight:700}.rights-complaint input,.rights-complaint textarea{width:100%;box-sizing:border-box;border:1px solid #d7d8d4;border-radius:14px;background:#fff;padding:13px 15px;font:inherit}.rights-complaint textarea{min-height:120px;resize:vertical}.rights-complaint .rights-statement{display:flex;align-items:flex-start;grid-template-columns:auto 1fr;font-size:13px;line-height:1.6}.rights-complaint .rights-statement input{width:auto;margin-top:4px}.rights-complaint-receipt{margin:18px 0;padding:18px 20px;border:1px solid #d8e3df;border-radius:16px;background:#f5f9f7}.rights-complaint-receipt p{margin:8px 0}.rights-complaint-receipt code{user-select:all}
@media(max-width:800px){.public-contact-page{padding:42px 18px 72px}.contact-compose,.contact-query,.contact-account-history{padding:22px}.contact-form-grid,.contact-query form,.contact-history-layout,.admin-contact-layout{grid-template-columns:1fr}.admin-contact-filters{align-items:stretch;flex-direction:column}.contact-timeline article{max-width:100%}}

.auth-home-link {
  position: absolute;
  top: clamp(20px, 3vw, 38px);
  left: clamp(20px, 3vw, 44px);
  z-index: 2;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(45, 85, 86, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #315e61;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  backdrop-filter: blur(12px);
}
.auth-home-link:hover { border-color: #79aaa6; background: #fff; }
.auth-home-link:focus-visible { outline: 3px solid rgba(79, 111, 216, .3); outline-offset: 3px; }

.auth-story { max-width: 680px; }
.auth-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 42px; color: #172222; }
.auth-brand strong { font-size: 30px; letter-spacing: .04em; }
.auth-brand-image { display: block; width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(72, 97, 96, .12)); }
.auth-destinations > header > span { color: #2c7378; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.auth-destinations h1 { margin: 12px 0 12px; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.12; letter-spacing: -.04em; }
.auth-destinations > header p { margin: 0; color: #667071; font-size: 16px; line-height: 1.75; }
.auth-destination-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.auth-destination-list button { position: relative; display: grid; gap: 8px; min-height: 144px; padding: 24px; border: 1px solid rgba(45,85,86,.16); border-radius: 20px; background: rgba(255,255,255,.66); color: #27302d; text-align: left; box-shadow: 0 8px 24px rgba(39,48,45,.04); }
.auth-destination-list button.active { border-color: #5ba2a2; background: rgba(237,248,247,.94); box-shadow: inset 0 0 0 1px #5ba2a2, 0 12px 28px rgba(47,119,115,.09); }
.auth-destination-list b { font-size: 20px; }
.auth-destination-list span { color: #66736e; line-height: 1.55; }
.auth-destination-list em { align-self: end; color: #2f7773; font-size: 12px; font-style: normal; font-weight: 800; }

.auth-card {
  width: min(100%, 560px);
  justify-self: end;
  padding: clamp(34px, 4vw, 58px);
  border: 1px solid rgba(31, 46, 47, .12);
  border-radius: 28px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 28px 80px rgba(33, 45, 45, .12);
  backdrop-filter: blur(18px);
}
.auth-card header > span { color: #2c7378; font-weight: 800; }
.auth-card h2 { margin: 10px 0 12px; font-size: 34px; letter-spacing: -.03em; }
.auth-card header p { margin: 0 0 28px; color: #737c7d; line-height: 1.65; }
.auth-card form { display: grid; gap: 18px; }
.auth-card label { display: grid; gap: 8px; color: #394545; font-weight: 750; }
.auth-card input { width: 100%; padding: 15px 16px; border: 1px solid #d9ddda; border-radius: 13px; background: white; font: inherit; color: #172222; outline: none; }
.auth-card input:focus { border-color: #4c9ba2; box-shadow: 0 0 0 4px rgba(76, 155, 162, .12); }
.auth-password-field { position: relative; display: block; }
.auth-password-field input { padding-right: 72px; }
.auth-password-field button { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); min-width: 48px; padding: 7px 9px; border: 0; border-radius: 9px; background: #eef5f4; color: #2d777d; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.auth-password-field button:hover { background: #e2efed; }
.auth-password-field button:focus-visible { outline: 2px solid #4c9ba2; outline-offset: 2px; }
.auth-email-code-group { display: grid; gap: 14px; }
.auth-email-code-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.auth-email-code-row button { min-width: 116px; padding: 0 14px; border: 1px solid #82aaaa; border-radius: 13px; background: #f1f8f7; color: #2d777d; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.auth-email-code-row button:disabled { border-color: #d6dddb; background: #f4f5f4; color: #8a9291; cursor: default; }
.auth-email-code-group > small { margin-top: -5px; color: #6f7978; font-size: 12px; line-height: 1.55; }
[data-nickname-availability] { display: block; margin-top: 7px; color: #6f7978; font-size: 12px; line-height: 1.55; }
[data-nickname-availability][data-status="available"] { color: #2f7665; }
[data-nickname-availability][data-status="used"] { color: #b14f43; }
[data-nickname-availability][data-status="checking"], [data-nickname-availability][data-status="unknown"] { color: #746e61; }
.auth-submit { width: 100%; min-height: 52px; margin-top: 4px; }
.auth-card footer { display: flex; justify-content: center; gap: 8px; margin-top: 24px; color: #7a8282; }
.auth-card footer button { border: 0; background: transparent; color: #2d777d; font: inherit; font-weight: 800; cursor: pointer; }
.auth-welcome-shell { overflow: hidden; }
.auth-welcome-shell::after { content: ""; position: absolute; right: -9vw; bottom: -22vw; width: min(52vw, 760px); aspect-ratio: 1; border: 1px solid rgba(47,119,115,.1); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(255,255,255,.18), 0 0 0 14vw rgba(91,162,162,.035); pointer-events: none; }
.auth-welcome-shell > * { position: relative; z-index: 1; }
.auth-welcome-destinations article { position: relative; display: grid; gap: 8px; min-height: 144px; padding: 24px; border: 1px solid rgba(45,85,86,.12); border-radius: 20px; background: rgba(255,255,255,.48); color: #66736e; text-align: left; }
.auth-welcome-destinations article.active { border-color: #5ba2a2; background: rgba(237,248,247,.94); color: #27302d; box-shadow: inset 0 0 0 1px #5ba2a2, 0 12px 28px rgba(47,119,115,.09); }
.auth-welcome-destinations b { font-size: 20px; }
.auth-welcome-destinations span { line-height: 1.55; }
.auth-welcome-destinations em { align-self: end; color: #2f7773; font-size: 12px; font-style: normal; font-weight: 800; }
.auth-welcome-card { position: relative; display: grid; justify-items: center; align-content: center; min-height: 590px; overflow: hidden; text-align: center; animation: auth-welcome-rise .5s cubic-bezier(.2,.78,.3,1) both; }
.auth-welcome-card::before { content: ""; position: absolute; top: -155px; left: 50%; width: 370px; height: 260px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(253,200,99,.16), rgba(91,162,162,.06) 48%, transparent 72%); pointer-events: none; }
.auth-welcome-symbol { position: relative; width: 96px; height: 96px; margin-bottom: 28px; border: 1px solid rgba(47,119,115,.16); border-radius: 50%; background: rgba(255,255,255,.88); box-shadow: 0 18px 40px rgba(47,119,115,.12), 0 0 0 10px rgba(91,162,162,.06); }
.auth-welcome-symbol img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.auth-welcome-symbol i { position: absolute; right: -2px; bottom: 0; display: grid; place-items: center; width: 30px; height: 30px; border: 3px solid #fff; border-radius: 50%; background: #2f7773; color: #fff; font-size: 15px; font-style: normal; font-weight: 900; }
.auth-welcome-card header { max-width: 430px; }
.auth-welcome-card header > span { display: block; font-size: 14px; letter-spacing: .14em; }
.auth-welcome-card h2 { margin-top: 12px; font-size: clamp(32px, 3vw, 44px); line-height: 1.16; }
.auth-welcome-name { margin: 17px 0 0; color: #65706f; font-size: 16px; line-height: 1.7; }
.auth-welcome-name b { color: #27302d; }
.auth-welcome-destination { display: flex; align-items: baseline; justify-content: center; gap: 7px; margin: 9px 0 24px; color: #65706f; }
.auth-welcome-destination strong { color: #2b6463; font-size: 18px; }
.auth-welcome-countdown { display: inline-flex; align-items: baseline; gap: 6px; min-width: 178px; margin-bottom: 20px; padding: 10px 18px; border: 1px solid rgba(47,119,115,.13); border-radius: 999px; background: #f4f8f6; color: #6a7774; }
.auth-welcome-countdown b { min-width: 1.2ch; color: #2f7773; font-size: 23px; font-variant-numeric: tabular-nums; }
.auth-welcome-countdown span { font-size: 13px; }
.auth-welcome-card .auth-submit { max-width: 330px; }
@keyframes auth-welcome-rise { from { opacity: 0; transform: translateY(12px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .auth-welcome-card { animation: none; } }
.auth-forgot-link { justify-self: end; margin-top: -9px; padding: 0; border: 0; background: transparent; color: #2d777d; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.auth-notice { margin-bottom: 18px; padding: 13px 15px; border: 1px solid #cddfd9; border-radius: 11px; background: #f3f8f6; color: #365e55; font-size: 12px; line-height: 1.65; }
.auth-verification-resend { display: flex; align-items: center; gap: 5px; margin: -8px 0 16px; color: #686f6d; font-size: 12px; }
.auth-verification-resend button { padding: 0; border: 0; background: transparent; color: #2d777d; font: inherit; font-weight: 800; cursor: pointer; }
.auth-verification-card ol { display: grid; gap: 12px; margin: 0 0 24px; padding: 18px 18px 18px 38px; border-radius: 14px; background: #f5f7f5; color: #4e5958; line-height: 1.6; }
.auth-verification-card header b { color: #2b5556; overflow-wrap: anywhere; }
.auth-verification-actions { display: grid; gap: 10px; }
.auth-verification-actions > button:not(.primary-button) { padding: 6px; border: 0; background: transparent; color: #2d777d; font: inherit; font-weight: 800; cursor: pointer; }
.auth-recovery-story { align-content: center; }.auth-recovery-story header { max-width: 620px; }.auth-recovery-story header h1 { max-width: 700px; }.auth-recovery-shell .auth-card { min-height: 0; }
.auth-error { margin: 0 0 18px; padding: 12px 14px; border-radius: 12px; background: #fff0eb; color: #a34631; font-weight: 700; }
.showcase-login-guide { display: grid; gap: 12px; margin: 0 0 22px; padding: 16px; border: 1px solid rgba(47, 119, 115, .2); border-radius: 16px; background: #f1f8f7; }
.showcase-login-guide header { display: grid; gap: 4px; }
.showcase-login-guide header b { color: #244b4a; font-size: 15px; }
.showcase-login-guide header span { color: #66736e; font-size: 12px; line-height: 1.5; }
.showcase-login-guide code { padding: 2px 5px; border-radius: 5px; background: rgba(255,255,255,.8); color: #244b4a; font-family: inherit; font-weight: 800; }
.showcase-login-guide > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.showcase-login-guide a { display: grid; gap: 4px; padding: 11px 10px; border: 1px solid #d4e3e0; border-radius: 11px; background: rgba(255,255,255,.84); color: #27302d; text-align: left; text-decoration: none; }
.showcase-login-guide a:hover { border-color: #5ba2a2; background: #fff; }
.showcase-login-guide a span { color: #73807c; font-size: 11px; line-height: 1.4; }
.showcase-mode-banner { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 38px; padding: 8px 24px; border-bottom: 1px solid rgba(47,119,115,.16); background: #edf7f5; color: #486461; font-size: 12px; line-height: 1.5; }
.showcase-mode-banner b { color: #24655f; white-space: nowrap; }
.auth-consent { display: grid; gap: 10px; padding: 14px; border: 1px solid #dfe3df; border-radius: 13px; background: #f7f8f6; }
.auth-consent > label { grid-template-columns: 18px 1fr; align-items: start; gap: 10px; font-size: 13px; line-height: 1.55; }
.auth-card .auth-consent input[type="checkbox"] { width: 18px; height: 18px; margin-top: 1px; padding: 0; }
.auth-consent-combined a { color: #2d777d; font-weight: 800; text-underline-offset: 2px; }
.admin-audit-panel { overflow: hidden; }
.admin-audit-filters { display: grid; grid-template-columns: minmax(180px, 1.3fr) minmax(150px, .8fr) minmax(145px, .75fr) minmax(145px, .75fr) auto auto; gap: 12px; align-items: end; padding: 22px; border-bottom: 1px solid #e1e1dc; }
.admin-audit-filters label { display: grid; gap: 7px; color: #727b7d; font-size: 12px; font-weight: 800; }
.admin-audit-filters input, .admin-audit-filters select { min-height: 44px; padding: 0 12px; border: 1px solid #d8dcd8; border-radius: 10px; background: #fff; color: #1c2527; font: inherit; }
.admin-audit-list > header, .admin-audit-list > article { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(250px, 1fr) minmax(320px, 1.5fr); gap: 18px; align-items: center; padding: 16px 22px; }
.admin-audit-list > header { background: #f4f5f3; color: #7b8587; font-size: 12px; font-weight: 800; }
.admin-audit-list > article { border-top: 1px solid #e7e7e2; }
.admin-audit-list article span { display: grid; gap: 4px; }
.admin-audit-list article small { color: #899193; overflow-wrap: anywhere; }
.admin-audit-list article code { padding: 10px; border-radius: 8px; background: #f7f8f6; color: #576365; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-audit-more { margin: 0 22px 22px; }
@media (max-width: 1180px) { .admin-audit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-audit-list > header, .admin-audit-list > article { grid-template-columns: 1fr; } .admin-audit-list > header { display: none; } }
.auth-loading { justify-self: center; grid-column: 1 / -1; display: grid; justify-items: center; gap: 14px; text-align: center; }
.auth-loading b { font-size: 24px; }
.auth-loading span { color: #768081; }
.account-logout { border: 0; background: transparent; color: #657070; font: inherit; font-weight: 750; cursor: pointer; }
.experience-switch { min-height: 38px; padding: 0 13px; border: 1px solid #cfd8d5; border-radius: 10px; background: #f7faf9; color: #315e61; font-weight: 800; }
.creator-empty-workspace { display: grid; place-items: center; min-height: calc(100vh - 90px); }
.creator-empty-workspace section { max-width: 720px; padding: 64px; border: 1px solid #dde1dd; border-radius: 28px; background: #fff; text-align: center; }
.creator-empty-workspace h1 { margin: 12px 0 18px; font-size: 48px; }
.creator-empty-workspace p { margin: 0 auto 28px; color: #6f7778; font-size: 19px; line-height: 1.75; }

@media (max-width: 920px) {
  .auth-shell { grid-template-columns: 1fr; padding: 28px; }
  .auth-story { width: min(100%, 560px); justify-self: center; }
  .auth-brand { margin-bottom: 28px; }
  .auth-card { justify-self: center; }
  .auth-welcome-shell .auth-welcome-card { order: -1; }
  .auth-welcome-card { min-height: 520px; }
}
@media (max-width: 560px) { .auth-destination-list, .showcase-login-guide > div { grid-template-columns: 1fr; }.auth-destination-list button, .auth-welcome-destinations article { min-height: 112px; }.auth-welcome-card { min-height: 460px; padding: 36px 24px; }.auth-welcome-symbol { width: 78px; height: 78px; margin-bottom: 22px; }.auth-welcome-card h2 { font-size: 31px; }.auth-welcome-destination { align-items: center; flex-direction: column; gap: 2px; }.showcase-mode-banner { align-items: flex-start; flex-direction: column; gap: 2px; } }

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); }
body, button, input, textarea, select { font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
button, input, textarea, select { font-size: 14px; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .48; }
a { color: inherit; }

.app-shell { min-height: 100vh; }
.topbar {
  height: 68px; background: #fff; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 30px; padding: 0 30px;
  position: sticky; top: 0; z-index: 30;
}
.brand { min-width: 170px; }
.brand strong { color: var(--green); font-size: 20px; letter-spacing: 0; }
.brand small { display: block; margin-top: 2px; color: var(--muted); font-size:12px; font-weight: 700; }
.top-nav { display: flex; align-items: stretch; height: 100%; gap: 28px; }
.nav-item { border: 0; background: transparent; color: var(--muted); font-size: 13px; position: relative; padding: 0; }
.nav-item.active { color: var(--ink); font-weight: 800; }
.nav-item.active::after { content: ""; position: absolute; height: 3px; background: var(--coral); left: 0; right: 0; bottom: 0; }
.nav-item.locked { color: #a3ada9; }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.save-indicator { color: var(--soft); font-size:13px; }
.avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--deep); color: #fff; font-weight: 800; }
.header-icon-button { position: relative; display: inline-grid; flex: 0 0 42px; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #d7ddda; border-radius: 12px; background: #fff; color: #455254; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.header-icon-button:hover { transform: translateY(-1px); border-color: #aebdb8; background: #f7faf9; color: #315e61; }
.header-icon-button:focus-visible { outline: 3px solid rgba(79,111,216,.2); outline-offset: 2px; }
.header-icon-button svg, .compact-account-popover button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.role-mode-button { color: #4f6fd8; background: #f4f6ff; border-color: #d2daf3; }
.creator-discover-entry { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 13px; border: 1px solid #d7ddda; border-radius: 12px; background: #fff; color: #455254; font-weight: 750; cursor: pointer; }
.creator-discover-entry:hover { border-color: #aebdb8; background: #f7faf9; color: #315e61; }
.creator-discover-entry svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.compact-account-menu { position: relative; flex: 0 0 auto; }
.compact-account-menu > summary { list-style: none; }
.compact-account-menu > summary::-webkit-details-marker { display: none; }
.connection-dot { position: absolute; top: 5px; right: 5px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: #56ad86; box-sizing: content-box; }
.compact-account-popover { position: absolute; top: calc(100% + 10px); right: 0; z-index: 80; display: grid; width: 244px; overflow: hidden; padding: 8px; border: 1px solid #dfe4e2; border-radius: 16px; background: #fff; box-shadow: 0 18px 48px rgba(33,43,42,.16); }
.compact-account-popover header { display: grid; gap: 3px; margin: 0 0 5px; padding: 13px 13px 12px; border-bottom: 1px solid #edf0ef; }
.compact-account-popover header small { color: #8a9391; font-size: 10px; font-weight: 750; letter-spacing: .08em; }
.compact-account-popover header b { color: #293332; font-size: 15px; }
.compact-account-popover header span { overflow: hidden; color: #78817f; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.compact-account-popover button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: #4c5755; font-weight: 700; text-align: left; cursor: pointer; }
.compact-account-popover button:hover { background: #f4f7f6; color: #315e61; }
.creator-role .creator-global-action > i { position: static; width: auto; height: auto; border-radius: 0; background: transparent; font-style: normal; }

.icon-button, .ghost-button, .secondary-button, .primary-button, .danger-button {
  border-radius: 6px; min-height: 38px; font-weight: 800; transition: .18s ease;
}
.icon-button { width: 38px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 18px; }
.ghost-button { border: 0; background: transparent; color: var(--green); padding: 8px 10px; }
.secondary-button { border: 1px solid #b9c7c2; background: #fff; color: var(--ink); padding: 9px 15px; }
.primary-button { border: 1px solid var(--green); background: var(--green); color: #fff; padding: 9px 16px; }
.danger-button { border: 1px solid #e8b4ae; background: #fff; color: var(--red); padding: 9px 15px; }
.icon-button:hover, .secondary-button:hover { border-color: var(--green); color: var(--green); }
.primary-button:hover { background: #2f6967; }

.workspace-layout { display: grid; grid-template-columns: 76px minmax(0, 1fr); min-height: calc(100vh - 68px); }
.icon-rail { background: var(--deep); color: #c7d9d5; padding: 22px 0; display: flex; align-items: center; flex-direction: column; gap: 14px; position: sticky; top: 68px; height: calc(100vh - 68px); }
.rail-logo, .rail-button { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 6px; }
.rail-logo { background: var(--green); color: #fff; font-size: 17px; font-weight: 900; margin-bottom: 7px; }
.rail-button { border: 0; background: transparent; color: #bed0cc; font-size: 17px; }
.rail-button.active { color: #fff; background: #3b6d6a; }
.rail-button:hover { background: #315f5d; color: #fff; }
.rail-spacer { flex: 1; }

.workspace { padding: 25px 28px 34px; min-width: 0; }
.workspace-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; }
.eyebrow { color: var(--green); font-size:12px; font-weight: 900; text-transform: uppercase; }
h1 { margin: 7px 0 5px; font-size: 28px; line-height: 1.2; }
h2, h3, p { margin-top: 0; }
.subtitle { color: var(--muted); font-size: 13px; line-height: 1.65; margin-bottom: 0; }
.header-actions { display: flex; gap: 9px; flex-shrink: 0; }

.workspace-grid { display: grid; grid-template-columns: 292px minmax(460px, 1fr) 318px; gap: 15px; margin-top: 20px; min-height: 720px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 2px 12px rgba(23, 32, 30, .025); }
.list-panel, .detail-panel, .assistant-panel { min-width: 0; }
.list-panel { padding: 14px; }
.search-row { display: grid; grid-template-columns: 1fr 92px; gap: 7px; }
.search-box { position: relative; }
.search-box span { position: absolute; left: 12px; top: 10px; color: var(--soft); }
.search-box input { width: 100%; height: 38px; border: 1px solid var(--line); border-radius: 5px; padding: 8px 10px 8px 33px; outline: none; }
.search-row select { height: 38px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--muted); padding: 0 8px; }
.list-meta { display: flex; justify-content: space-between; color: var(--soft); font-size:12px; padding: 13px 2px 5px; }
.ip-list { display: grid; gap: 5px; }
.ip-item { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 10px; padding: 10px; border: 1px solid transparent; border-radius: 6px; background: transparent; text-align: left; width: 100%; }
.ip-item:hover { background: #f5f8f7; }
.ip-item.active { background: #edf6f3; border-color: #c8ded7; }
.ip-thumb { width: 62px; height: 62px; border-radius: 5px; object-fit: cover; background: var(--blue); }
.ip-copy { min-width: 0; }
.ip-copy b { display: block; font-size:14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-copy p { color: var(--muted); font-size:12px; margin: 6px 0 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.status-chip { display: inline-flex; align-items: center; gap: 5px; border-radius: 4px; padding: 5px 7px; font-size:12px; font-weight: 800; }
.status-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-chip.green { background: #e5f4ed; color: var(--green); }
.status-chip.yellow { background: var(--amber-soft); color: #8a5d05; }
.status-chip.red { background: var(--coral-soft); color: var(--red); }
.empty-list { padding: 40px 12px; color: var(--muted); font-size:14px; text-align: center; }

.detail-panel { padding: 0 18px 22px; }
.detail-tabs { display: flex; gap: 21px; height: 49px; align-items: stretch; border-bottom: 1px solid var(--line); overflow-x: auto; }
.detail-tab { border: 0; background: transparent; color: var(--muted); padding: 0 2px; white-space: nowrap; font-size:13px; position: relative; }
.detail-tab.active { color: var(--green); font-weight: 900; }
.detail-tab.active::after { content: ""; position: absolute; height: 2px; background: var(--green); left: 0; right: 0; bottom: -1px; }
.profile-summary { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 20px; padding: 18px 0; }
.profile-image { width: 168px; height: 168px; border-radius: 6px; object-fit: cover; background: var(--blue); }
.profile-summary h2 { margin: 5px 0 7px; font-size: 21px; }
.profile-summary .statement { color: var(--muted); line-height: 1.65; font-size:14px; min-height: 38px; }
.summary-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.metric-box { background: #f3f7f5; border-radius: 5px; padding: 11px; min-width: 0; }
.metric-box span { color: var(--soft); font-size:12px; }
.metric-box b { display: block; font-size:14px; margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin: 6px 0 10px; }
.section-title h3 { margin: 0; font-size: 13px; }
.section-title span { color: var(--soft); font-size:12px; }
.data-table { border-top: 1px solid var(--line); }
.data-row { display: grid; grid-template-columns: 55px 98px minmax(0, 1fr) 74px; gap: 8px; align-items: center; min-height: 46px; padding: 8px 6px; border-bottom: 1px solid #e8ecea; font-size:12px; }
.data-row b { color: var(--green); }
.data-row .evidence-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-state { border-radius: 4px; padding: 5px 6px; font-weight: 800; text-align: center; }
.mini-state.ok { color: var(--green); background: #e5f4ed; }
.mini-state.warn { color: #8a5d05; background: var(--amber-soft); }
.detail-copy { padding: 18px 2px; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.info-block { border: 1px solid var(--line); border-radius: 6px; padding: 13px; background: #fbfcfb; }
.info-block.wide { grid-column: 1 / -1; }
.info-block small { color: var(--soft); font-size:12px; }
.info-block b, .info-block p { display: block; margin: 6px 0 0; font-size:13px; line-height: 1.6; }
.scope-list { display: grid; gap: 8px; }
.scope-row { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 5px; padding: 12px; font-size:13px; }
.scope-row b { color: var(--green); }
.scope-row.off b { color: var(--soft); }

.assistant-panel { padding: 16px; }
.assistant-panel h3 { margin: 2px 0 13px; font-size: 14px; }
.risk-card { color: #fff; background: var(--deep); border-radius: 7px; padding: 17px; position: relative; overflow: hidden; }
.risk-card::after { content: ""; position: absolute; width: 105px; height: 105px; border: 18px solid rgba(255,255,255,.06); border-radius: 50%; right: -35px; top: -35px; }
.risk-card small { color: #c8d9d5; font-size:12px; }
.risk-main { display: flex; align-items: flex-end; gap: 9px; margin: 8px 0 6px; }
.risk-main strong { font-size: 29px; }
.risk-main span { margin-bottom: 4px; font-size:13px; }
.risk-card p { color: #d7e5e1; font-size:12px; line-height: 1.55; margin-bottom: 0; }
.completeness { margin: 15px 0; }
.completeness-head { display: flex; justify-content: space-between; font-size:12px; margin-bottom: 7px; }
.bar { height: 6px; border-radius: 4px; background: #e7ecea; overflow: hidden; }
.bar i { display: block; height: 100%; background: var(--green-2); border-radius: inherit; transition: width .3s ease; }
.action-list { border-top: 1px solid var(--line); margin-top: 10px; }
.action-item { padding: 13px 2px; border-bottom: 1px solid #e7ebe9; }
.action-item b { display: block; font-size:13px; margin-bottom: 5px; }
.action-item p { color: var(--muted); font-size:12px; line-height: 1.55; margin: 0; }
.boundary-note { margin-top: 13px; background: var(--amber-soft); border-left: 4px solid var(--amber); padding: 12px; font-size:12px; line-height: 1.6; }
.assistant-panel .primary-button { width: 100%; margin-top: 13px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(17, 31, 28, .5); display: grid; place-items: center; padding: 22px; }
.intake-modal { width: min(1180px, 100%); height: min(820px, calc(100vh - 44px)); background: #fff; border-radius: 8px; box-shadow: 0 24px 80px rgba(7, 23, 20, .25); display: grid; grid-template-columns: 224px minmax(0, 1fr) 290px; overflow: hidden; }
.modal-steps { background: var(--deep); color: #fff; padding: 24px 18px; overflow-y: auto; }
.modal-steps h3 { color: #9fc1ba; font-size:13px; margin-bottom: 18px; }
.wizard-step { display: flex; gap: 10px; padding: 12px 9px; border: 0; border-radius: 6px; color: #bed1cd; background: transparent; width: 100%; text-align: left; }
.wizard-step.active { background: #2b514a; color: #fff; }
.wizard-step.done .step-number { background: var(--green-2); color: #fff; }
.step-number { width: 24px; height: 24px; border-radius: 50%; background: #3d625b; display: grid; place-items: center; flex: 0 0 auto; font-size:12px; font-style: normal; }
.wizard-step b { display: block; font-size:13px; margin-bottom: 3px; }
.wizard-step small { color: inherit; opacity: .75; font-size:12px; }
.step-help { margin-top: 22px; padding: 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 6px; color: #c6d8d4; font-size:12px; line-height: 1.65; }

.modal-main { display: flex; flex-direction: column; min-width: 0; }
.modal-head { height: 70px; display: flex; align-items: center; padding: 0 26px; border-bottom: 1px solid var(--line); }
.modal-head div { min-width: 0; }
.modal-head h2 { font-size: 18px; margin: 5px 0 0; }
.modal-head .icon-button { margin-left: auto; }
.modal-scroll { flex: 1; overflow-y: auto; padding: 24px 27px; }
.step-intro { color: var(--muted); font-size:14px; line-height: 1.7; margin-bottom: 20px; max-width: 720px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; font-size:13px; font-weight: 800; margin-bottom: 7px; }
.field label em { color: var(--coral); font-style: normal; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid #cfd8d4; border-radius: 5px; outline: none; background: #fff; padding: 10px 11px; color: var(--ink); }
.field input, .field select { height: 42px; }
.field textarea { min-height: 84px; resize: vertical; line-height: 1.55; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--green-2); box-shadow: 0 0 0 3px rgba(58,157,152,.1); }
.field .help { color: var(--soft); font-size:12px; line-height: 1.5; margin-top: 6px; }
.segment-list { display: flex; flex-wrap: wrap; gap: 7px; }
.segment { border: 1px solid #cad5d1; border-radius: 5px; background: #fff; color: #44534e; padding: 9px 11px; font-size:12px; }
.segment.active { background: var(--mint); color: var(--green); border-color: #70aca1; font-weight: 800; }
.upload-zone { border: 1px dashed #8aa79f; min-height: 116px; border-radius: 6px; background: #f7fbf9; display: grid; place-items: center; text-align: center; padding: 16px; color: var(--muted); }
.upload-zone b { display: block; color: var(--green); margin-bottom: 6px; font-size:14px; }
.upload-zone input { display: none; }
.upload-preview { width: 100%; max-height: 220px; object-fit: contain; margin-top: 12px; border-radius: 5px; background: #eef2f0; }
.conditional-box { grid-column: 1/-1; border-left: 4px solid var(--amber); background: var(--amber-soft); padding: 14px; }
.repeater { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.repeater-head, .repeater-row { display: grid; grid-template-columns: 76px 122px minmax(160px, 1fr) 128px 38px; gap: 7px; align-items: center; padding: 9px; }
.repeater-head { background: #f1f5f3; color: var(--muted); font-size:12px; font-weight: 800; }
.repeater-row { border-top: 1px solid var(--line); }
.repeater-row input, .repeater-row select { width: 100%; height: 36px; border: 1px solid #d3dcd8; border-radius: 4px; padding: 7px; font-size:12px; }
.remove-row { width: 32px; height: 32px; border: 0; color: var(--red); background: transparent; font-size: 18px; }
.add-row { margin: 9px; }
.check-list { display: grid; gap: 9px; }
.check-card { border: 1px solid var(--line); border-radius: 6px; padding: 13px; display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.check-card.checked { background: #f0f7f5; border-color: #afd0c7; }
.check-card input { width: 16px; height: 16px; accent-color: var(--green); margin-top: 1px; }
.check-card b { display: block; font-size:13px; margin-bottom: 4px; }
.check-card p { color: var(--muted); font-size:12px; line-height: 1.55; margin: 0; }
.scope-editor { display: grid; gap: 9px; }
.scope-edit-row { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 6px; }
.scope-edit-row.disabled { background: #f7f8f7; }
.toggle { width: 40px; height: 22px; border-radius: 12px; border: 0; background: #cbd4d1; padding: 3px; }
.toggle::after { content: ""; display: block; width: 16px; height: 16px; background: #fff; border-radius: 50%; transition: .2s ease; }
.toggle.on { background: var(--green); }
.toggle.on::after { transform: translateX(18px); }
.scope-edit-row b { display: block; font-size:13px; margin-bottom: 4px; }
.scope-edit-row p { color: var(--muted); font-size:12px; margin: 0; line-height: 1.5; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.review-card { border: 1px solid var(--line); border-radius: 6px; padding: 15px; }
.review-card h3 { font-size:14px; margin-bottom: 10px; }
.review-card p, .review-card li { color: var(--muted); font-size:12px; line-height: 1.65; }
.review-card ul { padding-left: 18px; margin-bottom: 0; }
.declaration { margin-top: 14px; padding: 13px; border: 1px solid #d7dfdc; background: #fafcfb; border-radius: 6px; display: grid; grid-template-columns: 20px 1fr; gap: 9px; font-size:12px; line-height: 1.6; }
.declaration input { accent-color: var(--green); }
.modal-footer { border-top: 1px solid var(--line); min-height: 68px; display: flex; align-items: center; padding: 12px 26px; gap: 10px; }
.modal-footer .draft-note { color: var(--soft); font-size:12px; margin-right: auto; }
.modal-footer .required-note { color: #8a5a24; }
.modal-footer .required-note b { display: block; color: #6f4318; margin-bottom: 2px; }

.live-preview { background: #f2f5f3; border-left: 1px solid var(--line); padding: 22px 17px; overflow-y: auto; }
.live-preview h3 { font-size:14px; margin-bottom: 12px; }
.preview-card { background: #fff; border: 1px solid var(--line); border-radius: 7px; padding: 13px; }
.preview-art { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: var(--blue); border-radius: 5px; }
.preview-card h2 { margin: 13px 0 5px; font-size: 18px; }
.preview-card .statement { color: var(--muted); font-size:12px; line-height: 1.6; min-height: 32px; }
.preview-line { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid #e9edeb; font-size:12px; }
.preview-line span { color: var(--soft); }
.preview-tip { margin-top: 12px; color: var(--muted); font-size:12px; line-height: 1.6; }

.toast { position: fixed; right: 24px; bottom: 24px; z-index: 120; background: var(--deep); color: #fff; padding: 12px 16px; border-radius: 6px; box-shadow: var(--shadow); font-size:13px; animation: toast-in .2s ease; }
@keyframes toast-in { from { transform: translateY(8px); opacity: 0; } }

@media (max-width: 1160px) {
  .workspace-grid { grid-template-columns: 270px minmax(430px, 1fr); }
  .assistant-panel { grid-column: 1 / -1; display: grid; grid-template-columns: 220px 1fr 230px; gap: 15px; }
  .assistant-panel h3 { grid-column: 1/-1; }
  .assistant-panel .primary-button { align-self: end; }
  .intake-modal { grid-template-columns: 200px minmax(0, 1fr); }
  .live-preview { display: none; }
}

@media (max-width: 780px) {
  .topbar { height: 58px; padding: 0 14px; }
  .brand { min-width: auto; }
  .brand small, .top-nav, .save-indicator { display: none; }
  .workspace-layout { grid-template-columns: 1fr; min-height: calc(100vh - 58px); }
  .icon-rail { display: none; }
  .workspace { padding: 18px 14px 26px; }
  .workspace-header { align-items: flex-start; }
  .workspace-header h1 { font-size: 22px; }
  .workspace-header .subtitle { display: none; }
  .header-actions .secondary-button { display: none; }
  .workspace-grid { display: block; margin-top: 16px; }
  .list-panel { margin-bottom: 12px; }
  .ip-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-panel { margin-bottom: 12px; }
  .assistant-panel { display: block; }
  .profile-summary { grid-template-columns: 112px 1fr; }
  .profile-image { width: 112px; height: 112px; }
  .summary-metrics { grid-template-columns: 1fr; }
  .data-row { grid-template-columns: 46px 82px 1fr; }
  .data-row > :last-child { grid-column: 3; }
  .modal-backdrop { padding: 0; place-items: stretch; }
  .intake-modal { width: 100%; height: 100vh; border-radius: 0; display: block; }
  .modal-steps { height: 86px; padding: 10px 12px; display: flex; gap: 6px; overflow-x: auto; }
  .modal-steps h3, .step-help, .wizard-step div { display: none; }
  .wizard-step { width: 42px; min-width: 42px; height: 42px; padding: 9px; justify-content: center; }
  .modal-main { height: calc(100vh - 86px); }
  .modal-head { height: 60px; padding: 0 15px; }
  .modal-scroll { padding: 18px 15px; }
  .form-grid, .review-grid, .info-grid { grid-template-columns: 1fr; }
  .field.full, .info-block.wide { grid-column: 1; }
  .repeater { overflow-x: auto; }
  .repeater-head, .repeater-row { min-width: 680px; }
  .modal-footer { padding: 10px 14px; position: sticky; bottom: 0; background: #fff; }
  .modal-footer .draft-note { display: none; }
}

@media (max-width: 480px) {
  .ip-list { grid-template-columns: 1fr; }
  .workspace-header { display: block; }
  .header-actions { margin-top: 13px; }
  .header-actions .primary-button { width: 100%; }
  .profile-summary { grid-template-columns: 1fr; }
  .profile-image { width: 100%; height: auto; aspect-ratio: 4/3; }
}

/* Role-aware workspace */
.role-switch { display: flex; align-items: center; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: #f0f4f2; }
.role-switch button { height: 28px; min-width: 58px; padding: 0 10px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font-size:12px; font-weight: 800; }
.role-switch button.active { background: #fff; color: var(--green); box-shadow: 0 1px 5px rgba(23, 32, 30, .11); }
.creator-stage-panel { margin-top: 20px; padding: 20px 22px; display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 34px; align-items: center; }
.creator-stage-copy h2 { margin: 12px 0 6px; font-size: 20px; }
.creator-stage-copy p { margin: 0; color: var(--muted); font-size:12px; line-height: 1.65; }
.stage-track { display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
.track-item { min-width: 78px; text-align: center; color: var(--soft); }
.track-item i { width: 30px; height: 30px; margin: 0 auto 8px; border-radius: 50%; background: #e5eae8; color: var(--soft); display: grid; place-items: center; font-size:12px; font-style: normal; font-weight: 900; }
.track-item b { display: block; color: var(--muted); font-size:12px; }
.track-item small { display: block; margin-top: 4px; font-size:11px; }
.track-item.active i { background: var(--green); color: #fff; }
.track-item.active b { color: var(--green); }
.track-line { height: 2px; min-width: 28px; flex: 1; background: #dfe5e2; margin: 0 4px 28px; }
.creator-content-grid { display: grid; grid-template-columns: minmax(520px, 1fr) 318px; gap: 15px; margin-top: 15px; min-height: 610px; }
.creator-privacy { margin-top: 12px; padding: 11px 14px; border-left: 4px solid var(--green-2); background: var(--mint); color: var(--muted); font-size:12px; line-height: 1.6; }
@media (max-width: 1160px) {
  .creator-stage-panel { grid-template-columns: 260px 1fr; gap: 20px; }
  .creator-content-grid { grid-template-columns: minmax(430px, 1fr) 290px; }
}
@media (max-width: 780px) {
  .top-actions { gap: 7px; }
  .role-switch button { min-width: 50px; padding: 0 7px; }
  .avatar { width: 30px; height: 30px; font-size:13px; }
  .creator-stage-panel { display: block; padding: 16px; }
  .stage-track { margin-top: 20px; overflow-x: auto; justify-content: flex-start; padding-bottom: 5px; }
  .track-line { min-width: 22px; }
  .creator-content-grid { display: block; min-height: 0; }
  .creator-content-grid .detail-panel { margin-bottom: 12px; }
}
@media (max-width: 420px) {
  .topbar { gap: 8px; }
  .role-switch button { min-width: 45px; padding: 0 5px; }
  .avatar { display: none; }
}

/* Platform compliance workspace */
.assistant-panel.platform-compliance { display: block; }
.compliance-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.compliance-head h3 { margin: 5px 0 0; font-size: 13px; }
.compliance-summary { margin: 13px 0 8px; padding: 10px 11px; border-radius: 5px; background: #f1f6f4; display: flex; justify-content: space-between; gap: 8px; font-size:12px; }
.compliance-summary b { color: var(--green); }
.compliance-summary span { color: var(--muted); text-align: right; }
.platform-checks { border-top: 1px solid var(--line); }
.platform-check { width: 100%; display: grid; grid-template-columns: 22px minmax(0, 1fr) 44px; gap: 8px; align-items: start; padding: 11px 2px; border: 0; border-bottom: 1px solid #e7ebe9; background: transparent; color: var(--ink); text-align: left; }
.platform-check:hover { background: #f7faf9; }
.platform-check i { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: #edf1ef; color: var(--soft); font-size:12px; font-style: normal; font-weight: 900; }
.platform-check b { display: block; margin-bottom: 4px; font-size:12px; }
.platform-check small { display: block; color: var(--muted); font-size:11px; line-height: 1.5; }
.platform-check em { color: var(--soft); font-size:11px; font-style: normal; text-align: right; padding-top: 3px; }
.platform-check.done i { background: var(--green); color: #fff; }
.platform-check.done b, .platform-check.done em { color: var(--green); }
.platform-output { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 5px; }
.platform-output b { width: 100%; margin-bottom: 2px; font-size:12px; }
.platform-output span { padding: 5px 7px; border-radius: 4px; background: var(--blue); color: #3f5f70; font-size:11px; font-weight: 800; }
.compliance-actions { margin-top: 12px; display: grid; gap: 7px; }
.compliance-actions button { width: 100%; font-size:12px; }
@media (max-width: 1160px) {
  .assistant-panel.platform-compliance { display: block; grid-column: 1 / -1; }
  .assistant-panel.platform-compliance h3 { grid-column: auto; }
  .platform-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
}
@media (max-width: 780px) {
  .platform-checks { display: block; }
}

/* Cross-role platform updates */
.sent-note { margin: 0 0 9px; padding: 9px 10px; border-left: 4px solid var(--green-2); background: var(--mint); }
.sent-note b { display: block; color: var(--green); font-size:12px; margin-bottom: 3px; }
.sent-note span { color: var(--muted); font-size:11px; }
.creator-task-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.creator-task-head h3 { margin: 5px 0 0; }
.creator-task-head > span { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; display: grid; place-items: center; background: var(--coral); color: #fff; font-size:12px; font-weight: 900; }
.creator-task-list { display: grid; gap: 8px; }
.creator-task { border: 1px solid var(--line); border-left: 4px solid var(--amber); border-radius: 5px; padding: 10px; background: #fff; }
.creator-task.submitted { border-left-color: var(--green-2); background: #f3f9f7; }
.creator-task.info { border-left-color: var(--green); background: var(--mint); }
.task-status { color: #8a5d05; font-size:11px; font-weight: 900; margin-bottom: 6px; }
.creator-task.submitted .task-status, .creator-task.info .task-status { color: var(--green); }
.creator-task > b { display: block; font-size:12px; margin-bottom: 4px; }
.creator-task p { color: var(--muted); font-size:11px; line-height: 1.5; margin: 0 0 8px; }
.creator-task button { width: 100%; min-height: 30px; padding: 6px 8px; font-size:12px; }
.creator-task small { color: var(--green); font-size:11px; }
.task-empty { padding: 16px 12px; border: 1px dashed #cbd7d2; border-radius: 5px; background: #f8faf9; text-align: center; }
.task-empty b { font-size:12px; }
.task-empty p { margin: 5px 0 0; color: var(--muted); font-size:11px; line-height: 1.55; }
.task-section-title { margin: 14px 0 8px; color: var(--soft); font-size:11px; font-weight: 900; }
.risk-card.compact { padding: 13px; }
.risk-card.compact .risk-main { margin: 5px 0; }
.risk-card.compact .risk-main strong { font-size: 22px; }
.track-item.done i { background: var(--green-2); color: #fff; }
.track-item.done b { color: var(--green); }
.track-line.done { background: var(--green-2); }

/* Structured material request composer */
.request-backdrop { z-index: 95; }
.request-modal { width: min(1120px, 100%); height: min(860px, calc(100vh - 38px)); display: flex; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 24px 80px rgba(7, 23, 20, .28); }
.request-head { min-height: 88px; padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; gap: 20px; }
.request-head h2 { margin: 5px 0 4px; font-size: 20px; }
.request-head p { margin: 0; color: var(--muted); font-size:12px; }
.request-head .icon-button { margin-left: auto; flex: 0 0 auto; }
.request-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 300px; }
.request-catalog { overflow-y: auto; padding: 18px 22px 24px; }
.request-suggestion { margin-bottom: 15px; padding: 11px 13px; border-left: 4px solid var(--green-2); background: var(--mint); }
.request-suggestion b { display: block; color: var(--green); font-size:12px; margin-bottom: 4px; }
.request-suggestion span { color: var(--muted); font-size:12px; }
.request-category { margin-bottom: 18px; }
.request-category h3 { margin: 0 0 8px; color: var(--soft); font-size:12px; }
.request-option { border-top: 1px solid var(--line); padding: 10px 4px; }
.request-option:last-child { border-bottom: 1px solid var(--line); }
.request-option.selected { background: #f8fbfa; }
.request-option > label { display: grid; grid-template-columns: 20px 1fr; gap: 8px; cursor: pointer; }
.request-option > label input { width: 16px; height: 16px; accent-color: var(--green); margin-top: 1px; }
.request-option > label b { display: block; font-size:12px; margin-bottom: 3px; }
.request-option > label small { display: block; color: var(--muted); font-size:11px; line-height: 1.45; }
.request-config { margin: 9px 0 0 28px; display: grid; grid-template-columns: 142px minmax(0, 1fr); gap: 8px; }
.request-config select, .request-config input { height: 34px; border: 1px solid #ced8d4; border-radius: 4px; background: #fff; padding: 6px 8px; font-size:12px; }
.request-settings { border-left: 1px solid var(--line); background: #f5f7f6; padding: 20px 17px; overflow-y: auto; }
.request-settings > h3 { font-size:14px; margin-bottom: 17px; }
.request-settings .field { margin-bottom: 16px; }
.request-preview { margin-top: 17px; padding: 15px; border-radius: 6px; background: var(--deep); color: #fff; }
.request-preview small { color: #bcd1cc; font-size:11px; }
.request-preview b { display: block; margin: 7px 0 9px; font-size: 17px; }
.request-preview span { display: block; margin-top: 5px; color: #d5e3df; font-size:12px; }
.request-footer { min-height: 66px; border-top: 1px solid var(--line); padding: 12px 20px; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
@media (max-width: 780px) {
  .request-backdrop { padding: 0; }
  .request-modal { width: 100%; height: 100vh; border-radius: 0; }
  .request-head { min-height: 76px; padding: 14px; }
  .request-head p { display: none; }
  .request-body { display: block; overflow-y: auto; }
  .request-catalog { overflow: visible; padding: 14px; }
  .request-settings { border: 0; border-top: 1px solid var(--line); overflow: visible; }
  .request-config { grid-template-columns: 1fr; margin-left: 28px; }
  .request-footer { position: sticky; bottom: 0; background: #fff; }
}

.task-meta { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 7px; }
.task-meta span { padding: 4px 6px; border-radius: 4px; background: #edf2f0; color: var(--muted); font-size:11px; font-weight: 800; }
.task-meta span.important { background: var(--amber-soft); color: #8a5d05; }
.task-meta span.blocking { background: var(--coral-soft); color: var(--red); }
/* AI review routing and agreement */
.review-boundary { margin: 12px 0; padding: 11px 12px; border-left: 4px solid var(--green-2); background: var(--mint); }
.review-boundary b { color: var(--green); font-size:12px; }
.review-boundary p { margin: 4px 0 0; color: var(--muted); font-size:11px; line-height: 1.55; }
.route-legend { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 9px; }
.route-legend span, .route-badge { display: inline-flex; align-items: center; min-height: 20px; padding: 4px 7px; border-radius: 4px; font-size:11px; font-weight: 900; }
.route-ai, .route-badge.ai { color: #245a70; background: #e4f1f6; }
.route-human, .route-badge.human { color: #725509; background: #fff2c9; }
.route-pro, .route-badge.pro { color: #913d37; background: #fde6e2; }
.review-lane { margin-top: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.review-lane.ai-lane { border-top: 3px solid #5d9cb7; }
.review-lane.human-lane { border-top: 3px solid #d8aa35; }
.review-lane.pro-lane { border-top: 3px solid #c86c62; }
.review-lane.pro-lane.required { background: #fff8f6; border-color: #e9b7b0; }
.lane-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lane-head > div { display: flex; align-items: center; gap: 7px; min-width: 0; }
.lane-head b { font-size:12px; }
.lane-head em { color: var(--soft); font-size:11px; font-style: normal; white-space: nowrap; }
.review-lane > p { color: var(--muted); font-size:11px; line-height: 1.55; margin: 8px 0; }
.ai-mini-results { border-top: 1px solid var(--line); }
.ai-mini-results > div { display: grid; grid-template-columns: 8px 1fr; gap: 7px; padding: 8px 0; border-bottom: 1px solid #edf0ef; }
.ai-mini-results i { width: 7px; height: 7px; border-radius: 50%; background: #9caaa5; margin-top: 3px; }
.ai-mini-results .pass i { background: var(--green-2); }
.ai-mini-results .attention i { background: var(--coral); }
.ai-mini-results .signal i { background: #5d9cb7; }
.ai-mini-results b, .ai-mini-results small { display: block; }
.ai-mini-results b { font-size:11px; }
.ai-mini-results small { color: var(--muted); font-size:11px; margin-top: 2px; line-height: 1.4; }
.lane-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 9px; }
.lane-actions button { min-height: 32px; padding: 7px; font-size:11px; }
.review-lane .platform-checks { border: 0; margin-top: 5px; }
.review-lane .platform-check { grid-template-columns: 20px minmax(0,1fr) 42px; padding: 9px 0; }
.agreement-strip { margin-top: 10px; padding: 10px; border: 1px solid #e6c1bb; border-left: 4px solid var(--coral); border-radius: 5px; background: #fff8f6; display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.agreement-strip.signed { border-color: #a9cdc4; border-left-color: var(--green-2); background: #f2f8f6; }
.agreement-strip b, .agreement-strip span { display: block; }
.agreement-strip b { font-size:12px; }
.agreement-strip span { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.4; }
.agreement-strip button { padding: 6px 8px; font-size:11px; }
.agreement-task { border-left-color: var(--coral); background: #fff8f6; }
.agreement-callout { margin-top: 14px; padding: 14px; border: 1px solid #e5b9b2; border-left: 4px solid var(--coral); border-radius: 6px; background: #fff8f6; display: grid; grid-template-columns: 30px 1fr auto; gap: 11px; align-items: center; }
.agreement-callout.signed { border-color: #a9cdc4; border-left-color: var(--green-2); background: #f1f8f5; }
.agreement-icon { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--coral); font-size:14px; font-weight: 900; }
.agreement-callout.signed .agreement-icon { background: var(--green); }
.agreement-callout b { font-size:13px; }
.agreement-callout p { margin: 4px 0 0; color: var(--muted); font-size:12px; line-height: 1.5; }
.agreement-callout button { white-space: nowrap; }

.legal-backdrop, .report-backdrop { z-index: 105; }
.legal-modal, .report-modal { width: min(1100px, 100%); height: min(900px, calc(100vh - 34px)); display: flex; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 26px 90px rgba(7,23,20,.3); }
.legal-head { min-height: 88px; padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; gap: 18px; }
.legal-head h2 { margin: 5px 0 4px; font-size: 20px; }
.legal-head p { margin: 0; color: var(--muted); font-size:12px; }
.legal-head .icon-button { margin-left: auto; }
.legal-body { flex: 1; min-height: 0; display: grid; grid-template-columns: 240px minmax(0,1fr); }
.legal-summary { padding: 22px 20px; background: var(--deep); color: #fff; }
.legal-summary > b { font-size:14px; }
.legal-summary ol { padding-left: 18px; margin: 15px 0; color: #d2e1dd; font-size:12px; line-height: 1.8; }
.legal-version { margin-top: 25px; padding: 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 6px; }
.legal-version small, .legal-version strong, .legal-version span { display: block; }
.legal-version small { color: #9fb9b3; font-size:11px; }
.legal-version strong { margin: 6px 0; font-size: 18px; }
.legal-version span { color: #c6d8d3; font-size:11px; }
.legal-document { overflow-y: auto; padding: 22px 28px 30px; }
.legal-document section { padding: 0 0 15px; margin-bottom: 15px; border-bottom: 1px solid var(--line); }
.legal-document h3 { font-size:14px; margin-bottom: 7px; }
.legal-document p { margin: 0; color: var(--muted); font-size:12px; line-height: 1.8; }
.legal-notice { padding: 11px 13px; border-left: 4px solid var(--amber); background: var(--amber-soft); display: grid; gap: 4px; }
.legal-notice b { font-size:12px; }
.legal-notice span { color: var(--muted); font-size:11px; line-height: 1.55; }
.agreement-confirmations { display: grid; gap: 7px; margin-top: 16px; }
.agreement-confirmations label { padding: 11px 12px; border: 1px solid var(--line); border-radius: 5px; display: grid; grid-template-columns: 18px 1fr; gap: 9px; cursor: pointer; }
.agreement-confirmations label.checked { border-color: #9fc7bd; background: #f1f8f6; }
.agreement-confirmations input { width: 16px; height: 16px; accent-color: var(--green); }
.agreement-confirmations b, .agreement-confirmations small { display: block; }
.agreement-confirmations b { font-size:12px; }
.agreement-confirmations small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.5; }
.signature-row { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: end; }
.signature-proof { min-height: 64px; padding: 11px; border: 1px dashed #aec2bc; background: #f7faf9; }
.signature-proof small, .signature-proof b { display: block; }
.signature-proof small { color: var(--soft); font-size:11px; }
.signature-proof b { margin-top: 6px; font-size:12px; line-height: 1.5; }
.legal-footer { min-height: 68px; padding: 12px 20px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.legal-footer > span { margin-right: auto; color: var(--muted); font-size:11px; }

.report-body { flex: 1; overflow-y: auto; padding: 20px 24px 30px; }
.report-disclaimer { padding: 13px 15px; border-left: 4px solid #5d9cb7; background: #edf6f9; }
.report-disclaimer b { font-size:12px; }
.report-disclaimer p { margin: 4px 0 0; color: var(--muted); font-size:11px; line-height: 1.6; }
.report-list { margin-top: 15px; border-top: 1px solid var(--line); }
.report-item { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 14px 4px; border-bottom: 1px solid var(--line); }
.report-index { color: #9aa8a3; font-size: 18px; font-weight: 900; }
.report-title { display: flex; align-items: center; gap: 8px; }
.report-title h3 { margin: 0; font-size:13px; }
.report-title em { margin-left: auto; color: var(--muted); font-size:11px; font-style: normal; }
.report-item.pass .report-title em { color: var(--green); }
.report-item.attention .report-title em { color: var(--red); }
.report-result { margin: 7px 0 4px; font-size:12px; font-weight: 800; }
.report-item small { color: var(--muted); font-size:11px; line-height: 1.55; }
.source-section { margin-top: 22px; }
.source-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.source-grid a { padding: 12px; border: 1px solid var(--line); border-radius: 5px; color: var(--ink); text-decoration: none; display: grid; gap: 4px; }
.source-grid a:hover { border-color: var(--green-2); background: #f5faf8; }
.source-grid b { font-size:12px; }
.source-grid span { color: var(--muted); font-size:11px; }
.source-grid em { color: var(--green); font-size:11px; font-style: normal; }
.handoff-matrix { margin: 16px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.handoff-matrix > div { padding: 12px; border: 1px solid var(--line); border-radius: 5px; }
.handoff-matrix b { display: block; margin-top: 7px; font-size:11px; line-height: 1.5; }

@media (max-width: 780px) {
  .legal-backdrop, .report-backdrop { padding: 0; }
  .legal-modal, .report-modal { width: 100%; height: 100vh; border-radius: 0; }
  .legal-head { min-height: 74px; padding: 14px; }
  .legal-head h2 { font-size: 17px; }
  .legal-body { display: block; overflow-y: auto; }
  .legal-summary { padding: 16px; }
  .legal-summary ol { margin: 10px 0; }
  .legal-version { margin-top: 12px; }
  .legal-document { overflow: visible; padding: 18px 14px 24px; }
  .signature-row, .source-grid, .handoff-matrix { grid-template-columns: 1fr; }
  .legal-footer { position: sticky; bottom: 0; background: #fff; }
  .legal-footer > span { display: none; }
  .agreement-callout { grid-template-columns: 30px 1fr; }
  .agreement-callout button { grid-column: 1 / -1; width: 100%; }
  .agreement-strip { grid-template-columns: 1fr; }
  .agreement-strip button { width: 100%; }
  .report-body { padding: 14px; }
  .report-title { align-items: flex-start; flex-wrap: wrap; }
  .report-title em { width: 100%; margin: 0; }
}

/* Manual AI handoff */
.handoff-launch { width: 100%; margin-top: 9px; padding: 10px; border: 1px solid #b9ccc6; border-radius: 5px; background: #f2f8f6; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; }
.handoff-launch:hover { border-color: var(--green-2); background: #eaf5f1; }
.handoff-launch b, .handoff-launch small { display: block; }
.handoff-launch b { color: var(--green); font-size:12px; }
.handoff-launch small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.4; }
.handoff-launch i { color: var(--green); font-size:11px; font-style: normal; font-weight: 900; white-space: nowrap; }
.handoff-backdrop { z-index: 108; }
.handoff-modal { width: min(1180px, 100%); height: min(880px, calc(100vh - 34px)); display: flex; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 26px 90px rgba(7,23,20,.3); }
.handoff-body { flex: 1; min-height: 0; display: grid; grid-template-columns: 280px minmax(0,1fr); }
.handoff-settings { padding: 20px; border-right: 1px solid var(--line); background: #f5f7f6; overflow-y: auto; }
.handoff-settings h3 { font-size:14px; }
.handoff-settings > p { margin: 6px 0 15px; color: var(--muted); font-size:11px; line-height: 1.55; }
.handoff-options { display: grid; gap: 7px; }
.handoff-options label { padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: #fff; display: grid; grid-template-columns: 18px 1fr; gap: 8px; cursor: pointer; }
.handoff-options input { width: 15px; height: 15px; accent-color: var(--green); }
.handoff-options b, .handoff-options small { display: block; }
.handoff-options b { font-size:12px; }
.handoff-options small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.45; }
.no-token-note { margin-top: 16px; padding: 13px; border-radius: 6px; background: var(--deep); color: #fff; }
.no-token-note b, .no-token-note span { display: block; }
.no-token-note b { font-size: 20px; }
.no-token-note span { margin-top: 4px; color: #c5d8d3; font-size:11px; line-height: 1.5; }
.handoff-preview { min-width: 0; padding: 20px 22px; display: flex; flex-direction: column; }
.handoff-preview .section-title { flex: 0 0 auto; }
.handoff-preview textarea { flex: 1; width: 100%; min-height: 360px; margin-top: 10px; padding: 15px; border: 1px solid #cdd7d3; border-radius: 5px; resize: none; outline: none; background: #12231f; color: #dce9e5; font-family: Consolas, "Courier New", monospace; font-size:12px; line-height: 1.65; white-space: pre; overflow: auto; }
.handoff-preview textarea:focus { border-color: var(--green-2); }
.handoff-guide { margin-top: 10px; padding: 10px 12px; border-left: 4px solid var(--green-2); background: var(--mint); display: grid; gap: 3px; }
.handoff-guide b { font-size:12px; }
.handoff-guide span { color: var(--muted); font-size:11px; line-height: 1.5; }
@media (max-width: 780px) {
  .handoff-backdrop { padding: 0; }
  .handoff-modal { width: 100%; height: 100vh; border-radius: 0; }
  .handoff-body { display: block; overflow-y: auto; }
  .handoff-settings { border-right: 0; border-bottom: 1px solid var(--line); overflow: visible; }
  .handoff-preview { min-height: 620px; padding: 16px 14px; }
  .handoff-preview textarea { min-height: 500px; }
}

/* Official lookup task export */
.query-export-launch { width: 100%; margin-top: 7px; padding: 9px 10px; border: 1px solid #9fc1cf; border-radius: 5px; background: #edf6f9; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; }
.query-export-launch:hover { border-color: #5d9cb7; background: #e3f1f6; }
.query-export-launch b, .query-export-launch small { display: block; }
.query-export-launch b { color: #245a70; font-size:12px; }
.query-export-launch small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.4; }
.query-export-launch i { color: #245a70; font-size:11px; font-style: normal; font-weight: 900; white-space: nowrap; }
.query-task-summary { display: grid; gap: 6px; margin-bottom: 15px; }
.query-task-summary > div { padding: 9px; border: 1px solid var(--line); border-radius: 5px; background: #fff; display: grid; grid-template-columns: auto 1fr; gap: 3px 7px; align-items: center; }
.query-task-summary b { font-size:11px; }
.query-task-summary small { grid-column: 1 / -1; color: var(--muted); font-size:11px; line-height: 1.4; }
.query-status { padding: 3px 5px; border-radius: 3px; font-size:11px; font-weight: 900; white-space: nowrap; }
.query-status.required { color: #8b342e; background: #fde6e2; }
.query-status.recommended { color: #725509; background: #fff2c9; }
.query-status.requires_attachment { color: #245a70; background: #e4f1f6; }
.query-status.conditional { color: #53615c; background: #e9eeec; }
.query-status.blocked_missing_image { color: #913d37; background: #f4d9d5; }
.query-guard { margin-top: 15px; padding: 12px; border-left: 4px solid var(--coral); background: var(--coral-soft); }
.query-guard b, .query-guard span { display: block; }
.query-guard b { color: var(--red); font-size:12px; }
.query-guard span { margin-top: 4px; color: var(--muted); font-size:11px; line-height: 1.55; }

/* Query package artwork selection */
.query-package-body { grid-template-columns: 360px minmax(0, 1fr); }
.query-package-settings { padding: 16px; }
.query-artwork { margin: 10px 0 13px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; display: grid; grid-template-columns: 92px 1fr; gap: 10px; align-items: center; }
.query-artwork img { width: 92px; height: 76px; object-fit: contain; border-radius: 4px; background: #eef2f0; }
.query-artwork b, .query-artwork small { display: block; }
.query-artwork b { font-size:12px; }
.query-artwork small { margin-top: 4px; color: var(--muted); font-size:11px; line-height: 1.4; }
.query-package-settings .field { margin-bottom: 12px; }
.query-purpose { margin-bottom: 12px; }
.query-purpose > b { display: block; margin-bottom: 7px; font-size:12px; }
.query-purpose > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.query-purpose label { min-height: 34px; padding: 7px; border: 1px solid var(--line); border-radius: 4px; background: #fff; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size:11px; cursor: pointer; }
.query-purpose label.active { border-color: #75aabd; background: #eaf4f8; color: #245a70; font-weight: 800; }
.query-purpose input { width: 14px; height: 14px; accent-color: #377991; }
.asset-confirm { margin: 4px 0 12px; padding: 10px; border: 1px solid #d5a49d; border-left: 4px solid var(--coral); border-radius: 5px; background: #fff8f6; display: grid; grid-template-columns: 17px 1fr; gap: 8px; cursor: pointer; }
.asset-confirm.checked { border-color: #9bc5ba; border-left-color: var(--green-2); background: #eff8f5; }
.asset-confirm input { width: 15px; height: 15px; accent-color: var(--green); }
.asset-confirm b, .asset-confirm small { display: block; }
.asset-confirm b { font-size:11px; }
.asset-confirm small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.45; }
.asset-missing { margin: 12px 0; padding: 15px; border: 1px dashed #d1a19b; background: #fff8f6; }
.asset-missing b { font-size:12px; }
.asset-missing p { margin: 5px 0 0; color: var(--muted); font-size:11px; line-height: 1.5; }
.compact-options { grid-template-columns: 1fr 1fr; margin-top: 8px; }
.compact-options label { padding: 8px; }
.query-package-preview { padding: 16px 18px; }
.query-task-summary.horizontal { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 12px; }
.query-task-summary.horizontal > div { min-width: 0; padding: 7px; grid-template-columns: 1fr; }
.query-task-summary.horizontal small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.query-package-preview textarea { min-height: 300px; }
.query-status.ready_in_package { color: #245f51; background: #dff1eb; }
.query-status.requires_selection { color: #8a5d05; background: #fff2c9; }
.handoff-guide code { color: var(--green); font-size:11px; }
@media (max-width: 920px) {
  .query-package-body { grid-template-columns: 320px minmax(0, 1fr); }
  .query-task-summary.horizontal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .query-package-body { display: block; }
  .query-task-summary.horizontal { grid-template-columns: 1fr 1fr; }
  .compact-options { grid-template-columns: 1fr; }
  .query-package-preview { min-height: 680px; }
}

/* Simplified one-click query package */
.query-package-body.simplified { grid-template-columns: 330px minmax(0, 1fr); }
.query-artwork.simple { grid-template-columns: 104px 1fr; padding: 10px; margin-top: 0; }
.query-artwork.simple img { width: 104px; height: 92px; }
.query-artwork.simple span { display: inline-block; margin-top: 7px; padding: 3px 5px; border-radius: 3px; background: #edf2f0; color: var(--muted); font-size:11px; }
.auto-query-summary { margin-bottom: 12px; padding: 12px; border-left: 4px solid #5d9cb7; background: #edf6f9; }
.auto-query-summary > span { color: #4d7f94; font-size:11px; font-weight: 900; }
.auto-query-summary b { display: block; margin-top: 5px; color: #244d5e; font-size:12px; line-height: 1.45; }
.auto-query-summary p { margin: 5px 0 0; color: var(--muted); font-size:11px; line-height: 1.5; }
.package-checklist { display: grid; gap: 5px; margin-bottom: 12px; }
.package-checklist > div { padding: 8px 9px; border: 1px solid var(--line); border-radius: 4px; background: #fff; display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: center; }
.package-checklist i { width: 18px; height: 18px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size:11px; font-style: normal; font-weight: 900; }
.package-checklist b, .package-checklist small { display: block; }
.package-checklist b { font-size:11px; }
.package-checklist small { margin-top: 2px; color: var(--muted); font-size:11px; }
.advanced-toggle { width: 100%; padding: 10px; border: 1px solid #cbd6d2; border-radius: 5px; background: #fff; color: var(--ink); display: flex; justify-content: space-between; align-items: center; gap: 8px; text-align: left; }
.advanced-toggle:hover { border-color: var(--green-2); }
.advanced-toggle b, .advanced-toggle small { display: block; }
.advanced-toggle b { font-size:12px; }
.advanced-toggle small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.4; }
.advanced-toggle i { color: var(--green); font-size:11px; font-style: normal; font-weight: 900; white-space: nowrap; }
.advanced-query-settings { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--line); animation: advanced-open .16s ease; }
@keyframes advanced-open { from { opacity: 0; transform: translateY(-4px); } }
.query-package-body.simplified .query-package-preview textarea { min-height: 340px; }
@media (max-width: 920px) {
  .query-package-body.simplified { grid-template-columns: 300px minmax(0, 1fr); }
}
@media (max-width: 780px) {
  .query-package-body.simplified { display: block; }
  .query-artwork.simple { grid-template-columns: 94px 1fr; }
  .query-artwork.simple img { width: 94px; height: 82px; }
}

/* Unified platform review and final human decision */
.unified-review { border-top: 3px solid #5d9cb7; padding: 11px; }
.unified-steps { margin-top: 10px; }
.unified-step { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; }
.step-marker { display: flex; flex-direction: column; align-items: center; }
.step-marker i { width: 24px; height: 24px; border-radius: 50%; background: #e7edeb; color: var(--soft); display: grid; place-items: center; font-size:11px; font-style: normal; font-weight: 900; }
.unified-step.active .step-marker i { background: #5d9cb7; color: #fff; }
.unified-step.done .step-marker i { background: var(--green); color: #fff; }
.step-marker span { width: 1px; flex: 1; min-height: 20px; background: #dfe6e3; }
.step-content { min-width: 0; padding: 2px 0 15px; }
.step-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 7px; }
.step-heading b, .step-heading small { display: block; }
.step-heading b { font-size:12px; }
.step-heading small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.45; }
.step-heading > em { color: var(--soft); font-size:11px; font-style: normal; white-space: nowrap; }
.unified-step .ai-mini-results { margin-top: 7px; }
.export-action-grid { display: grid; gap: 6px; margin-top: 8px; }
.export-action-grid .query-export-launch, .export-action-grid .handoff-launch { margin-top: 0; }
.final-review-launch { width: 100%; margin-top: 8px; font-size:11px; }
.review-state { padding: 4px 6px; border-radius: 4px; font-size:11px; font-weight: 900; white-space: nowrap; }
.review-state.waiting { color: #6c7975; background: #e9eeec; }
.review-state.reviewing { color: #725509; background: #fff2c9; }
.review-state.pass { color: #245f51; background: #dff1eb; }
.review-state.supplement { color: #8a5d05; background: #fff2c9; }
.review-state.professional { color: #913d37; background: #fde6e2; }
.review-evidence-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 8px; }
.review-evidence-summary > div { padding: 8px; border: 1px solid var(--line); border-radius: 4px; background: #f8faf9; min-width: 0; }
.review-evidence-summary small, .review-evidence-summary b { display: block; }
.review-evidence-summary small { color: var(--soft); font-size:11px; }
.review-evidence-summary b { margin-top: 3px; overflow: hidden; color: var(--ink); font-size:11px; text-overflow: ellipsis; white-space: nowrap; }

.final-review-backdrop { z-index: 110; }
.final-review-modal { width: min(1120px, 100%); height: min(870px, calc(100vh - 34px)); display: flex; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 26px 90px rgba(7,23,20,.3); }
.final-review-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 390px; }
.ai-result-input, .human-final-check { padding: 20px 22px; overflow-y: auto; }
.human-final-check { border-left: 1px solid var(--line); background: #f5f7f6; }
.compact-form { margin-bottom: 14px; }
.review-file-button { height: 42px; padding: 9px 10px; border: 1px dashed #9eb3ac; border-radius: 5px; background: #f8faf9; display: flex !important; align-items: center; color: var(--green); cursor: pointer; overflow: hidden; }
.review-file-button input { display: none; }
.review-file-button span { overflow: hidden; font-size:11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ai-result-input > .field textarea { min-height: 250px; }
.uploaded-evidence { margin: 10px 0; padding: 10px; border: 1px solid #a9cdc4; border-radius: 5px; background: #f1f8f5; display: grid; grid-template-columns: 22px 1fr 30px; gap: 8px; align-items: center; }
.uploaded-evidence > i { width: 20px; height: 20px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size:11px; font-style: normal; }
.uploaded-evidence b, .uploaded-evidence span { display: block; }
.uploaded-evidence b { font-size:11px; }
.uploaded-evidence span { margin-top: 2px; color: var(--muted); font-size:11px; }
.final-check-list { display: grid; gap: 7px; margin-top: 12px; }
.final-check-list label { padding: 11px; border: 1px solid var(--line); border-radius: 5px; background: #fff; display: grid; grid-template-columns: 17px 1fr; gap: 8px; cursor: pointer; }
.final-check-list label.checked { border-color: #9bc5ba; background: #eff8f5; }
.final-check-list input { width: 15px; height: 15px; accent-color: var(--green); }
.final-check-list b, .final-check-list small { display: block; }
.final-check-list b { font-size:12px; }
.final-check-list small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.45; }
.reviewer-note { margin-top: 14px; }
.reviewer-note textarea { min-height: 90px; }
.decision-block { margin-top: 15px; }
.decision-block > b { font-size:12px; }
.decision-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 7px; }
.decision-options button { min-height: 72px; padding: 8px 4px; border: 1px solid #ccd6d2; border-radius: 5px; background: #fff; color: var(--ink); text-align: center; }
.decision-options button i { width: 22px; height: 22px; margin: 0 auto 5px; border-radius: 50%; background: #e9eeec; display: grid; place-items: center; font-size:11px; font-style: normal; font-weight: 900; }
.decision-options button span, .decision-options button small { display: block; }
.decision-options button span { font-size:11px; font-weight: 900; }
.decision-options button small { margin-top: 3px; color: var(--muted); font-size:11px; line-height: 1.35; }
.decision-options button.active.pass { border-color: #73aa9d; background: #eff8f5; color: var(--green); }
.decision-options button.active.pass i { background: var(--green); color: #fff; }
.decision-options button.active.supplement { border-color: #d7ad4b; background: #fff8df; color: #805d0b; }
.decision-options button.active.supplement i { background: var(--amber); color: #fff; }
.decision-options button.active.professional { border-color: #d58d84; background: #fff1ee; color: var(--red); }
.decision-options button.active.professional i { background: var(--coral); color: #fff; }
.review-save-record { margin-top: 12px; padding: 9px; border-left: 4px solid var(--green-2); background: var(--mint); }
.review-save-record b, .review-save-record span { display: block; }
.review-save-record b { font-size:11px; }
.review-save-record span { margin-top: 3px; color: var(--muted); font-size:11px; }
@media (max-width: 780px) {
  .final-review-backdrop { padding: 0; }
  .final-review-modal { width: 100%; height: 100vh; border-radius: 0; }
  .final-review-body { display: block; overflow-y: auto; }
  .ai-result-input, .human-final-check { overflow: visible; padding: 16px 14px; }
  .human-final-check { border-left: 0; border-top: 1px solid var(--line); }
  .compact-form { grid-template-columns: 1fr; }
  .decision-options { grid-template-columns: 1fr; }
  .decision-options button { min-height: 58px; display: grid; grid-template-columns: 30px 1fr; align-items: center; text-align: left; }
  .decision-options button i { margin: 0; }
}

/* Sequential lookup and creator data trust */
.creator-data-promise { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(480px,1.65fr); gap:24px 34px; padding:24px 28px; border-top:1px solid #dce5e1; border-bottom:1px solid #dce5e1; background:#f7faf8; }
.promise-intro h2 { margin:7px 0 8px; font-size:20px; line-height:1.35; letter-spacing:0; color:#20352e; }
.promise-intro p { margin:0; color:#63736d; line-height:1.65; font-size:13px; }
.promise-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.promise-grid > div { min-width:0; padding-left:12px; border-left:2px solid #8eb9a6; }
.promise-grid i { display:block; margin-bottom:8px; color:#5c806f; font-style:normal; font-size:13px; font-weight:800; }
.promise-grid b { display:block; margin-bottom:5px; color:#273b34; font-size:13px; }
.promise-grid span { display:block; color:#6b7874; font-size:14px; line-height:1.55; }
.promise-commitment { grid-column:1 / -1; display:flex; gap:14px; align-items:flex-start; padding-top:14px; border-top:1px solid #dce5e1; }
.promise-commitment b { flex:0 0 auto; color:#315a49; font-size:14px; }
.promise-commitment span { color:#5c6c66; font-size:14px; line-height:1.55; }
.creator-trust-inline { display:flex; gap:12px; align-items:flex-start; margin:0 0 18px; padding:14px 16px; background:#eef6f1; border-left:3px solid #6fa78e; }
.creator-trust-inline > i { display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; border-radius:50%; background:#39775d; color:white; font-style:normal; font-size:14px; }
.creator-trust-inline b,.creator-trust-inline span { display:block; }
.creator-trust-inline b { margin-bottom:3px; color:#294b3d; font-size:13px; }
.creator-trust-inline span { color:#60736b; font-size:14px; line-height:1.55; }
.creator-data-boundary { gap:7px; margin:2px 0 14px; padding:3px 0; border-left:0; background:transparent; }
.creator-data-boundary > i { width:15px; height:15px; flex-basis:15px; margin-top:1px; background:#929791; color:#fff; font-size:9px; font-family:Georgia,serif; }
.creator-data-boundary > div { display:grid; gap:2px; }
.creator-data-boundary > div > b { color:#555b57; font-size:11px; font-weight:700; }
.creator-data-boundary span { margin:0; color:#777d79; font-size:11px; line-height:1.5; }
.creator-data-boundary span strong { color:#345c4c; font-size:inherit; font-weight:700; }
.scope-trust { background:#f3f6fb; border-left-color:#718cac; }
.scope-trust > i { background:#567394; }
.export-action-grid.sequential { grid-template-columns:1fr 1fr; }
.lookup-return-launch { width:100%; margin:0; padding:9px 10px; border:1px solid #b9cec4; border-radius:5px; background:#f4f9f6; color:#284a3c; display:flex; align-items:center; justify-content:space-between; gap:8px; text-align:left; }
.lookup-return-launch:hover { border-color:#6d9c87; background:#edf6f1; }
.lookup-return-launch b,.lookup-return-launch small { display:block; }
.lookup-return-launch b { color:#315f4c; font-size:12px; }
.lookup-return-launch small { margin-top:3px; color:var(--muted); font-size:11px; line-height:1.4; }
.lookup-return-launch i { color:#315f4c; font-size:11px; font-style:normal; font-weight:900; white-space:nowrap; }
.query-export-launch:disabled,.lookup-return-launch:disabled,.handoff-launch:disabled,.final-review-launch:disabled { opacity:.5; cursor:not-allowed; filter:grayscale(.2); }
.handoff-launch.full-width { width:100%; }
.locked-step { opacity:.6; }
.locked-step button { cursor:not-allowed; }
.lookup-result-modal { width:min(900px,calc(100vw - 48px)); }
.lookup-result-body { padding:22px 26px 26px; overflow:auto; }
.lookup-result-body > .field { margin-top:16px; }
.lookup-sequence-note { display:flex; gap:14px; align-items:center; margin-bottom:20px; padding:14px 16px; background:#f3f7f5; border-left:3px solid #658f7d; }
.lookup-sequence-note > i { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:#365f4f; color:white; font-style:normal; font-weight:800; }
.lookup-sequence-note b,.lookup-sequence-note span { display:block; }
.lookup-sequence-note b { margin-bottom:4px; color:#263d34; font-size:13px; }
.lookup-sequence-note span { color:#65736e; font-size:14px; line-height:1.5; }
.safe-export-scope { display:grid; gap:10px; margin-top:16px; }
.safe-export-scope > div { display:flex; gap:10px; padding:12px; border:1px solid #dce3e0; background:#fff; }
.safe-export-scope i { display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; font-style:normal; font-weight:800; }
.safe-export-scope .included i { color:#2f7256; background:#e8f4ed; }
.safe-export-scope .excluded i { color:#65716d; background:#eef1f0; }
.safe-export-scope .conditional i { color:#8a662a; background:#fbf2dd; }
.safe-export-scope b,.safe-export-scope small { display:block; }
.safe-export-scope b { margin-bottom:4px; color:#273a33; font-size:14px; }
.safe-export-scope small { color:#6d7975; line-height:1.5; }
.task-trigger-fields { display:grid; gap:8px; padding:12px; border:1px solid #dfe6e3; background:#f8faf9; }
.task-trigger-fields > b { color:#31473e; font-size:14px; }
.task-trigger-fields label { display:flex; gap:9px; align-items:flex-start; padding:8px; background:white; border:1px solid #e2e8e5; }
.task-trigger-fields label span,.task-trigger-fields strong,.task-trigger-fields small { display:block; }
.task-trigger-fields strong { color:#31443c; font-size:14px; }
.task-trigger-fields small { margin-top:2px; color:#77817d; }
.task-trigger-fields p { margin:3px 0 0; color:#7b8581; font-size:13px; line-height:1.5; }
@media (max-width:980px) { .creator-data-promise { grid-template-columns:1fr; } .promise-grid { grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:680px) { .creator-data-promise { padding:20px 18px; } .promise-grid,.export-action-grid.sequential { grid-template-columns:1fr; } .promise-grid > div { padding:0 0 10px; border-left:0; border-bottom:1px solid #dde6e2; } .promise-commitment { display:block; } .promise-commitment b { margin-bottom:5px; } .lookup-result-modal { width:calc(100vw - 20px); } }
/* Creation evidence, TSA and parallel copyright tracks */
.evidence-editor-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:16px; padding:16px 18px; background:#f2f7f5; border-left:3px solid #54856f; }
.evidence-editor-head > div:first-child b,.evidence-editor-head > div:first-child span { display:block; }
.evidence-editor-head > div:first-child b { color:#29473a; font-size:14px; }
.evidence-editor-head > div:first-child span { margin-top:4px; color:#65756f; font-size:14px; line-height:1.5; }
.evidence-counters { display:flex; gap:6px; flex:0 0 auto; }
.evidence-counters span { min-width:62px; padding:8px 10px; text-align:center; background:#fff; border:1px solid #dce5e1; color:#73807b; font-size:12px; }
.evidence-counters b { display:block; margin-bottom:2px; color:#315e4b; font-size:15px; }
.evidence-version-list { display:grid; gap:14px; }
.evidence-version-card { overflow:hidden; border:1px solid #d8e1dd; border-radius:6px; background:#fff; }
.evidence-version-card > header { display:flex; gap:12px; align-items:stretch; padding:12px 14px; background:#f7f9f8; border-bottom:1px solid #e0e6e3; }
.version-code { display:flex; flex-direction:column; justify-content:center; width:62px; flex:0 0 62px; }
.version-code input { width:100%; padding:6px; border:1px solid #bdcbc5; text-align:center; font-weight:800; color:#315a49; }
.version-code span { margin-top:4px; color:#87918d; font-size:12px; text-align:center; }
.version-code.static b { display:block; color:#315a49; font-size:15px; text-align:center; }
.version-head-fields { display:grid; grid-template-columns:minmax(160px,1fr) 132px 130px 32px; gap:8px; align-items:center; width:100%; }
.version-head-fields input,.version-head-fields select { min-width:0; height:34px; padding:0 9px; border:1px solid #ccd7d2; background:#fff; color:#34443e; }
.auto-version-status { min-width:0; height:34px; display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid #dce3e0; background:#f7f9f8; color:#66736e; }
.auto-version-status > i { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#a7afac; }
.auto-version-status span,.auto-version-status b,.auto-version-status small { min-width:0; display:block; }
.auto-version-status b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.auto-version-status small { margin-top:1px; color:#929c98; font-size:11px; }
.auto-version-status.hashed { border-color:#cfe0d7; background:#f1f7f4; color:#376a53; }
.auto-version-status.hashed > i { background:#4b8b6d; }
.auto-version-status.processing { border-color:#e7d6ae; background:#fbf6e9; color:#7a612e; }
.auto-version-status.processing > i { background:#cf9838; }
.auto-version-status.verified { border-color:#9fcab5; background:#eaf5ef; color:#276247; }
.auto-version-status.verified > i { background:#2f8059; box-shadow:0 0 0 3px rgba(47,128,89,.12); }
.file-title { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.tsa-verified-mark { display:inline-flex; align-items:center; min-height:18px; padding:0 7px; border:1px solid #9fcab5; background:#eaf5ef; color:#276247; font-size:11px; font-weight:800; }
.version-body { padding:15px; }
.version-body > .field { margin-bottom:12px; }
.version-description { margin:0 0 13px; color:#5e6d67; font-size:14px; line-height:1.6; }
.version-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; flex:1; }
.version-summary b { color:#31453d; font-size:13px; }
.version-summary small { color:#78847f; }
.evidence-upload-zone { display:flex; align-items:center; min-height:62px; margin:4px 0 12px; padding:12px 14px; border:1px dashed #9fb7ad; background:#f6faf8; cursor:pointer; }
.evidence-upload-zone:hover { border-color:#54856f; background:#eff7f3; }
.evidence-upload-zone input { display:none; }
.evidence-upload-zone b,.evidence-upload-zone small { display:block; }
.evidence-upload-zone b { color:#315b49; font-size:14px; }
.evidence-upload-zone small { margin-top:3px; color:#76837e; font-size:12px; line-height:1.45; }
.evidence-file-list { display:grid; gap:8px; }
.evidence-file-empty { padding:13px; border:1px dashed #d3ddd8; color:#7a8581; font-size:13px; line-height:1.55; background:#fbfcfb; }
.evidence-file-item { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid #e0e6e3; background:#fff; }
.file-type-icon { display:grid; place-items:center; width:38px; height:38px; background:#eaf2ee; color:#426b59; font-size:12px; font-weight:800; }
.file-title { display:flex; gap:8px; align-items:center; min-width:0; }
.file-title b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#32443d; font-size:13px; }
.file-title span { flex:0 0 auto; color:#8a9490; font-size:12px; }
.hash-line { display:flex; gap:7px; align-items:center; min-width:0; margin-top:5px; }
.hash-line small { color:#77827e; font-size:12px; font-weight:700; }
.hash-line code { overflow:hidden; color:#3c5d50; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.hash-line em { color:#98a09d; font-size:11px; font-style:normal; }
.tsa-line { display:flex; gap:6px; align-items:center; margin-top:5px; color:#7d8783; font-size:12px; }
.tsa-line i { width:6px; height:6px; border-radius:50%; background:#a7afac; }
.tsa-line.verified { color:#337254; }
.tsa-line.verified i { background:#3d8b65; }
.tsa-line.pending_verification { color:#8a692d; }
.tsa-line.pending_verification i { background:#d59a35; }
.tsa-line.failed { color:#a34848; }
.tsa-line.failed i { background:#c55757; }
.evidence-file-actions { display:flex; gap:4px; }
.add-version-button { margin-top:12px; }
.evidence-legal-boundary { display:flex; gap:12px; margin-top:15px; padding:13px 15px; border-left:3px solid #c99b47; background:#fbf6e9; }
.evidence-legal-boundary b { flex:0 0 auto; color:#735923; font-size:13px; }
.evidence-legal-boundary span { color:#766d58; font-size:13px; line-height:1.55; }
.evidence-detail-head { align-items:center; }
.evidence-detail-head > div h3,.evidence-detail-head > div span { display:block; }
.evidence-detail-head > div span { margin-top:4px; color:#76827d; font-size:12px; }
.evidence-version-list.readonly .evidence-version-card > header { align-items:center; }
.evidence-summary-row { grid-template-columns:60px 90px minmax(120px,1fr) 110px 86px; }

.copyright-path-panel { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:24px; padding:24px 28px; border-bottom:1px solid #dce5e1; background:#fff; }
.copyright-path-copy h2 { margin:7px 0 8px; color:#243b32; font-size:20px; letter-spacing:0; }
.copyright-path-copy > p { margin:0 0 16px; color:#65736e; font-size:14px; line-height:1.6; }
.protection-tracks { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.protection-track { padding:14px; border:1px solid #dbe3df; background:#fafcfb; }
.protection-track.primary { border-top:3px solid #54856f; }
.protection-track.optional { border-top:3px solid #8195ad; }
.protection-track header { display:flex; gap:9px; align-items:center; }
.protection-track header > i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#315d4a; color:#fff; font-style:normal; font-size:13px; font-weight:800; }
.protection-track.optional header > i { background:#61778f; }
.protection-track header b,.protection-track header small { display:block; }
.protection-track header b { color:#30443c; font-size:14px; }
.protection-track header small { color:#85908b; font-size:12px; }
.protection-track p { min-height:45px; margin:11px 0; color:#65726d; font-size:13px; line-height:1.55; }
.protection-track footer { display:flex; flex-wrap:wrap; gap:5px; }
.protection-track footer span { padding:4px 6px; background:#edf2ef; color:#5f6f68; font-size:12px; }
.registration-choice > b { display:block; margin-bottom:10px; color:#33483f; font-size:14px; }
.registration-options { display:grid; gap:7px; }
.registration-options button { display:block; width:100%; padding:10px 11px; border:1px solid #d7dfdc; background:#fff; text-align:left; }
.registration-options button:hover { border-color:#89a397; background:#f7faf8; }
.registration-options button.active { border-color:#4d7d68; box-shadow:inset 3px 0 #4d7d68; background:#f1f7f4; }
.registration-options span,.registration-options small { display:block; }
.registration-options span { color:#30443b; font-size:13px; font-weight:700; }
.registration-options small { margin-top:3px; color:#7a8581; font-size:12px; line-height:1.45; }
.subsidy-note { margin-top:9px; padding:10px 12px; background:#f3f6fa; border-left:3px solid #718aa6; }
.subsidy-note b,.subsidy-note span { display:block; }
.subsidy-note b { color:#4d6680; font-size:12px; }
.subsidy-note span { margin-top:3px; color:#6e7a85; font-size:12px; line-height:1.5; }

.tsa-modal { width:min(900px,calc(100vw - 40px)); max-height:calc(100vh - 40px); display:flex; flex-direction:column; overflow:hidden; border-radius:8px; background:#fff; box-shadow:0 26px 90px rgba(7,23,20,.3); }
.tsa-body { padding:22px 26px 26px; overflow:auto; }
.hash-proof-card { padding:15px 16px; background:#152820; color:#fff; }
.hash-proof-card small,.hash-proof-card b,.hash-proof-card code,.hash-proof-card span { display:block; }
.hash-proof-card small { color:#91aa9f; font-size:12px; }
.hash-proof-card b { margin:4px 0; color:#dcebe4; font-size:14px; }
.hash-proof-card code { overflow-wrap:anywhere; color:#8de0ba; font-size:13px; line-height:1.5; }
.hash-proof-card span { margin-top:8px; color:#aabbb4; font-size:12px; }
.tsa-process { display:grid; grid-template-columns:1fr 36px 1fr 36px 1fr; align-items:center; margin:18px 0; }
.tsa-process-step { display:flex; gap:9px; align-items:center; min-width:0; }
.tsa-process-step > i { display:grid; place-items:center; width:27px; height:27px; flex:0 0 27px; border-radius:50%; background:#e7ecea; color:#75817c; font-style:normal; font-size:12px; font-weight:800; }
.tsa-process-step.done > i { background:#39775d; color:#fff; }
.tsa-process-step.active > i { background:#d59a35; color:#fff; }
.tsa-process-step b,.tsa-process-step small { display:block; }
.tsa-process-step b { color:#33463e; font-size:12px; }
.tsa-process-step small { margin-top:2px; color:#818b87; font-size:11px; line-height:1.35; }
.tsa-process-line { height:1px; background:#d7dfdc; }
.tsa-explain { margin-bottom:18px; padding:13px 15px; border-left:3px solid #c89b4b; background:#fbf6e9; }
.tsa-explain b { color:#715822; font-size:13px; }
.tsa-explain p { margin:4px 0 0; color:#756d5a; font-size:12px; line-height:1.55; }

@media (max-width:980px) { .copyright-path-panel { grid-template-columns:1fr; } .version-head-fields { grid-template-columns:1fr 120px; } .version-head-fields .icon-button { justify-self:end; } }
@media (max-width:680px) { .evidence-summary-row { grid-template-columns:48px minmax(0,1fr); } .evidence-summary-row > span { min-width:0; white-space:normal; overflow-wrap:anywhere; } .evidence-summary-row .evidence-name { grid-column:1 / -1; } .evidence-editor-head { display:block; } .evidence-counters { margin-top:12px; } .evidence-version-card > header { display:block; } .version-code { width:70px; margin-bottom:8px; } .version-head-fields { grid-template-columns:1fr; } .evidence-file-item { grid-template-columns:34px minmax(0,1fr); } .evidence-file-actions { grid-column:2; } .hash-line { display:block; } .hash-line > * { display:block; margin-top:3px; } .copyright-path-panel { padding:20px 18px; } .protection-tracks { grid-template-columns:1fr; } .evidence-legal-boundary { display:block; } .evidence-legal-boundary b { display:block; margin-bottom:5px; } .tsa-modal { width:calc(100vw - 16px); max-height:calc(100vh - 16px); } .tsa-body { padding:18px; } .tsa-process { grid-template-columns:1fr; gap:8px; } .tsa-process-line { width:1px; height:16px; margin-left:13px; } }
.subsidy-review-panel { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:14px; padding:14px 16px; border-left:3px solid #718aa6; background:#f3f6fa; }
.subsidy-review-panel small,.subsidy-review-panel b,.subsidy-review-panel span { display:block; }
.subsidy-review-panel small { color:#7b8b9b; font-size:12px; }
.subsidy-review-panel b { margin-top:3px; color:#49647e; font-size:14px; }
.subsidy-review-panel span { margin-top:3px; color:#6c7985; font-size:12px; line-height:1.45; }
.subsidy-review-panel > div:last-child { display:flex; gap:7px; flex:0 0 auto; }
@media (max-width:680px) { .subsidy-review-panel { display:block; } .subsidy-review-panel > div:last-child { margin-top:10px; } }
/* Semi-integrated TSA operations */
.tsa-process.four-steps { grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr; }
.semi-integration-note { display:flex; gap:12px; margin-bottom:16px; padding:13px 15px; border-left:3px solid #6682a0; background:#f2f5f9; }
.semi-integration-note b { flex:0 0 auto; color:#4e6983; font-size:13px; }
.semi-integration-note span { color:#687783; font-size:12px; line-height:1.55; }
.tsa-request-panel { padding:16px; border:1px solid #dce4e0; background:#fafcfb; }
.tsa-request-panel > p { margin:0 0 14px; color:#66746e; font-size:13px; line-height:1.6; }
.tsa-request-panel .section-title { margin-bottom:12px; }
.request-record { display:flex; justify-content:space-between; gap:12px; margin-top:10px; padding:9px 11px; background:#eef4f1; }
.request-record b { color:#3b5f50; font-size:12px; }
.request-record span { color:#6c7974; font-size:12px; }
.tsa-batch-facts { display:grid; grid-template-columns:120px 170px minmax(0,1fr); gap:8px; margin-bottom:14px; }
.tsa-batch-facts > div { padding:10px; background:#fff; border:1px solid #e1e7e4; }
.tsa-batch-facts small,.tsa-batch-facts b { display:block; }
.tsa-batch-facts small { color:#87918d; font-size:11px; }
.tsa-batch-facts b { margin-top:3px; color:#3e5149; font-size:12px; line-height:1.45; }
.tsa-queue-strip { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:10px; padding:11px 12px; border-left:3px solid #c7953e; background:#faf4e6; }
.tsa-queue-strip b,.tsa-queue-strip span { display:block; }
.tsa-queue-strip b { color:#75571f; font-size:12px; }
.tsa-queue-strip span { margin-top:3px; color:#766d58; font-size:11px; line-height:1.4; }
@media (max-width:680px) { .tsa-process.four-steps { grid-template-columns:1fr; } .semi-integration-note { display:block; } .semi-integration-note b { display:block; margin-bottom:5px; } .tsa-batch-facts { grid-template-columns:1fr; } .tsa-queue-strip { display:block; } .tsa-queue-strip button { margin-top:8px; } }
/* Merkle TSA weekly batch workspace */
.tsa-workspace { max-width:1560px; }
.tsa-workspace-header { align-items:flex-end; }
.tsa-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #d9e2de; background:#fff; }
.tsa-overview > div { min-width:0; padding:16px 18px; border-right:1px solid #e2e8e5; }
.tsa-overview > div:last-child { border-right:0; }
.tsa-overview small,.tsa-overview b,.tsa-overview span { display:block; }
.tsa-overview small { color:#7b8882; font-size:11px; }
.tsa-overview b { margin-top:5px; color:#203d32; font-size:24px; font-family:Georgia,"Times New Roman",serif; font-weight:600; }
.tsa-overview span { margin-top:3px; color:#87918d; font-size:11px; }
.tsa-workbench-grid { display:grid; grid-template-columns:minmax(420px,.86fr) minmax(520px,1.14fr); gap:14px; margin-top:14px; align-items:start; }
.tsa-pool-panel,.tsa-current-panel,.tsa-history-panel { padding:0; overflow:hidden; }
.tsa-panel-head { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; border-bottom:1px solid #e0e7e3; background:#fbfcfb; }
.tsa-panel-head h2 { margin:3px 0 0; color:#243d33; font-size:15px; letter-spacing:0; }
.step-kicker { color:#8a6b2e; font-size:11px; font-weight:800; }
.text-button { border:0; background:transparent; color:#4f725f; font-size:12px; cursor:pointer; }
.tsa-pool-list { max-height:520px; overflow:auto; }
.tsa-pool-row { display:grid; grid-template-columns:22px minmax(110px,.72fr) minmax(170px,1.35fr) minmax(120px,.8fr); gap:10px; align-items:center; min-height:62px; padding:10px 16px; border-bottom:1px solid #edf1ef; cursor:pointer; transition:background .15s ease; }
.tsa-pool-row:hover,.tsa-pool-row.selected { background:#f1f7f4; }
.tsa-pool-row input { width:15px; height:15px; accent-color:#39775d; }
.tsa-pool-row span,.tsa-pool-row b,.tsa-pool-row small { min-width:0; display:block; }
.tsa-pool-row b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#344c42; font-size:12px; }
.tsa-pool-row small { margin-top:3px; color:#89938f; font-size:11px; }
.tsa-pool-row code { min-width:0; overflow:hidden; text-overflow:ellipsis; color:#5f7169; font-size:11px; }
.tsa-pool-ip { padding-right:8px; border-right:1px solid #e3e9e6; }
.tsa-pool-footer { display:flex; justify-content:space-between; gap:12px; padding:11px 16px; border-top:1px solid #dde5e1; background:#fafbf9; color:#74817b; font-size:11px; }
.tsa-pool-footer b { color:#315d49; }
.tsa-empty-state { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:24px; text-align:center; color:#87918d; }
.tsa-empty-state.large { min-height:470px; }
.tsa-empty-state b { color:#4c6359; font-size:14px; }
.tsa-empty-state span { max-width:360px; font-size:12px; line-height:1.55; }
.batch-status { display:inline-flex; align-items:center; min-height:24px; padding:0 8px; border:1px solid #d5ddd9; background:#f5f7f6; color:#63716b; font-size:11px; font-style:normal; white-space:nowrap; }
.batch-status.sealed,.batch-status.submitted { border-color:#e5d3a7; background:#fbf5e7; color:#7c612c; }
.batch-status.returned { border-color:#b7ced6; background:#edf5f7; color:#416b78; }
.batch-status.verified { border-color:#a8ceb9; background:#eaf5ef; color:#2d684c; }
.batch-status.failed { border-color:#e5b8b0; background:#fff0ed; color:#984c40; }
.tsa-batch-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #e1e7e4; }
.batch-step { min-width:0; display:flex; gap:8px; align-items:center; padding:13px 12px; border-right:1px solid #e8ecea; color:#7d8984; }
.batch-step:last-child { border-right:0; }
.batch-step i { width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:50%; background:#e8ecea; color:#78837f; font-size:11px; font-style:normal; font-weight:800; }
.batch-step.done i { background:#39775d; color:#fff; }
.batch-step.active i { background:#c79336; color:#fff; }
.batch-step span,.batch-step b,.batch-step small { min-width:0; display:block; }
.batch-step b { color:#40564d; font-size:11px; }
.batch-step small { margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.merkle-root-card { margin:16px 18px 12px; padding:15px; border-left:3px solid #39775d; background:#edf5f1; }
.merkle-root-card small,.merkle-root-card b,.merkle-root-card code,.merkle-root-card span { display:block; }
.merkle-root-card small { color:#71837a; font-size:11px; }
.merkle-root-card b { margin-top:3px; color:#2d5844; font-size:12px; }
.merkle-root-card code { margin-top:8px; overflow-wrap:anywhere; color:#1f4535; font-size:12px; line-height:1.5; }
.merkle-root-card span { margin-top:8px; color:#718078; font-size:11px; }
.tsa-batch-actions { display:flex; gap:8px; align-items:stretch; padding:0 18px 14px; }
.tsa-batch-actions > * { flex:1; }
.batch-upload { min-height:34px; }
.batch-verification-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:10px; padding:14px 18px; border-top:1px solid #e3e9e6; background:#fbfcfb; }
.batch-verification-grid .field { min-width:0; }
.batch-verification-grid input { width:100%; min-width:0; }
.batch-verify-footer { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:13px 18px 16px; border-top:1px solid #e3e9e6; }
.batch-verify-footer span { max-width:540px; color:#6e7b75; font-size:11px; line-height:1.5; }
.tsa-history-panel { margin-top:14px; }
.tsa-history-table { display:block; }
.tsa-history-row { width:100%; display:grid; grid-template-columns:minmax(190px,1fr) 110px minmax(150px,.8fr) 100px minmax(0,1fr); gap:12px; align-items:center; padding:11px 16px; border:0; border-bottom:1px solid #e7ece9; background:#fff; text-align:left; cursor:default; }
.tsa-history-row:hover,.tsa-history-row.active { background:#f2f7f4; }
.tsa-history-row span b,.tsa-history-row span small { display:block; }
.tsa-history-row span b { color:#354e43; font-size:12px; }
.tsa-history-row span small,.tsa-history-row > span { color:#7f8b85; font-size:11px; }
.tsa-history-row code { overflow:hidden; text-overflow:ellipsis; color:#52675e; font-size:11px; }
.tsa-batch-error { display:flex !important; gap:10px; align-items:center; justify-content:flex-end; min-width:0; }
.tsa-batch-error small { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#984c40 !important; }
.tsa-batch-error .secondary-button { min-height:30px; padding:0 10px; font-size:11px; }
.original-file-warning { margin:14px 0 10px; padding:14px 16px; border-left:3px solid #c99436; background:#fbf5e8; }
.original-file-warning b { color:#725923; font-size:12px; }
.original-file-warning p { margin:5px 0 0; color:#766e5c; font-size:12px; line-height:1.65; }
.evidence-locked { display:inline-flex; align-items:center; min-height:25px; padding:0 7px; border:1px solid #cbd8d2; background:#f0f5f2; color:#587064; font-size:11px; }
@media (max-width:1180px) { .tsa-workbench-grid { grid-template-columns:1fr; } .tsa-empty-state.large { min-height:220px; } }
@media (max-width:760px) { .tsa-overview { grid-template-columns:1fr 1fr; } .tsa-overview > div:nth-child(2) { border-right:0; } .tsa-overview > div:nth-child(-n+2) { border-bottom:1px solid #e2e8e5; } .tsa-workbench-grid { display:block; } .tsa-current-panel,.tsa-history-panel { margin-top:12px; } .tsa-pool-row { grid-template-columns:20px minmax(0,1fr); } .tsa-pool-row .tsa-pool-ip { grid-column:2; border-right:0; } .tsa-pool-row > span:nth-of-type(2),.tsa-pool-row code { grid-column:2; } .tsa-batch-flow { grid-template-columns:1fr 1fr; } .batch-step:nth-child(2) { border-right:0; } .batch-step:nth-child(-n+2) { border-bottom:1px solid #e8ecea; } .batch-verification-grid { grid-template-columns:1fr; } .tsa-batch-actions,.batch-verify-footer { display:block; } .tsa-batch-actions > *,.batch-verify-footer button { width:100%; margin-top:8px; } .tsa-history-row { grid-template-columns:1fr 100px; } .tsa-history-row code { grid-column:1; } .tsa-batch-error { grid-column:1 / -1; justify-content:flex-start; } }
/* Stage 0 protection education: evidence chain vs copyright registration */
.copyright-path-panel.protection-education { display:grid; grid-template-columns:minmax(0,1.95fr) minmax(300px,.72fr); gap:0; padding:0; border:1px solid #d9e2de; background:#fff; }
.protection-education > div { min-width:0; padding:24px 26px 26px; }
.protection-intro h2 { margin:5px 0 8px; color:#203d32; font-size:22px; letter-spacing:0; }
.protection-intro > p { max-width:940px; margin:0; color:#66766f; font-size:13px; line-height:1.65; }
.protection-legal-note { display:grid; grid-template-columns:150px minmax(0,1fr); gap:14px; align-items:start; margin-top:16px; padding:13px 15px; border-left:3px solid #c49337; background:#fbf6e9; }
.protection-legal-note b { color:#715822; font-size:12px; }
.protection-legal-note span { color:#746e60; font-size:12px; line-height:1.65; }
.protection-tracks.focused { display:grid; grid-template-columns:1.08fr .92fr; gap:12px; margin-top:16px; }
.protection-tracks.focused .protection-track { min-width:0; min-height:280px; display:flex; flex-direction:column; padding:18px; border:1px solid #dbe3df; border-top:4px solid #81958b; background:#fff; }
.protection-tracks.focused .evidence-core { border-color:#bfd4c9; border-top-color:#36785a; background:#f7fbf9; }
.protection-tracks.focused .registration-later { border-top-color:#71829a; background:#fafbfc; }
.protection-tracks.focused .protection-track h3 { margin:16px 0 6px; color:#2d443a; font-size:13px; letter-spacing:0; }
.protection-tracks.focused .protection-track > p { margin:0; color:#66756e; font-size:12px; line-height:1.65; }
.track-question { margin-top:14px; padding:11px 12px; border-left:2px solid #96ad9f; background:#fff; }
.registration-later .track-question { border-left-color:#9aa7b8; }
.track-question small,.track-question b { display:block; }
.track-question small { color:#8a9590; font-size:11px; }
.track-question b { margin-top:4px; color:#42584e; font-size:12px; line-height:1.5; }
.protection-tracks.focused .protection-track footer { margin-top:auto; }
.registration-upload-panel { min-width:0; padding:24px 20px; border-left:1px solid #dce4e0; background:#f8faf9; }
.registration-upload-head h3 { margin:5px 0 5px; color:#263f34; font-size:16px; letter-spacing:0; }
.registration-upload-head p { margin:0; color:#75817c; font-size:12px; line-height:1.55; }
.registration-state { margin-top:16px; padding:13px 14px; border:1px solid #dce4e0; background:#fff; }
.registration-state.has-file { border-color:#b8d2c5; background:#f0f7f3; }
.registration-state small,.registration-state b,.registration-state span { display:block; }
.registration-state small { color:#87918d; font-size:11px; }
.registration-state b { margin-top:3px; color:#395448; font-size:13px; }
.registration-state span { margin-top:5px; color:#748078; font-size:11px; line-height:1.5; }
.registration-upload-button { min-height:82px; display:flex; align-items:center; justify-content:center; margin-top:10px; border:1px dashed #9fb2a8; background:#fff; cursor:pointer; text-align:center; }
.registration-upload-button:hover { border-color:#39775d; background:#f2f7f4; }
.registration-upload-button input { display:none; }
.registration-upload-button b,.registration-upload-button small { display:block; }
.registration-upload-button b { color:#35624e; font-size:12px; }
.registration-upload-button small { margin-top:4px; color:#87918d; font-size:11px; }
.registration-file-card { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:9px; align-items:center; margin-top:10px; padding:10px; border:1px solid #cddbd4; background:#fff; }
.registration-file-card > i { width:36px; height:36px; display:grid; place-items:center; background:#e5efe9; color:#376650; font-size:11px; font-style:normal; font-weight:800; }
.registration-file-card div,.registration-file-card b,.registration-file-card span { min-width:0; display:block; }
.registration-file-card b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#3b5047; font-size:12px; }
.registration-file-card span { margin-top:3px; color:#87918d; font-size:11px; }
.registration-file-card em { color:#387258; font-size:11px; font-style:normal; }
.registration-trigger-rules { display:grid; gap:7px; margin-top:14px; }
.registration-trigger-rules > div { display:grid; grid-template-columns:48px minmax(0,1fr); gap:9px; align-items:start; padding:10px; border:1px solid #e0e6e3; background:#fff; }
.registration-trigger-rules i { display:grid; place-items:center; min-height:24px; background:#e7efeb; color:#3f6855; font-size:11px; font-style:normal; font-weight:800; }
.registration-trigger-rules b,.registration-trigger-rules small { display:block; }
.registration-trigger-rules b { color:#40564c; font-size:12px; }
.registration-trigger-rules small { margin-top:3px; color:#818b87; font-size:11px; line-height:1.45; }
.registration-boundary { margin-top:14px; padding-top:12px; border-top:1px solid #dce4e0; }
.registration-boundary b,.registration-boundary span { display:block; }
.registration-boundary b { color:#465d52; font-size:12px; }
.registration-boundary span { margin-top:4px; color:#7f8a85; font-size:11px; line-height:1.5; }
.registration-summary-strip { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:14px 0; padding:12px 14px; border-left:3px solid #9ba9a2; background:#f7f9f8; }
.registration-summary-strip.uploaded { border-left-color:#438063; background:#f0f7f3; }
.registration-summary-strip small,.registration-summary-strip b,.registration-summary-strip span { display:block; }
.registration-summary-strip small { color:#84908a; font-size:11px; }
.registration-summary-strip b { margin-top:3px; color:#3b5549; font-size:12px; }
.registration-summary-strip span { margin-top:3px; color:#7b8781; font-size:11px; }
.registration-summary-strip em { color:#617269; font-size:11px; font-style:normal; white-space:nowrap; }
@media (max-width:1120px) { .copyright-path-panel.protection-education { grid-template-columns:1fr; } .registration-upload-panel { border-left:0; border-top:1px solid #dce4e0; } }
@media (max-width:720px) { .protection-education > div,.registration-upload-panel { padding:20px 16px; } .protection-legal-note { grid-template-columns:1fr; } .protection-tracks.focused { grid-template-columns:1fr; } .protection-tracks.focused .protection-track { min-height:0; } .registration-summary-strip { display:block; } .registration-summary-strip em { display:block; margin-top:8px; } }
/* Compact creator-facing protection guidance */
.creator-protection-compact { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.58fr); margin-top:14px; border:1px solid #d9e2de; background:#fff; }
.creator-protection-main { min-width:0; padding:20px 22px; }
.protection-copy { display:grid; grid-template-columns:210px minmax(0,1fr); column-gap:18px; align-items:start; }
.protection-core-label { grid-row:1 / span 2; display:inline-flex; align-items:center; width:max-content; min-height:25px; padding:0 9px; border-left:3px solid #39775d; background:#edf5f1; color:#315e49; font-size:11px; font-weight:800; }
.protection-copy h2 { margin:0; color:#203e32; font-size:19px; line-height:1.25; letter-spacing:0; }
.protection-copy p { margin:7px 0 0; color:#66766f; font-size:12px; line-height:1.62; }
.creator-protection-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:16px; }
.creator-protection-steps > div { min-width:0; display:flex; gap:9px; align-items:center; padding:10px 11px; border:1px solid #dfe6e2; background:#fafcfb; }
.creator-protection-steps i { width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:50%; background:#3f775e; color:#fff; font-size:11px; font-style:normal; font-weight:800; }
.creator-protection-steps span,.creator-protection-steps b,.creator-protection-steps small { min-width:0; display:block; }
.creator-protection-steps b { color:#3d544a; font-size:12px; }
.creator-protection-steps small { margin-top:2px; color:#84908a; font-size:11px; line-height:1.4; }
.creator-protection-result { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:10px; padding:10px 12px; border-left:3px solid #c49337; background:#fbf6e9; }
.creator-protection-result > div:first-child { min-width:0; }
.creator-protection-result b,.creator-protection-result span { display:block; }
.creator-protection-result > div:first-child b { color:#715923; font-size:12px; }
.creator-protection-result > div:first-child span { margin-top:3px; color:#746e60; font-size:11px; line-height:1.5; }
.protection-stats { display:flex; gap:6px; flex:0 0 auto; }
.protection-stats span { min-width:48px; padding:5px 7px; background:#fff; color:#77837d; text-align:center; font-size:11px; }
.protection-stats b { color:#345d4a; font-size:13px; }
.registration-compact { min-width:0; padding:18px; border-left:1px solid #dce4e0; background:#f8faf9; }
.registration-compact-head > span { color:#718096; font-size:11px; font-weight:800; }
.registration-compact-head h3 { margin:5px 0 5px; color:#2d443a; font-size:14px; letter-spacing:0; }
.registration-compact-head p { margin:0; color:#6f7d76; font-size:11px; line-height:1.55; }
.registration-compact-note { display:flex; gap:6px; margin-top:11px; color:#69766f; font-size:11px; line-height:1.45; }
.registration-compact-note b { flex:0 0 auto; color:#3f5b4e; }
.registration-upload-button.compact { min-height:54px; margin-top:10px; }
.registration-file-card.compact { margin-top:10px; padding:8px; }
.registration-compact-footer { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.registration-compact-footer span { padding:4px 6px; background:#edf2ef; color:#68766f; font-size:11px; }
@media (max-width:1080px) { .creator-protection-compact { grid-template-columns:1fr; } .registration-compact { border-left:0; border-top:1px solid #dce4e0; } }
@media (max-width:720px) { .creator-protection-main,.registration-compact { padding:16px; } .protection-copy { display:block; } .protection-core-label { margin-bottom:10px; } .protection-copy h2 { font-size:16px; } .creator-protection-steps { grid-template-columns:1fr; } .creator-protection-result { display:block; } .protection-stats { margin-top:8px; } }
/* Global readability and creator multi-IP portfolio */
body { font-size:14px; }
button,input,select,textarea { font-size:13px; }
.subtitle,.statement,.info-block p,.scope-row p,.version-description { line-height:1.65; }
.top-nav { min-width:0; overflow-x:auto; scrollbar-width:none; }
.top-nav::-webkit-scrollbar { display:none; }
.creator-ip-switcher { display:grid; grid-template-columns:170px minmax(0,1fr); gap:0; margin-bottom:14px; border:1px solid #d9e2de; background:#fff; }
.creator-ip-switcher-head { display:flex; flex-direction:column; justify-content:center; gap:5px; padding:16px 18px; border-right:1px solid #dfe6e2; background:#f6f9f7; }
.creator-ip-switcher-head > div { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2px 8px; }
.creator-ip-switcher-head small { grid-column:1 / -1; color:#5c786a; font-size:11px; font-weight:800; }
.creator-ip-switcher-head b { color:#263f34; font-size:17px; }
.creator-ip-switcher-head span { color:#7d8983; font-size:12px; }
.creator-ip-switcher-head button { width:100%; margin-top:5px; }
.creator-ip-tabs { min-width:0; display:flex; gap:8px; align-items:stretch; padding:10px; overflow-x:auto; scrollbar-width:thin; }
.creator-ip-tab { min-width:250px; max-width:310px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 11px; border:1px solid #dfe5e2; background:#fff; color:#344b41; text-align:left; cursor:pointer; transition:border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.creator-ip-tab:hover { border-color:#9eb9ac; background:#f7faf8; }
.creator-ip-tab.active { border-color:#39775d; background:#eef6f2; box-shadow:inset 3px 0 0 #39775d; }
.creator-ip-tab img { width:42px; height:42px; object-fit:cover; border:1px solid #d8e0dc; }
.creator-ip-tab > span,.creator-ip-tab b,.creator-ip-tab small { min-width:0; display:block; }
.creator-ip-tab b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#2f473d; font-size:13px; }
.creator-ip-tab small { margin-top:4px; color:#7b8882; font-size:11px; }
.creator-ip-tab em { display:inline-flex; align-items:center; min-height:24px; padding:0 7px; border:1px solid #d4ddd8; background:#f5f7f6; color:#67756e; font-size:11px; font-style:normal; white-space:nowrap; }
.creator-ip-tab em.green { border-color:#abd0bd; background:#eaf5ef; color:#2f6d50; }
.creator-ip-tab em.yellow { border-color:#e2d0a4; background:#faf4e6; color:#795f2b; }
.creator-ip-tab em.red { border-color:#ddb5b5; background:#faeeee; color:#8e4848; }
@media (max-width:900px) { .creator-ip-switcher { grid-template-columns:1fr; } .creator-ip-switcher-head { flex-direction:row; align-items:center; justify-content:space-between; border-right:0; border-bottom:1px solid #dfe6e2; } .creator-ip-switcher-head > div { display:flex; gap:8px; align-items:baseline; } .creator-ip-switcher-head small { display:none; } .creator-ip-switcher-head button { width:auto; margin-top:0; } }
@media (max-width:560px) { body { font-size:14px; } .creator-ip-switcher { margin-left:0; margin-right:0; } .creator-ip-tabs { padding:8px; } .creator-ip-tab { min-width:240px; } .creator-header .header-actions { width:100%; } .creator-header .header-actions button { width:100%; } }
/* Creator task detail: compact in the workspace, explanatory when opened. */
.task-open-button { margin-top: 2px; }
.task-detail-backdrop { z-index: 80; padding: 24px; }
.task-detail-modal { width: min(860px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; background: #fff; border: 1px solid #cfd9d4; box-shadow: 0 24px 70px rgba(26, 48, 39, .2); }
.task-detail-head { display: flex; align-items: flex-start; gap: 24px; padding: 24px 26px 20px; border-bottom: 1px solid var(--line); background: #f8faf9; }
.task-detail-head > div { flex: 1; min-width: 0; }
.task-detail-head h2 { margin: 6px 0 8px; font-size: 22px; color: #263d33; letter-spacing: 0; }
.task-detail-head p { margin: 0; color: #66756e; font-size: 14px; line-height: 1.65; }
.task-detail-head .icon-button { flex: 0 0 auto; }
.task-detail-body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 22px 26px; }
.task-detail-body section { padding: 0 20px; border-left: 1px solid var(--line); }
.task-detail-body section:first-child { padding-left: 0; border-left: 0; }
.task-detail-body section:last-of-type { padding-right: 0; }
.task-detail-body small { display: block; margin-bottom: 8px; color: var(--green); font-size: 12px; font-weight: 800; }
.task-detail-body p, .task-detail-body li { color: #53645c; font-size: 13px; line-height: 1.65; }
.task-detail-body p { margin: 0; }
.task-detail-body ul { margin: 0; padding-left: 18px; }
.task-detail-body li + li { margin-top: 5px; }
.task-deadline { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 20px; padding: 10px 12px; background: #f1f6f3; color: #40584d; font-size: 13px; }
.task-detail-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 16px 26px; border-top: 1px solid var(--line); }
.registration-compact-head > span, .protection-core-label { font-size: 12px; }
@media (max-width: 720px) {
  .task-detail-backdrop { padding: 10px; }
  .task-detail-modal { max-height: calc(100vh - 20px); }
  .task-detail-head { padding: 18px; }
  .task-detail-head h2 { font-size: 18px; }
  .task-detail-body { grid-template-columns: 1fr; padding: 4px 18px; }
  .task-detail-body section, .task-detail-body section:first-child, .task-detail-body section:last-of-type { padding: 14px 0; border-left: 0; border-top: 1px solid var(--line); }
  .task-detail-body section:first-child { border-top: 0; }
  .task-detail-footer { flex-wrap: wrap; padding: 14px 18px; }
  .task-detail-footer button { flex: 1 1 140px; }
}
/* Creator overview simplification: stage lives in the IP tab, content follows the selected project. */
.creator-ip-tab { min-width: 330px; max-width: 390px; grid-template-columns: 42px minmax(110px, 1fr) minmax(116px, auto); }
.creator-ip-tab .ip-tab-copy { min-width: 0; }
.creator-ip-tab .ip-tab-stage { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; align-items: center; padding-left: 11px; border-left: 1px solid #dce4e0; }
.creator-ip-tab .ip-tab-stage > small { grid-column: 1 / -1; margin: 0; color: #7c8a83; font-size: 11px; }
.creator-ip-tab .ip-tab-stage > b { color: #365348; font-size: 12px; white-space: nowrap; }
.creator-ip-tab .ip-tab-stage > em { grid-column: 2; grid-row: 2; min-height: 22px; padding: 0 6px; }
.creator-ip-tab.active .ip-tab-stage { border-left-color: #bad0c5; }
.creator-selected-content { position: relative; margin-top: 18px; padding-top: 20px; border-top: 2px solid #3f775e; }
.creator-selected-label { position: absolute; top: -15px; left: 0; display: inline-flex; align-items: center; gap: 9px; min-height: 30px; padding: 5px 11px; border: 1px solid #3f775e; background: #fff; color: #385448; }
.creator-selected-label span { color: #6e7e76; font-size: 11px; }
.creator-selected-label b { font-size: 13px; }
.creator-selected-label em { padding-left: 9px; border-left: 1px solid #d7e0dc; color: #68776f; font-size: 11px; font-style: normal; }
.creator-selected-label em.green { color: #2f7051; }
.creator-selected-label em.yellow { color: #83662c; }
.creator-selected-label em.red { color: #934b4b; }

/* First-glance rights education: two distinct questions, no actions or counters. */
.creator-protection-compact.protection-education { display: block; margin-top: 0; border: 1px solid #d8e1dd; background: #fff; }
.protection-education-head { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.5fr); gap: 6px 30px; padding: 18px 22px; background: #f6f9f7; }
.protection-education-head > span { grid-column: 1; color: #547665; font-size: 11px; font-weight: 900; }
.protection-education-head h2 { grid-column: 1; margin: 0; color: #294237; font-size: 18px; letter-spacing: 0; }
.protection-education-head p { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; color: #65746d; font-size: 13px; line-height: 1.65; }
.protection-path-list { display: grid; }
.protection-path-row { display: grid; grid-template-columns: 54px minmax(280px, .9fr) minmax(380px, 1.1fr); gap: 20px; align-items: center; padding: 20px 22px; border-top: 1px solid #dce4e0; }
.protection-path-row.originality { background: #fff; }
.protection-path-row.registration { background: #fafbfb; }
.protection-path-index { align-self: stretch; display: grid; place-items: center; border-right: 1px solid #dce4e0; color: #8b9892; font-size: 13px; font-weight: 900; }
.protection-path-row.originality .protection-path-index { color: #3f775e; }
.protection-path-copy > span { display: block; margin-bottom: 5px; color: #3f775e; font-size: 12px; font-weight: 900; }
.protection-path-row.registration .protection-path-copy > span { color: #66768a; }
.protection-path-copy h3 { margin: 0 0 6px; color: #2d443a; font-size: 15px; letter-spacing: 0; }
.protection-path-copy p { margin: 0; color: #6a7871; font-size: 13px; line-height: 1.6; }
.protection-platform-help, .protection-path-timing { min-width: 0; padding: 13px 15px; border-left: 3px solid #4d8069; background: #f0f6f3; }
.protection-platform-help > b, .protection-path-timing > b { display: block; margin-bottom: 8px; color: #365648; font-size: 12px; }
.protection-platform-help > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 12px; }
.protection-platform-help span { display: flex; align-items: center; gap: 7px; color: #55675e; font-size: 12px; }
.protection-platform-help i { width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; border-radius: 50%; background: #3f775e; color: #fff; font-size: 10px; font-style: normal; font-weight: 800; }
.protection-path-timing { border-left-color: #8090a3; background: #f1f4f7; }
.protection-path-timing > b { color: #526274; }
.protection-path-timing > span { color: #667483; font-size: 12px; line-height: 1.65; }
.registration-editor-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 14px; padding: 14px 16px; border: 1px solid #d9e2de; background: #f8faf9; }
.registration-editor-row > div { min-width: 0; }
.registration-editor-row small, .registration-editor-row b, .registration-editor-row span { display: block; }
.registration-editor-row small { color: #64766d; font-size: 11px; font-weight: 800; }
.registration-editor-row b { margin-top: 4px; color: #334c41; font-size: 13px; }
.registration-editor-row span { margin-top: 3px; color: #78857f; font-size: 12px; }
.registration-editor-row .registration-upload-button { flex: 0 0 240px; margin: 0; }
@media (max-width: 1100px) {
  .protection-path-row { grid-template-columns: 44px minmax(0, 1fr); }
  .protection-platform-help, .protection-path-timing { grid-column: 2; }
}
@media (max-width: 720px) {
  .creator-ip-tab { min-width: 300px; grid-template-columns: 40px minmax(92px, 1fr) minmax(104px, auto); }
  .creator-selected-label { max-width: 100%; }
  .creator-selected-label em { display: none; }
  .protection-education-head { display: block; padding: 16px; }
  .protection-education-head h2 { margin: 5px 0 8px; font-size: 17px; }
  .protection-path-row { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .protection-path-index { align-self: start; min-height: 38px; }
  .protection-platform-help, .protection-path-timing { grid-column: 1 / -1; }
  .protection-platform-help > div { grid-template-columns: 1fr; }
  .registration-editor-row { display: block; }
  .registration-editor-row .registration-upload-button { margin-top: 12px; }
}
/* IP creator five-stage workspace */
.creator-nav { gap: 18px; }
.creator-nav .nav-item { max-width: 112px; font-size: 12px; line-height: 1.35; }
.creator-portfolio-compact { border: 1px solid #d5dfda; background: #fff; }
.creator-portfolio-bar { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 11px 14px 10px 16px; border-bottom: 1px solid #dfe6e2; background: #f7f9f8; }
.creator-portfolio-bar > div:first-child { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 2px 10px; }
.creator-portfolio-bar > div:first-child > span { grid-column: 1 / -1; color: #5d786b; font-size: 11px; font-weight: 900; }
.creator-portfolio-bar > div:first-child > b { color: #263f34; font-size: 18px; }
.creator-portfolio-bar > div:first-child > small { color: #79867f; font-size: 12px; }
.creator-portfolio-actions { display: flex; gap: 8px; }
.creator-portfolio-actions button { min-height: 34px; padding: 7px 12px; }
.creator-todo-trigger { position: relative; }
.creator-todo-trigger > i { display: none; }
.creator-todo-trigger.has-todo > i { position: absolute; top: 5px; right: 6px; display: block; width: 7px; height: 7px; border-radius: 50%; background: #d68d21; box-shadow: 0 0 0 2px #fff; }
.creator-portfolio-compact .creator-ip-tabs { padding: 9px 11px; }
.creator-portfolio-compact .creator-ip-tab { min-width: 320px; max-width: 370px; }
.creator-stage-hub { position: relative; margin-top: 14px; border-top: 3px solid #3f775e; background: #fff; }
.creator-current-project { position: absolute; top: -15px; left: 15px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; min-height: 29px; padding: 4px 10px; border: 1px solid #3f775e; background: #fff; color: #385247; }
.creator-current-project span { color: #74827b; font-size: 11px; }
.creator-current-project b { font-size: 12px; }
.creator-stage-journey { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; padding: 25px 12px 12px; border: 1px solid #d8e1dd; border-top: 0; background: #f6f8f7; }
.creator-stage-card { min-width: 0; min-height: 118px; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; align-content: start; padding: 12px 10px; border: 1px solid #dce3e0; background: #fff; }
.creator-stage-number { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #cfd9d4; border-radius: 50%; color: #7b8882; font-size: 11px; font-weight: 900; }
.creator-stage-card small, .creator-stage-card b { display: block; }
.creator-stage-card small { color: #8b9691; font-size: 10px; }
.creator-stage-card b { margin-top: 3px; color: #43554d; font-size: 12px; line-height: 1.4; }
.creator-stage-card p { margin: 7px 0 0; color: #7b8781; font-size: 11px; line-height: 1.5; }
.creator-stage-card.active { border-color: #3f775e; background: #edf5f1; box-shadow: inset 0 -3px 0 #3f775e; }
.creator-stage-card.active .creator-stage-number { border-color: #3f775e; background: #3f775e; color: #fff; }
.creator-stage-card.active b { color: #315b49; }
.creator-stage-card.done { background: #f2f7f4; }
.creator-stage-card.done .creator-stage-number { border-color: #80a996; background: #80a996; color: #fff; }
.creator-stage-card.future { opacity: .78; }
.creator-stage-guide { border: 1px solid #d8e1dd; border-top: 0; background: #fff; }
.creator-stage-guide-head { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.4fr); gap: 12px 28px; align-items: center; padding: 18px 21px; background: #edf5f1; }
.creator-stage-guide-head span { display: block; color: #3f775e; font-size: 11px; font-weight: 900; }
.creator-stage-guide-head h2 { margin: 4px 0 0; color: #284438; font-size: 20px; letter-spacing: 0; }
.creator-stage-guide-head p { margin: 0; color: #5f7168; font-size: 13px; line-height: 1.65; }
.stage-1-guide .creator-protection-compact.protection-education { border: 0; border-top: 1px solid #d8e1dd; }
.stage-1-guide .protection-education-head { padding-top: 15px; padding-bottom: 15px; }
.creator-stage-guide-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); gap: 0; }
.creator-stage-guide-grid article { padding: 20px 22px; }
.creator-stage-guide-grid article + article { border-left: 1px solid #dce4e0; background: #f8faf9; }
.creator-stage-guide-grid small { display: block; margin-bottom: 10px; color: #557365; font-size: 11px; font-weight: 900; }
.creator-stage-guide-grid p { margin: 0; color: #63736b; font-size: 13px; line-height: 1.7; }
.creator-support-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.creator-support-list span { display: flex; align-items: center; gap: 8px; color: #50635a; font-size: 12px; }
.creator-support-list i { width: 21px; height: 21px; flex: 0 0 21px; display: grid; place-items: center; border-radius: 50%; background: #3f775e; color: #fff; font-size: 10px; font-style: normal; font-weight: 900; }
.creator-content-grid { margin-top: 14px; }
.creator-assistant-note { margin-top: 10px; padding: 11px 12px; border-left: 3px solid #6b9a85; background: #f0f6f3; }
.creator-assistant-note b, .creator-assistant-note span { display: block; }
.creator-assistant-note b { color: #3b594c; font-size: 12px; line-height: 1.5; }
.creator-assistant-note span { margin-top: 4px; color: #6b7972; font-size: 11px; line-height: 1.5; }
.creator-task-head .text-button { border: 0; background: transparent; color: #3f775e; font-size: 11px; font-weight: 800; }
.creator-task-center-backdrop { z-index: 85; padding: 20px; }
.creator-task-center { width: min(720px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; border: 1px solid #cad6d0; background: #fff; box-shadow: 0 24px 70px rgba(25, 47, 39, .22); }
.creator-task-center > header { display: flex; justify-content: space-between; gap: 20px; padding: 21px 23px 18px; border-bottom: 1px solid #dce4e0; background: #f6f9f7; }
.creator-task-center > header span { color: #527161; font-size: 11px; font-weight: 900; }
.creator-task-center > header h2 { margin: 5px 0 5px; color: #294237; font-size: 20px; }
.creator-task-center > header p { margin: 0; color: #6c7a73; font-size: 12px; }
.creator-task-center-body { display: grid; gap: 0; padding: 0 23px 22px; }
.task-center-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 17px 0; border-bottom: 1px solid #e2e7e5; }
.task-center-row small, .task-center-row b, .task-center-row p { display: block; }
.task-center-row small { color: #8b671f; font-size: 11px; font-weight: 900; }
.task-center-row b { margin-top: 4px; color: #334b40; font-size: 13px; }
.task-center-row p { margin: 4px 0 0; color: #74817b; font-size: 12px; line-height: 1.55; }
.task-center-row.done small, .task-center-row.done > span { color: #3f775e; }
.task-center-row > button { min-width: 106px; }
.task-center-empty { padding: 30px 12px 10px; text-align: center; }
.task-center-empty b { color: #455b51; font-size: 13px; }
.task-center-empty p { margin: 6px 0 0; color: #7a8680; font-size: 12px; }
@media (max-width: 1180px) {
  .creator-nav { gap: 12px; }
  .creator-nav .nav-item { max-width: 90px; font-size: 11px; }
  .creator-stage-journey { display: flex; overflow-x: auto; }
  .creator-stage-card { flex: 0 0 190px; }
}
@media (max-width: 780px) {
  .creator-portfolio-bar { align-items: flex-end; }
  .creator-portfolio-bar > div:first-child > small { display: none; }
  .creator-portfolio-actions button { padding: 7px 9px; }
  .creator-portfolio-compact .creator-ip-tab { min-width: 300px; }
  .creator-stage-guide-head { display: block; padding: 16px; }
  .creator-stage-guide-head p { margin-top: 8px; }
  .creator-stage-guide-grid { grid-template-columns: 1fr; }
  .creator-stage-guide-grid article + article { border-left: 0; border-top: 1px solid #dce4e0; }
}
@media (max-width: 520px) {
  .creator-portfolio-bar { gap: 10px; padding: 10px; }
  .creator-portfolio-bar > div:first-child > span { display: none; }
  .creator-portfolio-bar > div:first-child > b { font-size: 16px; }
  .creator-portfolio-actions { gap: 5px; }
  .creator-portfolio-actions button { min-height: 32px; font-size: 12px; }
  .creator-stage-card { flex-basis: 176px; }
  .creator-support-list { grid-template-columns: 1fr; }
  .creator-task-center-backdrop { padding: 8px; }
  .task-center-row { grid-template-columns: 1fr; gap: 10px; }
  .task-center-row > button { width: 100%; }
}
.creator-stage-guide-head { grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr) auto; }
.creator-stage-guide-head > button { min-width: 112px; }
@media (max-width: 900px) {
  .creator-stage-guide-head { grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr); }
  .creator-stage-guide-head > button { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 780px) {
  .creator-stage-guide-head > button { margin-top: 12px; }
}
/* Stage 1 creator rights: lightweight comic lesson */
.rights-comic { padding: 20px 21px 18px; border-top: 1px solid #d8e1dd; background: #fbfcfb; }
.rights-comic-panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rights-comic-panel { min-width: 0; overflow: hidden; border: 1px solid #d7e1dc; border-radius: 7px; background: #fff; }
.comic-scene { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 9px 10px; align-items: start; min-height: 210px; padding: 16px; }
.comic-speaker { display: grid; justify-items: center; gap: 4px; color: #66756e; font-size: 11px; font-weight: 800; }
.comic-speaker img, .comic-speaker i { width: 34px; height: 34px; border-radius: 50%; }
.comic-speaker img { object-fit: cover; border: 2px solid #d9e5df; background: #eef4f1; }
.comic-speaker i { display: grid; place-items: center; color: #fff; background: #326b57; font-size: 16px; font-style: normal; font-weight: 900; }
.comic-bubble { position: relative; margin: 0; padding: 11px 12px; border-radius: 7px; font-size: 13px; line-height: 1.55; }
.comic-bubble::before { content: ""; position: absolute; left: -6px; top: 14px; width: 10px; height: 10px; transform: rotate(45deg); }
.creator-question { align-self: center; color: #273c34; background: #f0f6f2; font-weight: 800; }
.creator-question::before { background: #f0f6f2; }
.choice-answer { color: #465a51; background: #f5f7fb; }
.choice-answer::before { background: #f5f7fb; }
.rights-comic-panel footer { display: flex; gap: 9px; align-items: center; min-height: 48px; padding: 10px 14px; border-top: 1px solid #e1e8e4; background: #f7f9f8; color: #60716a; font-size: 12px; line-height: 1.4; }
.rights-comic-panel footer b { color: #3f775e; font-size: 15px; }
.rights-comic-help { display: flex; gap: 20px; align-items: center; margin-top: 12px; padding: 11px 14px; border-left: 4px solid #d1a641; background: #fbf7eb; }
.rights-comic-help strong { flex: 0 0 auto; color: #4b5e55; font-size: 13px; }
.rights-comic-help > div { display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); gap: 8px 18px; width: 100%; }
.rights-comic-help span { display: flex; gap: 7px; align-items: center; color: #576860; font-size: 12px; font-weight: 700; }
.rights-comic-help i { display: grid; flex: 0 0 21px; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: #fff; background: #4f7b68; font-size: 10px; font-style: normal; }
@media (max-width: 1060px) {
  .rights-comic-panels { grid-template-columns: 1fr; }
  .comic-scene { min-height: 0; }
}
@media (max-width: 720px) {
  .rights-comic { padding: 14px; }
  .rights-comic-help { display: block; }
  .rights-comic-help > div { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
}
/* Stage 1 creator rights classroom */
.creator-stage-guide-value { display: grid; gap: 5px; min-width: 0; }
.creator-stage-guide-value b { color: #304d41; font-size: 14px; line-height: 1.4; }
.creator-stage-guide-value span { color: #5f7168; font-size: 13px; line-height: 1.55; }
.creator-stage-guide-value em { color: #3f775e; font-size: 11px; font-style: normal; font-weight: 800; }
.rights-classroom { padding: 18px 21px; border-top: 1px solid #d8e1dd; background: #fbfcfb; }
.rights-classroom > header { display: grid; grid-template-columns: 42px auto minmax(240px, 1fr); gap: 11px; align-items: center; margin-bottom: 14px; }
.classroom-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: #326b57; font-weight: 900; }
.rights-classroom > header span { display: block; color: #6d8077; font-size: 10px; font-weight: 900; }
.rights-classroom > header h2 { margin: 2px 0 0; color: #294237; font-size: 18px; letter-spacing: 0; }
.rights-classroom > header p { justify-self: end; margin: 0; color: #6a7972; font-size: 12px; }
.rights-classroom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rights-lesson { position: relative; min-width: 0; padding: 18px 17px 15px; overflow: hidden; border: 1px solid #d7e1dc; border-top: 4px solid #4f7b68; border-radius: 7px; background: #fff; }
.rights-lesson.relation { border-top-color: #7286a2; }
.rights-lesson.legal { border-top-color: #d1a641; }
.lesson-number { position: absolute; right: 13px; top: 10px; color: #e0e7e3; font-size: 28px; font-weight: 900; }
.lesson-tag { display: inline-block; margin-bottom: 9px; padding: 3px 7px; color: #3f6f5b; background: #edf5f1; font-size: 10px; font-weight: 900; }
.rights-lesson.relation .lesson-tag { color: #5f7087; background: #f0f3f7; }
.rights-lesson.legal .lesson-tag { color: #826b2e; background: #fbf5e5; }
.rights-lesson h3 { position: relative; margin: 0 34px 8px 0; color: #263d34; font-size: 16px; line-height: 1.4; letter-spacing: 0; }
.rights-lesson > p { margin: 0; color: #5c6d65; font-size: 13px; line-height: 1.65; }
.lesson-answer { display: grid; gap: 3px; margin-top: 13px; padding: 10px 11px; background: #f4f7f5; }
.lesson-answer b { color: #3c5f50; font-size: 12px; }
.lesson-answer span { color: #65746d; font-size: 12px; line-height: 1.5; }
.rights-lesson details { margin-top: 11px; border-top: 1px dashed #d7dfdb; padding-top: 9px; }
.rights-lesson summary { width: max-content; max-width: 100%; cursor: pointer; color: #3f775e; font-size: 12px; font-weight: 800; }
.rights-lesson details p { margin: 8px 0 0; color: #6a7771; font-size: 12px; line-height: 1.55; }
.rights-lesson details a { display: inline-block; margin-top: 7px; color: #326b57; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.lesson-links { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.classroom-boundary { display: flex; gap: 12px; align-items: center; margin-top: 12px; padding: 10px 13px; border-left: 4px solid #d1a641; background: #fbf7eb; }
.classroom-boundary b { flex: 0 0 auto; color: #5d512f; font-size: 12px; }
.classroom-boundary span { color: #6a6657; font-size: 12px; line-height: 1.5; }
@media (max-width: 1060px) {
  .rights-classroom-grid { grid-template-columns: 1fr; }
  .rights-classroom > header { grid-template-columns: 42px 1fr; }
  .rights-classroom > header p { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 720px) {
  .rights-classroom { padding: 14px; }
  .creator-stage-guide-value { margin-top: 9px; }
  .classroom-boundary { align-items: flex-start; }
}
/* Stage 1 less-is-more: recurring version proof workspace */
.stage-1-guide .creator-stage-guide-head { padding-top: 16px; padding-bottom: 16px; }
.stage-1-guide .creator-stage-guide-value { gap: 3px; }
.stage-1-guide .creator-stage-guide-value b { color: #29483b; font-size: 15px; }
.stage-1-guide .creator-stage-guide-value span { color: #68776f; font-size: 12px; line-height: 1.45; }
.rights-classroom-minimal { padding: 16px 21px 18px; background: #fff; }
.rights-classroom-minimal > header { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 12px; }
.rights-classroom-minimal > header h2 { margin: 0; color: #294237; font-size: 17px; }
.rights-classroom-minimal > header p { margin: 0; color: #78857f; font-size: 11px; }
.rights-classroom-minimal .rights-classroom-grid { gap: 0; border-top: 1px solid #dce4e0; border-bottom: 1px solid #dce4e0; }
.rights-classroom-minimal .rights-lesson { min-height: 0; padding: 17px 22px 15px; border: 0; border-radius: 0; background: transparent; }
.rights-classroom-minimal .rights-lesson + .rights-lesson { border-left: 1px solid #dce4e0; }
.rights-classroom-minimal .rights-lesson h3 { margin: 0 0 7px; color: #2b4339; font-size: 14px; line-height: 1.4; }
.rights-classroom-minimal .rights-lesson > p { margin: 0; color: #66756e; font-size: 12px; line-height: 1.55; }
.rights-classroom-minimal .rights-lesson details { margin-top: 9px; padding-top: 0; border-top: 0; }
.rights-classroom-minimal .rights-lesson summary { color: #4d7665; font-size: 11px; }
.rights-classroom-minimal .rights-lesson details p { font-size: 11px; line-height: 1.55; }
.rights-classroom-minimal .rights-lesson details a { font-size: 10px; }
@media (max-width: 1060px) {
  .rights-classroom-minimal .rights-lesson + .rights-lesson { border-left: 0; border-top: 1px solid #dce4e0; }
}
@media (max-width: 720px) {
  .rights-classroom-minimal { padding: 14px; }
  .rights-classroom-minimal > header { display: block; }
  .rights-classroom-minimal > header p { margin-top: 4px; }
  .rights-classroom-minimal .rights-lesson { padding: 15px 4px; }
}
/* Creator cleanup: one stage navigation, one task entry, value-first education */
.role-switch { padding: 2px; border-radius: 5px; }
.role-switch button { height: 22px; min-width: 36px; padding: 0 6px; font-size: 10px; }
.creator-content-grid.creator-content-single { display: block; grid-template-columns: minmax(0, 1fr); }
.creator-content-single .detail-panel { width: 100%; margin: 0; }
.rights-classroom-value .rights-classroom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rights-classroom-value .rights-lesson { padding-top: 18px; padding-bottom: 17px; }
.protection-methods { display: grid; gap: 7px; margin-top: 1px; }
.protection-methods > div { display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 7px 9px; background: #f6f8f7; }
.protection-methods > div.primary { background: #edf5f1; }
.protection-methods b { color: #334e42; font-size: 12px; }
.protection-methods span { color: #64746c; font-size: 11px; line-height: 1.45; }
.protection-methods em { margin-left: 4px; color: #3f775e; font-size: 9px; font-style: normal; font-weight: 900; }
.protection-methods > div:not(.primary) em { color: #75817b; }
@media (max-width: 1060px) {
  .rights-classroom-value .rights-classroom-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .protection-methods > div { grid-template-columns: 1fr; gap: 3px; }
}
/* Stage 1 value claim and protection learning flow */
.stage-1-guide .creator-stage-guide-head.stage1-value-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 20px 24px; }
.stage1-value-hero h2 { margin: 0; color: #28483a; font-size: 21px; line-height: 1.35; letter-spacing: 0; }
.stage1-value-hero p { margin: 6px 0 0; color: #5f7168; font-size: 13px; line-height: 1.5; }
.stage1-value-head > button { grid-column: auto; justify-self: end; align-self: center; min-width: 118px; }
.protection-learning-flow { padding-top: 16px; }
.protection-flow { display: grid; grid-template-columns: minmax(310px, .9fr) 72px minmax(390px, 1.1fr); align-items: stretch; border-top: 1px solid #dce4e0; border-bottom: 1px solid #dce4e0; }
.protection-flow article { min-width: 0; padding: 20px 22px; }
.protection-flow h3 { margin: 0 0 12px; color: #2b4339; font-size: 15px; line-height: 1.4; }
.protection-method-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 11px 12px; background: #f6f8f7; }
.protection-method-row + .protection-method-row { margin-top: 7px; }
.protection-method-row.primary { background: #edf5f1; }
.protection-method-row b { color: #334e42; font-size: 12px; }
.protection-method-row span { color: #64746c; font-size: 11px; line-height: 1.5; }
.protection-method-row em { margin-left: 5px; color: #3f775e; font-size: 9px; font-style: normal; }
.protection-flow-arrow { position: relative; display: grid; place-items: center; }
.protection-flow-arrow::before { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: #9db5aa; }
.protection-flow-arrow span { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #8ca99b; border-radius: 50%; color: #356a55; background: #fff; font-size: 17px; font-weight: 900; }
.protection-flow-core { border-left: 3px solid #4f7b68; background: #f3f7f5; }
.protection-flow-core > small { display: block; margin-bottom: 6px; color: #3f775e; font-size: 10px; font-weight: 900; }
.protection-flow-core > p { margin: 0; color: #566a60; font-size: 12px; line-height: 1.65; }
.protection-flow-core details { margin-top: 11px; }
.protection-flow-core summary { cursor: pointer; color: #3f775e; font-size: 11px; font-weight: 800; }
.protection-flow-core details p { margin: 8px 0 0; color: #68776f; font-size: 11px; line-height: 1.55; }
@media (max-width: 900px) {
  .protection-flow { grid-template-columns: 1fr; }
  .protection-flow-arrow { height: 44px; }
  .protection-flow-arrow::before { top: 0; bottom: 0; left: 50%; right: auto; width: 1px; height: auto; }
  .protection-flow-arrow span { transform: rotate(90deg); }
  .protection-flow-core { border-left: 0; border-top: 3px solid #4f7b68; }
}
@media (max-width: 720px) {
  .stage-1-guide .creator-stage-guide-head.stage1-value-head { display: block; padding: 18px 16px; }
  .stage1-value-hero h2 { font-size: 18px; }
  .stage1-value-head > button { margin-top: 14px; }
  .protection-flow article { padding: 17px 4px; }
  .protection-method-row { grid-template-columns: 1fr; gap: 4px; }
}
/* Creator-friendly proof language and status */
.protection-learning-flow > header { display: block; }
.protection-learning-flow .protection-method-row { grid-template-columns: 220px minmax(0, 1fr); }
.platform-proof-compact { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 7px 12px; margin-top: 13px; padding: 11px 12px; background: #fff; }
.platform-proof-compact b { color: #36594a; font-size: 11px; }
.platform-proof-compact span { color: #64746c; font-size: 11px; line-height: 1.5; }
.creator-summary-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.creator-role .creator-evidence-row { grid-template-columns: 70px 110px minmax(0, 1fr) 190px; }
.creator-role .creator-evidence-row .mini-state { justify-self: end; min-width: 154px; text-align: center; }
.mini-state.pending { color: #456b5a; background: #edf5f1; }
@media (max-width: 720px) {
  .protection-learning-flow .protection-method-row { grid-template-columns: 1fr; }
  .platform-proof-compact { grid-template-columns: 1fr; gap: 3px; }
  .platform-proof-compact span + b { margin-top: 7px; }
  .creator-summary-metrics { grid-template-columns: 1fr; }
  .creator-role .creator-evidence-row { grid-template-columns: 44px 80px minmax(0, 1fr); }
  .creator-role .creator-evidence-row .mini-state { grid-column: 3; justify-self: start; min-width: 0; }
}

/* Creator stage modules: selected view, reached progress, and locked future */
.creator-stage-card {
  width: 100%;
  appearance: none;
  font: inherit;
  text-align: left;
  border-radius: 0;
  cursor: default;
}
.creator-stage-card.available { cursor: pointer; }
.creator-stage-card.available:not(.selected):hover {
  border-color: #83a596;
  background: #f3f8f5;
}
.creator-stage-card.selected {
  border-color: #3f775e;
  background: #edf5f1;
  box-shadow: inset 0 -3px 0 #3f775e;
}
.creator-stage-card.selected .creator-stage-number {
  border-color: #3f775e;
  background: #3f775e;
  color: #fff;
}
.creator-stage-card.progress:not(.selected) {
  border-color: #8eaa9d;
  background: #f7faf8;
}
.creator-stage-card.locked {
  opacity: .55;
  background: #fafbfa;
  cursor: not-allowed;
}
.creator-stage-card:disabled { color: inherit; }
.creator-stage-copy { min-width: 0; }
.creator-stage-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.creator-stage-meta em {
  flex: 0 0 auto;
  padding: 2px 5px;
  border: 1px solid #d5dfda;
  color: #6e7d75;
  background: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}
.creator-stage-card.selected .creator-stage-meta em {
  border-color: #85aa98;
  color: #315b49;
}
.creator-stage-card.progress:not(.selected) .creator-stage-meta em {
  border-color: #adc1b7;
  color: #466757;
}
.legal-reference-list {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}
.legal-reference-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #dce4e0;
  background: #fff;
}
.legal-reference-item b,
.legal-reference-item span { display: block; }
.legal-reference-item b { color: #365448; font-size: 11px; }
.legal-reference-item span {
  margin-top: 3px;
  color: #68776f;
  font-size: 10px;
  line-height: 1.45;
}
.legal-reference-item a {
  color: #326b57;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.legal-reference-boundary {
  margin: 8px 0 0 !important;
  padding-left: 9px;
  border-left: 3px solid #cba84b;
  color: #71694f !important;
  font-size: 10px !important;
}
@media (max-width: 720px) {
  .legal-reference-item { grid-template-columns: 1fr; }
  .legal-reference-item a { white-space: normal; }
}


/* Creator rights modal refinement */
.modal-backdrop { padding: 16px; }
.intake-modal {
  height: min(880px, calc(100dvh - 32px));
  max-height: calc(100dvh - 32px);
  min-height: 0;
}
.modal-steps,
.modal-main,
.live-preview { min-height: 0; }
.modal-main { overflow: hidden; }
.modal-head,
.modal-footer { flex: 0 0 auto; }
.modal-scroll {
  min-height: 0;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.modal-footer { background: #fff; }
.ip-identity-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(170px, .9fr) minmax(170px, .9fr);
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px;
  border-top: 3px solid #4c7a66;
  background: #f2f7f4;
}
.identity-secondary { padding-top: 2px; }
.compact-upload { min-height: 82px; }
.preview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.preview-heading h3 { margin: 0; }
.preview-heading span {
  padding: 3px 6px;
  border: 1px solid #cfd9d4;
  color: #5f7168;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}
.preview-contact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 8px 0 11px;
}
.preview-contact-list span {
  padding: 4px 6px;
  color: #41604f;
  background: #edf5f1;
  font-size: 10px;
  font-weight: 700;
}
.evidence-editor-head { align-items: center; }
.simplified-scopes { gap: 10px; }
.required-scope { background: #f1f7f4; }
.public-content-editor {
  padding: 18px;
  border-left: 4px solid #4c7a66;
  background: #f4f8f6;
}
.public-content-editor > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.public-content-editor > header small,
.public-content-editor > header h3 { display: block; }
.public-content-editor > header small {
  color: #4c7a66;
  font-size: 10px;
  font-weight: 900;
}
.public-content-editor > header h3 {
  margin: 3px 0 0;
  color: #29483b;
  font-size: 16px;
}
.public-content-editor > header > span {
  color: #4c6a5d;
  font-size: 11px;
  font-weight: 800;
}
.public-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
  gap: 16px;
}
.public-content-editor textarea { min-height: 112px; }
.public-story-preview {
  margin-top: 7px;
  padding: 8px 10px;
  color: #63736b;
  background: #fff;
  font-size: 11px;
  line-height: 1.5;
}
.public-image-upload {
  min-height: 88px;
  display: grid;
  place-items: center;
  padding: 12px;
  border: 1px dashed #8aa79f;
  color: #526d60;
  background: #fff;
  text-align: center;
  cursor: pointer;
}
.public-image-upload input { display: none; }
.public-image-upload b,
.public-image-upload small { display: block; }
.public-image-upload small {
  margin-top: 4px;
  color: #7b8982;
}
.public-image-preview {
  width: 100%;
  max-height: 160px;
  margin-top: 8px;
  object-fit: contain;
  background: #fff;
}
.public-content-editor > p,
.public-content-closed {
  margin: 13px 0 0;
  color: #68776f;
  font-size: 11px;
  line-height: 1.55;
}
.public-content-closed {
  display: flex;
  gap: 12px;
  padding: 13px 15px;
  border-left: 3px solid #a9b9b1;
  background: #f5f7f6;
}
.public-content-closed b { color: #40584d; }
@media (max-width: 900px) {
  .ip-identity-row { grid-template-columns: 1fr 1fr; }
  .ip-identity-row .field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 780px) {
  .modal-backdrop { padding: 0; }
  .intake-modal {
    height: 100dvh;
    max-height: 100dvh;
  }
  .modal-main { height: calc(100dvh - 86px); }
  .ip-identity-row,
  .public-content-grid { grid-template-columns: 1fr; }
  .ip-identity-row .field:first-child { grid-column: auto; }
  .public-content-editor > header { display: block; }
  .public-content-editor > header > span { display: block; margin-top: 7px; }
}


/* Creator intake refinement: identity hierarchy and multi-image public content */
.ip-identity-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ip-identity-row .field {
  min-width: 0;
}
.ip-identity-row .field:first-child {
  grid-column: 1 / -1;
}
.ip-identity-row input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.plain-identity-fields {
  padding: 0;
  border-top: 0;
  background: transparent;
}
.public-content-grid {
  display: block;
}
.public-story-section,
.public-images-section {
  min-width: 0;
}
.public-images-section {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #d7e1dc;
}
.public-images-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.public-images-heading label {
  margin: 0;
}
.public-images-heading small {
  color: #6f7f77;
  font-size: 11px;
}
.public-image-upload {
  min-height: 72px;
}
.public-image-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.public-image-card {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d6dfda;
  background: #fff;
  aspect-ratio: 4 / 3;
}
.public-image-card .public-image-preview {
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: cover;
}
.public-image-card figcaption {
  position: absolute;
  left: 7px;
  bottom: 7px;
  padding: 3px 6px;
  color: #fff;
  background: rgba(29, 56, 46, .78);
  font-size: 10px;
  font-weight: 800;
}
.public-image-remove {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  color: #fff;
  background: rgba(29, 45, 39, .78);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.public-image-remove:hover {
  background: #8a3f38;
}
.public-image-empty {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #dde5e1;
  color: #7b8881;
  background: rgba(255,255,255,.7);
  text-align: center;
  font-size: 11px;
}
@media (max-width: 780px) {
  .ip-identity-row {
    grid-template-columns: 1fr;
  }
  .ip-identity-row .field:first-child {
    grid-column: auto;
  }
  .public-image-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .public-image-gallery {
    grid-template-columns: 1fr;
  }
}


/* ChoiceOlogy brand integration */
.brand {
  min-width: 178px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.brand-wordmark {
  display: block;
  width: 176px;
  height: auto;
  max-height: 34px;
}
.brand small {
  margin-top: 1px;
  color: var(--brand-orange);
  font-size: 10px;
  font-weight: 800;
}
.rail-logo {
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .08);
}
.rail-logo span {
  color: transparent;
  background: linear-gradient(145deg, #7fc8e0 10%, #62cfc8 42%, #fdbe4c 68%, #fb8350 92%);
  background-clip: text;
  -webkit-background-clip: text;
  font-weight: 900;
}
.rail-logo img { display: block; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.nav-item.active::after {
  background: var(--brand-orange);
}
.avatar {
  background: var(--brand-deep);
}
.role-switch button.active {
  color: var(--green);
}
@media (max-width: 900px) {
  .brand { min-width: 160px; }
  .brand-wordmark { width: 160px; }
}
@media (max-width: 640px) {
  .topbar { padding-left: 14px; padding-right: 14px; gap: 12px; }
  .brand { min-width: 132px; }
  .brand-wordmark { width: 132px; }
  .brand small { display: none; }
  .auth-home-link { top: 14px; left: 14px; min-height: 38px; padding: 0 12px; }
}


/* ChoiceOlogy color refinement */
.icon-rail {
  background: #244b4a;
  color: #d3e5e3;
}
.rail-logo {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(127, 200, 224, .28);
}
.rail-button {
  color: #bdd7d4;
}
.rail-button.active {
  box-shadow: inset 3px 0 0 var(--brand-teal);
}

/* Stage 4 completion and final-product links */
.stage4-operation-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stage4-successful-panel{display:grid;gap:18px;padding:26px;border:1px solid #c8ddd6;border-radius:13px;background:linear-gradient(135deg,#f1f8f5,#f8faf9)}
.stage4-successful-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.stage4-successful-panel>header small,.stage4-final-product-editor small{color:#347563;font-size:9px;font-weight:900;letter-spacing:.08em}
.stage4-successful-panel h2{margin:6px 0 7px;font-size:23px}
.stage4-successful-panel header p,.stage4-final-product-editor p{max-width:720px;margin:0;color:#66736e;font-size:11px;line-height:1.7}
.stage4-final-product-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;padding:21px;border:1px solid #dbe5e1;border-radius:10px;background:rgba(255,255,255,.88)}
.stage4-final-product-intro,.stage4-final-product-editor .wide,.stage4-final-product-editor footer{grid-column:1/-1}
.stage4-final-product-editor h3{margin:5px 0 6px;font-size:18px}
.stage4-final-product-editor label{display:grid;gap:7px}
.stage4-final-product-editor label span{color:#40524c;font-size:10px;font-weight:850}
.stage4-final-product-editor input,.stage4-final-product-editor textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d3dbd8;border-radius:8px;background:#fff;font:inherit;font-size:11px;color:#26312e}
.stage4-final-product-editor input{height:42px;padding:0 12px}
.stage4-final-product-editor textarea{min-height:78px;padding:11px 12px;resize:vertical;line-height:1.65}
.stage4-final-product-editor footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:3px}
.stage4-final-product-editor footer small{color:#71807b;font-weight:650;letter-spacing:0}
.public-successful-selection{border-color:#cbd8d3;background:linear-gradient(150deg,#fff,#f2f7f5)}
.public-final-product-card{display:grid;gap:15px;margin-top:16px;padding:20px;border:1px solid #d7c9aa;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#f6f2e9);box-shadow:0 14px 34px rgba(62,54,39,.08)}
.public-final-product-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.public-final-product-card header small{color:#897958;font-size:9px;font-weight:900;letter-spacing:.14em}
.public-final-product-card h3{margin:4px 0 0;font-size:19px}
.public-final-product-card header strong{color:#294f45;font-size:26px;line-height:1}
.public-final-product-card>p{margin:0;color:#505955;font-size:11px;line-height:1.75}
.public-final-product-card>aside{display:grid;gap:5px;padding:13px 15px;border-left:3px solid #e39a61;background:rgba(255,255,255,.68)}
.public-final-product-card>aside span{color:#8b6547;font-size:9px;font-weight:900;letter-spacing:.06em}
.public-final-product-card>aside b{color:#343b38;font-size:11px;line-height:1.65}
.public-external-shop-links{display:flex;flex-wrap:wrap;gap:8px}
.public-external-shop-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid #cbd7d3;border-radius:999px;background:#fff;color:#345e52;font-size:11px;font-weight:850;text-decoration:none}
.public-external-shop-links a:hover{border-color:#72a194;background:#eff7f4}
.public-final-product-boundary{color:#7a817e;font-size:9px;line-height:1.6}
.public-gallery-lead-wrap,.public-gallery-tile-wrap{position:relative;min-width:0}
.public-gallery-lead-wrap{display:grid;align-content:start}
.public-gallery-lead-wrap>.public-gallery-lead{width:100%}
.public-gallery-selection-link{position:absolute;z-index:2;right:18px;bottom:18px;padding:9px 13px;border:1px solid rgba(94,119,199,.24);border-radius:999px;background:rgba(255,255,255,.94);color:#526bbd!important;font-size:10px!important;font-weight:850;box-shadow:0 7px 18px rgba(45,57,84,.1);backdrop-filter:blur(10px)}
.public-gallery-selection-link:hover{transform:translateY(-1px);border-color:#768bce}
.public-gallery-selection-link.past{color:#68717d!important;border-color:#d7dbe2}
@media(max-width:760px){.stage4-final-product-editor{grid-template-columns:1fr;padding:16px 13px}.stage4-final-product-editor label,.stage4-final-product-intro,.stage4-final-product-editor .wide,.stage4-final-product-editor footer{grid-column:1}.stage4-final-product-editor footer{align-items:flex-start;flex-direction:column}.stage4-successful-panel{padding:18px 14px}.stage4-successful-panel>header{align-items:flex-start;flex-direction:column}.stage4-operation-actions{justify-content:flex-start}}


/* ChoiceOlogy functional spectrum */
.topbar {
  position: sticky;
  border-bottom-color: transparent;
  box-shadow: 0 1px 0 rgba(39, 48, 45, .08);
}
.topbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg,
    #fdbe4c 0 12%,
    #fb8350 22%,
    #e4569d 36%,
    #9596ec 52%,
    #7fc8e0 68%,
    #62cfc8 84%,
    #82d78a 100%);
  opacity: .78;
}
.primary-button {
  border-color: #347d79;
  background: linear-gradient(135deg, #347d79, #4f9996);
  box-shadow: 0 2px 6px rgba(52, 125, 121, .16);
}
.primary-button:hover {
  border-color: #286b68;
  background: linear-gradient(135deg, #286b68, #438b88);
}
.eyebrow,
.step-kicker {
  color: #3f8582;
}
.panel {
  border-color: #dfe4e6;
  box-shadow: 0 3px 14px rgba(54, 68, 73, .035);
}
.creator-ip-tab.active {
  border-color: #72aaa8;
  background: linear-gradient(90deg, #edf8f7, #fff9f4);
  box-shadow: inset 3px 0 0 var(--brand-teal);
}
.creator-todo-trigger.has-todo i,
.creator-ip-tab em.yellow {
  color: #87541d;
  background: #fff0df;
  border-color: #f3bd82;
}
.status-chip.green {
  color: #327570;
  background: #e8f6f4;
}
.status-chip.yellow {
  color: #76571d;
  background: #fff4d8;
}
.status-chip.red {
  color: #a64860;
  background: #ffedf2;
}
.creator-stage-journey {
  background: #fff;
}
.creator-stage-card {
  --stage-accent: var(--brand-teal);
  --stage-soft: #edf8f7;
  border-top: 3px solid color-mix(in srgb, var(--stage-accent) 42%, white);
}
.creator-stage-card:nth-child(1) { --stage-accent: #5ba2a2; --stage-soft: #eaf6f5; }
.creator-stage-card:nth-child(2) { --stage-accent: #7fc8e0; --stage-soft: #edf7fb; }
.creator-stage-card:nth-child(3) { --stage-accent: #fb8350; --stage-soft: #fff1e9; }
.creator-stage-card:nth-child(4) { --stage-accent: #fdc863; --stage-soft: #fff7df; }
.creator-stage-card:nth-child(5) { --stage-accent: #9596ec; --stage-soft: #f0f0ff; }
.creator-stage-card.available:not(.selected):hover {
  border-color: var(--stage-accent);
  background: var(--stage-soft);
}
.creator-stage-card.selected {
  border-color: color-mix(in srgb, var(--stage-accent) 70%, #6f7a76);
  background: var(--stage-soft);
  box-shadow: inset 0 -3px 0 var(--stage-accent);
}
.creator-stage-card.selected .creator-stage-number {
  border-color: var(--stage-accent);
  background: var(--stage-accent);
  color: #fff;
}
.creator-stage-card.selected .creator-stage-meta em {
  border-color: color-mix(in srgb, var(--stage-accent) 58%, white);
  color: #3f5552;
  background: rgba(255,255,255,.58);
}
.creator-stage-card.progress:not(.selected) {
  border-color: color-mix(in srgb, var(--stage-accent) 58%, #b8c1be);
  background: color-mix(in srgb, var(--stage-soft) 74%, white);
}
.creator-stage-guide-head {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(100deg, rgba(91,162,162,.13), rgba(127,200,224,.08) 48%, rgba(251,131,80,.06));
}
.creator-stage-guide-head::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--brand-teal), var(--brand-sky), var(--brand-orange));
}
.stage1-value-hero h2 {
  color: #285a57;
}
.protection-method-row.primary,
.protection-methods > div.primary {
  border-left: 3px solid var(--brand-teal);
  background: linear-gradient(90deg, #eaf6f5, #f4f9fb);
}
.protection-flow-core {
  border-left-color: var(--brand-sky);
  background: linear-gradient(135deg, #f2f9fb, #fffaf2);
}
.copyright-path-panel {
  background: linear-gradient(110deg, #ffffff 0 66%, #f3fafb 100%);
}
.protection-track.primary {
  border-top-color: var(--brand-teal);
}
.subsidy-review-panel,
.semi-integration-note {
  border-left-color: var(--brand-sky);
  background: #f1f8fb;
}
.rights-comic-panel:nth-child(1) { border-top: 3px solid var(--brand-teal); }
.rights-comic-panel:nth-child(2) { border-top: 3px solid var(--brand-sky); }
.rights-comic-panel:nth-child(3) { border-top: 3px solid var(--brand-gold); }
.rights-comic-help {
  border-left-color: var(--brand-gold);
  background: #fff8e6;
}
.modal-steps {
  background:
    linear-gradient(180deg, #244b4a 0%, #284f52 62%, #314862 100%);
}
.risk-card {
  background:
    linear-gradient(140deg, #244b4a, #315f66);
}
.rail-logo {
  box-shadow: 0 0 0 2px rgba(98,207,200,.08);
}
.rail-button.active {
  background: linear-gradient(135deg, rgba(91,162,162,.48), rgba(127,200,224,.25));
  box-shadow: inset 3px 0 0 var(--brand-sky);
}
@supports not (color: color-mix(in srgb, red, blue)) {
  .creator-stage-card { border-top-color: #a8cfce; }
  .creator-stage-card.selected { border-color: #6eaaa7; }
}


/* ChoiceOlogy Apple Workbench Refresh */
:root {
  --surface-glass: rgba(255, 255, 255, .78);
  --surface-raised: #ffffff;
  --surface-muted: #f5f7f8;
  --shadow-window: 0 18px 52px rgba(27, 47, 58, .12);
  --shadow-control: 0 1px 1px rgba(19, 35, 45, .08), inset 0 1px 0 rgba(255,255,255,.72);
  --radius-card: 14px;
  --radius-sheet: 18px;
  --display-serif: Iowan Old Style, Songti SC, STSong, STFangsong, serif;
}

html { background: #eef2f4; }
body { background: radial-gradient(circle at 8% -10%, rgba(127, 200, 224, .12), transparent 30%), radial-gradient(circle at 96% 0%, rgba(149, 150, 236, .08), transparent 27%), #f4f6f7; }
body, button, input, textarea, select { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif; }
button, input, textarea, select { font-size: 14px; }

.topbar { height: 70px; margin: 10px 14px 0; padding: 0 20px; border: 1px solid rgba(216, 225, 228, .9); border-radius: 16px; background: rgba(255,255,255,.76); box-shadow: 0 8px 30px rgba(43, 60, 66, .07), inset 0 1px 0 rgba(255,255,255,.92); backdrop-filter: blur(18px) saturate(1.08); }
.topbar::after { height: 3px; left: 20px; right: 20px; bottom: -2px; border-radius: 99px; opacity: .66; }
.brand { min-width: 148px; display: flex; align-items: center; }
.brand-wordmark { height: 23px; width: auto; }
.top-nav { gap: 22px; }
.nav-item { font-size: 13px; font-weight: 650; }
.nav-item.active::after { height: 3px; border-radius: 3px 3px 0 0; background: var(--brand-orange); }
.save-indicator { font-size: 12px; }
.avatar { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.65); box-shadow: var(--shadow-control); }

.workspace-layout { min-height: calc(100vh - 80px); }
.icon-rail { top: 80px; height: calc(100vh - 80px); margin-top: 0; border-radius: 0 18px 18px 0; background: linear-gradient(165deg, #244b4a, #2a5264); box-shadow: 7px 0 24px rgba(28, 55, 61, .12); }
.rail-logo, .rail-button { border-radius: 13px; }
.rail-logo { background: linear-gradient(145deg, #67bbb7, #4e9293); box-shadow: inset 0 1px 0 rgba(255,255,255,.32); }
.rail-button.active { box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 16px rgba(6,21,24,.16); }

.workspace { padding: 28px 30px 42px; }
.panel, .creator-portfolio-compact, .creator-stage-hub { border-radius: var(--radius-card); border-color: rgba(215, 224, 227, .9); box-shadow: 0 7px 26px rgba(39, 57, 65, .055), inset 0 1px 0 rgba(255,255,255,.86); }
.primary-button, .secondary-button, .icon-button, .danger-button { min-height: 40px; border-radius: 12px; letter-spacing: 0; box-shadow: var(--shadow-control); }
.primary-button { border-color: #347d79; background: linear-gradient(135deg, #3f8d89, #62b0aa); box-shadow: 0 9px 18px rgba(50, 124, 119, .20), inset 0 1px 0 rgba(255,255,255,.26); }
.primary-button:hover { transform: translateY(-1px); background: linear-gradient(135deg, #367f7b, #59a6a2); box-shadow: 0 12px 22px rgba(50, 124, 119, .23), inset 0 1px 0 rgba(255,255,255,.26); }
.primary-button:active { transform: translateY(0); box-shadow: inset 0 2px 4px rgba(16,75,72,.22); }
.secondary-button, .icon-button { background: rgba(255,255,255,.82); border-color: #d8e0e4; }
.secondary-button:hover, .icon-button:hover { color: #287873; border-color: #9bc3c1; background: #f7fbfb; }
.icon-button { display: inline-grid; place-items: center; }

.creator-portfolio-compact { background: rgba(255,255,255,.82); overflow: hidden; }
.creator-portfolio-bar { padding: 18px 20px 14px; }
.creator-portfolio-bar > div:first-child > span, .creator-current-project span { color: #628b99; letter-spacing: .055em; }
.creator-ip-tabs { padding: 0 20px 18px; gap: 10px; }
.creator-ip-tab { border-radius: 12px; border-color: #dfe6e8; background: rgba(255,255,255,.68); box-shadow: inset 0 1px 0 rgba(255,255,255,.85); }
.creator-ip-tab.active { box-shadow: inset 3px 0 0 var(--brand-teal), 0 8px 16px rgba(39, 83, 84, .06); }
.creator-ip-tab img { border-radius: 9px; }

.creator-stage-hub { background: rgba(255,255,255,.84); overflow: hidden; }
.creator-current-project { padding: 0 14px; background: #fff; border-radius: 0 0 10px 0; }
.creator-stage-journey { padding: 14px; gap: 10px; background: linear-gradient(180deg, #fafcfc, #fff); }
.creator-stage-card { min-height: 126px; border: 1px solid #e3e9eb; border-top-width: 3px; border-radius: 13px; padding: 15px; text-align: left; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.creator-stage-card.available:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(45, 64, 72, .09); }
.creator-stage-number { width: 30px; height: 30px; border-radius: 11px; font-size: 13px; box-shadow: inset 0 1px 0 rgba(255,255,255,.6); }
.creator-stage-card.selected { box-shadow: 0 12px 24px rgba(45, 65, 73, .09), inset 0 -3px 0 var(--stage-accent); }
.creator-stage-card.stage-tone-1 { --stage-accent: #4e9995; --stage-soft: #eaf8f6; }
.creator-stage-card.stage-tone-2 { --stage-accent: #5aa8c8; --stage-soft: #edf8fc; }
.creator-stage-card.stage-tone-3 { --stage-accent: #ee925a; --stage-soft: #fff3eb; }
.creator-stage-card.stage-tone-4 { --stage-accent: #d8a633; --stage-soft: #fff9e7; }
.creator-stage-card.stage-tone-5 { --stage-accent: #8589d9; --stage-soft: #f3f2ff; }

.creator-stage-guide { margin: 0; border-top: 1px solid #e5ebed; }
.creator-stage-guide-head { min-height: 142px; padding: 27px 30px; background: linear-gradient(112deg, rgba(91,162,162,.13), rgba(127,200,224,.08) 49%, rgba(251,131,80,.08)); }
.creator-stage-guide-head::before { width: 3px; }
.stage1-value-hero h2 { max-width: 790px; margin: 0; color: #173b3c; font-family: var(--display-serif); font-size: clamp(27px, 2.4vw, 40px); font-weight: 650; letter-spacing: 0; line-height: 1.14; }
.stage1-value-hero p { margin: 10px 0 0; color: #5b7073; font-size: 14px; line-height: 1.65; }
.hero-mark { position: relative; white-space: nowrap; }
.hero-mark::after { content: ""; position: absolute; left: .04em; right: .02em; bottom: -.14em; height: .16em; background: rgba(251, 190, 76, .68); border-radius: 80% 52% 70% 48%; transform: rotate(-1.4deg); z-index: -1; }
.stage1-value-head .primary-button { min-width: 138px; }

.apple-classroom { margin: 0; padding: 24px 30px 28px; background: #fff; }
.classroom-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-bottom: 15px; border-bottom: 1px solid #e6ebed; }
.classroom-title h2 { margin: 3px 0 0; font-family: var(--display-serif); font-size: 25px; line-height: 1.1; color: #193b3c; }
.classroom-title p { margin: 0; color: #7a898d; font-size: 13px; }
.classroom-kicker { color: #519590; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.learning-rail { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; padding-top: 20px; }
.learning-rail::before { content: ""; position: absolute; left: 11%; right: 11%; top: 36px; height: 1px; background: linear-gradient(90deg, #75ada8, #9bcfe2, #e8bf65); }
.learning-step { position: relative; min-height: 228px; padding: 46px 17px 14px; border: 1px solid #e4eaec; border-radius: 14px; background: linear-gradient(180deg, rgba(255,255,255,.97), #f9fbfc); }
.learning-step-marker { position: absolute; top: 17px; left: 17px; display: flex; align-items: center; gap: 7px; }
.learning-step-marker b { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; font-size: 13px; background: var(--lesson-tone, #5ba2a2); box-shadow: 0 4px 9px color-mix(in srgb, var(--lesson-tone, #5ba2a2) 28%, transparent); }
.learning-step-marker i { color: var(--lesson-tone, #5ba2a2); font-size: 17px; font-style: normal; }
.learning-step-evidence { --lesson-tone: #509d98; }
.learning-step-registration { --lesson-tone: #5c9fc5; }
.learning-step-law { --lesson-tone: #d5a33b; }
.learning-step-copy > span { color: var(--lesson-tone); font-size: 11px; font-weight: 800; letter-spacing: .055em; }
.learning-step h3 { margin: 6px 0 7px; color: #263f40; font-size: 15px; line-height: 1.38; }
.learning-step p { margin: 0; color: #66767a; font-size: 12px; line-height: 1.62; }
.learning-step-details { margin-top: 11px; border-top: 1px solid #e5ebed; padding-top: 9px; }
.learning-step-details summary { color: #4c7775; font-size: 12px; font-weight: 760; cursor: pointer; }
.learning-step-details summary::marker { color: var(--lesson-tone); }
.learning-step-details[open] p { margin-top: 8px; }
.learning-step-details .legal-reference-list { display: grid; gap: 7px; margin-top: 9px; }
.learning-step-details .legal-reference-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; padding: 8px; border-radius: 8px; background: #f4f8f9; }
.learning-step-details .legal-reference-item b, .learning-step-details .legal-reference-item span { display: block; font-size: 11px; line-height: 1.45; }
.learning-step-details .legal-reference-item span { color: #718083; margin-top: 3px; }
.learning-step-details .legal-reference-item a { color: #3f7c89; font-size: 11px; font-weight: 800; white-space: nowrap; }

.modal-backdrop { background: rgba(24, 39, 46, .36); backdrop-filter: blur(7px) saturate(.9); }
.intake-modal { width: min(1240px, calc(100vw - 44px)); height: min(840px, calc(100vh - 44px)); grid-template-columns: 216px minmax(0, 1fr) 290px; border: 1px solid rgba(255,255,255,.78); border-radius: var(--radius-sheet); box-shadow: 0 28px 90px rgba(17, 33, 42, .26), inset 0 1px 0 rgba(255,255,255,.8); }
.modal-steps { padding: 22px 14px; background: linear-gradient(165deg, #264d4d, #2e586d); }
.modal-steps h3 { color: rgba(234,250,248,.76); letter-spacing: .03em; }
.wizard-step { border-radius: 12px; padding: 11px 9px; transition: background .18s ease, transform .18s ease; }
.wizard-step:hover { background: rgba(255,255,255,.08); }
.wizard-step.active { background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
.step-number { width: 27px; height: 27px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.16); }
.wizard-step.active .step-number { background: #79beb9; border-color: #94d8d4; color: #173d3d; }
.wizard-step.done .step-number { background: #b8dfff; color: #26546a; }
.step-help { border-radius: 12px; background: rgba(8,31,37,.15); }
.modal-head { height: 78px; padding: 0 28px; background: rgba(255,255,255,.78); }
.modal-head h2 { font-family: var(--display-serif); font-size: 25px; color: #213d3f; }
.modal-scroll { padding: 26px 30px; background: linear-gradient(180deg, #fff, #fbfcfc); }
.modal-footer { min-height: 74px; padding: 14px 28px; background: rgba(255,255,255,.88); }
.live-preview { background: linear-gradient(180deg, #f4f8f9, #eef3f5); }
.preview-heading { padding: 23px 20px 12px; }
.preview-card { border-radius: 14px; box-shadow: 0 8px 20px rgba(40,57,66,.07), inset 0 1px 0 rgba(255,255,255,.85); }
.field input, .field textarea, .field select { border-radius: 10px; border-color: #d6e0e3; background: rgba(255,255,255,.9); box-shadow: inset 0 1px 1px rgba(38,57,65,.025); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #77b5ba; box-shadow: 0 0 0 4px rgba(113, 183, 187, .14); }

@media (max-width: 800px) {
  .topbar { margin: 0; border-radius: 0; border-left: 0; border-right: 0; height: 62px; padding: 0 14px; }
  .topbar::after { left: 0; right: 0; }
  .brand { min-width: 114px; }
  .brand-wordmark { height: 18px; }
  .workspace { padding: 18px 14px 30px; }
  .creator-portfolio-bar, .creator-ip-tabs, .creator-stage-guide-head, .apple-classroom { padding-left: 17px; padding-right: 17px; }
  .creator-stage-journey { overflow-x: auto; grid-template-columns: repeat(5, 212px); }
  .creator-stage-card { min-height: 118px; }
  .creator-stage-guide-head { min-height: 0; gap: 16px; align-items: flex-start; }
  .stage1-value-hero h2 { font-size: 28px; }
  .hero-mark { white-space: normal; }
  .classroom-title { align-items: flex-start; flex-direction: column; }
  .learning-rail { grid-template-columns: 1fr; gap: 10px; }
  .learning-rail::before { left: 31px; right: auto; top: 39px; bottom: 28px; width: 1px; height: auto; background: linear-gradient(180deg, #75ada8, #9bcfe2, #e8bf65); }
  .learning-step { min-height: 0; padding: 17px 16px 16px 56px; }
  .learning-step-marker { top: 17px; left: 16px; flex-direction: column; gap: 3px; }
  .learning-step-marker i { font-size: 13px; }
  .intake-modal { width: 100%; height: 100vh; border-radius: 0; grid-template-columns: 1fr; }
  .modal-steps { height: 78px; padding: 10px 12px; display: flex; overflow-x: auto; gap: 8px; }
  .modal-steps h3, .modal-steps .wizard-step div, .step-help { display: none; }
  .wizard-step { flex: 0 0 38px; padding: 4px; justify-content: center; }
  .wizard-step .step-number { width: 30px; height: 30px; }
  .modal-main { height: calc(100vh - 78px); }
  .live-preview { display: none; }
  .modal-head { height: 64px; padding: 0 16px; }
  .modal-head h2 { font-size: 22px; }
  .modal-scroll { padding: 20px 16px; }
  .modal-footer { padding: 12px 16px; min-height: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}


/* ChoiceOlogy Cosmic macOS Shell */
:root {
  --mac-blue: #007aff;
  --mac-blue-press: #0064d2;
  --mac-blue-soft: #eaf3ff;
  --mac-canvas: #e9ebee;
  --mac-panel: #f2f3f5;
  --mac-card: #ffffff;
  --mac-line: rgba(60, 60, 67, .16);
  --mac-text: #1d1d1f;
  --mac-secondary: #6e6e73;
}

html, body { min-height: 100%; background: #657ee8; }
body {
  color: var(--mac-text);
  background:
    radial-gradient(circle at 9% 11%, rgba(255,255,255,.92) 0 1px, transparent 2px),
    radial-gradient(circle at 17% 24%, rgba(255,255,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 27% 7%, rgba(255,255,255,.88) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 39% 18%, rgba(255,255,255,.67) 0 1px, transparent 2px),
    radial-gradient(circle at 48% 5%, rgba(255,255,255,.8) 0 1px, transparent 2px),
    radial-gradient(circle at 57% 24%, rgba(255,255,255,.95) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 66% 10%, rgba(255,255,255,.72) 0 1px, transparent 2px),
    radial-gradient(circle at 76% 18%, rgba(255,255,255,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 7%, rgba(255,255,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 95% 28%, rgba(255,255,255,.8) 0 1px, transparent 2px),
    radial-gradient(ellipse at 8% 100%, rgba(214, 153, 238, .65), transparent 37%),
    linear-gradient(180deg, #6b85ee 0%, #748de9 50%, #90a0e8 100%);
  background-attachment: fixed;
}

.app-shell { position: relative; min-height: 100vh; isolation: isolate; }
.app-shell::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .76;
  background-image:
    radial-gradient(circle at 5% 48%, rgba(255,255,255,.6) 0 1px, transparent 2px),
    radial-gradient(circle at 13% 68%, rgba(255,255,255,.76) 0 1px, transparent 2px),
    radial-gradient(circle at 21% 43%, rgba(255,255,255,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 32% 78%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 42% 58%, rgba(255,255,255,.54) 0 1px, transparent 2px),
    radial-gradient(circle at 52% 88%, rgba(255,255,255,.68) 0 1px, transparent 2px),
    radial-gradient(circle at 62% 47%, rgba(255,255,255,.64) 0 1px, transparent 2px),
    radial-gradient(circle at 73% 73%, rgba(255,255,255,.8) 0 1px, transparent 2px),
    radial-gradient(circle at 83% 51%, rgba(255,255,255,.46) 0 1px, transparent 2px),
    radial-gradient(circle at 93% 84%, rgba(255,255,255,.72) 0 1px, transparent 2px);
}

/* Top navigation: part of the sky, not a floating card. */
.topbar {
  height: 74px; margin: 0; padding: 0 46px; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; backdrop-filter: none; color: #fff;
}
.topbar::after { display: none; }
.brand { min-width: 176px; }
.brand-wordmark { height: 25px; filter: brightness(1.06) saturate(1.04); }
.top-nav { display: none; }
.platform-shell .admin-nav { display: flex; flex: 1 1 auto; gap: 8px; margin: 0 18px; overflow-x: auto; scrollbar-width: none; }
.platform-shell .admin-nav .nav-item { flex: 0 0 auto; padding: 0 9px; font-size: 12px; }
.top-actions { gap: 12px; }

.account-security-trigger {
  border: 1px solid #d9d8d2;
  background: #fff;
  color: #263239;
  border-radius: 12px;
  padding: 9px 13px;
  font-weight: 700;
  cursor: pointer;
}

.account-security-modal {
  width: min(980px, calc(100vw - 40px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(26, 39, 45, .2);
}
.account-security-modal > header { display: flex; justify-content: space-between; gap: 24px; padding: 30px 32px 22px; border-bottom: 1px solid #e8e6df; }
.account-security-modal > header span { color: #22756f; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.account-security-modal > header h2 { margin: 6px 0 4px; font-size: 28px; }
.account-security-modal > header p { margin: 0; color: #6f7886; }
.account-security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 28px 32px 34px; }
.account-security-grid > section { border: 1px solid #e6e3da; border-radius: 18px; padding: 22px; }
.account-security-grid > section > small { display:block; margin-bottom:7px; color:#4f7868; font-size:11px; font-weight:800; letter-spacing:.08em; }
.account-security-grid h3 { margin: 0 0 7px; font-size: 20px; }
.account-security-grid p { margin: 0 0 18px; color: #707988; }
.account-security-grid form { display: grid; gap: 14px; }
.account-security-grid label { display: grid; gap: 7px; font-weight: 700; }
.account-security-grid input, .account-security-grid textarea { min-width: 0; border: 1px solid #d8d7d2; border-radius: 11px; padding: 12px 13px; font: inherit; background:#fff; }
.account-security-grid textarea { min-height:112px; resize:vertical; line-height:1.6; }
.account-security-grid label > small { color:#7b837f; font-size:11px; font-weight:500; line-height:1.5; }
.account-security-grid label > em { color:#89918d; font-size:11px; font-style:normal; font-weight:500; }
.account-avatar-editor{display:flex;align-items:center;gap:11px}.account-avatar-editor>img,.account-avatar-editor>span{width:58px;height:58px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#eaf3ef;color:#2f7564;font-size:21px;font-weight:850}.account-avatar-editor label{display:inline-flex!important;width:auto;cursor:pointer}.account-avatar-editor label input{display:none}.account-avatar-editor .text-button{padding:7px 3px}
.account-creator-profile { border-color:#cfded6 !important; background:#f7faf8; }
.account-session-settings { grid-column:1 / -1; }
.stage2-public-readiness { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); gap:0; border-top:1px solid #dbe4df; border-bottom:1px solid #dbe4df; background:#f8faf9; }
.stage2-public-status { display:flex; gap:14px; padding:18px 21px; align-items:flex-start; }
.stage2-public-status > i { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border:1px solid #b8c9c0; border-radius:50%; color:#4d7160; font-size:11px; font-style:normal; font-weight:900; }
.stage2-public-status small,.stage2-public-status b { display:block; }
.stage2-public-status small { color:#557565; font-size:11px; font-weight:900; }
.stage2-public-status b { margin-top:4px; color:#314c40; font-size:16px; }
.stage2-public-status p { margin:6px 0 0; color:#6c7973; font-size:12px; line-height:1.65; }
.stage2-public-requirements { display:grid; grid-template-columns:1fr 1fr; border-left:1px solid #dbe4df; }
.stage2-public-requirements > span { display:grid; grid-template-columns:22px 1fr; gap:2px 8px; align-content:center; padding:15px; }
.stage2-public-requirements > span + span { border-left:1px solid #e0e7e3; }
.stage2-public-requirements i { grid-row:1 / 3; width:20px; height:20px; display:grid; place-items:center; border:1px solid #aebdb6; border-radius:50%; font-style:normal; font-size:10px; }
.stage2-public-requirements .done i { border-color:#67917c; background:#67917c; color:#fff; }
.stage2-public-requirements b { color:#3d5148; font-size:12px; }
.stage2-public-requirements small { color:#7a857f; font-size:11px; line-height:1.45; }
.stage2-public-requirements button { grid-column:2; justify-self:start; padding:4px 0 0; font-size:11px; }
.stage2-creator-profile-summary { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:16px 18px; border:1px solid #d7e1dc; background:#f5f9f7; }
.stage2-creator-profile-summary small,.stage2-creator-profile-summary b { display:block; }
.stage2-creator-profile-summary small { color:#567666; font-size:11px; font-weight:900; }
.stage2-creator-profile-summary b { margin-top:4px; color:#334c40; }
.stage2-creator-profile-summary p { margin:5px 0 0; color:#6e7974; font-size:12px; line-height:1.55; }
.stage2-creator-profile-summary a,.stage2-creator-profile-summary span { display:inline-block; margin-top:5px; color:#4b7662; font-size:11px; }
@media (max-width:900px) { .stage2-public-readiness { grid-template-columns:1fr; } .stage2-public-requirements { border-left:0; border-top:1px solid #dbe4df; } }
.account-session-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.account-session-list { display: grid; gap: 10px; }
.account-session-list article { display: flex; justify-content: space-between; gap: 16px; padding: 14px; border-radius: 13px; background: #f6f7f6; }
.account-session-list article.current { background: #edf7f1; border: 1px solid #cfe5d7; }
.account-session-list article div { display: grid; gap: 4px; }
.account-session-list article span, .account-session-list article small { color: #6f7886; font-size: 12px; }
.account-session-actions { display: grid; justify-items: end; gap: 6px; }
.account-session-actions .text-button { padding: 0; font-size: 12px; }

.admin-account-table > header { display: flex; justify-content: space-between; align-items: end; padding: 22px 26px; border-bottom: 1px solid #e7e4dc; }
.admin-account-table > header span { color: #22756f; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.admin-account-table > header h2 { margin: 5px 0 0; }
.admin-account-table-head, .admin-account-table article { display: grid; grid-template-columns: 1.5fr .7fr .65fr .7fr 1fr; gap: 16px; align-items: center; padding: 17px 26px; }
.admin-account-table-head { color: #7b8490; background: #f7f7f5; font-size: 13px; }
.admin-account-table article { border-top: 1px solid #eeece6; }
.admin-account-table article > span { display: grid; gap: 4px; }
.admin-account-table article small { color: #7a8390; }
.admin-account-table article > p { grid-column: 1 / -1; margin: -5px 0 0; color: #986b20; font-size: 13px; }

@media (max-width: 880px) {
  .account-security-grid { grid-template-columns: 1fr; }
  .admin-account-table-head { display: none; }
  .admin-account-table article { grid-template-columns: 1fr 1fr; }
}
.save-indicator { color: rgba(255,255,255,.76); }
.role-switch { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
.role-switch button { color: rgba(255,255,255,.78); }
.role-switch button.active { color: #1d1d1f; background: #fff; box-shadow: 0 2px 7px rgba(29, 40, 77, .16); }
.avatar { color: #fff; background: rgba(20, 35, 80, .52); border-color: rgba(255,255,255,.42); box-shadow: none; }

/* Remove the low-value rail and reclaim the full canvas. */
.workspace-layout { display: block; min-height: calc(100vh - 74px); }
.icon-rail { display: none; }

/* The real operating surface. */
.workspace {
  width: min(1480px, calc(100% - 48px)); margin: 10px auto 54px; padding: 24px;
  border: 1px solid rgba(255,255,255,.74); border-radius: 24px;
  background: var(--mac-canvas); box-shadow: 0 24px 70px rgba(46, 57, 125, .20), inset 0 1px 0 rgba(255,255,255,.8);
}
.workspace::before { content: ""; display: block; height: 1px; margin: -24px -24px 20px; background: rgba(255,255,255,.64); border-radius: inherit; }
.panel, .creator-portfolio-compact, .creator-stage-hub {
  background: var(--mac-panel); border: 1px solid var(--mac-line); border-radius: 17px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 7px 19px rgba(34,34,38,.055);
}
.panel { box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
h1, h2, h3, b, strong { color: var(--mac-text); }
.subtitle, .creator-privacy, .workspace p { color: var(--mac-secondary); }

/* System controls: white surfaces, blue actions. */
.primary-button {
  border-color: #006fe6; background: linear-gradient(180deg, #1687ff, #0071e3); color: #fff;
  box-shadow: 0 2px 4px rgba(0, 89, 192, .24), inset 0 1px 0 rgba(255,255,255,.35);
}
.primary-button:hover { background: linear-gradient(180deg, #2490ff, #0069d7); color: #fff; box-shadow: 0 5px 10px rgba(0, 89, 192, .22), inset 0 1px 0 rgba(255,255,255,.35); }
.primary-button:active { background: #0064cf; }
.secondary-button, .icon-button, .danger-button {
  border-color: rgba(60,60,67,.2); background: rgba(255,255,255,.92); color: #222226;
  box-shadow: 0 1px 1px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.95);
}
.secondary-button:hover, .icon-button:hover { color: var(--mac-blue); border-color: rgba(0,122,255,.35); background: #fff; }
.field input, .field textarea, .field select { border-color: rgba(60,60,67,.22); background: #fff; color: #1d1d1f; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--mac-blue); box-shadow: 0 0 0 4px rgba(0,122,255,.16); }

/* Big gray modules, contained white cards. */
.creator-portfolio-compact { overflow: hidden; }
.creator-portfolio-bar { padding: 18px 20px 15px; border-bottom: 1px solid rgba(60,60,67,.13); }
.creator-portfolio-bar > div:first-child > span, .creator-current-project span { color: #6e6e73; letter-spacing: .04em; }
.creator-ip-tabs { padding: 15px 20px 18px; }
.creator-ip-tab { border: 1px solid rgba(60,60,67,.16); border-radius: 14px; background: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.9); }
.creator-ip-tab.active { border-color: rgba(0,122,255,.42); background: #fff; box-shadow: inset 3px 0 0 var(--mac-blue), 0 5px 13px rgba(0,122,255,.08); }
.creator-ip-tab em.yellow { color: #8e5c00; border-color: #efcb76; background: #fff6d8; }
.creator-ip-tab em.green { color: #177245; border-color: #9ad4b6; background: #effaf3; }

.creator-stage-hub { margin-top: 17px; overflow: hidden; }
.creator-current-project { color: #6e6e73; background: transparent; border: 0; padding: 15px 20px 0; }
.creator-stage-journey { background: transparent; padding: 14px 20px 20px; gap: 10px; }
.creator-stage-card, .creator-stage-card.stage-tone-1, .creator-stage-card.stage-tone-2, .creator-stage-card.stage-tone-3, .creator-stage-card.stage-tone-4, .creator-stage-card.stage-tone-5 {
  --stage-accent: var(--mac-blue); --stage-soft: var(--mac-blue-soft);
  border: 1px solid rgba(60,60,67,.16); border-top: 1px solid rgba(60,60,67,.16); border-radius: 14px; background: rgba(255,255,255,.74);
}
.creator-stage-card.available:hover { background: #fff; border-color: rgba(0,122,255,.38); box-shadow: 0 7px 15px rgba(0,122,255,.1); }
.creator-stage-card.selected { border-color: rgba(0,122,255,.54); background: #fff; box-shadow: inset 0 -3px 0 var(--mac-blue), 0 8px 16px rgba(0,122,255,.09); }
.creator-stage-card.selected .creator-stage-number { background: var(--mac-blue); border-color: var(--mac-blue); }
.creator-stage-card.locked { background: rgba(238,239,242,.72); }
.creator-stage-number { border-radius: 50%; color: #6e6e73; border-color: rgba(60,60,67,.19); background: #fff; }
.creator-stage-meta small, .creator-stage-card p { color: #6e6e73; }
.creator-stage-meta em { color: var(--mac-blue); border-color: rgba(0,122,255,.22); background: #eef6ff; }

.creator-stage-guide { border-top-color: rgba(60,60,67,.13); }
.creator-stage-guide-head { min-height: 146px; padding: 30px; background: #f7f7f8; }
.creator-stage-guide-head::before { width: 0; }
.stage1-value-hero h2 { color: #1d1d1f; font-family: var(--display-serif); }
.stage1-value-hero p { color: #6e6e73; }
.hero-mark::after { background: rgba(0,122,255,.16); }

.apple-classroom { background: #f7f7f8; padding: 24px 30px 30px; }
.classroom-title { border-bottom-color: rgba(60,60,67,.14); }
.classroom-title h2 { color: #1d1d1f; }
.classroom-kicker, .learning-step-copy > span, .learning-step-details summary { color: var(--mac-blue); }
.learning-rail::before { background: rgba(60,60,67,.19); }
.learning-step, .learning-step-evidence, .learning-step-registration, .learning-step-law { --lesson-tone: var(--mac-blue); background: #fff; border-color: rgba(60,60,67,.15); }
.learning-step-marker b { background: var(--mac-blue); box-shadow: 0 4px 9px rgba(0,122,255,.18); }
.learning-step-marker i { color: var(--mac-blue); }
.learning-step h3 { color: #1d1d1f; }
.learning-step p { color: #6e6e73; }
.learning-step-details { border-top-color: rgba(60,60,67,.13); }
.learning-step-details .legal-reference-item { background: #f5f7fa; }
.learning-step-details .legal-reference-item a { color: var(--mac-blue); }

/* Detail panels and modals use the same neutral operating surface. */
.detail-panel, .assistant-panel, .creator-content-single > .panel { background: var(--mac-panel); }
.detail-tabs { border-bottom-color: rgba(60,60,67,.14); }
.detail-tab.active { color: var(--mac-blue); }
.detail-tab.active::after { background: var(--mac-blue); }
.profile-summary, .info-block, .scope-row, .data-row, .metric-box { background: #fff; border-color: rgba(60,60,67,.13); }
.modal-backdrop { background: rgba(24, 29, 38, .44); backdrop-filter: blur(14px) saturate(.9); }
.intake-modal { background: var(--mac-panel); border-color: rgba(255,255,255,.88); box-shadow: 0 30px 94px rgba(7, 15, 32, .36), inset 0 1px 0 rgba(255,255,255,.95); }
.modal-steps { background: #e8eaed; color: #1d1d1f; border-right: 1px solid rgba(60,60,67,.13); }
.modal-steps h3 { color: #6e6e73; }
.wizard-step { color: #6e6e73; }
.wizard-step:hover { background: rgba(0,122,255,.08); }
.wizard-step.active { color: #1d1d1f; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.wizard-step.active .step-number { color: #fff; background: var(--mac-blue); border-color: var(--mac-blue); }
.wizard-step.done .step-number { color: #fff; background: #34c759; border-color: #34c759; }
.step-number { color: #6e6e73; background: #fff; border-color: rgba(60,60,67,.18); }
.step-help { color: #6e6e73; background: rgba(255,255,255,.56); border-color: rgba(60,60,67,.13); }
.modal-head, .modal-footer { background: #f5f6f7; border-color: rgba(60,60,67,.14); }
.modal-head h2 { color: #1d1d1f; }
.modal-scroll { background: #fff; }
.live-preview { background: #f2f3f5; border-left-color: rgba(60,60,67,.14); }
.preview-card { background: #fff; border-color: rgba(60,60,67,.14); }

@media (max-width: 800px) {
  .topbar { height: 60px; padding: 0 17px; }
  .brand { min-width: 125px; }
  .brand-wordmark { height: 20px; }
  .save-indicator { display: none; }
  .workspace { width: calc(100% - 20px); margin: 8px auto 32px; padding: 14px; border-radius: 19px; }
  .workspace::before { margin: -14px -14px 14px; }
  .creator-portfolio-bar, .creator-ip-tabs, .creator-stage-journey, .creator-stage-guide-head, .apple-classroom { padding-left: 15px; padding-right: 15px; }
  .creator-stage-journey { gap: 8px; }
  .creator-stage-card { border-radius: 12px; }
  .learning-rail::before { background: rgba(60,60,67,.22); }
  .modal-steps { background: #eef0f2; border-bottom: 1px solid rgba(60,60,67,.13); border-right: 0; }
}

/* ChoiceOlogy Chinese typography */
@font-face {
  font-family: "ChoiceOlogy PuHui";
  src: local("Alibaba PuHuiTi 3.0 55 Regular");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "ChoiceOlogy PuHui";
  src: local("Alibaba PuHuiTi 3.0 75 SemiBold");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "ChoiceOlogy PuHui";
  src: local("Alibaba PuHuiTi 3.0 105 Heavy");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "ChoiceOlogy Yozai Subset";
  src: url("assets/fonts/Yozai-About-Subset.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "ChoiceOlogy Yozai";
  src: url("assets/fonts/Yozai-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --font-ui: "ChoiceOlogy PuHui", "Alibaba PuHuiTi 3.0 55 Regular", "PingFang SC", "Microsoft YaHei", sans-serif;
  --display-serif: var(--font-ui);
}

html, body, button, input, textarea, select {
  font-family: var(--font-ui);
  font-synthesis: none;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
b, strong, label, button,
.stage1-value-hero h2,
.classroom-title h2,
.modal-head h2 {
  font-family: var(--font-ui);
}

.stage1-value-hero h2 {
  font-weight: 600;
  line-height: 1.22;
}

.classroom-title h2,
.modal-head h2 {
  font-weight: 600;
}
/* ChoiceOlogy direct installed-font mapping */
:root {
  --font-ui: "Alibaba PuHuiTi 3.0 55 Regular", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-emphasis: "Alibaba PuHuiTi 3.0 75 SemiBold", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-heavy: "Alibaba PuHuiTi 3.0 105 Heavy", "PingFang SC", "Microsoft YaHei", sans-serif;
  --display-serif: var(--font-emphasis);
}

h1, h2, h3, h4, h5, h6,
b, strong, label, button,
.stage1-value-hero h2,
.classroom-title h2,
.modal-head h2 {
  font-family: var(--font-emphasis);
}

.status-chip,
.creator-stage-number,
.creator-stage-meta em,
.classroom-kicker,
.learning-step-copy > span,
.step-number {
  font-family: var(--font-heavy);
}
/* ChoiceOlogy C layout production sync */
.creator-role .topbar { padding-left: max(30px, calc((100vw - 1480px) / 2)); padding-right: max(30px, calc((100vw - 1480px) / 2)); }
.creator-global-action { position: relative; min-height: 38px; padding: 0 14px; border: 1px solid rgba(255,255,255,.42); border-radius: 11px; color: #fff; background: rgba(255,255,255,.12); font-family: var(--font-emphasis); font-size: 13px; }
.creator-global-action.primary { border-color: #fff; color: #3155a6; background: #fff; box-shadow: 0 4px 14px rgba(34,48,105,.14); }
.creator-global-action i { position: absolute; right: 7px; top: 6px; width: 6px; height: 6px; border-radius: 50%; background: #ffd55d; }

.creator-workspace { padding: 0; overflow: hidden; }
.creator-workspace::before { display: none; }
.creator-portfolio-compact { border: 0; border-bottom: 1px solid var(--mac-line); border-radius: 0; box-shadow: none; background: rgba(251,252,253,.96); }
.creator-portfolio-bar { padding: 19px 22px 6px; border: 0; }
.creator-portfolio-bar > div:first-child { display: flex; align-items: baseline; gap: 10px; }
.creator-portfolio-bar > div:first-child > span { display: none; }
.creator-portfolio-bar > div:first-child > b { font-size: 20px; }
.creator-portfolio-bar > div:first-child > small { color: #888d96; font-size: 11px; }
.creator-ip-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(205px, 1fr); grid-template-columns: repeat(5, minmax(205px, 1fr)); gap: 10px; overflow-x: auto; padding: 10px 22px 20px; scrollbar-width: thin; }
.creator-ip-tab { position: relative; display: flex; align-items: center; gap: 11px; min-height: 66px; padding: 8px; border: 1px solid #e0e3e8; border-radius: 14px; background: #fff; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.creator-ip-tab:hover { transform: translateY(-1px); border-color: #bdc5d1; box-shadow: 0 8px 18px rgba(37,48,67,.07); }
.creator-ip-tab.active { border-color: #94aefa; background: linear-gradient(135deg,#fff,#f4f7ff); box-shadow: 0 7px 20px rgba(79,117,237,.11), inset 0 0 0 1px rgba(79,117,237,.06); }
.creator-ip-tab img { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 11px; object-fit: cover; }
.creator-ip-tab .ip-tab-copy { min-width: 0; }
.creator-ip-tab .ip-tab-copy b, .creator-ip-tab .ip-tab-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.creator-ip-tab .ip-tab-copy b { font-size: 13px; }
.creator-ip-tab .ip-tab-copy small { margin-top: 4px; color: #818793; font-size: 10px; }
.creator-ip-tab > em { position: absolute; right: 9px; top: 8px; padding: 0; border: 0; color: #ad7710; background: transparent; font-size: 9px; font-style: normal; }

.creator-stage-hub { margin: 0; border: 0; border-radius: 0; box-shadow: none; background: #eef0f3; }
.creator-current-project { display: none; }
.creator-stage-journey { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 0; padding: 0 22px; border-bottom: 1px solid #dde1e6; background: #f7f8fa; }
.creator-stage-card, .creator-stage-card.stage-tone-1, .creator-stage-card.stage-tone-2, .creator-stage-card.stage-tone-3, .creator-stage-card.stage-tone-4, .creator-stage-card.stage-tone-5 { position: relative; min-height: 108px; padding: 17px 16px 15px; border: 0; border-right: 1px solid #e1e4e8; border-radius: 0; background: transparent; box-shadow: none; text-align: left; }
.creator-stage-card:last-child { border-right: 0; }
.creator-stage-card.selected { border: 0; border-right: 1px solid #e1e4e8; background: #fff; box-shadow: inset 0 -3px 0 #4f75ed; }
.creator-stage-card.available:hover { transform: none; border-color: #e1e4e8; background: rgba(255,255,255,.72); box-shadow: none; }
.creator-stage-card .creator-stage-number { width: 25px; height: 25px; border-radius: 50%; }
.creator-stage-card.selected .creator-stage-number { color: #fff; background: #4f75ed; }
.creator-stage-copy { min-width: 0; }
.creator-stage-meta { position: absolute; right: 13px; top: 17px; }
.creator-stage-meta small { display: none; }
.creator-stage-meta em { padding: 0; border: 0; color: #4f75ed; background: transparent; font-family: var(--font-emphasis); font-size: 9px; }
.creator-stage-copy > b { display: block; margin-top: 8px; font-size: 13px; }
.creator-stage-copy > p { margin: 5px 0 0; color: #7d838d; font-size: 11px; line-height: 1.45; }

.creator-stage-guide { margin: 0; border: 0; }
.creator-stage-guide-head { min-height: 174px; padding: 34px 40px 30px; border: 0; background: #eef0f3; }
.stage1-value-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 32px; }
.stage1-value-hero > span { color: #5470b6; font-family: var(--font-emphasis); font-size: 11px; }
.stage1-value-hero h2 { max-width: 850px; margin: 9px 0 8px; font-family: var(--font-emphasis); font-size: clamp(28px,3vw,44px); font-weight: 600; line-height: 1.18; }
.stage1-value-hero p { margin: 0; max-width: 760px; font-size: 14px; }
.creator-chapter-actions { display: flex; align-items: center; gap: 6px; padding: 6px; border: 1px solid #dce0e6; border-radius: 16px; background: rgba(255,255,255,.78); box-shadow: 0 5px 16px rgba(37,46,61,.05); }
.creator-chapter-actions button { display: flex; align-items: center; gap: 8px; min-height: 46px; border: 0; box-shadow: none; white-space: nowrap; }
.creator-chapter-actions .primary-button { background: #4f75ed; box-shadow: 0 5px 14px rgba(79,117,237,.2); }
.creator-chapter-actions .secondary-button { background: transparent; }
.action-symbol { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: #fff; background: rgba(255,255,255,.18); font-style: normal; }
.action-symbol.info { color: #408262; background: #e4f1ea; }
.action-symbol.export { color: #a36a18; background: #f8ecd6; }

.creator-stage-operating-grid { display: grid; grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr); gap: 20px; padding: 0 40px 38px; align-items: stretch; }
.creator-stage-operating-grid .apple-classroom, .creator-record-board { min-width: 0; overflow: hidden; border: 1px solid #e0e3e8; border-radius: 18px; background: #fff; box-shadow: 0 8px 25px rgba(35,45,58,.05); }
.creator-stage-operating-grid .apple-classroom { margin: 0; padding: 0; }
.creator-stage-operating-grid .classroom-title, .creator-record-board > header { display: flex; min-height: 142px; padding: 27px 28px 23px; align-items: flex-start; justify-content: center; flex-direction: column; border-bottom: 1px solid #e3e6ea; background: linear-gradient(145deg,#fbfbfc,#f3f5f7); }
.creator-stage-operating-grid .classroom-title h2, .creator-record-board h2 { margin: 7px 0 4px; font-family: var(--font-emphasis); font-size: 26px; font-weight: 600; }
.creator-stage-operating-grid .classroom-title p, .creator-record-board header p { margin: 0; color: #747b85; font-size: 12px; }
.creator-stage-operating-grid .learning-rail { display: block; padding: 0; }
.creator-stage-operating-grid .learning-rail::before { display: none; }
.creator-stage-operating-grid .learning-step { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; min-height: 0; padding: 21px 24px; border: 0; border-bottom: 1px solid #e6e8eb; border-radius: 0; background: #fff; }
.creator-stage-operating-grid .learning-step-marker { position: static; display: block; }
.creator-stage-operating-grid .learning-step-marker b { width: 34px; height: 34px; color: #4f75ed; background: #edf2ff; box-shadow: none; }
.creator-stage-operating-grid .learning-step-marker i { display: none; }
.creator-stage-operating-grid .learning-step-copy > span { display: none; }
.creator-stage-operating-grid .learning-step h3 { margin: 1px 0 5px; font-size: 14px; }
.creator-stage-operating-grid .learning-step p { font-size: 12px; line-height: 1.55; }
.creator-stage-operating-grid .learning-step-details { margin-top: 9px; }

.creator-record-board { display: flex; flex-direction: column; }
.creator-record-board > header span { color: #7c8797; font-size: 10px; letter-spacing: .12em; }
.creator-record-list { padding: 0 30px; }
.creator-record-list article { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 16px; align-items: center; min-height: 100px; border-bottom: 1px solid #e5e7ea; }
.record-version { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #4f69c5; background: #eef2ff; font-size: 16px; }
.creator-record-list h3 { margin: 0 0 5px; font-size: 14px; }
.creator-record-list p { margin: 0; color: #7b818a; font-size: 12px; line-height: 1.5; }
.record-status { padding: 6px 9px; border: 1px solid #d8e9df; border-radius: 8px; color: #17683c; background: #eff8f2; font-family: var(--font-emphasis); font-size: 11px; white-space: nowrap; }
.record-status.pending, .record-status.warn { border-color: #e2e4e8; color: #747982; background: #f4f5f6; }
.creator-record-board footer { margin-top: auto; padding: 18px 30px; }
.creator-record-board .text-button { color: #4f6fc9; }
.creator-privacy { margin: 0; padding: 18px 40px 24px; color: #747b85; background: #eef0f3; font-size: 11px; }

@media (max-width: 1100px) {
  .creator-ip-tabs { grid-template-columns: none; }
  .stage1-value-head { grid-template-columns: 1fr; }
  .creator-chapter-actions { justify-self: start; }
  .creator-stage-operating-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .creator-global-action { padding: 0 10px; }
  .creator-role .role-switch { display: none; }
  .creator-ip-tabs { grid-auto-columns: 195px; padding-left: 14px; padding-right: 14px; }
  .creator-stage-journey { overflow-x: auto; grid-template-columns: repeat(5,200px); padding: 0 14px; }
  .creator-stage-guide-head { padding: 25px 18px; }
  .creator-chapter-actions { width: 100%; overflow-x: auto; }
  .creator-stage-operating-grid { padding: 0 14px 24px; }
  .creator-record-list { padding: 0 18px; }
  .creator-record-list article { grid-template-columns: 42px minmax(0,1fr); }
  .record-status { grid-column: 2; justify-self: start; margin-top: -10px; }
  .creator-privacy { padding: 16px 18px 22px; }
}
/* ChoiceOlogy neutral canvas refinement */
html, body { background: #f4f5f7; }
body { background: #f4f5f7; }
.app-shell::before { display: none; }

.creator-role .topbar {
  height: 68px;
  color: #1d1d1f;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e2e4e8;
  box-shadow: 0 1px 0 rgba(255,255,255,.9);
}
.creator-role .save-indicator { color: #858990; }
.creator-role .creator-global-action { border-color: #d9dce2; color: #34363b; background: #fff; box-shadow: 0 1px 2px rgba(25,28,34,.04); }
.creator-role .creator-global-action:hover { border-color: #aeb4bf; background: #f8f9fa; }
.creator-role .creator-global-action.primary { border-color: #34363b; color: #fff; background: #34363b; box-shadow: 0 4px 12px rgba(31,33,39,.14); }
.creator-role .role-switch { border-color: #d9dce2; background: #f0f1f3; box-shadow: none; }
.creator-role .role-switch button { color: #73777f; }
.creator-role .role-switch button.active { color: #1d1d1f; background: #fff; box-shadow: 0 1px 3px rgba(20,22,27,.09); }
.creator-role .avatar { color: #fff; background: #34363b; border-color: #34363b; }

.creator-workspace {
  width: min(1480px, calc(100% - 48px));
  margin: 22px auto 44px;
  border: 1px solid #dfe2e6;
  border-radius: 0;
  background: #eceef1;
  box-shadow: 0 18px 48px rgba(35,39,48,.08);
}
.creator-portfolio-compact, .creator-stage-hub { border-radius: 0; }

.creator-portfolio-bar { padding: 14px 18px 4px; }
.creator-portfolio-bar > div:first-child > b { font-size: 18px; }
.creator-ip-tabs { grid-auto-columns: minmax(220px, 1fr); grid-template-columns: repeat(5,minmax(220px,1fr)); gap: 0; padding: 8px 18px 14px; }
.creator-ip-tab {
  min-height: 50px;
  padding: 5px 10px 5px 6px;
  border-color: #e0e2e6;
  border-radius: 0;
  box-shadow: none;
}
.creator-ip-tab + .creator-ip-tab { border-left-color: transparent; }
.creator-ip-tab:hover { z-index: 1; transform: none; border-color: #aeb5c0; box-shadow: 0 4px 12px rgba(31,36,45,.06); }
.creator-ip-tab.active { z-index: 2; border-color: #777e89; background: #fff; box-shadow: inset 3px 0 0 #34363b; }
.creator-ip-tab img { flex-basis: 38px; width: 38px; height: 38px; border-radius: 7px; }
.creator-ip-tab .ip-tab-copy b { font-size: 12px; }
.creator-ip-tab .ip-tab-copy small { margin-top: 2px; font-size: 9px; }
.creator-ip-tab > em { position: static; flex: 0 0 auto; margin-left: auto; padding: 4px 6px; border-radius: 4px; color: #8a6516; background: #fff4d8; font-size: 9px; }

.creator-stage-journey { background: #f2f3f5; }
.creator-stage-card, .creator-stage-card.stage-tone-1, .creator-stage-card.stage-tone-2, .creator-stage-card.stage-tone-3, .creator-stage-card.stage-tone-4, .creator-stage-card.stage-tone-5 { color: #555a62; background: #f2f3f5; }
.creator-stage-card.selected {
  color: #fff;
  border-right-color: #3b3e44;
  background: #34363b;
  box-shadow: inset 0 -3px 0 #34363b;
}
.creator-stage-card.selected .creator-stage-number { color: #34363b; border-color: #fff; background: #fff; }
.creator-stage-card.selected .creator-stage-copy > b { color: #fff; }
.creator-stage-card.selected .creator-stage-copy > p { color: rgba(255,255,255,.68); }
.creator-stage-card.selected .creator-stage-meta em { color: rgba(255,255,255,.78); }
.creator-stage-card.available:hover { color: #303238; background: #e9ebee; }
.creator-stage-card.locked { color: #9a9da3; background: #f2f3f5; }
.creator-stage-card.locked .creator-stage-copy > b { color: #8f939a; }
.creator-stage-card.locked .creator-stage-copy > p { color: #adb0b5; }
.creator-stage-card.locked .creator-stage-meta em { color: #a6a9af; }

.creator-stage-guide-head, .creator-privacy { background: #eceef1; }
.hero-mark::after { background: rgba(52,54,59,.13); }

@media (max-width: 800px) {
  .creator-workspace { width: 100%; margin: 0; border-left: 0; border-right: 0; }
  .creator-ip-tabs { grid-template-columns: none; grid-auto-columns: 210px; padding-left: 12px; padding-right: 12px; }
}

/* ChoiceOlogy structural reframe v2 */
:root {
  --co-bg: #F6F7F9;
  --co-surface: #FFFFFF;
  --co-text: #182033;
  --co-muted: #667085;
  --co-line: #E6E9EF;
  --co-blue: #4F63D8;
  --co-blue-soft: #EEF0FF;
  --co-green: #2E7D57;
  --co-amber: #9A6700;
}
html, body { color: var(--co-text); background: var(--co-bg); }
.creator-role .topbar { height: 68px; padding-left: max(28px, calc((100vw - 1480px) / 2)); padding-right: max(28px, calc((100vw - 1480px) / 2)); border-bottom: 1px solid var(--co-line); background: rgba(255,255,255,.97); }
.creator-role .brand-wordmark { width: 184px; }
.creator-role .top-actions { gap: 10px; }
.creator-role .creator-global-action.primary { min-height: 40px; padding: 0 16px; border: 0; border-radius: 10px; color: #fff; background: var(--co-blue); box-shadow: 0 5px 16px rgba(79,99,216,.18); }
.creator-role .role-switch { border-color: var(--co-line); border-radius: 8px; background: #F1F3F6; }
.creator-role .role-switch button { min-width: 42px; color: var(--co-muted); }
.creator-account-menu { position: relative; }
.creator-account-menu > summary { list-style: none; cursor: pointer; }
.creator-account-menu > summary::-webkit-details-marker { display: none; }
.creator-role .avatar { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; color: #fff; background: #3E4658; }
.creator-account-popover { position: absolute; z-index: 50; top: calc(100% + 10px); right: 0; display: grid; gap: 8px; min-width: 190px; padding: 10px; border: 1px solid var(--co-line); border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(24,32,51,.13); }
.creator-account-popover button { display: flex; min-height: 38px; padding: 0 10px; align-items: center; justify-content: space-between; border: 0; border-radius: 8px; color: var(--co-text); background: #F7F8FA; text-align: left; }
.creator-account-popover button i { width: 7px; height: 7px; border-radius: 50%; background: #E5A93D; }
.creator-account-popover .save-indicator { display: block; padding: 4px 8px; color: var(--co-muted); font-size: 12px; }

.creator-workspace { width: min(1480px, calc(100% - 48px)); margin: 16px auto 38px; overflow: visible; border: 1px solid var(--co-line); border-radius: 16px; background: var(--co-bg); box-shadow: 0 12px 36px rgba(24,32,51,.055); }
.creator-context-bar { position: relative; z-index: 20; display: flex; min-height: 60px; padding: 9px 18px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--co-line); border-radius: 16px 16px 0 0; background: #fff; }
.creator-ip-switcher { position: relative; }
.creator-ip-switcher > summary { display: flex; min-width: 260px; min-height: 40px; padding: 4px 10px 4px 6px; align-items: center; gap: 9px; list-style: none; border: 1px solid transparent; border-radius: 10px; cursor: pointer; }
.creator-ip-switcher > summary::-webkit-details-marker { display: none; }
.creator-ip-switcher > summary:hover, .creator-ip-switcher[open] > summary { border-color: var(--co-line); background: #F8F9FB; }
.creator-ip-switcher > summary > span { color: var(--co-muted); font-size: 13px; }
.creator-ip-switcher > summary img { width: 32px; height: 32px; border-radius: 7px; object-fit: cover; }
.creator-ip-switcher > summary b { max-width: 220px; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.creator-ip-switcher > summary i { margin-left: auto; color: var(--co-muted); font-style: normal; }
.creator-ip-menu { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; display: grid; gap: 3px; width: 330px; padding: 8px; border: 1px solid var(--co-line); border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(24,32,51,.14); }
.creator-ip-menu button { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; min-height: 52px; padding: 7px; align-items: center; border: 0; border-radius: 8px; color: var(--co-text); background: transparent; text-align: left; }
.creator-ip-menu button:hover, .creator-ip-menu button.active { background: var(--co-blue-soft); }
.creator-ip-menu img { width: 38px; height: 38px; border-radius: 7px; object-fit: cover; }
.creator-ip-menu span b, .creator-ip-menu span small { display: block; }
.creator-ip-menu span b { font-size: 14px; }
.creator-ip-menu span small { margin-top: 2px; color: var(--co-muted); font-size: 12px; }
.creator-ip-menu em { color: var(--co-blue); font-size: 12px; font-style: normal; }
.creator-context-meta { display: flex; align-items: center; gap: 18px; color: var(--co-muted); font-size: 13px; }
.creator-context-meta span + span { position: relative; }
.creator-context-meta span + span::before { position: absolute; left: -10px; color: #CCD1DA; content: "·"; }
.creator-context-meta button { min-height: 32px; padding: 0 10px; border: 0; border-radius: 8px; color: var(--co-amber); background: #FFF7E3; font-size: 12px; }

.creator-stage-hub { border-radius: 0 0 16px 16px; background: var(--co-bg); }
.creator-stage-journey { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); min-height: 72px; padding: 0 18px; border-bottom: 1px solid var(--co-line); background: #fff; }
.creator-stage-card { position: relative; display: flex; min-height: 72px; padding: 0 14px; align-items: center; gap: 10px; border: 0; border-radius: 0; color: #858C99; background: transparent; text-align: left; }
.creator-stage-card:not(:last-child)::after { position: absolute; right: -4px; color: #C8CDD6; content: "→"; font-size: 14px; }
.creator-stage-card .creator-stage-number { flex: 0 0 auto; width: auto; height: auto; color: inherit; background: transparent; font-family: "Geist Mono", ui-monospace, monospace; font-size: 12px; font-weight: 600; }
.creator-stage-copy { display: grid; gap: 3px; }
.creator-stage-copy b { margin: 0; color: inherit; font-size: 14px; font-weight: 600; }
.creator-stage-copy em { color: #A0A6B1; font-size: 11px; font-style: normal; }
.creator-stage-card.selected { color: var(--co-blue); background: var(--co-blue-soft); box-shadow: inset 0 -2px 0 var(--co-blue); }
.creator-stage-card.selected .creator-stage-number, .creator-stage-card.selected .creator-stage-copy b, .creator-stage-card.selected .creator-stage-copy em { color: var(--co-blue); }
.creator-stage-card.available:hover { color: #3E4A65; background: #F7F8FC; }
.creator-stage-card.locked { color: #A2A8B2; background: transparent; }

.creator-stage-guide-head { min-height: 132px; padding: 24px 32px; background: var(--co-bg); }
.stage1-value-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; }
.stage1-value-hero > span { color: var(--co-blue); font-size: 13px; font-weight: 600; }
.stage1-value-hero h2 { max-width: 850px; margin: 7px 0 6px; color: var(--co-text); font-size: clamp(32px,3vw,40px); font-weight: 700; line-height: 1.18; }
.stage1-value-hero p { margin: 0; color: var(--co-muted); font-size: 15px; line-height: 1.55; }
.creator-chapter-actions { display: flex; gap: 8px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.creator-chapter-actions button, .chapter-more > summary { display: flex; min-height: 42px; padding: 0 15px; align-items: center; justify-content: center; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; }
.creator-chapter-actions .primary-button { border: 0; color: #fff; background: var(--co-blue); box-shadow: 0 5px 15px rgba(79,99,216,.18); }
.creator-chapter-actions .secondary-button { border: 1px solid var(--co-line); color: var(--co-text); background: #fff; box-shadow: none; }
.chapter-more { position: relative; }
.chapter-more > summary { min-width: 64px; list-style: none; border: 1px solid var(--co-line); color: var(--co-muted); background: #fff; }
.chapter-more > summary::-webkit-details-marker { display: none; }
.chapter-more > div { position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; width: 170px; padding: 7px; border: 1px solid var(--co-line); border-radius: 10px; background: #fff; box-shadow: 0 14px 32px rgba(24,32,51,.12); }
.chapter-more > div button { width: 100%; border: 0; color: var(--co-text); background: #F7F8FA; }

.creator-stage-operating-grid { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 24px; padding: 0 32px 30px; align-items: start; }
.creator-stage-operating-grid .apple-classroom { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.creator-stage-operating-grid .classroom-title { display: flex; min-height: 0; padding: 18px 0 14px; align-items: baseline; justify-content: space-between; flex-direction: row; border-bottom: 1px solid var(--co-line); background: transparent; }
.creator-stage-operating-grid .classroom-title h2 { margin: 0; color: var(--co-text); font-size: 20px; font-weight: 650; }
.creator-stage-operating-grid .classroom-title p { margin: 0; color: var(--co-muted); font-size: 12px; }
.creator-stage-operating-grid .learning-rail { padding: 0; }
.creator-stage-operating-grid .learning-step { display: block; min-height: 0; padding: 0; border: 0; border-bottom: 1px solid var(--co-line); background: transparent; }
.creator-stage-operating-grid .learning-step > summary { display: grid; grid-template-columns: 28px minmax(0,1fr) 16px; gap: 8px; min-height: 62px; padding: 12px 0; align-items: center; list-style: none; cursor: pointer; }
.creator-stage-operating-grid .learning-step > summary::-webkit-details-marker { display: none; }
.creator-stage-operating-grid .learning-step > summary span { color: var(--co-blue); font-family: "Geist Mono", ui-monospace, monospace; font-size: 12px; }
.creator-stage-operating-grid .learning-step > summary b { color: var(--co-text); font-size: 14px; font-weight: 600; line-height: 1.45; }
.creator-stage-operating-grid .learning-step > summary i { color: #9AA1AD; font-style: normal; transition: transform .18s ease; }
.creator-stage-operating-grid .learning-step[open] > summary i { transform: rotate(180deg); }
.creator-stage-operating-grid .learning-step-copy { padding: 0 0 16px 36px; }
.creator-stage-operating-grid .learning-step-copy > p { margin: 0; color: var(--co-muted); font-size: 14px; line-height: 1.65; }
.lesson-note { display: grid; gap: 4px; margin-top: 12px; padding: 11px 12px; border-radius: 8px; background: #fff; }
.lesson-note b { font-size: 13px; }
.lesson-note span { color: var(--co-muted); font-size: 13px; line-height: 1.55; }
.learning-step-details { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--co-line); }
.learning-step-details summary { color: var(--co-blue); font-size: 13px; cursor: pointer; }

.creator-record-board { overflow: hidden; border: 1px solid var(--co-line); border-radius: 16px; background: #fff; box-shadow: none; }
.creator-record-board > header { display: block; min-height: 0; padding: 22px 28px 18px; border-bottom: 1px solid var(--co-line); background: #fff; }
.creator-record-board h2 { margin: 0 0 4px; color: var(--co-text); font-size: 24px; font-weight: 650; }
.creator-record-board header p { margin: 0; color: var(--co-muted); font-size: 14px; }
.creator-record-list { padding: 0 28px; }
.creator-record-list article { display: grid; grid-template-columns: 50px minmax(0,1fr) auto; gap: 16px; min-height: 92px; align-items: center; border-bottom: 1px solid var(--co-line); }
.record-version { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; color: var(--co-blue); background: var(--co-blue-soft); font-family: "Geist Mono", ui-monospace, monospace; font-size: 15px; }
.record-name-button { display: block; max-width: 100%; padding: 0; overflow: hidden; border: 0; color: var(--co-text); background: transparent; font-size: 17px; font-weight: 600; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.record-name-button:hover { color: var(--co-blue); }
.creator-record-list p { margin: 5px 0 0; color: var(--co-muted); font-size: 13px; line-height: 1.5; }
.record-status { padding: 5px 9px; border: 0; border-radius: 999px; color: var(--co-muted); background: #F1F3F6; font-size: 12px; }
.record-status.ok { color: var(--co-green); background: #EAF6EF; }
.record-status.pending { color: var(--co-blue); background: var(--co-blue-soft); }
.record-status.warn { color: var(--co-amber); background: #FFF7E3; }
.creator-record-board footer { padding: 15px 28px 18px; }
.creator-record-board .text-button { color: var(--co-blue); font-size: 14px; }
.creator-privacy { padding: 14px 32px 20px; color: var(--co-muted); background: var(--co-bg); font-size: 13px; }

.creator-ip-switcher summary:focus-visible, .creator-ip-menu button:focus-visible, .creator-stage-card:focus-visible, .creator-chapter-actions button:focus-visible, .chapter-more summary:focus-visible, .learning-step > summary:focus-visible, .record-name-button:focus-visible { outline: 3px solid rgba(79,99,216,.3); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 980px) { .stage1-value-head { grid-template-columns: 1fr; } .creator-stage-operating-grid { grid-template-columns: 270px minmax(0,1fr); } }
@media (max-width: 800px) {
  .creator-role .topbar { height: 62px; padding: 0 12px; }
  .creator-role .brand-wordmark { width: 142px; }
  .creator-workspace { width: 100%; margin: 0; border: 0; border-radius: 0; }
  .creator-context-bar { padding: 8px 12px; border-radius: 0; }
  .creator-ip-switcher > summary { min-width: 0; }
  .creator-ip-switcher > summary > span { display: none; }
  .creator-context-meta span:first-child { display: none; }
  .creator-ip-menu { position: fixed; top: 120px; left: 12px; right: 12px; width: auto; }
  .creator-stage-journey { overflow-x: auto; grid-template-columns: repeat(5,170px); padding: 0 10px; }
  .creator-stage-guide-head { padding: 22px 16px; }
  .stage1-value-hero h2 { font-size: 30px; }
  .creator-chapter-actions { display: grid; grid-template-columns: 1fr auto auto; }
  .creator-stage-operating-grid { display: flex; flex-direction: column; gap: 18px; padding: 0 14px 24px; }
  .creator-record-board { order: 1; width: 100%; }
  .creator-stage-operating-grid .apple-classroom { order: 2; width: 100%; }
  .creator-record-list { padding: 0 16px; }
  .creator-record-list article { grid-template-columns: 42px minmax(0,1fr); gap: 12px; padding: 12px 0; }
  .record-status { grid-column: 2; justify-self: start; margin-top: -8px; }
  .creator-privacy { padding: 14px 16px 20px; }
}


/* ChoiceOlogy measured dimension correction */
.creator-role .topbar { box-sizing: border-box; height: 68px; }
.creator-context-bar { box-sizing: border-box; height: 60px; min-height: 60px; padding-top: 6px; padding-bottom: 6px; }
.creator-stage-guide-head { box-sizing: border-box; min-height: 132px; }
@media (max-width: 800px) {
  .creator-role .topbar { height: 62px; }
  .creator-context-bar { height: 58px; min-height: 58px; }
}


/* ChoiceOlogy final measured polish */
.creator-role .topbar {
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.creator-chapter-actions button,
.chapter-more > summary { min-height: 44px; }
@media (max-width: 800px) {
  .creator-role .topbar {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
  }
}


/* ChoiceOlogy formal Linear x Notion layout */
.creator-role {
  --ln-bg: #f7f7f5;
  --ln-panel: #ffffff;
  --ln-ink: #202124;
  --ln-muted: #73767c;
  --ln-line: #e8e8e5;
  --ln-blue: #5b67d6;
  --ln-blue-soft: #eef0ff;
  font-family: "Alibaba PuHuiTi 3.0", "Alibaba PuHuiTi", sans-serif;
}
.creator-role button, .creator-role input, .creator-role textarea, .creator-role select { font-family: inherit; letter-spacing: 0; }
.creator-role.workspace-layout { display: block; min-height: calc(100vh - 68px); background: #fff; }
.creator-role .icon-rail { display: none; }
.creator-workspace.creator-ln-layout {
  display: grid;
  width: 100%;
  min-height: calc(100vh - 68px);
  margin: 0;
  overflow: visible;
  grid-template-columns: 232px minmax(0,1fr);
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.creator-ln-sidebar {
  position: sticky;
  top: 68px;
  z-index: 15;
  height: calc(100vh - 68px);
  padding: 18px 12px;
  border-right: 1px solid var(--ln-line);
  background: #fafaf8;
}
.creator-ln-main { min-width: 0; padding: 18px max(32px, calc((100vw - 1450px) / 2)) 64px; background: #fff; }
.creator-ln-label { margin: 24px 10px 8px; color: #9a9c9f; font-size: 11px; font-weight: 600; }
.creator-ln-sidebar-note { position: absolute; right: 12px; bottom: 18px; left: 12px; padding: 12px; border-top: 1px solid var(--ln-line); color: var(--ln-muted); font-size: 12px; line-height: 1.6; }
.creator-ln-sidebar .creator-ip-switcher { width: 100%; }
.creator-ln-sidebar .creator-ip-switcher > summary { display: flex; width: 100%; min-width: 0; min-height: 48px; padding: 7px 8px; gap: 9px; border: 0; border-radius: 8px; }
.creator-ln-sidebar .creator-ip-switcher > summary:hover, .creator-ln-sidebar .creator-ip-switcher[open] > summary { border: 0; background: #f0f0ed; }
.creator-ln-sidebar .creator-ip-switcher > summary img { width: 34px; height: 34px; border-radius: 7px; }
.creator-ln-sidebar .creator-ip-switcher > summary > span { display: grid; min-width: 0; gap: 2px; }
.creator-ln-sidebar .creator-ip-switcher > summary b { max-width: 140px; overflow: hidden; color: var(--ln-ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.creator-ln-sidebar .creator-ip-switcher > summary small { color: var(--ln-muted); font-size: 11px; }
.creator-ln-sidebar .creator-ip-switcher > summary i { margin-left: auto; }
.creator-ln-sidebar .creator-ip-menu { top: calc(100% + 6px); width: 320px; }
.creator-ln-sidebar .creator-stage-journey { display: grid; min-height: 0; padding: 0; grid-template-columns: 1fr; gap: 8px; overflow: visible; border: 0; background: transparent; }
.creator-ln-sidebar .creator-stage-card { display: grid; min-height: 70px; padding: 10px 9px 10px 50px; grid-template-columns: 1fr; align-content: center; gap: 3px; border: 0; border-radius: 8px; color: #8b8d92; background: transparent; box-shadow: none; }
.creator-ln-sidebar .creator-stage-card::after { display: none; }
.creator-ln-sidebar .creator-stage-number { position: absolute; left: 11px; top: 20px; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #dbdcd9; border-radius: 7px; font-size: 11px; }
.creator-ln-sidebar .creator-stage-copy { gap: 4px; }
.creator-ln-sidebar .creator-stage-copy b { font-size: 14px; font-weight: 600; line-height: 1.35; }
.creator-ln-sidebar .creator-stage-copy em { color: #a4a6aa; font-size: 11px; line-height: 1.35; }
.creator-ln-sidebar .creator-stage-card.selected { color: #34363b; background: #ededeb; box-shadow: none; }
.creator-ln-sidebar .creator-stage-card.selected .creator-stage-number { border-color: #34363b; color: #fff; background: #34363b; }
.creator-ln-sidebar .creator-stage-card.selected .creator-stage-copy b, .creator-ln-sidebar .creator-stage-card.selected .creator-stage-copy em { color: #34363b; }
.creator-ln-sidebar .creator-stage-card.locked { color: #999ba0; background: transparent; opacity: .72; }
.creator-ln-sidebar .creator-stage-card.locked .creator-stage-copy b { color: inherit; }
.creator-ln-main .creator-stage-guide { background: transparent; }
.creator-ln-main .creator-stage-guide-head { min-height: 0; padding: 0; background: #fff; }
.creator-ln-main .stage1-value-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: end; }
.creator-ln-main .stage1-value-hero { min-width: 0; }
.creator-ln-main .stage1-value-hero > span { color: var(--ln-blue); font-size: 12px; font-weight: 650; }
.creator-ln-main .stage1-value-hero h2 { max-width: 100%; margin: 0; color: var(--ln-ink); font-size: clamp(30px,2.65vw,42px); font-weight: 650; line-height: 1.18; white-space: nowrap; }
.creator-ln-main .stage1-value-hero p { max-width: 720px; margin-top: 12px; color: var(--ln-muted); font-size: 15px; line-height: 1.7; }
.creator-ln-main .creator-chapter-actions { display: flex; align-items: center; gap: 8px; }
.creator-ln-main .creator-chapter-actions button { min-height: 40px; padding: 0 14px; border-radius: 8px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.creator-ln-main .creator-chapter-actions .primary-button { border: 1px solid #505abf; background: var(--ln-blue); box-shadow: 0 2px 5px rgba(74,82,180,.18); }
.creator-ln-main .creator-chapter-actions .secondary-button { border: 1px solid #dededa; color: #33363b; background: #fff; }
.creator-ln-context { display: flex; margin-top: 34px; padding: 10px 0; align-items: center; gap: 18px; overflow-x: auto; border-top: 1px solid var(--ln-line); border-bottom: 1px solid var(--ln-line); color: var(--ln-muted); font-size: 12px; white-space: nowrap; }
.creator-ln-context b { color: var(--ln-ink); }
.creator-ln-context span { position: relative; padding-left: 18px; }
.creator-ln-context span::before { position: absolute; left: 6px; color: #c1c2c4; content: "·"; }
.creator-ln-context button { margin-left: auto; padding: 4px 8px; border: 0; border-radius: 6px; color: #946500; background: #fff6df; font-size: 11px; }
.creator-ln-main .creator-stage-operating-grid { display: grid; margin-top: 28px; padding: 0; grid-template-columns: minmax(0,1fr) 300px; gap: 46px; align-items: start; }
.creator-ln-main .creator-record-board { order: 1; overflow: visible; border: 0; border-radius: 0; background: #fff; }
.creator-ln-main .creator-record-board > header { min-height: 52px; padding: 0; border-bottom: 1px solid var(--ln-line); }
.creator-ln-main .creator-record-board h2 { margin: 0 0 12px; font-size: 18px; font-weight: 650; }
.creator-ln-main .creator-record-board header p { display: none; }
.creator-ln-main .creator-record-list { padding: 0; }
.creator-ln-main .creator-record-list article { min-height: 82px; padding: 14px 4px; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; border-bottom: 1px solid var(--ln-line); }
.creator-ln-main .record-version { width: 34px; height: 34px; border-radius: 7px; color: #5962bd; background: #f0f1fb; font-size: 12px; }
.creator-ln-main .record-name-button { font-size: 14px; }
.creator-ln-main .creator-record-list p { margin-top: 5px; font-size: 12px; }
.creator-ln-main .record-status { padding: 5px 8px; border-radius: 6px; font-size: 11px; }
.creator-ln-main .creator-record-board footer { padding: 15px 0 0; }
.creator-ln-main .apple-classroom { order: 2; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.creator-ln-main .classroom-title { display: block; min-height: 0; padding: 2px 0 14px; border-bottom: 1px solid var(--ln-line); background: transparent; }
.creator-ln-main .classroom-title h2 { margin: 0 0 4px; font-size: 16px; }
.creator-ln-main .classroom-title p { margin: 0; color: var(--ln-muted); font-size: 12px; }
.creator-ln-main .learning-rail { padding: 0; }
.creator-ln-main .learning-step { border: 0; border-bottom: 1px solid var(--ln-line); background: transparent; }
.creator-ln-main .learning-step > summary { min-height: 60px; padding: 13px 0; grid-template-columns: 28px minmax(0,1fr) 14px; gap: 8px; }
.creator-ln-main .learning-step > summary span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 6px; color: var(--ln-blue); background: var(--ln-blue-soft); font-size: 10px; }
.creator-ln-main .learning-step > summary b { font-size: 13px; }
.creator-ln-main .learning-step-copy { padding: 0 4px 16px 28px; }
.creator-ln-main .learning-step-copy > p { font-size: 12px; line-height: 1.75; }
.creator-ln-main .lesson-note { padding: 9px 10px; background: #f6f6f3; }
.creator-ln-main .lesson-note b, .creator-ln-main .lesson-note span { font-size: 11px; }
.creator-ln-main .learning-step-details summary { color: var(--ln-blue); font-size: 11px; }
.creator-ln-main .learning-rail > .learning-step-details { margin-top: 0; padding-left: 18px; }
.creator-ln-main .legal-reference-list { gap: 8px; }
.creator-ln-main .legal-reference-item { padding: 9px 10px; border: 0; border-radius: 7px; background: #f6f6f3; }
.creator-ln-main .legal-reference-item b { font-size: 11px; }
.creator-ln-main .legal-reference-item span, .creator-ln-main .legal-reference-item a { font-size: 10px; }
.creator-ln-main .creator-privacy { margin-top: 30px; padding: 12px 14px; border-radius: 8px; color: #666970; background: #f6f6f3; font-size: 11px; line-height: 1.65; }
@media (max-width: 1320px) {
  .creator-ln-main .stage1-value-head { grid-template-columns: 1fr; align-items: start; }
  .creator-ln-main .creator-chapter-actions { justify-content: flex-start; }
}
@media (max-width: 1050px) {
  .creator-workspace.creator-ln-layout { grid-template-columns: 72px minmax(0,1fr); }
  .creator-ln-sidebar { padding: 14px 8px; }
  .creator-ln-label, .creator-ln-sidebar-note, .creator-ln-sidebar .creator-ip-switcher > summary > span, .creator-ln-sidebar .creator-ip-switcher > summary > i, .creator-ln-sidebar .creator-stage-copy { display: none; }
  .creator-ln-sidebar .creator-ip-switcher > summary { justify-content: center; }
  .creator-ln-sidebar .creator-stage-card { min-height: 46px; padding: 0; }
  .creator-ln-sidebar .creator-stage-number { position: static; margin: auto; }
  .creator-ln-main { padding-right: 28px; padding-left: 28px; }
  .creator-ln-main .stage1-value-head { grid-template-columns: 1fr; align-items: start; }
  .creator-ln-main .creator-stage-operating-grid { grid-template-columns: minmax(0,1fr) 270px; gap: 28px; }
}
@media (max-width: 800px) {
  .creator-role.workspace-layout { min-height: calc(100vh - 60px); }
  .creator-workspace.creator-ln-layout { display: block; min-height: calc(100vh - 60px); }
  .creator-ln-sidebar { position: static; display: flex; width: 100%; height: auto; padding: 8px 12px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--ln-line); }
  .creator-ln-sidebar .creator-ip-switcher { flex: 0 0 52px; }
  .creator-ln-sidebar .creator-stage-journey { display: flex; }
  .creator-ln-sidebar .creator-stage-card { flex: 0 0 42px; width: 42px; }
  .creator-ln-main { padding: 34px 16px 48px; }
  .creator-ln-main .stage1-value-hero h2 { font-size: 30px; white-space: normal; }
  .creator-ln-main .creator-chapter-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .creator-ln-main .creator-chapter-actions .primary-button { grid-column: 1 / -1; }
  .creator-ln-main .creator-stage-operating-grid { display: flex; flex-direction: column; gap: 32px; }
  .creator-ln-main .creator-record-board { order: 1; width: 100%; }
  .creator-ln-main .apple-classroom { order: 2; width: 100%; }
  .creator-ln-main .creator-record-list article { grid-template-columns: 38px minmax(0,1fr); }
  .creator-ln-main .record-status { grid-column: 2; justify-self: start; margin-top: -8px; }
}


/* Stage 1 collaboration and alignment */
.creator-ln-main { padding-top: 19px; }
.creator-ln-main .stage-1-guide,
.creator-ln-main .stage-1-guide .stage1-value-head,
.creator-ln-main .stage-1-guide .stage1-value-hero {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
.creator-ln-main .stage-1-guide .stage1-value-head { padding-top: 0 !important; }
.stage1-collaboration {
  display: grid;
  margin-top: 24px;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, .75fr);
  border-top: 1px solid var(--ln-line);
  border-bottom: 1px solid var(--ln-line);
}
.stage1-collaboration article { min-width: 0; padding: 18px 0; }
.stage1-collaboration article + article {
  margin-left: 28px;
  padding-left: 28px;
  border-left: 1px solid var(--ln-line);
}
.stage1-collaboration header { display: flex; margin-bottom: 13px; align-items: baseline; gap: 12px; }
.stage1-collaboration small { display: block; color: var(--ln-ink); font-size: 13px; font-weight: 650; line-height: 1.5; }
.stage1-collaboration header > span { color: var(--ln-muted); font-size: 11px; }
.stage1-platform-help > header { margin-bottom: 0; }
.stage1-platform-help > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.stage1-platform-help > div > span { display: flex; align-items: center; gap: 9px; color: #50535a; font-size: 12px; }
.stage1-platform-help i {
  display: grid;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  place-items: center;
  border-radius: 6px;
  color: #525bb9;
  background: var(--ln-blue-soft);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}
.stage1-platform-copy,
.stage1-participation p,
.stage1-next-stage p { margin: 12px 0 0; color: var(--ln-muted); font-size: 12px; line-height: 1.75; }
.stage1-guidance-block + .stage1-guidance-block { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ln-line); }
.stage1-platform-help > .stage1-guidance-block { display: block; }
.stage1-guidance-block > small,
.stage1-guidance-block > header,
.stage1-guidance-block > p { width: 100%; }
.stage1-term {
  position: relative;
  display: inline;
  color: #454951;
  font-weight: 650;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: #8d93a2;
  text-underline-offset: 4px;
  cursor: help;
}
.stage1-term:focus-visible { border-radius: 3px; outline: 2px solid #7378d9; outline-offset: 3px; }
.stage1-term-tip {
  position: absolute;
  z-index: 20;
  bottom: calc(100% + 10px);
  left: 50%;
  width: 260px;
  padding: 11px 13px;
  border: 1px solid #e3e4e8;
  border-radius: 8px;
  color: #4d5159;
  background: #fff;
  box-shadow: 0 10px 28px rgba(26, 29, 36, .13);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  text-decoration: none;
  transform: translate(-50%, 5px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.stage1-term-tip::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-right: 1px solid #e3e4e8;
  border-bottom: 1px solid #e3e4e8;
  background: #fff;
  content: "";
  transform: translate(-50%, -5px) rotate(45deg);
}
.stage1-term:hover .stage1-term-tip,
.stage1-term:focus .stage1-term-tip,
.stage1-term:focus-within .stage1-term-tip {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}
@media (max-width: 800px) {
  .stage1-term-tip { left: 0; max-width: min(260px, 78vw); transform: translate(0, 5px); }
  .stage1-term:hover .stage1-term-tip,
  .stage1-term:focus .stage1-term-tip,
  .stage1-term:focus-within .stage1-term-tip { transform: translate(0, 0); }
  .stage1-term-tip::after { left: 24px; }
}
.stage1-platform-copy { max-width: 760px; }
.stage1-platform-copy strong { color: #454951; font-weight: 650; }
.creator-ln-main .creator-ln-context { margin-top: 20px; }
@media (max-width: 1050px) {
  .stage1-collaboration { grid-template-columns: 1fr; }
  .stage1-collaboration article + article { margin-left: 0; padding-left: 0; border-top: 1px solid var(--ln-line); border-left: 0; }
}
@media (max-width: 800px) {
  .creator-ln-main { padding-top: 26px; }
  .stage1-platform-help > div { grid-template-columns: 1fr; }
}


/* Stage 1 action boundary and classroom blocks */
.creator-ln-main .stage-1-guide .stage1-value-head {
  grid-template-columns: minmax(0, 1fr) minmax(430px, .72fr);
  gap: 0;
  padding-right: 0 !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions {
  display: grid;
  width: calc(100% - 28px);
  margin-left: 28px;
  grid-template-columns: repeat(3, max-content);
  justify-content: space-between;
  gap: 6px;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button { padding-right: 12px; padding-left: 12px; }
.stage1-collaboration { grid-template-columns: minmax(0, 1fr) minmax(430px, .72fr); }
.creator-ln-main .creator-record-board > header,
.creator-ln-main .classroom-title {
  display: flex;
  min-height: 52px;
  padding: 0;
  align-items: flex-start;
  border-bottom: 1px solid var(--ln-line);
}
.creator-ln-main .classroom-title h2 { margin: 7px 0 0; font-size: 18px; font-weight: 650; line-height: 1.5; }
.creator-ln-main .learning-rail {
  display: grid;
  margin-top: 12px;
  grid-template-columns: 1fr;
  padding: 8px;
  gap: 8px;
  border-radius: 10px;
  background: #f6f6f3;
}
.creator-ln-main .learning-step {
  overflow: hidden;
  border: 1px solid #ecece8;
  border-radius: 8px;
  background: #fff;
}
.creator-ln-main .learning-step > summary {
  min-height: 54px;
  padding: 11px 12px;
  grid-template-columns: 30px minmax(0,1fr) 14px;
  gap: 9px;
}
.creator-ln-main .learning-step > summary .learning-icon {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 7px;
  color: #5962bd;
  background: #eef0ff;
}
.creator-ln-main .learning-step > summary .learning-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.creator-ln-main .learning-step-copy { padding: 0 14px 15px 51px; }
@media (max-width: 1320px) {
  .creator-ln-main .stage-1-guide .stage1-value-head { grid-template-columns: 1fr; gap: 18px; }
  .creator-ln-main .stage-1-guide .creator-chapter-actions { width: auto; margin-left: 0; justify-content: start; }
}
@media (max-width: 1050px) {
  .stage1-collaboration { grid-template-columns: 1fr; }
}


/* Shared Stage 1 responsive grid */
.creator-ln-main {
  --stage-side-width: clamp(340px, 29vw, 380px);
  --stage-column-gap: clamp(22px, 2.5vw, 36px);
}
@media (min-width: 801px) {
  .creator-ln-main .stage-1-guide .stage1-value-head {
    grid-template-columns: minmax(0, 1fr) var(--stage-side-width);
    gap: 0;
  }
  .creator-ln-main .stage-1-guide .creator-chapter-actions {
    display: grid;
    width: 100%;
    margin-left: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .creator-ln-main .stage-1-guide .creator-chapter-actions button {
    width: 100%;
    min-width: 0;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 12px;
  }
  .stage1-collaboration {
    grid-template-columns: minmax(0, 1fr) var(--stage-side-width);
  }
  .stage1-collaboration article + article {
    margin-left: 0;
    padding-left: 28px;
  }
  .creator-ln-main .creator-stage-operating-grid {
    grid-template-columns: minmax(0, 1fr) var(--stage-side-width);
    gap: var(--stage-column-gap);
  }
}
@media (max-width: 800px) {
  .stage1-collaboration { grid-template-columns: 1fr; }
  .stage1-collaboration article + article { margin-left: 0; padding-left: 0; border-top: 1px solid var(--ln-line); border-left: 0; }
}


@media (max-width: 800px) {
  .creator-ln-main .stage-1-guide .creator-chapter-actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button { grid-column: auto; }
  .creator-ln-main .stage-1-guide .creator-chapter-actions button {
    width: 100%;
    min-width: 0;
    padding-right: 7px;
    padding-left: 7px;
    font-size: 12px;
  }
}


/* Focused creator task dialogs */
.creator-ln-main .stage-1-guide .creator-chapter-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 8px !important;
  white-space: nowrap;
  font-size: 12px !important;
}
.task-modal-backdrop { padding: 20px; }
.task-modal {
  width: min(980px, calc(100vw - 40px));
  max-height: calc(100dvh - 40px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #deded9;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(35, 35, 31, .18);
}
.task-modal-compact { width: min(760px, calc(100vw - 40px)); }
.task-modal-head {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px 28px 20px;
  border-bottom: 1px solid #e9e9e6;
}
.task-modal-head > div { min-width: 0; }
.task-modal-head span {
  display: block;
  margin-bottom: 6px;
  color: #777773;
  font-size: 12px;
  font-weight: 600;
}
.task-modal-head h2 { margin: 0; color: #20201e; font-size: 25px; font-weight: 700; line-height: 1.3; }
.task-modal-head p { max-width: 660px; margin: 8px 0 0; color: #6f6f6b; font-size: 14px; line-height: 1.65; }
.task-modal-scroll { min-height: 0; overflow: auto; padding: 24px 28px 32px; }
.task-modal-footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 28px;
  border-top: 1px solid #e9e9e6;
  background: #fbfbfa;
}
.task-modal-footer > span { color: #8b8b86; font-size: 12px; }
.task-modal-footer > div { display: flex; gap: 10px; }
.task-context {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #f6f6f3;
}
.task-context b { color: #222; font-size: 14px; }
.task-context span { color: #72726d; font-size: 13px; }
.task-tabs { display: flex; gap: 22px; border-bottom: 1px solid #e7e7e3; }
.task-tabs button {
  padding: 0 2px 11px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #777773;
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.task-tabs button.active { border-bottom-color: #4f63d8; color: #20201e; }
.task-tab-panel { padding-top: 22px; }
.task-form-section + .task-form-section { margin-top: 30px; padding-top: 26px; border-top: 1px solid #e9e9e6; }
.task-form-section > h3 { margin: 0 0 14px; font-size: 17px; }
.readiness-summary { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 9px; }
.readiness-summary.ready { color: #246342; background: #eef7f1; }
.readiness-summary.pending { color: #79590f; background: #fff8e7; }
.readiness-summary b { font-size: 16px; }
.readiness-summary span { font-size: 13px; }
.readiness-list { margin-top: 18px; border-top: 1px solid #e8e8e5; }
.readiness-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px 2px;
  border-bottom: 1px solid #e8e8e5;
}
.readiness-item > i { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid #d9d9d5; border-radius: 50%; font-style: normal; }
.readiness-item.done > i { border-color: #8fc4a4; color: #246342; background: #eef7f1; }
.readiness-item > div { display: flex; flex-direction: column; gap: 3px; }
.readiness-item b { color: #262624; font-size: 14px; }
.readiness-item span { color: #777773; font-size: 13px; }
.readiness-item em { color: #4e7e61; font-size: 12px; font-style: normal; }
.readiness-note { margin: 18px 0 0; color: #777773; font-size: 12px; line-height: 1.6; }
.stage1-submission-form { display: grid; gap: 28px; }
.stage1-submission-section { padding: 24px; border: 1px solid #e5e5e1; border-radius: 12px; background: #fff; }
.stage1-submission-section > header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.stage1-submission-section > header small { color: #6f7fd9; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.stage1-submission-section > header h3 { margin: 0; color: #20201e; font-size: 20px; }
.stage1-submission-section .step-intro { margin-top: 0; }
.stage1-confirm-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin-top: 18px; padding: 15px 16px 15px 18px; border: 1px solid #dddeda; border-left: 4px solid #b9c1dc; border-radius: 9px; background: #fafaf8; cursor: pointer; }
.stage1-confirm-card:hover { border-color: #b8bfd6; background: #f7f8fb; }
.stage1-confirm-card.checked { border-color: #8fbaa2; border-left-color: #4d7f68; background: #f1f7f3; }
.stage1-confirm-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.stage1-confirm-card span { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.stage1-confirm-card b { color: #292927; font-size: 14px; }
.stage1-confirm-card small { color: #72726d; font-size: 12px; line-height: 1.55; }
.stage1-confirm-status { display: inline-flex; align-items: center; gap: 7px; min-width: 90px; justify-content: center; padding: 7px 10px; border-radius: 999px; color: #66708e; background: #eef0f7; font-size: 12px; font-style: normal; font-weight: 700; }
.stage1-confirm-status i { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid #9fa8c2; border-radius: 50%; font-style: normal; }
.stage1-confirm-card.checked .stage1-confirm-status { color: #356a50; background: #dfeee5; }
.stage1-confirm-card.checked .stage1-confirm-status i { border-color: #4d7f68; color: #fff; background: #4d7f68; }
.stage1-agreement-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 18px; border: 1px solid #d9dce7; border-radius: 10px; background: #f7f8fc; }
.stage1-agreement-card.signed { border-color: #a7c9b5; background: #f1f7f3; }
.stage1-agreement-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #6073c6; background: #e8ebf8; font-size: 20px; font-weight: 800; }
.stage1-agreement-card.signed .stage1-agreement-mark { color: #356a50; background: #dceee3; }
.stage1-agreement-card > div:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.stage1-agreement-card b { color: #292927; font-size: 15px; }
.stage1-agreement-card span { color: #72726d; font-size: 12px; line-height: 1.55; }
.submission-checklist { background: #fafaf8; }
.creator-new-ip-modal .modal-steps { color: #343431; background: #f6f6f3; }
.creator-new-ip-modal .wizard-step { color: #777773; }
.creator-new-ip-modal .wizard-step.active { color: #20201e; background: #e9e9e6; }
.creator-new-ip-modal .step-help { color: #777773; border-color: #deded9; }
@media (min-width: 1321px) {
  .creator-ln-main { --stage-side-width: clamp(610px, 43vw, 700px); }
}
@media (max-width: 1320px) {
  .creator-ln-main .stage-1-guide .creator-chapter-actions { width: 100%; }
}
@media (max-width: 800px) {
  .creator-ln-main .stage-1-guide .creator-chapter-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .task-modal-backdrop { padding: 10px; }
  .task-modal { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .task-modal-head, .task-modal-scroll { padding-right: 18px; padding-left: 18px; }
  .task-modal-footer { align-items: stretch; padding-right: 18px; padding-left: 18px; }
  .task-modal-footer > span { display: none; }
  .task-modal-footer > div { width: 100%; }
  .task-modal-footer button { flex: 1; }
  .stage1-submission-section { padding: 18px 14px; }
  .stage1-confirm-card { grid-template-columns: 1fr; }
  .stage1-confirm-status { justify-self: start; }
  .stage1-agreement-card { grid-template-columns: auto 1fr; }
  .stage1-agreement-card button { grid-column: 1 / -1; width: 100%; }
}

/* Final Stage 1 action sizing */
@media (min-width: 1100px) and (max-width: 1320px) {
  .creator-ln-main { --stage-side-width: 600px; }
}
@media (min-width: 801px) and (max-width: 1099px) {
  .creator-ln-main .stage-1-guide .stage1-value-head { grid-template-columns: 1fr; gap: 18px; }
  .creator-ln-main .stage-1-guide .creator-chapter-actions { width: 100%; }
}


/* Stage 1 fixed right rail and icon actions */
@media (min-width: 1100px) {
  .creator-ln-main {
    --stage-side-width: clamp(520px, 34vw, 620px);
  }
  .creator-ln-main .stage-1-guide .stage1-value-head,
  .creator-ln-main .stage1-collaboration,
  .creator-ln-main .creator-stage-operating-grid {
    grid-template-columns: minmax(0, 1fr) var(--stage-side-width);
  }
}
.creator-ln-main .stage-1-guide .creator-chapter-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: center;
  gap: 10px !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  padding: 9px 13px !important;
  text-align: left;
  font-size: 13px !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.stage-action-icon {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  place-items: center;
  border-radius: 7px;
  color: #5962bd;
  background: #eef0ff;
  font-style: normal;
}
.primary-button .stage-action-icon {
  color: #fff;
  background: rgba(255,255,255,.16);
}
.stage-action-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 1099px) {
  .creator-ln-main .stage-1-guide .creator-chapter-actions button { justify-content: center; }
}
@media (max-width: 560px) {
  .creator-ln-main .stage-1-guide .creator-chapter-actions { grid-template-columns: 1fr !important; }
}


/* ChoiceOlogy final Notion-inspired interaction tokens */
:root {
  --notion-blue: #2383E2;
  --notion-blue-soft: #D3E5EF;
  --notion-purple: #9065B0;
  --notion-purple-soft: #E8DEEE;
  --choice-orange: #DF752F;
  --choice-orange-soft: #F5DFC7;
  --choice-green: #63AB4B;
  --choice-green-soft: #DBF3DA;
  --notion-text: #191919;
  --notion-muted: #787774;
  --notion-line: #E9E9E7;
  --notion-surface: #FFFFFF;
  --notion-soft: #F7F7F5;
}

@media (min-width: 1100px) {
  .creator-ln-main { --stage-side-width: clamp(400px, 27vw, 460px) !important; }
  .creator-ln-main .stage-1-guide .stage1-value-head,
  .creator-ln-main .stage1-collaboration,
  .creator-ln-main .creator-stage-operating-grid {
    grid-template-columns: minmax(0, 1fr) var(--stage-side-width) !important;
  }
}

.creator-ln-main .stage-1-guide .creator-chapter-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button {
  min-height: 48px;
  border: 1px solid #DADAD7 !important;
  border-radius: 9px !important;
  color: var(--notion-text) !important;
  background: var(--notion-surface) !important;
  box-shadow: 0 1px 2px rgba(15, 15, 15, .05) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button:hover {
  z-index: 1;
  border-color: #C9C9C5 !important;
  box-shadow: 0 8px 20px rgba(15, 15, 15, .11) !important;
  transform: translateY(-3px);
}
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button {
  border-color: var(--notion-blue) !important;
  color: #fff !important;
  background: var(--notion-blue) !important;
  box-shadow: 0 4px 12px rgba(35, 131, 226, .22) !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button:hover {
  background: #1B73C8 !important;
  box-shadow: 0 9px 22px rgba(35, 131, 226, .28) !important;
}
.stage-action-icon { color: var(--notion-blue); background: var(--notion-blue-soft); }
.primary-button .stage-action-icon { color: #fff; background: rgba(255,255,255,.18); }
.creator-chapter-actions button:nth-child(3) .stage-action-icon { color: var(--choice-orange); background: var(--choice-orange-soft); }
.creator-chapter-actions button:nth-child(4) .stage-action-icon { color: var(--notion-purple); background: var(--notion-purple-soft); }

.record-status.pending,
.record-status.warn,
.creator-ln-context button,
.mini-state.pending,
.status.pending,
.status.warn {
  border-color: transparent !important;
  color: #6C4E7E !important;
  background: var(--notion-purple-soft) !important;
}
.record-status.ok,
.mini-state.ok,
.status.ok,
.status.done {
  border-color: transparent !important;
  color: #39762A !important;
  background: var(--choice-green-soft) !important;
}

.task-modal-backdrop { background: rgba(15, 15, 15, .34); backdrop-filter: blur(2px); }
.task-modal {
  border: 1px solid #DADAD7;
  border-radius: 12px;
  color: var(--notion-text);
  background: var(--notion-surface);
  box-shadow: 0 24px 80px rgba(15, 15, 15, .24);
}
.task-modal-head { padding: 22px 26px 18px; border-bottom-color: var(--notion-line); }
.task-modal-head span { color: var(--notion-muted); letter-spacing: 0; }
.task-modal-head h2 { color: var(--notion-text); font-size: 26px; letter-spacing: 0; }
.task-modal-head p { color: var(--notion-muted); }
.task-modal-head .icon-button,
.task-modal .icon-button {
  border: 0 !important;
  border-radius: 6px !important;
  color: #6F6E69 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.task-modal-head .icon-button:hover,
.task-modal .icon-button:hover { color: var(--notion-text) !important; background: #EFEFED !important; }
.task-modal-scroll { padding: 22px 26px 30px; }
.task-modal-footer { border-top-color: var(--notion-line); background: var(--notion-soft); }
.task-context { border-radius: 6px; background: var(--notion-soft); }
.task-context b { color: var(--notion-text); }
.task-context span { color: var(--notion-muted); }
.task-modal .field input,
.task-modal .field textarea,
.task-modal .field select,
.task-modal input,
.task-modal textarea,
.task-modal select {
  border-color: #DADAD7;
  border-radius: 6px;
  color: var(--notion-text);
  background: #fff;
  box-shadow: none;
}
.task-modal .field input:focus,
.task-modal .field textarea:focus,
.task-modal .field select:focus,
.task-modal input:focus,
.task-modal textarea:focus,
.task-modal select:focus {
  border-color: var(--notion-blue);
  outline: 2px solid rgba(35, 131, 226, .16);
  outline-offset: 0;
}
.task-modal .primary-button { border-color: var(--notion-blue) !important; color: #fff !important; background: var(--notion-blue) !important; }
.task-modal .secondary-button { border-color: #DADAD7 !important; color: var(--notion-text) !important; background: #fff !important; }
.task-modal .primary-button:hover,
.task-modal .secondary-button:hover { box-shadow: 0 5px 14px rgba(15,15,15,.11); transform: translateY(-1px); }
.task-tabs button.active { border-bottom-color: var(--notion-blue); color: var(--notion-text); }
.evidence-editor-head,
.evidence-version-card > header,
.version-editor-head { border-color: var(--notion-line) !important; background: var(--notion-soft) !important; }
.evidence-version-card,
.version-editor,
.task-form-section { border-color: var(--notion-line) !important; background: #fff !important; }
.readiness-summary.pending { color: #6C4E7E; background: var(--notion-purple-soft); }
.readiness-summary.ready { color: #39762A; background: var(--choice-green-soft); }
.readiness-item.done > i { border-color: var(--choice-green); color: #39762A; background: var(--choice-green-soft); }
.readiness-item.todo > i { border-color: #CFC3D6; color: var(--notion-purple); background: var(--notion-purple-soft); }
.readiness-item .text-button { color: var(--notion-blue); }
.tsa-line.pending_verification { color: #6C4E7E; }
.tsa-line.pending_verification i { background: var(--notion-purple); }


/* Stage 1 white action tiles and consistent Latin numerals */
.creator-ln-main .stage-1-guide .creator-chapter-actions button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .secondary-button {
  min-height: 54px !important;
  padding: 10px 16px !important;
  border: 1px solid #DADAD7 !important;
  border-radius: 9px !important;
  color: #191919 !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(15, 15, 15, .06) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.55;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button:hover,
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button:hover,
.creator-ln-main .stage-1-guide .creator-chapter-actions .secondary-button:hover {
  border-color: #C9C9C5 !important;
  color: #191919 !important;
  background: #FFFFFF !important;
  box-shadow: 0 9px 22px rgba(15, 15, 15, .12) !important;
  transform: translateY(-3px);
}
.creator-ln-main .stage-1-guide .creator-chapter-actions .stage-action-icon,
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button .stage-action-icon {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border-radius: 8px;
  color: var(--notion-blue);
  background: var(--notion-blue-soft);
}
.creator-ln-main .stage-1-guide .creator-chapter-actions .stage-action-icon svg {
  width: 19px;
  height: 19px;
  stroke-width: 1.9;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button:nth-child(3) .stage-action-icon {
  color: var(--choice-orange);
  background: var(--choice-orange-soft);
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button:nth-child(4) .stage-action-icon {
  color: var(--notion-purple);
  background: var(--notion-purple-soft);
}

.creator-ln-sidebar,
.creator-ln-main .creator-record-list,
.creator-ln-main .creator-chapter-actions,
.task-modal {
  font-family: "Geist Mono", ui-monospace, var(--font-sans), "Alibaba PuHuiTi", "PingFang SC", sans-serif;
}
.creator-ln-sidebar .creator-stage-copy,
.creator-ln-sidebar .creator-ip-switcher,
.creator-ln-main .creator-record-list,
.task-modal {
  font-variant-numeric: tabular-nums;
}
.creator-stage-number,
.record-version,
.version-code input,
.version-code.static b,
.version-head-fields input,
.auto-version-status,
.task-modal input[type="date"] {
  font-family: "Geist Mono", ui-monospace, monospace !important;
  font-variant-numeric: tabular-nums;
}


/* Correction: larger black action labels; restore pre-change Latin and numeral typography */
.creator-ln-main .stage-1-guide .creator-chapter-actions button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .secondary-button {
  color: #191919 !important;
  font-family: var(--font-sans), "Alibaba PuHuiTi", "PingFang SC", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button > span {
  color: #191919 !important;
  font-family: var(--font-sans), "Alibaba PuHuiTi", "PingFang SC", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

.creator-ln-sidebar,
.creator-ln-sidebar .creator-stage-copy,
.creator-ln-sidebar .creator-ip-switcher,
.creator-ln-main .creator-record-list,
.creator-ln-main .creator-chapter-actions,
.task-modal,
.creator-stage-number,
.record-version,
.version-code input,
.version-code.static b,
.version-head-fields input,
.auto-version-status,
.task-modal input[type="date"] {
  font-family: var(--font-sans), "Alibaba PuHuiTi", "PingFang SC", sans-serif !important;
}
.creator-stage-number,
.record-version,
.version-code input,
.version-code.static b,
.version-head-fields input,
.auto-version-status,
.task-modal input[type="date"] {
  font-variant-numeric: normal;
}


/* Compact symbol + uppercase ChoiceOlogy header lockup */
.brand.brand-compact {
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 224px;
  align-items: center;
  gap: 10px;
  color: #57C4CE;
}
.brand-compact .brand-symbol {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  overflow: visible;
}
.brand-compact strong {
  color: #191919;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 19px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .035em;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .brand.brand-compact { min-width: 152px; gap: 7px; }
  .brand-compact .brand-symbol { width: 28px; height: 28px; flex-basis: 28px; }
  .brand-compact strong { font-size: 15px; }
}


/* Align creator brand lockup with the 232px journey sidebar */
.creator-role .brand.brand-compact {
  position: absolute;
  left: 0;
  width: 232px;
  min-width: 0;
  justify-content: center;
}
.creator-role .brand-compact strong { font-size: 18px; }
@media (max-width: 1050px) {
  .creator-role .brand.brand-compact {
    position: static;
    width: auto;
    min-width: 190px;
    justify-content: flex-start;
  }
}
@media (max-width: 640px) {
  .creator-role .brand.brand-compact { min-width: 152px; }
  .creator-role .brand-compact strong { font-size: 15px; }
}


/* ChoiceOlogy graphite wordmark */
.creator-role .brand-compact strong { color: #34363B; }


/* ChoiceOlogy warm graphite interface typography */
.creator-role {
  --ln-ink: #3D3D3A;
  --co-text: #3D3D3A;
}
.creator-role .stage1-value-hero h2,
.creator-role .creator-record-board h2,
.creator-role .classroom-title h2,
.creator-role .creator-record-list h3,
.creator-role .record-name-button,
.creator-role .task-modal h2,
.creator-role .task-modal h3 {
  color: #3D3D3A;
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .secondary-button,
.creator-ln-main .stage-1-guide .creator-chapter-actions button > span {
  color: #3D3D3A !important;
  font-size: 16px !important;
}


/* Stage 1 compact actions and stronger guidance labels */
.creator-ln-main .stage-1-guide .creator-chapter-actions button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .primary-button,
.creator-ln-main .stage-1-guide .creator-chapter-actions .secondary-button,
.creator-ln-main .stage-1-guide .creator-chapter-actions button > span {
  font-size: 15px !important;
}
.creator-role .stage1-collaboration small {
  font-weight: 700;
}


/* Clearly segmented IP information tabs */
.task-modal .task-tabs {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(116px, 1fr));
  gap: 4px;
  width: auto;
  padding: 4px;
  border: 1px solid #E2E2DE;
  border-radius: 9px;
  background: #F1F1EF;
}
.task-modal .task-tabs button {
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #73736F;
  background: transparent;
  font-size: 15px;
  font-weight: 650;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease;
}
.task-modal .task-tabs button:hover {
  color: #3D3D3A;
  background: rgba(255,255,255,.58);
}
.task-modal .task-tabs button.active {
  border-color: #D8D8D4;
  color: #3D3D3A;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(15,15,15,.08), 0 3px 9px rgba(15,15,15,.05);
}


/* Creator navigation accent colors */
.creator-role .creator-global-action.primary {
  background: #4A75D6;
}
.creator-role .creator-global-action.primary:hover {
  background: #4A75D6;
}
.creator-ln-sidebar .creator-stage-card.selected {
  background: #EAF3FD;
}
.creator-ln-sidebar .creator-stage-card.selected .creator-stage-number {
  border-color: #4A75D6;
  color: #FFFFFF;
  background: #4A75D6;
}
.creator-ln-sidebar .creator-ip-switcher > summary:hover,
.creator-ln-sidebar .creator-ip-switcher[open] > summary {
  background: #EAF3FD;
}


/* Semantic creator record statuses and matched guidance typography */
.creator-role .stage1-collaboration small {
  font-family: "Alibaba PuHuiTi 3.0 75 SemiBold", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: normal;
}
.creator-role .record-status.warn {
  color: #787774 !important;
  background: #F1F1EF !important;
}
.creator-role .record-status.pending {
  color: #4A75D6 !important;
  background: #EAF3FD !important;
}
.creator-role .record-status.processing {
  color: #6C4E7E !important;
  background: var(--notion-purple-soft) !important;
}
.creator-role .record-status.ok {
  color: #39762A !important;
  background: #DBF3DA !important;
  box-shadow: inset 0 0 0 1px rgba(99, 171, 75, .22);
}
.creator-role .record-status.attention,
.creator-role .record-status.error {
  color: #A95720 !important;
  background: #F5DFC7 !important;
}


/* Interactive creator version history */
.creator-ln-main .creator-record-list .creator-record-row {
  position: relative;
  grid-template-columns: 42px minmax(0, 1fr) auto 18px;
  margin: 0 -10px;
  padding-right: 10px;
  padding-left: 10px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.creator-ln-main .creator-record-list .creator-record-row:hover {
  background: #F7F7F5;
  box-shadow: 0 5px 16px rgba(61, 61, 58, .06);
  transform: translateY(-1px);
}
.creator-ln-main .creator-record-list .creator-record-row:focus-visible {
  outline: 2px solid #4A75D6;
  outline-offset: 2px;
  background: #EAF3FD;
}
.creator-ln-main .creator-record-list .record-name-button {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #3D3D3A;
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.creator-ln-main .creator-record-list .creator-record-row:hover .record-name-button { color: #315EA8; }
.record-open-hint {
  color: #A3A3A0;
  font-family: var(--font-emphasis);
  font-size: 22px;
  line-height: 1;
  opacity: 0;
  transform: translateX(-3px);
  transition: opacity 160ms ease, transform 160ms ease;
}
.creator-record-row:hover .record-open-hint,
.creator-record-row:focus-visible .record-open-hint { opacity: 1; transform: translateX(0); }
@media (max-width: 800px) {
  .creator-ln-main .creator-record-list .creator-record-row { grid-template-columns: 38px minmax(0, 1fr) 16px; }
  .creator-ln-main .creator-record-list .creator-record-row .record-status { grid-column: 2; }
  .creator-ln-main .creator-record-list .creator-record-row .record-open-hint { grid-column: 3; grid-row: 1 / span 2; }
}


/* Stage action task prompt */
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  grid-column: 2;
  display: flex;
  min-height: 22px;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  padding: 0 2px;
  color: #787774;
  font-family: var(--font-sans), "Alibaba PuHuiTi", "PingFang SC", sans-serif;
  font-size: 12px;
  line-height: 1.4;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice button {
  min-height: 0 !important;
  padding: 3px 8px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #FFFFFF !important;
  background: var(--notion-purple, #8B5CF6) !important;
  box-shadow: none !important;
  font-family: var(--font-sans), "Alibaba PuHuiTi", "PingFang SC", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  transform: none !important;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice button:hover {
  background: #7651C9 !important;
  box-shadow: 0 4px 10px rgba(118, 81, 201, .2) !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 560px) {
  .creator-ln-main .stage-1-guide .stage-action-task-notice { grid-column: 1; justify-content: flex-start; }
}


/* Keep the task notice inside the existing Stage 1 hero footprint */
.creator-ln-main .stage-1-guide .creator-chapter-actions {
  position: relative;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  width: calc(50% - 5px);
  min-height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0;
  color: var(--notion-purple, #9065B0);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice > span {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--notion-purple, #9065B0) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  transform: none !important;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice button:hover {
  color: #7651C9 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
@media (max-width: 560px) {
  .creator-ln-main .stage-1-guide .stage-action-task-notice {
    position: static;
    width: 100%;
    grid-column: 1;
    justify-content: flex-start;
  }
}


/* Let the compact task notice size to its full one-line copy */
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  left: auto !important;
  right: 0 !important;
  width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
}


/* Center the complete task notice beneath the next-stage action */
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  left: 75% !important;
  right: auto !important;
  width: max-content !important;
  max-width: none !important;
  transform: translateX(-50%);
  overflow: visible !important;
}


/* Bind the notice to the second action column instead of estimating its center */
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  grid-column: 2 !important;
  left: auto !important;
  right: auto !important;
  justify-self: center !important;
  transform: none !important;
}


/* Keep the task notice fully inside the fixed-height hero header */
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  top: calc(100% + 1px) !important;
}


/* Preserve hero height while giving the task notice breathing room */
.creator-ln-main .stage-1-guide .stage1-value-head {
  overflow: visible !important;
}
.creator-ln-main .stage-1-guide .stage-action-task-notice {
  top: calc(100% + 6px) !important;
}


/* Stage 2 creator workspace */
.stage-2-guide .stage1-value-hero h2 { color: #3d3d3a; }
.stage-2-guide .creator-chapter-actions button { background: #fff; color: #3d3d3a; }
.stage-2-guide .creator-chapter-actions button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(33, 33, 31, .09); border-color: #cfd5dd; }
.stage-2-guide .stage2-actions button:nth-child(1) .stage-action-icon { color: #4a75d6; background: #eaf3fd; }
.stage-2-guide .stage2-actions button:nth-child(2) .stage-action-icon { color: #63ab4b; background: #dbf3da; }
.stage-2-guide .stage2-actions button:nth-child(3) { grid-column: 1 / -1; }
.stage-2-guide .stage2-actions button:nth-child(3) .stage-action-icon { color: #9065b0; background: #eee6f4; }
.stage2-operating-grid { align-items: start; }
.creator-research-board .creator-record-list { min-height: 310px; }
.creator-ln-main .creator-research-board > header { align-items: center; justify-content: space-between; flex-direction: row; gap: 16px; }
.creator-ln-main .creator-research-board > header h2 { margin: 0; }
.creator-research-row { cursor: pointer; }
.creator-research-row:hover { background: #f7f7f5; }
.creator-research-row:focus-visible { outline: 2px solid #4a75d6; outline-offset: -2px; }
.research-kind { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; color: #4a75d6; background: #eaf3fd; }
.research-kind svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.record-status.research-draft { color: #6b6b67; background: #f1f1ef; }
.record-status.research-active { color: #8a6500; background: #fbf3db; }
.record-status.research-complete { color: #3f7d35; background: #dbf3da; }
.research-empty { min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; color: #6b6b67; }
.research-empty > i { width: 44px; height: 44px; display: grid; place-items: center; color: #4a75d6; background: #eaf3fd; border-radius: 12px; }
.research-empty svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.research-empty b { color: #3d3d3a; font-size: 16px; }
.research-empty p { margin: 0 0 4px; }
.stage2-modal-form { display: grid; gap: 22px; max-width: 960px; }
.stage2-modal-form label { display: grid; gap: 8px; }
.stage2-modal-form label > span { color: #3d3d3a; font-size: 15px; font-weight: 700; }
.stage2-modal-form input, .stage2-modal-form textarea, .stage2-modal-form select { width: 100%; box-sizing: border-box; border: 1px solid #deddd9; border-radius: 8px; background: #fff; color: #3d3d3a; padding: 12px 14px; font: inherit; }
.stage2-modal-form textarea { min-height: 120px; resize: vertical; }
.stage2-material-images { display: grid; gap: 12px; }
.stage2-material-images-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.stage2-material-images-head > div { display: grid; gap: 4px; }
.stage2-material-images-head b { color: #3d3d3a; font-size: 15px; }
.stage2-material-images-head span { color: #787873; font-size: 13px; line-height: 1.6; }
.stage2-material-images-head em { color: #4a75d6; font-size: 13px; font-style: normal; white-space: nowrap; }
.stage2-modal-form input:focus, .stage2-modal-form textarea:focus, .stage2-modal-form select:focus { outline: 2px solid rgba(74,117,214,.2); border-color: #4a75d6; }
.stage2-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.stage2-privacy-note, .stage2-material-summary { display: flex; gap: 14px; padding: 16px; background: #f7f7f5; border-radius: 10px; color: #6b6b67; }
.stage2-public-personal-consent { display: flex !important; align-items: flex-start; gap: 12px !important; padding: 16px; border: 1px solid #d9dfdd; border-radius: 10px; background: #fff; cursor: pointer; }
.stage2-public-personal-consent input { width: 19px !important; height: 19px; flex: 0 0 19px; margin-top: 2px; }
.stage2-public-personal-consent span { display: grid; gap: 5px; }
.stage2-public-personal-consent small { color: #696f6d; font-weight: 500; line-height: 1.65; }
.stage2-privacy-note { flex-direction: column; gap: 4px; }
.stage2-privacy-note b, .stage2-material-summary b { color: #3d3d3a; }
.stage2-material-summary i { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; color: #63ab4b; background: #dbf3da; border-radius: 10px; }
.stage2-material-summary svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.stage2-material-summary div { display: grid; gap: 4px; }
.stage2-report-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 22px; }
.stage2-report-summary article { padding: 18px; background: #f7f7f5; border-radius: 10px; display: grid; gap: 4px; }
.stage2-report-summary b { font-size: 28px; color: #3d3d3a; }
.stage2-report-list { display: grid; gap: 0; border-top: 1px solid #e8e7e3; }
.stage2-report-list article { padding: 18px 0; border-bottom: 1px solid #e8e7e3; }
.stage2-report-list article span { color: #4a75d6; font-size: 13px; }
.stage2-report-list article b { display: block; margin: 6px 0; color: #3d3d3a; }
.stage2-report-list article p { margin: 0; color: #6b6b67; }
@media (max-width: 1050px) {
  .stage2-form-grid { grid-template-columns: 1fr; }
}


/* Choiceology creator agreement refresh */
.legal-backdrop {
  background: rgba(45, 46, 49, .38);
  backdrop-filter: blur(5px);
}
.legal-modal {
  width: min(1160px, calc(100vw - 48px));
  height: min(880px, calc(100vh - 48px));
  border: 1px solid #dcdcd8;
  border-radius: 14px;
  color: #3d3d3a;
  box-shadow: 0 24px 70px rgba(39, 40, 44, .22);
}
.legal-modal .legal-head {
  min-height: 104px;
  padding: 22px 28px 20px;
  align-items: flex-start;
  border-bottom-color: #e6e6e3;
  background: #fff;
}
.legal-modal .legal-head .eyebrow {
  color: #4a75d6;
  font-size: 12px;
  font-weight: 700;
}
.legal-modal .legal-head h2 {
  margin: 7px 0 5px;
  color: #3d3d3a;
  font-size: 26px;
  line-height: 1.25;
  font-weight: 700;
}
.legal-modal .legal-head p {
  color: #777873;
  font-size: 13px;
}
.legal-modal .legal-head .icon-button {
  width: 42px;
  height: 42px;
  border-color: #dededb;
  border-radius: 10px;
  color: #3d3d3a;
  background: #fff;
}
.legal-modal .legal-head .icon-button:hover {
  background: #f3f3f1;
  transform: translateY(-1px);
}
.legal-modal .legal-body {
  grid-template-columns: 280px minmax(0, 1fr);
  background: #fff;
}
.legal-modal .legal-body-simple { display: block; overflow-y: auto; }
.legal-modal .legal-summary {
  padding: 28px 24px;
  border-right: 1px solid #e6e6e3;
  color: #3d3d3a;
  background: #f7f7f5;
}
.legal-modal .legal-summary > b {
  font-size: 17px;
  line-height: 1.4;
}
.legal-modal .legal-summary ol {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: agreement-summary;
  color: #5f605c;
  font-size: 13px;
  line-height: 1.65;
}
.legal-modal .legal-summary li {
  position: relative;
  min-height: 34px;
  padding: 0 0 16px 38px;
  counter-increment: agreement-summary;
}
.legal-modal .legal-summary li::before {
  content: counter(agreement-summary, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: -2px;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #4a75d6;
  background: #eaf3fd;
  font-size: 11px;
  font-weight: 700;
}
.legal-modal .legal-version {
  margin-top: 20px;
  padding: 16px;
  border: 1px solid #cfe0f6;
  border-radius: 10px;
  background: #eaf3fd;
}
.legal-modal .legal-version small,
.legal-modal .legal-version span {
  color: #65758c;
}
.legal-modal .legal-version strong {
  margin: 5px 0;
  color: #315da8;
  font-size: 19px;
}
.legal-modal .legal-document {
  padding: 28px 34px 34px;
}
.legal-modal .legal-document-simple { max-width: 900px; margin: 0 auto; }
.legal-modal .legal-version-inline { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; padding: 12px 14px; }
.legal-modal .legal-version-inline strong { margin: 0; font-size: 15px; }
.legal-modal .legal-version-inline span { margin-left: auto; }
.legal-modal .legal-document section {
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom-color: #e6e6e3;
}
.legal-modal .legal-document h3 {
  margin: 0 0 8px;
  color: #3d3d3a;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
}
.legal-modal .legal-document p {
  color: #686965;
  font-size: 14px;
  line-height: 1.75;
}
.legal-modal .legal-notice {
  padding: 14px 16px;
  border-left-color: #4a75d6;
  border-radius: 0 8px 8px 0;
  background: #eaf3fd;
}
.legal-modal .legal-notice b {
  color: #3d3d3a;
  font-size: 13px;
}
.legal-modal .legal-notice span {
  color: #65758c;
  font-size: 12px;
}
.legal-modal .agreement-confirmations {
  gap: 8px;
  margin-top: 18px;
}
.legal-modal .agreement-confirmations label {
  padding: 13px 14px;
  border-color: #e1e1de;
  border-radius: 9px;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.legal-modal .agreement-confirmations label:hover {
  border-color: #b9cce9;
  background: #f7faff;
  transform: translateY(-1px);
}
.legal-modal .agreement-confirmations label.checked {
  border-color: #a9c4eb;
  background: #eaf3fd;
}
.legal-modal .agreement-confirmations-single label { grid-template-columns: 20px minmax(0, 1fr); padding: 16px; }
.legal-modal .agreement-confirmations input {
  accent-color: #4a75d6;
}
.legal-modal .agreement-confirmations b {
  color: #3d3d3a;
  font-size: 13px;
}
.legal-modal .agreement-confirmations small {
  color: #6f706c;
  font-size: 12px;
}
.legal-modal .signature-proof {
  border: 1px solid #d7d7d3;
  border-radius: 9px;
  background: #f7f7f5;
}
.legal-modal .legal-footer {
  min-height: 72px;
  padding: 12px 24px;
  border-top-color: #e6e6e3;
  background: #fff;
}
.legal-modal .legal-footer > span {
  color: #777873;
  font-size: 12px;
}
.legal-modal .legal-footer .primary-button {
  border-color: #4a75d6;
  color: #fff;
  background: #4a75d6;
}
.legal-modal .legal-footer .primary-button:hover:not(:disabled) {
  border-color: #3e67bd;
  background: #3e67bd;
  transform: translateY(-1px);
}
.legal-modal .legal-footer .secondary-button {
  border-color: #d7d7d3;
  color: #3d3d3a;
  background: #fff;
}
@media (max-width: 760px) {
  .legal-modal { width: 100%; height: 100vh; border-radius: 0; }
  .legal-modal .legal-body { display: block; overflow-y: auto; }
  .legal-modal .legal-summary { border-right: 0; border-bottom: 1px solid #e6e6e3; }
  .legal-modal .legal-document { padding: 22px 18px 28px; }
}


/* Stage 2: creator submits the brief; platform executes and uploads results. */
.research-template-section { display: grid; gap: 14px; padding-bottom: 4px; }
.research-template-section > div:first-child { display: grid; gap: 4px; }
.research-template-section > div:first-child b { color: #3d3d3a; font-size: 16px; }
.research-template-section > div:first-child span { color: #777773; font-size: 14px; }
.research-template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.research-template-card { min-height: 108px; padding: 15px; display: flex; align-items: flex-start; gap: 12px; text-align: left; border: 1px solid #deddd9; border-radius: 10px; background: #fff; color: #3d3d3a; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.research-template-card:hover { transform: translateY(-2px); border-color: #a8bee9; box-shadow: 0 8px 20px rgba(35, 45, 65, .08); }
.research-template-card.active { border-color: #4a75d6; background: #eaf3fd; box-shadow: inset 0 0 0 1px #4a75d6; }
.research-template-card i { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; color: #4a75d6; background: #eaf3fd; border-radius: 9px; }
.research-template-card i svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.research-template-card span { display: grid; gap: 5px; }
.research-template-card span b { font-size: 15px; }
.research-template-card span small { color: #777773; font-size: 13px; line-height: 1.55; }
.stage2-platform-boundary { display: flex; gap: 14px; padding: 16px; border: 1px solid #e6e6e3; border-radius: 10px; background: #f7f7f5; }
.stage2-platform-boundary > i { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; color: #63ab4b; background: #dbf3da; border-radius: 10px; }
.stage2-platform-boundary svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.stage2-platform-boundary div { display: grid; gap: 5px; }
.stage2-platform-boundary b { color: #3d3d3a; }
.stage2-platform-boundary span { color: #6b6b67; line-height: 1.65; }
.stage2-result-stack { display: grid; gap: 28px; }
.research-result-detail { display: grid; gap: 20px; }
.research-result-detail > header { padding-bottom: 16px; border-bottom: 1px solid #e8e7e3; }
.research-result-detail > header span { color: #4a75d6; font-size: 13px; font-weight: 700; }
.research-result-detail > header h3 { margin: 6px 0; color: #3d3d3a; font-size: 24px; }
.research-result-detail > header p { margin: 0; color: #6b6b67; }
.research-source-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.research-source { padding: 18px; border: 1px solid #e6e6e3; border-radius: 10px; background: #fff; }
.research-source > div { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; color: #3d3d3a; font-weight: 700; }
.research-source i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; }
.research-source.actual i { color: #63ab4b; background: #dbf3da; }
.research-source.simulated i { color: #9065b0; background: #eee6f4; }
.research-source svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.research-source > b { display: block; margin-bottom: 8px; color: #3d3d3a; }
.research-source p { margin: 0; color: #6b6b67; line-height: 1.7; }
.research-source small { display: block; margin-top: 12px; color: #8b8b87; line-height: 1.55; }
.research-conclusion-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #e6e6e3; border-radius: 10px; overflow: hidden; }
.research-conclusion-grid article { padding: 17px 18px; min-height: 100px; }
.research-conclusion-grid article:nth-child(2) { border-left: 1px solid #e6e6e3; }
.research-conclusion-grid .recommendation { grid-column: 1 / -1; border-top: 1px solid #e6e6e3; background: #eaf3fd; }
.research-conclusion-grid span { color: #3d3d3a; font-size: 14px; font-weight: 700; }
.research-conclusion-grid p { margin: 8px 0 0; color: #6b6b67; line-height: 1.7; }
.legal-modal .legal-summary { background: #f7f8fa; color: #3d3d3a; border-right: 1px solid #e6e6e3; }
.legal-modal .legal-summary > b { color: #3d3d3a; }
.legal-modal .legal-summary ol { color: #5f6368; }
.legal-modal .legal-summary li::before { color: #4a75d6; background: #eaf3fd; }
.legal-modal .legal-version { border-color: #cbd9f3; background: #eaf3fd; }
.legal-modal .legal-version small, .legal-modal .legal-version span { color: #667085; }
.legal-modal .legal-version strong { color: #4a75d6; }
@media (max-width: 900px) {
  .research-template-grid, .research-source-grid, .research-conclusion-grid { grid-template-columns: 1fr; }
  .research-conclusion-grid article:nth-child(2) { border-left: 0; border-top: 1px solid #e6e6e3; }
}

/* Stage 2 structured questionnaire builder */
.research-template-card { position: relative; }
.research-template-card > em { position: absolute; right: 12px; bottom: 10px; color: #7b7b77; font-size: 12px; font-style: normal; }
.research-question-empty { min-height: 104px; display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px dashed #cfd3d8; border-radius: 10px; background: #fafafa; }
.research-question-empty > i { width: 40px; height: 40px; display: grid; place-items: center; color: #4a75d6; background: #eaf3fd; border-radius: 9px; }
.research-question-empty > i svg { width: 20px; height: 20px; fill: none; stroke: currentColor; }
.research-question-empty > div { display: grid; gap: 4px; }
.research-question-empty b { color: #3d3d3a; font-size: 16px; }
.research-question-empty span { color: #747470; font-size: 14px; }
.research-question-builder { display: grid; gap: 14px; padding: 18px; border: 1px solid #deddd9; border-radius: 10px; background: #f7f7f5; }
.research-question-builder > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.research-question-builder > header > div { display: grid; gap: 4px; }
.research-question-builder > header b { color: #3d3d3a; font-size: 17px; }
.research-question-builder > header span { color: #747470; font-size: 14px; }
.research-question-builder > header em { flex: 0 0 auto; padding: 5px 9px; color: #4a75d6; background: #eaf3fd; border-radius: 6px; font-size: 13px; font-style: normal; }
.research-question-modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.research-question-module { overflow: hidden; border: 1px solid #e0dfdc; border-radius: 9px; background: #fff; }
.research-module-heading { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border-bottom: 1px solid #ecebe8; }
.research-module-heading > i { width: 32px; height: 32px; display: grid; place-items: center; color: #4a75d6; background: #eaf3fd; border-radius: 8px; }
.research-module-heading svg { width: 17px; height: 17px; fill: none; stroke: currentColor; }
.research-module-heading > span { display: grid; gap: 2px; }
.research-module-heading b { color: #3d3d3a; font-size: 15px; }
.research-module-heading small { color: #858581; font-size: 12px; }
.research-question-list { display: grid; }
.research-question-item { display: grid; gap: 10px; padding: 13px 14px; border-top: 1px solid #f0efec; opacity: .7; transition: background .16s ease, opacity .16s ease; }
.research-question-item:first-child { border-top: 0; }
.research-question-item.selected { opacity: 1; background: #fff; }
.research-question-check { display: flex !important; align-items: flex-start; gap: 9px; cursor: pointer; }
.research-question-check input { width: 17px; height: 17px; margin-top: 2px; accent-color: #4a75d6; }
.research-question-check span { color: #3d3d3a; font-size: 14px; line-height: 1.5; }
.research-scale-select { display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; }
.research-scale-select small { color: #8a8a86; font-size: 12px; }
.research-scale-select select { min-width: 0; height: 34px; padding: 0 9px; border: 1px solid #deddd9; border-radius: 7px; background: #fff; color: #555551; font-size: 12px; }
.research-scale-preview { display: grid; grid-template-columns: auto minmax(40px, 1fr) auto; align-items: center; gap: 7px; color: #8a8a86; font-size: 11px; }
.research-scale-preview i { height: 4px; border-radius: 3px; background: linear-gradient(90deg, #dce8fb, #4a75d6); }
.research-scale-preview small { grid-column: 1 / -1; }
.research-brief-fields { display: grid; gap: 16px; padding-top: 4px; }
.research-brief-fields > header { display: grid; gap: 4px; }
.research-brief-fields > header b { color: #3d3d3a; font-size: 17px; }
.research-brief-fields > header span { color: #747470; font-size: 14px; }
.research-summary-card { display: grid; gap: 14px; padding: 20px; border: 1px solid #dce6f6; border-radius: 10px; background: #f7faff; }
.research-summary-card > div { display: flex; align-items: center; gap: 11px; }
.research-summary-card > div > i { width: 38px; height: 38px; display: grid; place-items: center; color: #4a75d6; background: #eaf3fd; border-radius: 9px; }
.research-summary-card svg { width: 19px; height: 19px; fill: none; stroke: currentColor; }
.research-summary-card > div > span { display: grid; gap: 2px; }
.research-summary-card b { color: #3d3d3a; }
.research-summary-card small { color: #777773; }
.research-summary-card p { margin: 0; color: #555551; line-height: 1.75; }
.research-summary-card ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.research-summary-card li { padding: 5px 9px; color: #356532; background: #dbf3da; border-radius: 6px; font-size: 13px; }
.research-score-section { display: grid; gap: 12px; }
.research-score-section > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.research-score-section h4 { margin: 0; color: #3d3d3a; font-size: 18px; }
.research-score-section header p { margin: 4px 0 0; color: #777773; font-size: 13px; }
.research-score-section header em { color: #777773; font-size: 13px; font-style: normal; }
.research-score-list { overflow: hidden; border: 1px solid #e4e3df; border-radius: 10px; background: #fff; }
.research-score-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 20px; padding: 15px 17px; border-top: 1px solid #ecebe8; }
.research-score-row:first-child { border-top: 0; }
.research-score-row > div:first-child { display: grid; gap: 3px; }
.research-score-row small { color: #4a75d6; font-size: 12px; }
.research-score-row b { color: #3d3d3a; font-size: 14px; font-weight: 600; }
.research-score-value { display: flex; align-items: baseline; gap: 3px; }
.research-score-value strong { color: #3d3d3a; font-size: 20px; }
.research-score-value span { color: #888884; font-size: 12px; }
.research-score-bar { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 4px; background: #eceff4; }
.research-score-bar i { display: block; height: 100%; border-radius: inherit; background: #4a75d6; }
.research-score-empty { padding: 20px; color: #888884; text-align: center; }
.research-recommendation { padding: 17px 18px; border-left: 3px solid #4a75d6; background: #f7f7f5; }
.research-recommendation span { color: #3d3d3a; font-weight: 700; }
.research-recommendation p { margin: 7px 0 0; color: #5f5f5b; line-height: 1.7; }
@media (max-width: 900px) { .research-question-modules { grid-template-columns: 1fr; } }

/* Stage 2 custom questionnaire questions */
.research-custom-section { display: grid; gap: 12px; padding: 16px; border: 1px solid #dfe4eb; border-radius: 9px; background: #fff; }
.research-custom-section > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.research-custom-section > header > div { display: grid; gap: 3px; }
.research-custom-section > header b { color: #3d3d3a; font-size: 16px; }
.research-custom-section > header span { color: #747470; font-size: 13px; }
.research-custom-section > header em { color: #4a75d6; font-size: 13px; font-style: normal; font-weight: 700; }
.research-custom-list { display: grid; gap: 10px; }
.research-custom-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr) 38px; align-items: end; gap: 10px; padding: 12px; border: 1px solid #e5e4e0; border-radius: 8px; background: #fafafa; }
.research-custom-row label { display: grid; gap: 6px; }
.research-custom-row label > span { color: #555551; font-size: 13px; font-weight: 700; }
.research-custom-row input, .research-custom-row select { width: 100%; height: 40px; box-sizing: border-box; padding: 0 11px; border: 1px solid #d9d8d4; border-radius: 7px; background: #fff; color: #3d3d3a; font: inherit; }
.research-custom-row input:focus, .research-custom-row select:focus { outline: 2px solid rgba(74, 117, 214, .18); border-color: #4a75d6; }
.research-custom-remove { width: 38px; height: 40px; border: 1px solid #deddd9; border-radius: 7px; background: #fff; color: #777773; font-size: 20px; cursor: pointer; }
.research-custom-remove:hover { color: #3d3d3a; border-color: #b9b8b4; background: #f3f3f1; }
.research-custom-add { justify-self: start; min-height: 38px; padding: 0 13px; border: 1px solid #cbd9f3; border-radius: 7px; background: #eaf3fd; color: #315fae; font-size: 14px; font-weight: 700; cursor: pointer; }
.research-custom-add:hover:not(:disabled) { transform: translateY(-1px); border-color: #9cb8e7; box-shadow: 0 4px 12px rgba(48, 87, 153, .1); }
.research-custom-add:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 760px) {
  .research-custom-row { grid-template-columns: 1fr 38px; }
  .research-custom-scale { grid-column: 1 / -1; grid-row: 2; }
  .research-custom-remove { grid-column: 2; grid-row: 1; }
}

/* Stage 2 structured brief, choice questions and derivative result */
.research-brief-fields.structured { gap: 14px; }
.research-brief-group { display: grid; gap: 12px; padding: 18px; border: 1px solid #e4e3df; border-radius: 10px; background: #fff; }
.research-brief-group-title { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding-bottom: 11px; border-bottom: 1px solid #efeeeb; }
.research-brief-group-title b { color: #3d3d3a; font-size: 16px; }
.research-brief-group-title span { color: #858581; font-size: 13px; text-align: right; }
.research-brief-label { color: #555551; font-size: 13px; font-weight: 700; }
.research-brief-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.research-brief-chips button { min-height: 34px; padding: 6px 11px; border: 1px solid #deddd9; border-radius: 7px; background: #fafafa; color: #555551; font: inherit; font-size: 13px; cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.research-brief-chips button:hover:not(:disabled) { transform: translateY(-1px); border-color: #b9cceb; background: #f4f8fe; }
.research-brief-chips button.active { border-color: #9bb6e7; background: #eaf3fd; color: #315fae; font-weight: 700; }
.research-brief-boundary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.research-brief-boundary-grid textarea { min-height: 92px; }
.research-question-item.choice-question { gap: 9px; }
.research-question-choice-head { display: flex; align-items: center; justify-content: space-between; }
.research-question-choice-head small { padding: 3px 7px; border-radius: 5px; background: #f0f1f3; color: #686864; font-size: 11px; }
.research-option-preview { display: flex; flex-wrap: wrap; gap: 6px; }
.research-option-preview span { padding: 4px 7px; border: 1px solid #e8e7e3; border-radius: 5px; background: #fafafa; color: #696965; font-size: 11px; line-height: 1.35; }
.research-price-preview { display: grid; gap: 7px; padding: 10px; border-left: 2px solid #df752f; background: #fdf8f2; }
.research-price-preview p { margin: 0 0 2px; color: #6f6259; font-size: 11px; line-height: 1.5; }
.research-price-preview > div { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); gap: 10px; }
.research-price-preview b { color: #4b4743; font-size: 11px; }
.research-price-preview span { color: #82766d; font-size: 10px; line-height: 1.45; }
.research-question-module.derivative-module { grid-column: 1 / -1; }
.research-question-module.derivative-module .research-question-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-question-module.derivative-module .research-question-item { border-top: 1px solid #f0efec; }
.research-question-module.derivative-module .research-question-item:nth-child(even) { border-left: 1px solid #f0efec; }
.research-choice-section { display: grid; gap: 12px; }
.research-choice-section > header h4 { margin: 0; color: #3d3d3a; font-size: 18px; }
.research-choice-section > header p { margin: 4px 0 0; color: #777773; font-size: 13px; }
.research-choice-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #e4e3df; border-radius: 10px; overflow: hidden; background: #fff; }
.research-choice-group { display: grid; align-content: start; gap: 13px; padding: 17px; border-left: 1px solid #ecebe8; }
.research-choice-group:first-child { border-left: 0; }
.research-choice-group > b { color: #3d3d3a; font-size: 14px; }
.research-choice-group > div { display: grid; gap: 11px; }
.research-choice-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; }
.research-choice-row > span { overflow: hidden; color: #5f5f5b; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.research-choice-row > strong { color: #3d3d3a; font-size: 12px; }
.research-choice-row > i { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 4px; background: #edf0f4; }
.research-choice-row > i > em { display: block; height: 100%; border-radius: inherit; background: #4a75d6; }
@media (max-width: 1080px) {
  .research-brief-boundary-grid, .research-choice-list { grid-template-columns: 1fr; }
  .research-choice-group { border-left: 0; border-top: 1px solid #ecebe8; }
  .research-choice-group:first-child { border-top: 0; }
}
@media (max-width: 900px) {
  .research-question-module.derivative-module .research-question-list { grid-template-columns: 1fr; }
  .research-question-module.derivative-module .research-question-item:nth-child(even) { border-left: 0; }
  .research-brief-group-title { align-items: flex-start; flex-direction: column; gap: 4px; }
  .research-brief-group-title span { text-align: left; }
}
.creator-ln-main .stage-1-guide .creator-chapter-actions button[data-action='edit-selected'] .stage-action-icon { color: #63ab4b; background: #dbf3da; }

/* Artist-facing ownership certificate */
.task-modal-certificate{width:min(1040px,calc(100vw - 48px));}
.ownership-certificate-layout{max-width:820px;margin:0 auto;padding:10px 0 28px;}
.certificate-selector{display:grid;gap:8px;margin-bottom:18px;color:#3d3d3a;font-size:14px;font-weight:650;}
.certificate-selector select{height:44px;border:1px solid #d9d7d0;border-radius:8px;background:#fff;padding:0 12px;color:#3d3d3a;font:inherit;}
.certificate-preview-card{background:#fbfaf6;border:1px solid #d9d7d0;border-radius:6px;padding:38px 42px;box-shadow:0 10px 30px rgba(52,54,59,.08);color:#3d3d3a;}
.certificate-demo-disclaimer{margin:-38px -42px 28px;padding:10px 42px;border-bottom:1px solid #e5c9bb;background:#fbefe9;color:#a85b3a;font-size:12px;font-weight:750;letter-spacing:.12em;text-align:center;}
.certificate-preview-card>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #d9d7d0;padding-bottom:24px;}
.certificate-preview-card>header span{font-size:15px;font-weight:750;color:#34363b;}
.certificate-preview-card>header h3{font-size:32px;margin:10px 0 4px;letter-spacing:0;}
.certificate-preview-card>header small{font-size:12px;color:#4a75d6;}
.certificate-preview-card>header em{font-style:normal;font-size:13px;font-weight:650;color:#3f7f4d;background:#dbf3da;padding:6px 10px;border-radius:999px;}
.certificate-preview-main{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center;padding:30px 0;}
.certificate-preview-main img{width:220px;aspect-ratio:1;object-fit:contain;background:#f1f2f4;border-radius:4px;}
.certificate-preview-main small,.certificate-preview-facts small{display:block;color:#858581;font-size:13px;margin-bottom:7px;}
.certificate-preview-main h4{font-size:28px;margin:0 0 12px;}.certificate-preview-main p{margin:7px 0;color:#5f605d;}
.certificate-preview-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:22px 0;border-top:1px solid #e5e3dd;border-bottom:1px solid #e5e3dd;}
.certificate-preview-facts b{display:block;font-size:15px;overflow-wrap:anywhere;}
.certificate-preview-note{font-size:14px;line-height:1.75;color:#5f605d;margin:24px 0;}
.certificate-preview-card>footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;color:#5f605d;font-size:13px;}
.certificate-qr-placeholder{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9d7d0;background:#fff;font-size:25px;}
.certificate-technical{margin-top:18px;border-top:1px solid #e5e3dd;padding-top:14px;color:#5f605d;}
.certificate-technical summary{cursor:pointer;color:#4a75d6;font-weight:650;}
.certificate-technical dl{display:grid;gap:12px;margin:16px 0 0;}.certificate-technical dl div{display:grid;grid-template-columns:180px 1fr;gap:18px;}.certificate-technical dt{font-weight:650}.certificate-technical dd{margin:0;overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:12px;}
.certificate-empty{max-width:620px;margin:48px auto;text-align:center;padding:48px;border:1px solid #e5e3dd;background:#fbfaf6;border-radius:6px;}.certificate-empty-mark{font-size:42px;color:#4a75d6}.certificate-empty h3{font-size:24px;margin:12px 0}.certificate-empty p{color:#6f706d;line-height:1.75;}
.certificate-verification-page{width:min(720px,calc(100vw - 48px));background:#fbfaf6;border-radius:8px;box-shadow:0 24px 70px rgba(20,22,26,.25);padding:34px;}.certificate-verification-page>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd9d0;padding-bottom:20px}.certificate-verification-page>header b{color:#34363b;font-size:19px}.verification-result{padding:42px 8px 10px}.verification-result>span{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:650;font-size:13px}.verification-result.valid>span{color:#3f7f4d;background:#dbf3da}.verification-result.invalid>span{color:#b75f19;background:#f5dfc7}.verification-result h2{font-size:34px;margin:18px 0 8px}.verification-result p{color:#6f706d}.verification-result dl{margin-top:28px;border-top:1px solid #ddd9d0}.verification-result dl div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #e8e5df}.verification-result dt{font-weight:650}.verification-result dd{margin:0;overflow-wrap:anywhere;}
@media(max-width:760px){.task-modal-certificate{width:100vw}.certificate-preview-card{padding:24px}.certificate-preview-main{grid-template-columns:1fr}.certificate-preview-main img{width:100%;max-width:260px}.certificate-preview-facts{grid-template-columns:1fr}.certificate-technical dl div{grid-template-columns:1fr;gap:4px}}
/* Stage 2 monthly assessment rounds */
.assessment-cycle-status{flex:0 0 auto;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:0;white-space:nowrap;}
.assessment-cycle-status.available{background:#e5f3ef;color:#176e61;}.assessment-cycle-status.used{background:#fbf3db;color:#8a6500;}
.joint-assessment-report{gap:34px;}.joint-report-overview{padding:26px;border:1px solid #dce6f6!important;border-radius:14px;background:linear-gradient(135deg,#f7faff,#eef7f3);}.joint-report-overview>span{display:block;color:#176e61!important;font-size:12px;font-weight:750;letter-spacing:.06em;}.joint-report-overview h3{margin:9px 0!important;}.joint-report-overview>p{max-width:760px;color:#535550!important;font-size:15px;line-height:1.8;}
.narrative-report-verdict>em{display:inline-flex;margin-top:18px;padding:7px 11px;border-radius:999px;background:#176e61;color:#fff;font-size:13px;font-style:normal;font-weight:750;}
.narrative-verdict-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}.narrative-verdict-tags b{padding:8px 11px;border:1px solid #dfe8e4;border-radius:8px;background:rgba(255,255,255,.82);color:#454744;font-size:12px;font-weight:650;}
.joint-report-section{display:grid;gap:20px;}.joint-report-section>header{display:flex;align-items:flex-start;gap:13px;padding-bottom:13px;border-bottom:1px solid #e5e4e0;}.joint-report-section>header>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:#eaf3fd;color:#315fae;font-size:12px;font-weight:800;}.joint-report-section h4{margin:0;color:#30312f;font-size:21px;}.joint-report-section>header p{margin:4px 0 0;color:#777773;line-height:1.55;}
.narrative-insight-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;}.narrative-insight-list li{position:relative;padding:14px 16px 14px 40px;border-radius:9px;background:#f7f8fa;color:#4f504d;line-height:1.7;}.narrative-insight-list li::before{content:"";position:absolute;left:17px;top:21px;width:8px;height:8px;border-radius:50%;background:#4f75d8;box-shadow:0 0 0 5px #eaf3fd;}
.narrative-market-label{justify-self:start;padding:6px 9px;border-radius:999px;background:#fbefe9;color:#a85b3a;font-size:11px;font-weight:750;letter-spacing:.03em;}.narrative-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.narrative-market-grid article{padding:18px;border:1px solid #e4e7e4;border-radius:10px;background:#fafbf9;}.narrative-market-grid b{color:#176e61;font-size:15px;}.narrative-market-grid p{margin:8px 0 0;color:#5f605d;line-height:1.7;}
.narrative-synthesis-list{display:grid;gap:12px;}.narrative-synthesis-list article{padding:18px 20px;border-left:4px solid #176e61;border-radius:0 10px 10px 0;background:#f3f8f6;}.narrative-synthesis-list article:nth-child(2){border-left-color:#c58b18;background:#fbf7eb;}.narrative-synthesis-list h5{margin:0;color:#30312f;font-size:16px;}.narrative-synthesis-list p{margin:8px 0 0;color:#555753;line-height:1.75;}
.narrative-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.narrative-next-grid article{padding:17px 18px;border:1px solid #e4e4e0;border-radius:10px;background:#fafafa;}.narrative-next-grid article.primary{border-color:#cfe5dc;background:#eff8f4;}.narrative-next-grid article.pause{border-color:#eadfbe;background:#fbf7eb;}.narrative-next-grid span{color:#858581;font-size:11px;font-weight:800;letter-spacing:.06em;}.narrative-next-grid p{margin:8px 0 0;color:#454744;font-weight:650;line-height:1.65;}.narrative-next>small{color:#858581;}
.narrative-report-appendix{border-top:1px solid #e5e4e0;padding-top:16px;color:#5f605d;}.narrative-report-appendix summary{cursor:pointer;color:#4f75d8;font-weight:700;}.narrative-report-appendix>div{display:grid;gap:12px;margin-top:16px;padding:18px;border-radius:10px;background:#f7f7f5;}.narrative-report-appendix p{margin:0;line-height:1.7;}.narrative-dimension-tags{display:flex;flex-wrap:wrap;gap:7px;}.narrative-dimension-tags span{padding:5px 8px;border-radius:6px;background:#fff;color:#646560;font-size:12px;}
@media(max-width:760px){.assessment-cycle-status{white-space:normal;}.joint-report-overview{padding:18px;}.narrative-verdict-tags{display:grid;}.narrative-market-grid,.narrative-next-grid{grid-template-columns:1fr;}.joint-report-section h4{font-size:19px;}}

/* Stage 3 verifiable prototype guidance */
.stage-3-guide .stage1-value-hero h2{color:#3d3d3a;}.stage-3-guide .creator-chapter-actions button{background:#fff;color:#3d3d3a;}.stage-3-guide .stage3-actions button:nth-child(1) .stage-action-icon{color:#4a75d6;background:#eaf3fd;}.stage-3-guide .stage3-actions button:nth-child(2) .stage-action-icon{color:#a66a16;background:#fbf3db;}.stage-3-guide .stage3-actions button:nth-child(3) .stage-action-icon{color:#63ab4b;background:#dbf3da;}
.stage3-operating-grid{align-items:start;}.creator-ln-main .prototype-proposal-board>header{min-height:52px;align-items:center;justify-content:space-between;flex-direction:row;gap:16px;}.creator-ln-main .prototype-proposal-board>header h2{margin:0;}.prototype-proposal-status{flex:0 0 auto;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:0;white-space:nowrap;}.prototype-proposal-status.ready{color:#176e61;background:#e5f3ef;}.prototype-proposal-status.empty{color:#8a6500;background:#fbf3db;}
.prototype-proposal-card{display:grid;gap:18px;padding:18px 0 0;}.prototype-proposal-visual{position:relative;overflow:hidden;border:1px solid #e7e6e2;border-radius:10px;background:#f5f6f7;}.prototype-proposal-visual img{display:block;width:100%;height:220px;object-fit:contain;}.prototype-proposal-visual>span{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.9);color:#6b6b67;font-size:11px;font-weight:700;backdrop-filter:blur(4px);}.prototype-proposal-copy{display:grid;gap:11px;padding-bottom:24px;}.prototype-proposal-copy>small{color:#4a75d6;font-size:12px;font-weight:750;letter-spacing:.04em;}.prototype-proposal-copy h3{margin:0;color:#30312f;font-size:23px;line-height:1.35;}.prototype-proposal-copy>p{margin:0;color:#666763;line-height:1.7;}.prototype-proposal-copy>button{justify-self:start;margin-top:4px;}
.prototype-proposal-facts{display:grid;margin:2px 0 0;border-top:1px solid #e8e7e3;}.prototype-proposal-facts div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid #e8e7e3;}.prototype-proposal-facts dt{color:#858581;font-size:12px;font-weight:700;}.prototype-proposal-facts dd{margin:0;color:#454744;font-size:13px;line-height:1.6;overflow-wrap:anywhere;}.prototype-boundary{display:grid;gap:8px;padding:15px 16px;border-left:3px solid #4a75d6;background:#f4f7fc;}.prototype-boundary>b{color:#30312f;font-size:13px;}.prototype-boundary p{display:grid;gap:5px;margin:0;color:#5f605d;font-size:12px;line-height:1.55;}
.prototype-proposal-empty{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center;color:#6b6b67;}.prototype-proposal-empty>i{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;color:#4a75d6;background:#eaf3fd;}.prototype-proposal-empty svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}.prototype-proposal-empty>b{color:#30312f;font-size:17px;}.prototype-proposal-empty>p{max-width:500px;margin:0;line-height:1.7;}.prototype-proposal-empty ul{display:grid;gap:6px;margin:3px 0 6px;padding:0;list-style:none;text-align:left;font-size:13px;}.prototype-proposal-empty li::before{content:"✓";margin-right:8px;color:#3f7d35;font-weight:800;}
.stage3-lesson-copy>p{margin:0 0 12px!important;}.stage3-lesson-copy>p:last-child{margin-bottom:0!important;}.stage3-lesson-copy>p>b{color:#3d3d3a;}.stage3-method-list,.stage3-timeline{display:grid;gap:8px;margin:0;padding-left:20px;color:#5f605d;font-size:12px;line-height:1.65;}.stage3-method-list li,.stage3-timeline li{padding-left:2px;}.stage3-method-list b,.stage3-timeline b{color:#3d3d3a;}.stage3-method-list.risk li::marker{color:#b26a35;}
.stage3-category-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.stage3-category-guide article{padding:11px 12px;border:1px solid #e5e5e1;border-radius:8px;background:#fafaf9;}.stage3-category-guide b{color:#176e61;font-size:12px;}.stage3-category-guide p{margin:5px 0 0!important;color:#666763!important;font-size:11px!important;line-height:1.6!important;}.stage3-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;}.stage3-time-grid span{display:grid;gap:4px;padding:10px 11px;border-radius:8px;background:#f7f7f5;color:#6b6b67;font-size:11px;}.stage3-time-grid b{color:#3d3d3a;font-size:12px;}
.stage3-proposal-form{display:grid;gap:24px;max-width:960px;}.stage3-proposal-form>section{display:grid;gap:16px;padding-bottom:24px;border-bottom:1px solid #e6e5e1;}.stage3-proposal-form>section>header{display:grid;gap:4px;}.stage3-proposal-form>section>header b{color:#30312f;font-size:16px;}.stage3-proposal-form>section>header span{color:#777773;font-size:13px;}.stage3-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}.stage3-form-grid label{display:grid;align-content:start;gap:7px;}.stage3-form-grid label.wide{grid-column:1/-1;}.stage3-form-grid label>span{color:#3d3d3a;font-size:13px;font-weight:700;}.stage3-form-grid input,.stage3-form-grid select,.stage3-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #deddd9;border-radius:8px;background:#fff;color:#3d3d3a;padding:11px 12px;font:inherit;}.stage3-form-grid textarea{min-height:92px;resize:vertical;line-height:1.6;}.stage3-form-grid input:focus,.stage3-form-grid select:focus,.stage3-form-grid textarea:focus{outline:2px solid rgba(74,117,214,.18);border-color:#4a75d6;}.stage3-proposal-boundary{display:flex;gap:13px;padding:15px;border-radius:10px;background:#f4f7fc;color:#606b7a;}.stage3-proposal-boundary>i{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:9px;color:#4a75d6;background:#e3ebfb;}.stage3-proposal-boundary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;}.stage3-proposal-boundary>div{display:grid;gap:4px;}.stage3-proposal-boundary b{color:#30312f;}.stage3-proposal-boundary span{font-size:12px;line-height:1.6;}
@media(max-width:900px){.prototype-proposal-visual img{height:190px;}.stage3-category-guide{grid-template-columns:1fr;}}
@media(max-width:760px){.prototype-proposal-status{white-space:normal;}.prototype-proposal-facts div{grid-template-columns:1fr;gap:5px;}.stage3-form-grid,.stage3-time-grid{grid-template-columns:1fr;}.stage3-form-grid label.wide{grid-column:auto;}.stage3-proposal-form>section{padding-bottom:20px;}.stage3-proposal-boundary{align-items:flex-start;}}

/* Stage 3 physical Proto iteration and embedded guidance */
.stage3-workflow-column{display:grid;gap:28px;min-width:0;}.stage3-process-guide{border-bottom:1px solid #e5e4e0;background:#fff;}.stage3-process-guide>header{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5e4e0;}.stage3-process-guide>header small{display:block;margin-bottom:3px;color:#4f75d8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}.stage3-process-guide>header h2{margin:0;color:#30312f;font-size:22px;}.stage3-process-guide>header>span{color:#858581;font-size:12px;font-weight:750;}.stage3-process-route{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:18px 0 14px;}.stage3-process-route button{min-width:0;display:grid;justify-items:center;gap:7px;border:0;background:transparent;color:#999994;font:inherit;cursor:pointer;}.stage3-process-route i{display:grid;width:29px;height:29px;place-items:center;border:1px solid #deddd9;border-radius:50%;background:#fff;font-size:11px;font-style:normal;font-weight:800;}.stage3-process-route span{font-size:10px;font-weight:700;line-height:1.3;text-align:center;}.stage3-process-route button.done{color:#327465;}.stage3-process-route button.done i{border-color:#bcdcd2;background:#e8f4f0;}.stage3-process-route button.active{color:#345fbf;}.stage3-process-route button.active i{border-color:#b9caef;background:#eaf1fc;box-shadow:0 0 0 4px rgba(74,117,214,.08);}.stage3-inline-coach{display:grid;gap:9px;margin-bottom:22px;padding:17px 18px;border-left:3px solid #4f75d8;border-radius:0 9px 9px 0;background:#f5f8fd;}.stage3-inline-coach>b{color:#30312f;font-size:15px;}.stage3-inline-coach>p{margin:0;color:#5f605d;font-size:13px;line-height:1.65;}.stage3-inline-coach dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:2px 0 0;}.stage3-inline-coach dl div{padding:10px 11px;border-radius:7px;background:#fff;}.stage3-inline-coach dt{color:#4f75d8;font-size:10px;font-weight:800;}.stage3-inline-coach dd{margin:5px 0 0;color:#646560;font-size:11px;line-height:1.55;}
.creator-ln-main .stage3-prototype-board>header{min-height:52px;align-items:center;justify-content:space-between;flex-direction:row;gap:18px;}.stage3-prototype-board>header>div{display:grid;gap:3px;}.stage3-prototype-board>header h2,.stage3-prototype-board>header p{margin:0;}.stage3-prototype-board>header p{color:#858581;font-size:11px;}.stage3-prototype-list{display:grid;gap:14px;padding:18px 0 4px;}.stage3-proto-card{display:grid;grid-template-columns:160px minmax(0,1fr);gap:17px;padding:15px;border:1px solid #e5e4e0;border-radius:11px;background:#fff;box-shadow:0 8px 24px rgba(32,35,32,.035);}.stage3-proto-card.selected-target{border-color:#9fcfc1;box-shadow:0 0 0 3px rgba(42,129,107,.07);}.stage3-proto-photo{position:relative;align-self:start;overflow:hidden;border-radius:9px;background:#f3f4f4;}.stage3-proto-photo img{display:block;width:100%;height:150px;object-fit:contain;}.stage3-proto-photo span{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.9);color:#6f706c;font-size:9px;font-weight:750;}.stage3-proto-content{display:grid;gap:10px;min-width:0;}.stage3-proto-content>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}.stage3-proto-content>header small{color:#4f75d8;font-size:10px;font-weight:800;letter-spacing:.04em;}.stage3-proto-content h3{margin:4px 0 0;color:#30312f;font-size:18px;line-height:1.35;}.stage3-proto-content>p{margin:0;color:#666763;font-size:12px;line-height:1.6;}.stage3-proto-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;}.stage3-proto-badges strong{padding:6px 9px;border-radius:999px;background:#dff1ea;color:#176e61;font-size:10px;white-space:nowrap;}.stage3-proto-facts{display:grid;margin:0;border-top:1px solid #ecebe8;}.stage3-proto-facts div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid #ecebe8;}.stage3-proto-facts dt{color:#858581;font-size:10px;font-weight:750;}.stage3-proto-facts dd{margin:0;color:#4f504d;font-size:11px;line-height:1.55;overflow-wrap:anywhere;}.stage3-readiness{display:grid;gap:3px;padding:10px 11px;border-radius:7px;font-size:11px;}.stage3-readiness.pending{background:#fbf5e5;color:#7e641b;}.stage3-readiness.ready{background:#edf7f3;color:#246c5c;}.stage3-readiness span{line-height:1.5;}.stage3-proto-actions{display:flex;flex-wrap:wrap;gap:8px;}.stage3-proto-actions button{min-height:34px;padding:7px 11px;font-size:11px;}
.stage3-prototype-form .stage3-context-tip{display:flex;gap:9px;padding:12px 13px;border-radius:8px;background:#f5f8fd;color:#5c6572;font-size:12px;line-height:1.55;}.stage3-context-tip b{flex:0 0 auto;color:#345fbf;}.stage3-photo-upload{display:grid;gap:10px;}.stage3-photo-upload>label{display:block;cursor:pointer;}.stage3-photo-upload>label input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;}.stage3-photo-upload>label>span{display:grid;gap:4px;place-items:center;padding:18px;border:1px dashed #c7d2e7;border-radius:9px;background:#f7f9fd;color:#345fbf;}.stage3-photo-upload>label small{color:#7c8490;font-size:10px;}.stage3-photo-upload>p{margin:0;color:#777773;font-size:11px;}.stage3-photo-empty{padding:11px;border-radius:8px;background:#f7f7f5;color:#777773;font-size:11px;}.stage3-photo-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}.stage3-photo-preview figure{overflow:hidden;margin:0;border:1px solid #e2e2de;border-radius:8px;background:#fff;}.stage3-photo-preview img{display:block;width:100%;height:110px;object-fit:contain;background:#f4f5f5;}.stage3-photo-preview figcaption{overflow:hidden;padding:6px 8px;color:#6c6d69;font-size:9px;text-overflow:ellipsis;white-space:nowrap;}.stage3-lesson-link{justify-self:start;padding:0;color:#4f75d8!important;}.stage4-selection-boundary{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px;padding:22px 0 0;border-top:1px solid #e5e4e0;}.stage4-selection-boundary>p{margin:0;padding:16px 18px;border-left:3px solid #d09a39;background:#fbf6e9;color:#625944;line-height:1.65;}.stage4-locked-target{display:grid;gap:6px;padding:16px 18px;border:1px solid #bcdcd2;border-radius:10px;background:#edf7f3;}.stage4-locked-target.missing{border-color:#e4d5ad;background:#fbf6e9;}.stage4-locked-target small{color:#327465;font-weight:800;}.stage4-locked-target b{color:#30312f;font-size:18px;}.stage4-locked-target span{color:#666763;font-size:12px;line-height:1.55;}
@media(max-width:1100px){.stage3-process-route{grid-template-columns:repeat(4,minmax(0,1fr));}.stage3-inline-coach dl{grid-template-columns:1fr;}.stage3-proto-card{grid-template-columns:130px minmax(0,1fr);}.stage3-proto-photo img{height:130px;}}
@media(max-width:760px){.stage3-process-route{grid-template-columns:repeat(2,minmax(0,1fr));}.creator-ln-main .stage3-prototype-board>header{align-items:flex-start;flex-direction:column;}.stage3-proto-card{grid-template-columns:1fr;}.stage3-proto-photo img{height:210px;}.stage3-proto-content>header{display:grid;}.stage3-proto-badges{justify-content:flex-start;}.stage3-proto-facts div{grid-template-columns:1fr;gap:4px;}.stage3-photo-preview{grid-template-columns:repeat(2,minmax(0,1fr));}.stage4-selection-boundary{grid-template-columns:1fr;}}
/* Stage 3 unified seven-step workbench */
.stage3-seven-step-workbench{display:grid;margin-top:34px;border-top:1px solid #e5e4e0;min-width:0}.stage3-seven-step-workbench>header{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:25px 0 20px;border-bottom:1px solid #e5e4e0}.stage3-seven-step-workbench>header small{display:block;margin-bottom:5px;color:#4f75d8;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.stage3-seven-step-workbench>header h2{margin:0;color:#30312f;font-size:27px}.stage3-seven-step-workbench>header p{margin:7px 0 0;color:#777773;font-size:13px;line-height:1.65}.stage3-seven-step-workbench>header>span{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#eef3fc;color:#365fb8;font-size:11px;font-weight:750}
.stage3-step-list{display:grid}.stage3-step-card{border:0;border-bottom:1px solid #e5e4e0;background:#fff}.stage3-step-card.current{margin:0 -14px;padding:0 14px;border:1px solid #cbd8ef;border-radius:12px;background:#f9fbff;box-shadow:0 10px 30px rgba(46,70,116,.06)}.stage3-step-card>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 0;cursor:pointer;list-style:none}.stage3-step-card>summary::-webkit-details-marker{display:none}.stage3-step-card>summary>i{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#f1f3f6;color:#747873;font-size:11px;font-style:normal;font-weight:800}.stage3-step-card.current>summary>i{background:#e7eefc;color:#365fb8}.stage3-step-card.completed>summary>i{background:#e8f4f0;color:#327465}
.stage3-step-card>summary>span{display:grid;gap:4px}.stage3-step-card>summary b{color:#30312f;font-size:18px}.stage3-step-card>summary small{color:#777773;font-size:12px;line-height:1.5}.stage3-step-card>summary>em{padding:6px 9px;border-radius:999px;background:#f4f4f2;color:#777773;font-size:10px;font-style:normal;font-weight:750}.stage3-step-card.current>summary>em{background:#e7eefc;color:#365fb8}.stage3-step-card.completed>summary>em{background:#e8f4f0;color:#327465}
.stage3-step-body{display:grid;gap:18px;padding:0 0 24px 58px}.stage3-step-guidance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stage3-step-guidance article{padding:14px 15px;border-radius:9px;background:#f7f7f5}.stage3-step-guidance b{color:#3d3d3a;font-size:12px}.stage3-step-guidance p,.stage3-step-guidance ul{margin:7px 0 0;color:#666763;font-size:12px;line-height:1.65}.stage3-step-guidance ul{display:grid;gap:4px;padding-left:17px}
.stage3-step-note{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-left:3px solid #8a74be;border-radius:0 8px 8px 0;background:#f7f4fb;color:#645e6d;font-size:12px;line-height:1.6}.stage3-step-note .text-button{flex:0 0 auto;color:#7258a6!important}.stage3-step-empty{display:grid;justify-items:start;gap:7px;padding:17px 18px;border:1px dashed #d9d8d3;border-radius:9px;background:#fafaf9}.stage3-step-empty b{color:#3d3d3a}.stage3-step-empty p{margin:0;color:#777773;font-size:12px;line-height:1.65}
.stage3-revision-list{display:grid;gap:12px}.stage3-embedded-proto{display:grid;grid-template-columns:150px minmax(0,1fr);gap:17px;padding:15px;border:1px solid #e2e2de;border-radius:10px;background:#fff}.stage3-embedded-proto.selected-target{border-color:#99caba;background:#f7fcfa;box-shadow:0 0 0 3px rgba(42,129,107,.06)}.stage3-embedded-proto>img{display:block;width:150px;height:150px;object-fit:contain;border-radius:8px;background:#f3f4f4}.stage3-embedded-proto>div{display:grid;gap:10px;min-width:0}.stage3-embedded-proto header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.stage3-embedded-proto header span{grid-column:1/-1;color:#4f75d8;font-size:10px;font-weight:800}.stage3-embedded-proto header b{font-size:17px}.stage3-embedded-proto header em{color:#327465;font-size:11px;font-style:normal;font-weight:750}
.stage3-embedded-proto dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:#e9e8e4}.stage3-embedded-proto dl div{min-width:0;padding:10px 11px;background:#fff}.stage3-embedded-proto dt{color:#858581;font-size:10px;font-weight:750}.stage3-embedded-proto dd{margin:4px 0 0;color:#4f504d;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.stage3-target-rule{margin:0;padding:9px 11px;border-radius:7px;background:#e7f3ee;color:#246c5c;font-size:11px;font-weight:750}
.stage3-step-note-form label{display:grid;gap:8px;color:#3d3d3a;font-size:13px;font-weight:700}.stage3-step-note-form textarea{width:100%;min-height:150px;box-sizing:border-box;padding:12px;border:1px solid #deddd9;border-radius:8px;color:#3d3d3a;font:inherit;line-height:1.7;resize:vertical}
@media(max-width:900px){.stage3-step-guidance{grid-template-columns:1fr}}
@media(max-width:760px){.stage3-seven-step-workbench>header{align-items:flex-start;flex-direction:column}.stage3-step-card.current{margin:0 -8px;padding:0 8px}.stage3-step-card>summary{grid-template-columns:36px minmax(0,1fr);gap:11px}.stage3-step-card>summary>i{width:32px;height:32px}.stage3-step-card>summary>em{grid-column:2;justify-self:start}.stage3-step-body{padding-left:0}.stage3-step-note{align-items:flex-start;flex-direction:column}.stage3-embedded-proto{grid-template-columns:1fr}.stage3-embedded-proto>img{width:100%;height:210px}.stage3-embedded-proto dl{grid-template-columns:1fr}}

.creator-ln-main .stage-3-guide .stage1-value-head{grid-template-columns:minmax(0,1fr)}
.stage3-add-sample{margin-top:2px;border-left-color:#4f75d8;background:#f5f8fd}.stage3-add-sample .primary-button{flex:0 0 auto}
/* Keep the Stage 1 introduction comfortably separated from its action rail. */
@media (min-width: 1100px) {
  .creator-ln-main .stage-1-guide:not(.stage-2-guide):not(.stage-3-guide):not(.stage-4-guide) .stage1-value-head {
    column-gap: clamp(36px, 3vw, 56px);
  }
  .creator-ln-main .stage-1-guide:not(.stage-2-guide):not(.stage-3-guide):not(.stage-4-guide) .stage1-value-hero p {
    max-width: 690px;
  }
}
@media(max-width:760px){.stage3-add-sample .primary-button{width:100%}}
/* Wide desktop hero copy fits comfortably on one line in Stages 3 and 4. */
@media (min-width: 1321px) {
  .creator-ln-main :is(.stage-3-guide, .stage-4-guide) .stage1-value-hero p {
    max-width: none;
    white-space: nowrap;
  }
}

/* Stage 4 creator-side user selection project */
.stage4-campaign-workbench{display:grid;gap:28px;margin-top:34px;padding-top:26px;border-top:1px solid #e5e4e0;min-width:0}.stage4-workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.stage4-workbench-head small{color:#4f75d8;font-size:10px;font-weight:850;letter-spacing:.09em}.stage4-workbench-head h2{margin:5px 0 7px;color:#30312f;font-size:28px}.stage4-workbench-head p{max-width:720px;margin:0;color:#777773;font-size:13px;line-height:1.65}.stage4-project-status{flex:0 0 auto;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}.stage4-project-status.ready{background:#e4f3ec;color:#26705f}.stage4-project-status.draft{background:#f7f0dc;color:#82661f}
.stage4-workbench-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.stage4-workbench-actions .secondary-button{white-space:nowrap}
.task-modal-stage4-preview{width:min(1440px,calc(100vw - 40px));height:calc(100dvh - 40px);max-height:none}.task-modal-stage4-preview .task-modal-scroll{padding:18px;background:#f3f4f1}.stage4-preview-modal-body{width:min(1280px,100%);margin:0 auto}.task-modal-stage4-preview .stage4-public-project{margin:0;box-shadow:0 18px 50px rgba(33,39,35,.1)}
.stage4-preview{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);overflow:hidden;border:1px solid #dfdfdb;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(33,36,33,.06)}.stage4-preview-main{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(280px,1.1fr);min-width:0}.stage4-preview-main>img{display:block;width:100%;height:300px;min-height:0;max-height:300px;align-self:start;object-fit:contain;background:#f1f3f3}.stage4-preview-label{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e7e7e3}.stage4-preview-label span{color:#30312f;font-size:12px;font-weight:800}.stage4-preview-label em{color:#327465;font-size:10px;font-style:normal;font-weight:750}.stage4-preview-copy{display:flex;min-width:0;padding:34px 30px;flex-direction:column;justify-content:center}.stage4-preview-copy h3{margin:0;color:#242622;font-size:30px;line-height:1.25}.stage4-preview-copy>p{margin:15px 0 22px;color:#686965;font-size:14px;line-height:1.75}.stage4-preview-copy dl{display:grid;gap:0;margin:0;border-top:1px solid #e8e8e4}.stage4-preview-copy dl div{padding:13px 0;border-bottom:1px solid #e8e8e4}.stage4-preview-copy dt{color:#858581;font-size:10px;font-weight:800}.stage4-preview-copy dd{margin:6px 0 0;color:#4f504d;font-size:12px;line-height:1.6}
.stage4-goal-card{display:flex;padding:30px 26px;border-left:1px solid #dfdfdb;background:#fbfaf7;flex-direction:column}.stage4-no-payment{align-self:flex-start;padding:6px 9px;border-radius:999px;background:#e8f3ee;color:#26705f;font-size:10px;font-weight:850}.stage4-goal-card>b{margin-top:27px;color:#242622;font-size:38px}.stage4-goal-card>b small{font-size:16px}.stage4-goal-card>p{margin:3px 0 15px;color:#7b7c77;font-size:11px}.stage4-progress{overflow:hidden;height:7px;border-radius:999px;background:#e4e4df}.stage4-progress i{display:block;height:100%;border-radius:inherit;background:#3579d4}.stage4-goal-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 24px}.stage4-goal-facts div{display:grid;gap:4px}.stage4-goal-facts strong{color:#30312f;font-size:15px}.stage4-goal-facts span{color:#898a85;font-size:9px}.stage4-goal-card .primary-button{width:100%;margin-top:auto}.stage4-goal-card>small{margin-top:10px;color:#8b8170;font-size:10px;line-height:1.5;text-align:center}
.stage4-editor{display:grid;gap:14px}.stage4-edit-section{padding:23px 24px;border:1px solid #e2e2de;border-radius:12px;background:#fff}.stage4-edit-section>header{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:13px;align-items:start;margin-bottom:18px}.stage4-edit-section>header>i{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:#edf2fc;color:#426ac0;font-size:10px;font-style:normal;font-weight:850}.stage4-edit-section>header h3{margin:1px 0 4px;color:#30312f;font-size:18px}.stage4-edit-section>header p{margin:0;color:#777773;font-size:11px;line-height:1.55}.stage4-edit-section>header button{align-self:center}.stage4-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.stage4-field{display:grid;gap:7px;min-width:0}.stage4-field.wide{grid-column:1/-1}.stage4-field label{color:#565752;font-size:11px;font-weight:750}.stage4-field input,.stage4-field textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #dcdcd7;border-radius:8px;background:#fff;color:#30312f;font:inherit;font-size:12px;line-height:1.6}.stage4-field textarea{min-height:72px;resize:vertical}.stage4-field textarea.tall{min-height:132px}.stage4-money-input,.stage4-suffix-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #dcdcd7;border-radius:8px;background:#f7f7f5}.stage4-money-input span,.stage4-suffix-input span{padding:0 11px;color:#757671;font-size:12px;font-weight:800}.stage4-money-input input,.stage4-suffix-input input{border:0;border-left:1px solid #e0e0dc;border-radius:0;background:#fff}.stage4-suffix-input{grid-template-columns:minmax(0,1fr) auto}.stage4-suffix-input input{border-right:1px solid #e0e0dc;border-left:0}
.stage4-tier-list{display:grid;gap:10px}.stage4-tier-row{display:grid;grid-template-columns:minmax(180px,.7fr) 150px minmax(260px,1.3fr) auto;gap:12px;align-items:end;padding:15px;border-radius:9px;background:#f7f7f5}.stage4-tier-row .wide{grid-column:auto}.stage4-tier-row .danger{align-self:center;color:#a65b55!important}.stage4-publish-check{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1px;overflow:hidden;border:1px solid #cbd8d2;border-radius:13px;background:#cbd8d2}.stage4-publish-check>div,.stage4-publish-check>aside{padding:25px;background:#f8fcfa}.stage4-publish-check small{color:#327465;font-size:10px;font-weight:850;letter-spacing:.08em}.stage4-publish-check h3{margin:6px 0 17px;color:#30312f;font-size:20px}.stage4-publish-check ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.stage4-publish-check li{display:flex;gap:8px;color:#5f605d;font-size:11px}.stage4-publish-check li i{font-style:normal}.stage4-publish-check li.done i{color:#27806b}.stage4-publish-check li.pending i{color:#b0892c}.stage4-publish-check>aside{background:#edf6f2}.stage4-publish-check>aside>b{color:#256d5d;font-size:16px}.stage4-publish-check>aside>p{margin:8px 0 18px;color:#52645d;font-size:12px;line-height:1.65}.stage4-publish-check>aside>div{display:flex;flex-wrap:wrap;gap:8px}.stage4-empty{display:grid;justify-items:start;gap:9px;margin-top:30px;padding:25px;border:1px dashed #d6c79f;border-radius:11px;background:#fbf6e9}.stage4-empty p{margin:0;color:#756b52;font-size:12px;line-height:1.65}
@media(max-width:1100px){.stage4-preview{grid-template-columns:1fr}.stage4-goal-card{border-top:1px solid #dfdfdb;border-left:0}.stage4-preview-main>img{height:280px;max-height:280px}.stage4-tier-row{grid-template-columns:minmax(0,1fr) 140px}.stage4-tier-row .wide{grid-column:1/-1}.stage4-tier-row .danger{justify-self:start}}
@media(max-width:760px){.stage4-workbench-head{align-items:flex-start;flex-direction:column}.stage4-workbench-actions{width:100%;justify-content:space-between}.stage4-preview-main{grid-template-columns:1fr}.stage4-preview-main>img{height:240px;max-height:240px}.stage4-preview-copy{padding:24px 20px}.stage4-preview-copy h3{font-size:24px}.stage4-preview-label{align-items:flex-start;flex-direction:column}.stage4-form-grid{grid-template-columns:1fr}.stage4-field.wide{grid-column:auto}.stage4-edit-section{padding:18px 16px}.stage4-edit-section>header{grid-template-columns:32px minmax(0,1fr)}.stage4-edit-section>header button{grid-column:1/-1}.stage4-tier-row{grid-template-columns:1fr}.stage4-tier-row .wide{grid-column:auto}.stage4-publish-check{grid-template-columns:1fr}.task-modal-stage4-preview{width:100vw;height:100dvh}.task-modal-stage4-preview .task-modal-scroll{padding:8px}}

/* Stage 4 full project page and interaction operations */
.stage4-mode-switch{display:flex;width:max-content;max-width:100%;gap:4px;padding:4px;border-radius:10px;background:#f0f0ed}.stage4-mode-switch button{padding:9px 14px;border:0;border-radius:7px;background:transparent;color:#747570;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.stage4-mode-switch button.active{background:#fff;color:#2f5f53;box-shadow:0 2px 8px rgba(32,36,33,.08)}.stage4-legacy-summary,.stage4-editor-hidden{display:none!important}
.stage4-public-project{overflow:clip;border:1px solid #dddeda;border-radius:15px;background:#fff;box-shadow:0 18px 50px rgba(35,39,35,.07)}.stage4-public-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;border-bottom:1px solid #e6e6e2;background:#fafaf8}.stage4-public-kicker span{color:#313330;font-size:11px;font-weight:850}.stage4-public-kicker em{color:#2d7463;font-size:10px;font-style:normal;font-weight:800}
.stage4-public-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);min-height:0}.stage4-public-media{position:relative;min-width:0;height:340px;background:#eff1f0}.stage4-public-media img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.stage4-public-media>span{position:absolute;right:16px;bottom:16px;padding:7px 10px;border-radius:999px;background:rgba(29,43,38,.86);color:#fff;font-size:10px;font-weight:800}.stage4-public-summary{display:flex;padding:34px 30px;flex-direction:column}.stage4-public-summary>small{color:#317866;font-size:10px;font-weight:850;letter-spacing:.05em}.stage4-public-summary h2{margin:9px 0 10px;color:#252724;font-size:30px;line-height:1.2}.stage4-public-summary>p{margin:0 0 23px;color:#6d6e69;font-size:13px;line-height:1.7}.stage4-public-summary>b{margin:14px 0 0;color:#252724;font-size:30px}.stage4-public-summary>b small{font-size:12px}.stage4-public-progress{overflow:hidden;height:8px;border-radius:999px;background:#e7e7e3}.stage4-public-progress i{display:block;height:100%;border-radius:inherit;background:#2f806c}.stage4-public-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.stage4-public-facts span{display:grid;gap:3px;color:#8a8b86;font-size:9px}.stage4-public-facts strong{color:#353633;font-size:15px}.stage4-public-summary .primary-button,.stage4-public-summary .secondary-button{width:100%;margin-top:8px}.stage4-public-boundary{margin:10px 0 0!important;color:#897f69!important;font-size:10px!important;text-align:center}
.stage4-project-nav{position:sticky;top:0;z-index:8;display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:0 18px;border-top:1px solid #e2e2de;border-bottom:1px solid #e2e2de;background:#fff;box-shadow:0 5px 14px rgba(35,39,35,.04)}.stage4-project-nav button{position:relative;display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:17px 16px 15px;border:0;background:transparent;color:#62635f;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.stage4-project-nav button:after{position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:3px 3px 0 0;background:transparent;content:""}.stage4-project-nav button.active{color:#266f5e}.stage4-project-nav button.active:after{background:#2f806c}.stage4-project-nav em{display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border-radius:999px;background:#edf3f0;color:#347363;font-size:9px;font-style:normal}
.stage4-project-tab-content{min-height:420px}.stage4-campaign-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:40px;padding:42px}.stage4-story-column{display:grid;gap:42px}.stage4-story-section{padding-bottom:36px;border-bottom:1px solid #e7e7e3}.stage4-story-section:last-child{border-bottom:0}.stage4-story-section>span,.stage4-tab-section header>small{color:#4f75d8;font-size:9px;font-weight:900;letter-spacing:.12em}.stage4-story-section h3,.stage4-tab-section header h3{margin:7px 0 15px;color:#292b28;font-size:24px}.stage4-story-section>p{margin:0;color:#62635f;font-size:13px;line-height:1.9;white-space:pre-line}.stage4-sample-journey{display:grid;gap:0}.stage4-sample-journey article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:15px 0;border-top:1px solid #ecece8}.stage4-sample-journey i{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#edf2fc;color:#496fc5;font-size:10px;font-style:normal;font-weight:850}.stage4-sample-journey b{font-size:13px}.stage4-sample-journey p{margin:4px 0 0;color:#6d6e69;font-size:11px;line-height:1.65}.stage4-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:15px}.stage4-detail-grid article{padding:15px;border-radius:9px;background:#f5f6f4}.stage4-detail-grid small{color:#307362;font-size:10px;font-weight:800}.stage4-detail-grid p{margin:7px 0 0;color:#595a56;font-size:11px;line-height:1.65}.stage4-timeline{display:grid;gap:8px;margin-bottom:16px}.stage4-timeline article{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:12px 14px;border-radius:8px;background:#f7f7f5}.stage4-timeline time{color:#2f7765;font-size:10px;font-weight:800}.stage4-timeline b{font-size:11px}.stage4-risk-note{padding:24px;border:1px solid #e8dfc9;border-radius:10px;background:#fcf8ed}.stage4-risk-note strong{display:block;margin-top:14px;color:#816524;font-size:11px}
.stage4-story-rail{display:grid;align-content:start;gap:12px}.stage4-benefit-card,.stage4-inline-tier{padding:20px;border:1px solid #e1e1dd;border-radius:10px;background:#fff}.stage4-benefit-card{border-color:#d9e8e1;background:#f2f8f5}.stage4-benefit-card small,.stage4-inline-tier small{color:#327563;font-size:9px;font-weight:850}.stage4-benefit-card h3{margin:7px 0;font-size:17px}.stage4-benefit-card p,.stage4-inline-tier p{margin:0;color:#696a66;font-size:11px;line-height:1.65}.stage4-benefit-card em{display:block;margin-top:12px;color:#7b8e86;font-size:9px;font-style:normal}.stage4-inline-tier>b{display:block;margin-top:9px;color:#2d2e2b;font-size:25px}.stage4-inline-tier h4{margin:7px 0;font-size:14px}.stage4-inline-tier button{width:100%;margin-top:14px}
.stage4-tab-section{padding:42px}.stage4-tab-section>header{max-width:720px;margin-bottom:28px}.stage4-tab-section header p{margin:0;color:#777873;font-size:12px;line-height:1.7}.stage4-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stage4-reward-grid article{display:flex;min-height:280px;padding:22px;border:1px solid #dfdfdb;border-radius:10px;flex-direction:column}.stage4-reward-grid article>span{color:#4f75d8;font-size:9px;font-weight:850}.stage4-reward-grid article>b{margin-top:18px;font-size:30px}.stage4-reward-grid article h4{margin:8px 0;font-size:16px}.stage4-reward-grid article p{color:#686965;font-size:11px;line-height:1.7}.stage4-reward-grid article button{width:100%;margin-top:auto}.stage4-reward-grid article>small{margin-top:8px;color:#8b8170;font-size:9px;text-align:center}
.stage4-creator-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;max-width:760px;padding:24px;border:1px solid #e1e1dd;border-radius:11px}.stage4-creator-avatar{display:grid;width:64px;height:64px;place-items:center;border-radius:50%;object-fit:cover;background:#eaf3ef;color:#2f7564;font-size:24px;font-weight:850}.stage4-creator-card h4{margin:2px 0 8px;font-size:18px}.stage4-creator-card p{margin:0;color:#686965;font-size:12px;line-height:1.7}.stage4-creator-card span{display:block;margin-top:10px;color:#8a8b86;font-size:10px}.stage4-trust-note{max-width:760px;margin-top:14px;padding:17px;border-left:3px solid #4f75d8;background:#f3f6fc}.stage4-trust-note b{font-size:12px}.stage4-trust-note p{margin:6px 0 0;color:#676864;font-size:11px;line-height:1.6}
.stage4-faq-list{max-width:880px;border-top:1px solid #dededa}.stage4-faq-list details{border-bottom:1px solid #dededa}.stage4-faq-list summary{padding:17px 3px;color:#353633;font-size:13px;font-weight:800;cursor:pointer}.stage4-faq-list details p{margin:0;padding:0 3px 18px;color:#676864;font-size:12px;line-height:1.75}.stage4-update-list{display:grid;max-width:880px;gap:0}.stage4-update-list article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:20px 0;border-top:1px solid #e4e4e0}.stage4-update-list time{color:#347563;font-size:10px;font-weight:800}.stage4-update-list h4{margin:0 0 6px;font-size:15px}.stage4-update-list p{margin:0;color:#686965;font-size:11px;line-height:1.7}
.stage4-comment-list{display:grid;max-width:880px;gap:12px}.stage4-comment-list>article{padding:18px;border:1px solid #e2e2de;border-radius:10px}.stage4-comment-head{display:flex;justify-content:space-between;gap:12px}.stage4-comment-head b{font-size:12px}.stage4-comment-head time{color:#92938e;font-size:9px}.stage4-comment-list>article>p{margin:10px 0;color:#555652;font-size:12px;line-height:1.7}.stage4-comment-list aside{margin-top:12px;padding:12px 14px;border-radius:8px;background:#f2f7f5}.stage4-comment-list aside b{color:#2f7463;font-size:10px}.stage4-comment-list aside p{margin:5px 0 0;color:#5d5e5a;font-size:11px;line-height:1.65}.stage4-awaiting-reply{color:#a37a21;font-size:9px;font-weight:800}
.stage4-community-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:880px}.stage4-community-stats article{display:grid;padding:18px;border-radius:9px;background:#f4f5f3}.stage4-community-stats b{font-size:25px}.stage4-community-stats span{margin-top:4px;color:#81827d;font-size:10px}.stage4-community-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;max-width:880px;margin-top:12px}.stage4-community-grid>article{padding:19px;border:1px solid #e2e2de;border-radius:9px}.stage4-community-grid h4{margin:0 0 14px;font-size:13px}.stage4-bar-row{display:grid;grid-template-columns:120px minmax(80px,1fr) 24px;gap:8px;align-items:center;margin-top:9px}.stage4-bar-row span{font-size:10px}.stage4-bar-row>i{overflow:hidden;height:6px;border-radius:999px;background:#e5e7e4}.stage4-bar-row>i em{display:block;height:100%;border-radius:inherit;background:#4e78ce}.stage4-bar-row>b{font-size:10px}.stage4-concern-tags{display:flex;flex-wrap:wrap;gap:7px}.stage4-concern-tags span{padding:7px 9px;border-radius:999px;background:#f0f5f3;color:#337261;font-size:10px}
.stage4-operations-panel{display:grid;gap:16px;padding:25px;border:1px solid #dfe1dc;border-radius:13px;background:#f7f8f6}.stage4-operations-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.stage4-operations-panel>header small{color:#4f75d8;font-size:9px;font-weight:900}.stage4-operations-panel>header h3{margin:5px 0;font-size:21px}.stage4-operations-panel>header p{margin:0;color:#777873;font-size:11px}.stage4-operation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.stage4-operation-stats article{display:grid;padding:16px;border:1px solid #e1e1dd;border-radius:9px;background:#fff}.stage4-operation-stats span{color:#777873;font-size:10px;font-weight:750}.stage4-operation-stats b{margin-top:8px;font-size:23px}.stage4-operation-stats b small{font-size:10px}.stage4-operation-stats em{margin-top:5px;color:#969792;font-size:9px;font-style:normal;line-height:1.5}.stage4-operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stage4-operations-grid>section{display:grid;align-content:start;gap:9px;padding:18px;border:1px solid #e1e1dd;border-radius:9px;background:#fff}.stage4-operations-grid h4{margin:0 0 5px;font-size:14px}.stage4-reply-card,.stage4-operation-update{display:grid;gap:7px;padding:13px;border-radius:8px;background:#f6f7f5}.stage4-reply-card b,.stage4-operation-update b{font-size:11px}.stage4-reply-card p,.stage4-operation-update p{margin:0;color:#666763;font-size:10px;line-height:1.6}.stage4-reply-card textarea{min-height:70px;padding:9px;border:1px solid #d8d9d4;border-radius:7px;font:inherit;font-size:10px;resize:vertical}.stage4-reply-card button{justify-self:start}.stage4-operation-update time{color:#347563;font-size:9px}.stage4-platform-benefit{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #cfe2da;border-radius:9px;background:#edf6f2}.stage4-platform-benefit small{color:#327563;font-size:9px;font-weight:850}.stage4-platform-benefit h4{margin:5px 0;font-size:15px}.stage4-platform-benefit p{margin:0;color:#5c6b65;font-size:10px}.stage4-platform-benefit>span{flex:0 0 auto;color:#337261;font-size:10px;font-weight:800;text-align:right}.stage4-empty-copy{margin:0;color:#92938e;font-size:10px}
.stage4-faq-editor{display:grid;gap:9px}.stage4-faq-edit-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr) auto;gap:10px;align-items:end;padding:13px;border-radius:9px;background:#f7f7f5}.stage4-faq-edit-row .wide{grid-column:auto}.stage4-faq-edit-row .danger{align-self:center;color:#a65b55!important}
@media(max-width:1100px){.stage4-public-hero,.stage4-campaign-layout{grid-template-columns:1fr}.stage4-public-media{height:320px}.stage4-story-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.stage4-operation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stage4-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stage4-mode-switch{width:100%}.stage4-mode-switch button{flex:1}.stage4-public-kicker{align-items:flex-start;flex-direction:column}.stage4-public-media{height:240px}.stage4-public-summary{padding:24px 20px}.stage4-public-summary h2{font-size:24px}.stage4-project-nav{padding:0 7px}.stage4-project-nav button{padding:14px 11px 13px}.stage4-campaign-layout,.stage4-tab-section{padding:25px 18px}.stage4-story-rail,.stage4-detail-grid,.stage4-reward-grid,.stage4-community-stats,.stage4-community-grid,.stage4-operation-stats,.stage4-operations-grid{grid-template-columns:1fr}.stage4-timeline article{grid-template-columns:1fr;gap:5px}.stage4-operations-panel{padding:18px 14px}.stage4-operations-panel>header,.stage4-platform-benefit{align-items:flex-start;flex-direction:column}.stage4-faq-edit-row{grid-template-columns:1fr}.stage4-faq-edit-row .wide{grid-column:auto}}
/* Platform management console uses dense operational grids rather than creator cards. */
.admin-overview-grid { display: grid; }
.platform-shell { --admin-ink:#202522; --admin-muted:#717973; --admin-line:#dfe4e1; --admin-soft:#f3f5f3; --admin-green:#276f61; }
.platform-shell .workspace-layout { background:#f4f6f4; }
.admin-workspace { max-width:1500px; margin:0 auto; padding:30px 34px 46px; }
.admin-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.admin-page-head>div>span,.admin-stage-panel header span,.admin-batch-panel header span,.admin-attention-panel header span { color:var(--admin-green); font-size:10px; font-weight:900; letter-spacing:.12em; }
.admin-page-head h1 { margin:7px 0 5px; color:var(--admin-ink); font-size:30px; }
.admin-page-head p { margin:0; color:var(--admin-muted); font-size:13px; }
.admin-head-note { display:grid; gap:4px; min-width:250px; padding:13px 16px; border:1px solid #cfe0da; border-radius:9px; background:#edf5f1; }
.admin-head-note b { color:#2f6559; font-size:12px; }.admin-head-note span{color:#6d7c76;font-size:10px}
.admin-overview-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.admin-overview-grid article { display:grid; min-height:120px; padding:18px 20px; border:1px solid var(--admin-line); border-radius:10px; background:#fff; }
.admin-overview-grid article>span{color:var(--admin-muted);font-size:11px;font-weight:750}.admin-overview-grid article>b{margin-top:9px;color:var(--admin-ink);font-size:31px}.admin-overview-grid article>small{margin-top:auto;color:#929993;font-size:10px}.admin-overview-grid article.attention{border-color:#e8d6b4;background:#fbf7ed}
.admin-stage-panel,.admin-batch-panel,.admin-attention-panel{overflow:hidden;border-color:var(--admin-line);border-radius:11px;box-shadow:none}
.admin-stage-panel>header,.admin-batch-panel>header,.admin-attention-panel>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--admin-line)}
.admin-stage-panel h2,.admin-batch-panel h2,.admin-attention-panel h2{margin:4px 0 0;font-size:16px}.admin-stage-panel header>small,.admin-batch-panel header>small{color:#858d87;font-size:10px}
.admin-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.admin-stage-cell{display:grid;min-height:145px;padding:18px;border:0;border-right:1px solid var(--admin-line);background:#fff;text-align:left}.admin-stage-cell:last-child{border-right:0}.admin-stage-cell:hover{background:#f7faf8}.admin-stage-cell>span{color:#7d9b92;font-size:10px;font-weight:850}.admin-stage-cell>b{margin-top:8px;font-size:12px}.admin-stage-cell>strong{margin-top:14px;font-size:27px}.admin-stage-cell>small{margin-top:auto;color:#878e89;font-size:9px;line-height:1.5}
.admin-dashboard-columns{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:14px}.admin-batch-list,.admin-attention-list{display:grid}.admin-batch-list>button,.admin-attention-list>button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:72px;padding:13px 18px;border:0;border-bottom:1px solid var(--admin-line);background:#fff;text-align:left}.admin-batch-list>button:last-child,.admin-attention-list>button:last-child{border-bottom:0}.admin-batch-list>button:hover,.admin-attention-list>button:hover{background:#f7f9f7}.admin-batch-list i{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#eaf1ee;color:#2e6d60;font-size:10px;font-style:normal;font-weight:900}.admin-batch-list span,.admin-attention-list span{display:grid;gap:4px}.admin-batch-list b,.admin-attention-list b{font-size:12px}.admin-batch-list small,.admin-attention-list small{color:#7c837e;font-size:10px;line-height:1.45}.admin-batch-list em,.admin-attention-list em{color:#4f6961;font-size:9px;font-style:normal;font-weight:800;text-align:right}
.admin-attention-list>button{grid-template-columns:10px minmax(0,1fr) auto}.admin-attention-list i{width:7px;height:7px;border-radius:50%;background:#d1a13b}.admin-attention-list i.red{background:#b8564c}.admin-attention-list i.green{background:#4d8c70}.admin-empty{padding:36px;color:#8a918c;font-size:11px;text-align:center}
@media(max-width:1100px){.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard-columns{grid-template-columns:1fr}}
@media(max-width:760px){.admin-workspace{padding:20px 14px 36px}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-head-note{width:100%}.admin-overview-grid{grid-template-columns:1fr 1fr}.admin-stage-grid{grid-template-columns:1fr}.admin-stage-cell{min-height:100px;border-right:0;border-bottom:1px solid var(--admin-line)}.admin-nav{overflow-x:auto}.admin-nav .nav-item{flex:0 0 auto}}
.admin-operation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-operation-summary button{display:flex;align-items:center;gap:9px;padding:15px 17px;border:1px solid var(--admin-line);border-radius:9px;background:#fff;text-align:left}.admin-operation-summary button.active{border-color:#a8c9bd;background:#eef5f2}.admin-operation-summary b{font-size:20px}.admin-operation-summary span{color:#727a74;font-size:10px}
.admin-batch-recommendations{margin-bottom:14px}.admin-batch-recommendations>header{padding:16px 19px;border-bottom:1px solid var(--admin-line)}.admin-batch-recommendations h2{margin:4px 0 0;font-size:15px}.admin-batch-recommendations>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 19px;border-bottom:1px solid var(--admin-line)}.admin-batch-recommendations>div:last-child{border-bottom:0}.admin-batch-recommendations>div>span{display:grid;gap:5px}.admin-batch-recommendations>div b{font-size:12px}.admin-batch-recommendations>div small{color:#7d857f;font-size:10px}
.admin-exception-list{display:grid;gap:12px}.admin-exception-card{overflow:hidden;border:1px solid var(--admin-line);border-radius:11px;background:#fff}.admin-exception-card.red{border-color:#e3c3be}.admin-exception-card>header{display:flex;align-items:center;justify-content:space-between;padding:15px 19px;border-bottom:1px solid var(--admin-line)}.admin-exception-card>header>div{display:flex;align-items:center;gap:11px}.admin-exception-card>header i{width:8px;height:8px;border-radius:50%;background:#d29e36}.admin-exception-card.red>header i{background:#b9544c}.admin-exception-card>header span{display:grid;gap:3px}.admin-exception-card>header small{color:#838b85;font-size:8px;font-weight:850;letter-spacing:.08em}.admin-exception-card>header h2{margin:0;font-size:15px}.admin-exception-card>header em{padding:5px 8px;border-radius:999px;background:#f5f1e6;color:#88691f;font-size:9px;font-style:normal;font-weight:800}.admin-exception-card.red>header em{background:#f8ecea;color:#a04c45}
.admin-exception-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.admin-exception-evidence section{padding:17px 19px;border-right:1px solid var(--admin-line)}.admin-exception-evidence section:last-child{border-right:0}.admin-exception-evidence small{color:#7b847e;font-size:9px;font-weight:800}.admin-exception-evidence p{margin:7px 0 0;color:#4e554f;font-size:11px;line-height:1.65}.admin-exception-card>footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--admin-line);background:#fafbfa}
.admin-empty.large{padding:60px}
@media(max-width:900px){.admin-operation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-exception-evidence{grid-template-columns:1fr}.admin-exception-evidence section{border-right:0;border-bottom:1px solid var(--admin-line)}}

/* Management console: batch operations, registry, and stage overview */
.admin-batch-flow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.admin-batch-flow-grid article { min-height: 218px; padding: 24px; border: 1px solid #dedbd4; border-radius: 18px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.admin-batch-flow-grid article:nth-child(2) { background: #f1f7f4; }
.admin-batch-flow-grid i { width: 34px; height: 34px; border-radius: 10px; background: #edf2fb; color: #5972cb; display: grid; place-items: center; font-style: normal; font-weight: 800; }
.admin-batch-flow-grid h2 { margin: 18px 0 8px; font-size: 20px; }
.admin-batch-flow-grid p { margin: 0 0 20px; color: #697386; line-height: 1.7; }
.admin-batch-flow-grid .primary-button, .admin-process-state { margin-top: auto; }
.directory-import-preview { margin-bottom: 18px; padding: 22px; }
.directory-import-preview header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.directory-import-preview h2 { margin:4px 0 0; }
.admin-directory-list { display:grid; }
.admin-directory-list article { display:grid; grid-template-columns:minmax(0,1fr) auto 110px; align-items:center; gap:18px; padding:16px 0; border-bottom:1px solid #ebe8e1; }
.admin-directory-list article:last-child { border-bottom:0; }
.admin-directory-list span { display:grid; gap:5px; }
.admin-directory-list small { color:#747b77; }
.admin-directory-list a { color:#546dba; font-size:12px; text-align:right; }
.admin-process-state { padding: 10px 14px; border-radius: 10px; background: #e2efe9; color: #28745f; font-weight: 700; }
.admin-file-button { cursor: pointer; }
.admin-file-button input { display: none; }
.admin-assessment-status, .admin-ready-table, .admin-registry { margin-top: 18px; padding: 24px; }
.admin-assessment-status > header, .admin-ready-table > header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; }
.admin-assessment-status header span, .admin-ready-table header span { color: #79869d; font-size: 11px; letter-spacing: .12em; }
.admin-assessment-status h2, .admin-ready-table h2 { margin: 5px 0 0; }
.admin-import-summary { display: grid; grid-template-columns: 150px 150px 170px 1fr; gap: 12px; align-items: stretch; }
.admin-import-summary > div { padding: 16px; border-radius: 12px; background: #f6f7f8; display: flex; flex-direction: column; }
.admin-import-summary b { font-size: 28px; }
.admin-import-summary span, .admin-import-summary p { color: #6d7684; }
.admin-import-summary p { margin: 0; padding: 12px 18px; line-height: 1.65; border-left: 3px solid #77aea2; }
.admin-table > div { display: grid; grid-template-columns: 1fr 1.5fr 160px; gap: 18px; align-items: center; padding: 15px 4px; border-top: 1px solid #eceae5; }
.admin-table span { display: flex; flex-direction: column; gap: 4px; }
.admin-table small { color: #89919e; }
.admin-table em { color: #936f1a; font-style: normal; text-align: right; }
.admin-registry-tools { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; }
.admin-registry-tools label { display: flex; flex-direction: column; gap: 7px; width: min(420px, 60%); color: #687386; font-size: 12px; font-weight: 700; }
.admin-registry-tools input { padding: 11px 13px; border: 1px solid #d8dbe0; border-radius: 10px; font: inherit; background: #fff; }
.admin-registry-head, .admin-registry article { display: grid; grid-template-columns: 1.4fr .8fr 1.15fr .75fr 100px; gap: 16px; align-items: center; }
.admin-registry-head { padding: 10px 14px; color: #89919e; font-size: 12px; border-radius: 10px; background: #f5f6f7; }
.admin-registry article { padding: 17px 14px; border-bottom: 1px solid #eceae5; }
.admin-registry article > span { display: flex; flex-direction: column; gap: 4px; }
.admin-registry article small { color: #818a98; }
.admin-registry article em { justify-self: start; padding: 6px 9px; border-radius: 8px; font-style: normal; font-size: 12px; }
.admin-registry article em.normal { background: #e8f3eb; color: #39734b; }
.admin-registry article em.attention { background: #fff0dd; color: #9a6515; }
.admin-stage-operations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.admin-stage-operations article { border: 1px solid #dedbd4; border-radius: 16px; background: #fff; overflow: hidden; }
.admin-stage-operations article > header { display: grid; grid-template-columns: 42px 1fr auto; gap: 14px; padding: 20px; align-items: start; }
.admin-stage-operations header i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #edf2fb; color: #5570c8; font-style: normal; font-weight: 800; }
.admin-stage-operations h2 { margin: 0 0 4px; font-size: 19px; }
.admin-stage-operations p { margin: 0; color: #707a89; line-height: 1.55; }
.admin-stage-operations header strong { font-size: 30px; }
.admin-stage-operations article > div { display: grid; grid-template-columns: repeat(3, 1fr); padding: 13px 20px; background: #f7f8f8; color: #687386; font-size: 12px; }
.admin-stage-operations article > div b { color: #222b32; }
.admin-stage-operations footer { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 16px 20px; }
.admin-stage-principle { margin-top: 16px; padding: 18px 22px; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; }
.admin-stage-principle span { color: #687386; }
.admin-stage-principle em { padding: 6px 10px; border-radius: 8px; background: #f4ecd6; color: #8f6c17; font-style: normal; font-size: 12px; }
@media (max-width: 980px) {
  .admin-batch-flow-grid, .admin-stage-operations { grid-template-columns: 1fr; }
  .admin-import-summary { grid-template-columns: repeat(3, 1fr); }
  .admin-import-summary p { grid-column: 1 / -1; }
  .admin-registry-head { display: none; }
  .admin-registry article { grid-template-columns: 1fr 1fr; }
}

.admin-page-trail { display: flex; align-items: center; gap: 10px; margin: -4px 0 18px; color: #7a8491; font-size: 12px; }
.admin-page-trail button { border: 0; border-radius: 9px; padding: 8px 11px; background: #f2f4f5; color: #36404a; font: inherit; font-weight: 750; cursor: pointer; }
.admin-page-trail button:hover { background: #e8ecee; }
.admin-page-trail i { color: #b0b6be; font-style: normal; }
.admin-page-trail b { color: #303840; }
@media (max-width: 760px) { .admin-page-trail span { display: none; } }

.admin-account-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 22px 0 12px; }
.admin-account-grid article { min-height: 118px; padding: 18px 20px; border: 1px solid #dcd9d2; border-radius: 15px; background: #fff; display: flex; flex-direction: column; }
.admin-account-grid span { color: #647080; font-size: 12px; font-weight: 750; }
.admin-account-grid b { margin: 8px 0 5px; color: #20272d; font-size: 31px; line-height: 1; }
.admin-account-grid small { margin-top: auto; color: #858e9a; line-height: 1.4; }
.admin-account-relation { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; padding: 11px 14px; border-left: 3px solid #6b9f96; border-radius: 0 10px 10px 0; background: #f2f6f4; color: #66716f; font-size: 12px; }
.admin-account-relation b { color: #2b514a; white-space: nowrap; }
.admin-operation-grid { margin-top: 0; }
@media (max-width: 980px) { .admin-account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


.admin-review-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 22px 0 16px; }
.admin-review-summary article { display: flex; align-items: center; gap: 12px; min-height: 82px; padding: 14px 16px; border: 1px solid #dedbd4; border-radius: 13px; background: #fff; }
.admin-review-summary i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #edf2fb; color: #5570c8; font-style: normal; font-size: 11px; font-weight: 850; }
.admin-review-summary span { display: grid; gap: 2px; }
.admin-review-summary b { color: #242b30; font-size: 24px; }
.admin-review-summary small { color: #727d87; }
.admin-review-summary article.supplement i { background: #f7edd6; color: #936e1d; }
.admin-review-list { overflow: hidden; border-color: #dedbd4; box-shadow: none; }
.admin-review-list > header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #e7e4de; }
.admin-review-list > header span { color: #33766c; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.admin-review-list h2 { margin: 4px 0 0; font-size: 18px; }
.admin-review-list > header small { color: #7d8791; }
.admin-review-list > article { display: grid; grid-template-columns: 108px minmax(150px, .8fr) minmax(260px, 1.6fr) 90px auto; gap: 16px; align-items: center; padding: 17px 20px; border-bottom: 1px solid #ece9e3; }
.admin-review-list > article:last-child { border-bottom: 0; }
.admin-review-list article > span:nth-child(2) { display: grid; gap: 4px; }
.admin-review-list article > span:nth-child(2) small, .admin-review-list p, .admin-review-list time { color: #75808b; font-size: 12px; }
.admin-review-list p { margin: 0; line-height: 1.55; }
.admin-review-state { justify-self: start; padding: 7px 9px; border-radius: 8px; background: #eef3f8; color: #4d6892; font-size: 11px; font-weight: 800; }
.admin-review-state.supplement { background: #f8efd9; color: #8d6a1f; }
.admin-review-boundary { display: grid; grid-template-columns: auto 1fr; gap: 14px; margin-top: 14px; padding: 16px 19px; border-left: 4px solid #6b9f96; box-shadow: none; }
.admin-review-boundary span { color: #68736f; line-height: 1.6; }
@media (max-width: 1000px) { .admin-review-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-review-list > article { grid-template-columns: 105px 1fr auto; } .admin-review-list p { grid-column: 2 / 4; } .admin-review-list time { display: none; } }
@media (max-width: 680px) { .admin-review-summary { grid-template-columns: 1fr; } .admin-review-list > article { grid-template-columns: 1fr; } .admin-review-list p { grid-column: auto; } }
.admin-stage-ip-workspace .admin-page-head { align-items: end; }
.admin-stage-ip-list { overflow: hidden; border-color: #dedbd4; box-shadow: none; }
.admin-stage-ip-head,
.admin-stage-ip-list > article { display: grid; grid-template-columns: minmax(180px, 1.25fr) repeat(3, minmax(140px, 1fr)) auto; gap: 18px; align-items: center; }
.admin-stage-ip-head { padding: 14px 20px; background: #f5f6f6; color: #7b8490; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.admin-stage-ip-list > article { min-height: 82px; padding: 17px 20px; border-bottom: 1px solid #ebe8e2; }
.admin-stage-ip-list > article:last-of-type { border-bottom: 0; }
.admin-stage-ip-list article > span:first-child { display: grid; gap: 4px; }
.admin-stage-ip-list article > span:first-child b { color: #20272d; font-size: 15px; }
.admin-stage-ip-list article > span:first-child small,
.admin-stage-ip-list article > span:not(:first-child) { color: #687482; font-size: 12px; line-height: 1.5; }
.admin-stage-ip-list .text-button { white-space: nowrap; }
@media (max-width: 980px) {
  .admin-stage-ip-head { display: none; }
  .admin-stage-ip-list > article { grid-template-columns: 1fr 1fr; }
  .admin-stage-ip-list > article > span:first-child { grid-column: 1 / -1; }
  .admin-stage-ip-list > article > .text-button { justify-self: start; }
}
@media (max-width: 620px) {
  .admin-stage-ip-list > article { grid-template-columns: 1fr; }
  .admin-stage-ip-list > article > span:first-child { grid-column: auto; }
}
.admin-ip-lifecycle-workspace { max-width: 1480px; }
.admin-lifecycle-head { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(420px, .85fr); gap: 28px; align-items: end; padding: 10px 0 26px; }
.admin-lifecycle-head > div > span { color: #34746b; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.admin-lifecycle-head h1 { margin: 8px 0 9px; color: #20272d; font-size: clamp(30px, 4vw, 50px); letter-spacing: -.035em; }
.admin-lifecycle-head p { max-width: 780px; margin: 0; color: #65717d; line-height: 1.65; }
.admin-lifecycle-head dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid #dcd9d2; border-radius: 16px; background: #fff; overflow: hidden; }
.admin-lifecycle-head dl > div { display: grid; gap: 5px; padding: 15px 17px; border-right: 1px solid #ece9e3; border-bottom: 1px solid #ece9e3; }
.admin-lifecycle-head dl > div:nth-child(2n) { border-right: 0; }
.admin-lifecycle-head dl > div:nth-last-child(-n+2) { border-bottom: 0; }
.admin-lifecycle-head dt { color: #89919a; font-size: 10px; font-weight: 800; }
.admin-lifecycle-head dd { margin: 0; color: #283038; font-size: 13px; font-weight: 800; }
.admin-lifecycle-path { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.admin-lifecycle-card { min-height: 230px; padding: 18px; border: 1px solid #dcd9d2; border-radius: 16px; background: #fff; text-align: left; font: inherit; }
button.admin-lifecycle-card { cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
button.admin-lifecycle-card:hover { transform: translateY(-3px); border-color: #8bb3aa; box-shadow: 0 12px 30px rgba(45, 63, 66, .08); }
.admin-lifecycle-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.admin-lifecycle-card i { color: #5f72c7; font-style: normal; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.admin-lifecycle-card em { padding: 6px 8px; border-radius: 999px; background: #eef3ef; color: #4f786e; font-style: normal; font-size: 10px; font-weight: 800; }
.admin-lifecycle-card h2 { margin: 40px 0 12px; color: #242b30; font-size: 20px; }
.admin-lifecycle-card p { min-height: 54px; margin: 0; color: #6f7984; font-size: 12px; line-height: 1.55; }
.admin-lifecycle-card > span { display: block; margin-top: 22px; color: #336f66; font-size: 11px; font-weight: 800; }
.admin-lifecycle-card.current { border-color: #7aa89e; box-shadow: inset 0 4px 0 #4f8e82; }
.admin-lifecycle-card.current em { background: #e2f0eb; color: #27695d; }
.admin-lifecycle-card.future { background: #f5f5f3; border-style: dashed; }
.admin-lifecycle-card.future i, .admin-lifecycle-card.future h2, .admin-lifecycle-card.future p, .admin-lifecycle-card.future > span { color: #9aa0a5; }
.admin-lifecycle-card.future em { background: #ececeb; color: #979b9e; }
.admin-lifecycle-boundary { display: grid; grid-template-columns: auto 1fr; gap: 16px; margin-top: 18px; padding: 16px 19px; border-left: 4px solid #6b9f96; box-shadow: none; }
.admin-lifecycle-boundary b { color: #2f5e56; white-space: nowrap; }
.admin-lifecycle-boundary span { color: #68736f; line-height: 1.55; }
@media (max-width: 1180px) {
  .admin-lifecycle-path { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .admin-lifecycle-head { grid-template-columns: 1fr; }
  .admin-lifecycle-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .admin-lifecycle-head dl, .admin-lifecycle-path { grid-template-columns: 1fr; }
  .admin-lifecycle-head dl > div { border-right: 0; }
  .admin-lifecycle-card { min-height: 190px; }
  .admin-lifecycle-card h2 { margin-top: 26px; }
  .admin-lifecycle-boundary { grid-template-columns: 1fr; }
}
.admin-ip-stage-detail-workspace { max-width: 1440px; }
.admin-ip-stage-detail-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 8px 0 24px; }
.admin-ip-stage-head-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; }
.admin-ip-stage-detail-head > div { max-width: 860px; }
.admin-ip-stage-detail-head > div > span { color: #34746b; font-size: 11px; font-weight: 900; letter-spacing: .13em; }
.admin-ip-stage-detail-head h1 { margin: 7px 0 8px; color: #20272d; font-size: clamp(32px, 4vw, 48px); letter-spacing: -.035em; }
.admin-ip-stage-detail-head p { margin: 0; color: #68737e; line-height: 1.6; }
.admin-ip-detail-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.admin-ip-detail-metrics article { display: flex; flex-direction: column; min-height: 132px; padding: 17px 18px; border: 1px solid #dcd9d2; border-radius: 15px; background: #fff; }
.admin-ip-detail-metrics small { color: #7e8791; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.admin-ip-detail-metrics b { margin: 11px 0 8px; color: #263038; font-size: 16px; line-height: 1.35; }
.admin-ip-detail-metrics span { margin-top: auto; color: #6d7882; font-size: 11px; line-height: 1.5; }
.admin-ip-detail-section { overflow: hidden; border-color: #dedbd4; box-shadow: none; }
.admin-ip-detail-section > header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #e9e6e0; }
.admin-ip-detail-section > header span { color: #34746b; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.admin-ip-detail-section > header h2 { margin: 5px 0 0; color: #272f36; font-size: 19px; }
.admin-ip-detail-section > header small { color: #87909a; }
.admin-ip-detail-rows article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 16px 20px; border-bottom: 1px solid #eeeae4; }
.admin-ip-detail-rows article:last-child { border-bottom: 0; }
.admin-ip-detail-rows article > span { display: grid; gap: 5px; }
.admin-ip-detail-rows b { color: #293138; }
.admin-ip-detail-rows small { color: #76808a; line-height: 1.45; }
.admin-ip-detail-rows em { padding: 7px 9px; border-radius: 8px; background: #edf4f0; color: #3f7468; font-style: normal; font-size: 10px; font-weight: 800; }
.admin-ip-selection-summary { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr); gap: 28px; padding: 22px; }
.admin-ip-selection-summary > div b { color: #252d34; font-size: 20px; }
.admin-ip-selection-summary > div p { color: #6b7680; line-height: 1.65; }
.admin-ip-selection-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid #e0ddd7; border-radius: 12px; overflow: hidden; }
.admin-ip-selection-summary dl > div { display: grid; gap: 5px; padding: 14px; border-right: 1px solid #ece9e3; border-bottom: 1px solid #ece9e3; }
.admin-ip-selection-summary dl > div:nth-child(2n) { border-right: 0; }
.admin-ip-selection-summary dl > div:nth-last-child(-n+2) { border-bottom: 0; }
.admin-ip-selection-summary dt { color: #88919b; font-size: 10px; }
.admin-ip-selection-summary dd { margin: 0; color: #273038; font-weight: 800; }
.admin-ip-future-stage { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; min-height: 230px; padding: 34px; border-style: dashed; box-shadow: none; }
.admin-ip-future-stage > i { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 22px; background: #eef0f0; color: #8d979d; font-style: normal; font-size: 21px; font-weight: 900; }
.admin-ip-future-stage h2 { margin: 0 0 10px; color: #343c42; }
.admin-ip-future-stage p { margin: 0 0 8px; color: #65717a; line-height: 1.6; }
.admin-ip-future-stage span { color: #8a9299; font-size: 12px; }
@media (max-width: 1050px) {
  .admin-ip-detail-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-ip-selection-summary { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .admin-ip-stage-detail-head { align-items: start; flex-direction: column; }
  .admin-ip-detail-metrics { grid-template-columns: 1fr; }
  .admin-ip-selection-summary dl { grid-template-columns: 1fr; }
  .admin-ip-future-stage { grid-template-columns: 1fr; }
}
.admin-ip-operation-links { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 16px; padding: 15px 18px; border-left: 4px solid #7fa9a0; box-shadow: none; }
.admin-ip-operation-links > span { display: grid; gap: 4px; }
.admin-ip-operation-links b { color: #315e56; }
.admin-ip-operation-links small { color: #76817d; }
.admin-ip-operation-links > div { display: flex; flex-wrap: wrap; justify-content: end; gap: 14px; }
@media (max-width: 720px) { .admin-ip-operation-links { align-items: start; flex-direction: column; } .admin-ip-operation-links > div { justify-content: start; } }
.admin-ip-record-list { margin-top: 16px; overflow: hidden; border-color: #d9d7d1; box-shadow: none; }
.admin-ip-record-list > header { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid #e7e4de; background: #fafaf8; }
.admin-ip-record-list > header span { color: #34746b; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.admin-ip-record-list > header h2 { margin: 4px 0 0; color: #273038; font-size: 19px; }
.admin-ip-record-list > header small { color: #7d8790; }
.admin-ip-record-row { border-bottom: 1px solid #ebe8e2; }
.admin-ip-record-row:last-child { border-bottom: 0; }
.admin-ip-record-row > button { display: grid; grid-template-columns: minmax(0, 1fr) auto 92px; gap: 18px; align-items: center; width: 100%; padding: 17px 20px; border: 0; background: #fff; color: inherit; text-align: left; cursor: pointer; }
.admin-ip-record-row > button:hover { background: #f7f9f7; }
.admin-ip-record-row > button > span { display: grid; gap: 5px; }
.admin-ip-record-row > button b { color: #293138; font-size: 14px; }
.admin-ip-record-row > button small { color: #77818a; line-height: 1.45; }
.admin-ip-record-row > button em { padding: 7px 10px; border-radius: 999px; background: #edf4f0; color: #3f7468; font-style: normal; font-size: 10px; font-weight: 800; white-space: nowrap; }
.admin-ip-record-row > button i { color: #426e67; font-style: normal; font-size: 11px; font-weight: 800; text-align: right; }
.admin-ip-record-detail { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 0; border-top: 1px solid #e6e3dd; background: #f7f7f4; }
.admin-ip-record-detail > section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-content: start; padding: 20px; }
.admin-ip-record-detail > section + section { display: block; border-left: 1px solid #dfdcd6; background: #f2f4f1; }
.admin-ip-record-detail > section > span { grid-column: 1 / -1; color: #34746b; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.admin-ip-record-detail > section > div { padding: 12px 13px; border: 1px solid #e0ddd7; border-radius: 10px; background: #fff; }
.admin-ip-record-detail small { display: block; color: #858e96; font-size: 10px; }
.admin-ip-record-detail p { margin: 6px 0 0; color: #30383e; font-size: 12px; line-height: 1.55; }
.admin-ip-record-detail article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; margin-top: 12px; padding: 12px 13px; border: 1px solid #d9ded9; border-radius: 10px; background: #fff; }
.admin-ip-record-detail article b { color: #293138; font-size: 12px; }
.admin-ip-record-detail article small { grid-column: 1; }
.admin-ip-record-detail article em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #407268; font-style: normal; font-size: 10px; font-weight: 800; }
@media (max-width: 760px) {
  .admin-ip-record-row > button { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-ip-record-row > button i { grid-column: 1 / -1; text-align: left; }
  .admin-ip-record-detail { grid-template-columns: 1fr; }
  .admin-ip-record-detail > section { grid-template-columns: 1fr; }
  .admin-ip-record-detail > section + section { border-top: 1px solid #dfdcd6; border-left: 0; }
}
.admin-creator-preview-banner { position: sticky; top: 76px; z-index: 18; display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1480px; margin: 0 auto 14px; padding: 12px 18px; border: 1px solid #c9d9d4; border-left: 4px solid #367b70; border-radius: 12px; background: #eef6f2; box-shadow: 0 10px 28px rgba(43, 72, 67, .08); }
.admin-creator-preview-banner > span { display: grid; gap: 3px; }
.admin-creator-preview-banner b { color: #285f56; font-size: 13px; }
.admin-creator-preview-banner small { color: #667771; }
.admin-creator-preview-banner button { padding: 9px 13px; border: 1px solid #8eb5ab; border-radius: 9px; background: #fff; color: #2f6c62; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.admin-preview-mode { padding: 8px 12px; border: 1px solid #b8d2ca; border-radius: 999px; background: #eaf4f0; color: #28675c; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.admin-readonly-preview input:disabled,
.admin-readonly-preview textarea:disabled,
.admin-readonly-preview select:disabled { border-color: #deddd8; background: #f3f3f0; color: #666f73; -webkit-text-fill-color: #666f73; opacity: 1; cursor: not-allowed; }
.admin-readonly-preview button:disabled { filter: grayscale(.35); opacity: .48; cursor: not-allowed; }
.admin-readonly-preview .upload-zone,
.admin-readonly-preview .public-image-upload,
.admin-readonly-preview .stage3-photo-upload label { pointer-events: none; opacity: .52; }
.admin-readonly-preview .creator-chapter-actions { position: relative; }
.admin-readonly-preview .creator-chapter-actions::after { display: flex; align-items: center; min-height: 42px; padding: 0 14px; border: 1px dashed #bed0ca; border-radius: 10px; background: #f2f7f5; color: #4f6f67; content: "平台只读预览：IP 方操作已锁定"; font-size: 11px; font-weight: 800; }
.admin-readonly-preview .creator-chapter-actions > * { display: none; }
@media (max-width: 640px) {
  .admin-ip-stage-head-actions, .admin-creator-preview-banner { align-items: stretch; flex-direction: column; }
  .admin-ip-stage-head-actions { justify-content: start; }
}

/* Original-project entry: one shared Stage 1 with concise type-specific prompts. */
.brand-mark-image { display: block; width: 31px; height: 31px; object-fit: contain; }
.creation-type-picker { display: grid; gap: 10px; margin-bottom: 18px; }
.creation-type-picker > span { color: #2f383a; font-size: 12px; font-weight: 850; }
.creation-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.creation-type-card { display: grid; gap: 4px; padding: 15px 16px; border: 1px solid #d9dfdc; border-radius: 12px; background: #fff; color: #38413f; text-align: left; cursor: pointer; }
.creation-type-card b { font-size: 14px; }
.creation-type-card small { color: #747c79; line-height: 1.5; }
.creation-type-card.active { border-color: #4f8e82; background: #eef6f2; box-shadow: inset 0 0 0 1px #4f8e82; }
.creation-category-field { margin: 0 0 18px; padding: 16px; border: 1px solid #e2e4df; border-radius: 12px; background: #fafbf9; }
.creation-category-field > small { display: block; margin-top: 9px; color: #777f7c; font-size: 10px; }
@media (max-width: 680px) { .creation-type-options { grid-template-columns: 1fr; } }
.stage3-step-guidance .stage3-category-advice { border-color: #cfe0da; background: #f1f7f4; }
.stage3-step-guidance .stage3-category-advice > b { color: #2f6f61; }

/* Public brand entrance */
.public-site { --public-primary: #4f6fd8; --public-primary-strong: #3155a6; --public-primary-soft: #eef3ff; --public-canvas: #fbfbfa; --public-surface: var(--public-canvas); --public-card: #fff; --public-line: #e3e0da; --public-text: #20242d; --public-muted: #6e706f; --public-shadow: 0 12px 32px rgba(47,43,36,.065); min-height: 100vh; color: var(--public-text); background: var(--public-canvas); font-family: var(--font-ui); }
.public-site :is(button, input, select, textarea) { font-family: var(--font-ui); }
.public-header { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 76px; padding: 0 max(28px, calc((100vw - 1240px) / 2)); border-bottom: 1px solid var(--public-line); background: rgba(251,251,250,.94); box-shadow: 0 5px 18px rgba(47,43,36,.028); backdrop-filter: blur(18px); }
.public-logo { flex: 0 0 190px; width: 190px; padding: 0; border: 0; background: transparent; cursor: pointer; }.public-logo img { display: block; width: 100%; max-height: 42px; object-fit: contain; object-position: left center; }
.public-header nav, .public-footer nav { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }.public-header nav button, .public-footer button { padding: 10px 13px; border: 0; background: transparent; color: #505660; font-family: var(--font-emphasis); font-size: 15px; font-weight: 600; cursor: pointer; }.public-header nav button.active { color: var(--public-primary); }
.public-header nav .header-icon-button { display: inline-grid; width: 42px; height: 42px; padding: 0; border: 1px solid #d9d6d0; background: rgba(255,255,255,.72); }
.public-header nav .public-login-button { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid #d9d6d0; border-radius: 999px; background: rgba(255,255,255,.72); }
.public-login-button svg, .public-workspace-button svg, .public-activity-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.public-header nav .public-workspace-button { padding: 10px 15px; border-radius: 999px; background: #4f6fd8; color: #fff; }
.public-header nav .public-activity-button.active { border-color: #bcc8eb; background: #eef3ff; color: #4f6fd8; }
.public-header nav .role-mode-button { border-color: #d3daf1; background: #f3f5fd; color: var(--public-primary); }
.public-channel-button { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.public-channel-button svg { display: none; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.public-header .compact-account-popover button { padding: 0 12px; font-family: var(--font-ui); font-size: 13px; }

.account-activity-page { max-width: 1240px; margin: 0 auto; padding: 58px 24px 110px; }
.account-activity-page > header { padding-bottom: 28px; border-bottom: 1px solid var(--public-line); }
.account-activity-page > header h1 { margin: 0 0 9px; font-family: var(--font-emphasis); font-size: clamp(38px, 4vw, 56px); letter-spacing: -.035em; }
.account-activity-page > header p { margin: 0; color: var(--public-muted); }
.account-activity-page > section { margin-top: 42px; }
.account-activity-page > section h2 { margin: 0 0 18px; font-family: var(--font-emphasis); font-size: 25px; }
.account-activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.account-activity-more { display:block; margin:18px auto 0; }
.account-activity-card { overflow: hidden; border: 1px solid var(--public-line); border-radius: 16px; background: #fff; }
.account-activity-card button { display: grid; grid-template-columns: 92px 1fr; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.account-activity-card img { width: 92px; height: 92px; object-fit: cover; background: #eeeae2; }
.account-activity-card span { display: grid; align-content: center; gap: 5px; padding: 14px; }
.account-activity-card b { font-size: 15px; }
.account-activity-card small { overflow: hidden; color: var(--public-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.account-comment-list { display: grid; gap: 12px; }
.account-comment-card { padding: 18px 20px; border: 1px solid var(--public-line); border-radius: 15px; background: #fff; }
.account-comment-card header { display: flex; justify-content: space-between; gap: 16px; }
.account-comment-card header small, .account-comment-card > span { color: var(--public-muted); font-size: 11px; }
.account-comment-card > p { margin: 10px 0; color: #4e535c; }
.account-comment-card > div { margin: 12px 0; padding: 12px 14px; border-radius: 10px; background: #f4f6fb; }
.account-comment-card > div b { color: #4f6fd8; font-size: 11px; }
.account-comment-card > div p { margin: 5px 0 0; }
.account-comment-card > button { padding: 6px 0; border: 0; background: transparent; color: #4f6fd8; font-weight: 700; cursor: pointer; }
.account-activity-empty { grid-column: 1 / -1; margin: 0; padding: 26px; border: 1px dashed #d6d2cb; border-radius: 14px; color: var(--public-muted); background: rgba(255,255,255,.55); text-align: center; }
.public-home { overflow: hidden; }.public-hero { position: relative; display: grid; justify-items: center; max-width: 1380px; margin: 0 auto; padding: 122px 24px 92px; text-align: center; }.public-hero::before { content: ""; position: absolute; top: 78px; left: 50%; width: 112px; height: 6px; border-radius: 99px; transform: translateX(-50%); background: linear-gradient(90deg, var(--brand-orange), var(--brand-gold), var(--brand-teal), var(--brand-sky), var(--brand-lilac)); }
.public-journey { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); width: min(460px, calc(100vw - 48px)); color: #5c77c9; font-family: var(--font-emphasis); font-size: 15px; font-weight: 800; letter-spacing: .08em; }.public-journey span { position: relative; text-align: center; }.public-journey span + span::before { content: "·"; position: absolute; left: 0; transform: translateX(-50%); color: #6d80bf; }.public-featured small, .public-selection-callout small, .public-placeholder > span, .public-selections > header > span, .public-directory > header span, .public-directory-detail > section span { color: #5c77c9; font-family: var(--font-emphasis); font-size: 10px; font-weight: 800; letter-spacing: .18em; }.public-hero h1 { margin: 24px 0 24px; font-family: var(--font-emphasis); font-size: clamp(44px, 4.5vw, 68px); font-weight: 600; line-height: 1.14; letter-spacing: -.025em; white-space: nowrap; }.public-hero p { max-width: 1180px; margin: 0; color: var(--public-muted); font-size: 16px; line-height: 1.9; white-space: nowrap; }
.public-primary, .public-secondary, .public-audience-paths button, .public-selection-callout button, .public-placeholder button { padding: 14px 19px; border: 1px solid #d4d9e2; border-radius: 12px; background: #fff; color: #303947; font-family: var(--font-emphasis); font-size: 13px; font-weight: 600; box-shadow: 0 3px 10px rgba(37,48,67,.04); cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }.public-primary { border-color: var(--public-primary); background: var(--public-primary); color: #fff; box-shadow: 0 8px 18px rgba(79,111,216,.2); }.public-primary:hover, .public-audience-paths button:hover, .public-selection-callout button:hover { transform: translateY(-1px); border-color: #aebbea; box-shadow: 0 9px 20px rgba(66,91,176,.13); }
.public-audience-paths { display: grid; grid-template-columns: 1fr 1fr; max-width: 1240px; margin: 0 auto; padding: 0 24px 72px; gap: 18px; }.public-audience-paths > article { display: flex; flex-direction: column; min-height: 570px; padding: 42px 44px; border: 1px solid var(--public-line); border-radius: 24px; background: var(--public-card); box-shadow: var(--public-shadow); }.public-role { display: flex; align-items: center; gap: 15px; }.public-role > div { display: grid; }.public-role b { position: relative; display: inline-block; padding-bottom: 8px; font-family: var(--font-emphasis); font-size: 27px; line-height: 1.2; }.public-role b::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; border-radius: 99px; background: linear-gradient(90deg, var(--brand-teal), var(--brand-sky)); }.public-role-icon { display: grid; flex: 0 0 auto; place-items: center; width: 48px; height: 48px; border: 1px solid #d4dcf4; border-radius: 15px; color: var(--public-primary); background: var(--public-primary-soft); }.public-role-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }.public-audience-paths h2 { min-height: 78px; max-width: 560px; margin: 25px 0 28px; font-family: var(--font-emphasis); font-size: 27px; font-weight: 600; line-height: 1.45; }
.public-value-list { display: grid; margin: 0; padding: 0; list-style: none; }.public-value-list li { position: relative; display: grid; gap: 7px; padding: 18px 0 18px 22px; border-top: 1px solid #e8ebf1; }.public-value-list li::before { content: ""; position: absolute; top: 25px; left: 1px; width: 7px; height: 7px; border-radius: 99px; background: var(--value-color, var(--public-primary)); box-shadow: 0 0 0 5px color-mix(in srgb, var(--value-color, var(--public-primary)) 13%, transparent); }.public-value-list li:nth-child(1) { --value-color: var(--brand-teal); }.public-value-list li:nth-child(2) { --value-color: var(--brand-sky); }.public-value-list li:nth-child(3) { --value-color: var(--brand-orange); }.public-value-list b { font-family: var(--font-emphasis); font-size: 16px; }.public-value-list span { color: var(--public-muted); font-size: 13px; line-height: 1.7; }.creator-path > button { align-self: flex-start; margin-top: auto; }
.explorer-path { border-color: #e0ddd6 !important; background: linear-gradient(145deg, #f6f4ef, #f3f1f7) !important; color: var(--public-text); }.explorer-path .public-role-icon { border-color: #ddd8f4; color: #735fc2; background: rgba(255,255,255,.72); }.explorer-path .public-role b::after { background: linear-gradient(90deg, #735fc2, var(--brand-lilac)); }.explorer-path .public-value-list li { border-top-color: rgba(128,124,114,.19); }.public-role-actions { display: flex; gap: 9px; margin-top: auto; }.public-role-actions button { color: #27334c; background: rgba(255,255,255,.8); text-align: left; }
.public-about { max-width: 1240px; margin: 0 auto; padding: 0 68px 110px; border: 0; border-radius: 0; background: none; box-shadow: none; }.public-about-letter { color: #413d35; font-synthesis: none; }.public-about-letter > h2 { margin: 0 0 34px; padding: 0; border: 0; color: var(--public-text); font-family: var(--font-emphasis); font-size: 27px; font-weight: 600; line-height: 1.45; }.public-letter-copy { display: grid; gap: 12px; font-family: "ChoiceOlogy Yozai Subset", "ChoiceOlogy Yozai", "Microsoft YaHei", sans-serif; }.public-letter-copy p { margin: 0; color: #20242d; font: inherit; font-size: 18px; font-weight: 500; line-height: 2.06; letter-spacing: .015em; text-align: justify; text-justify: inter-ideograph; }.public-about-letter h3 { margin: 16px 0 0; color: var(--public-text); font-family: var(--font-emphasis); font-size: 27px; font-weight: 600; line-height: 1.45; }.public-letter-underline { padding: 0 .08em; background-image: linear-gradient(transparent 72%, rgba(240,179,90,.38) 72%, rgba(240,179,90,.38) 91%, transparent 91%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.public-featured { max-width: 1240px; margin: 0 auto; padding: 0 24px 110px; }.public-featured > header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 24px; }.public-featured h2 { margin: 8px 0 0; font-family: var(--font-emphasis); font-size: 34px; font-weight: 600; }.public-featured header button { border: 0; background: transparent; color: var(--public-primary); font-family: var(--font-emphasis); font-weight: 600; cursor: pointer; }.public-featured > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.public-featured article { padding: 12px 12px 22px; border: 1px solid var(--public-line); border-radius: 18px; background: var(--public-card); box-shadow: 0 8px 24px rgba(37,48,67,.055); transition: transform .18s ease, box-shadow .18s ease; }.public-featured article:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(37,48,67,.09); }.public-featured article img { width: 100%; aspect-ratio: 4 / 3; border-radius: 12px; object-fit: cover; }.public-featured article span { display: block; margin-top: 16px; color: #5e78c8; font-size: 10px; font-weight: 800; }.public-featured h3 { margin: 7px 0; font-family: var(--font-emphasis); font-size: 19px; }.public-featured p { margin: 0; color: var(--public-muted); font-size: 12px; line-height: 1.7; }
.public-selection-callout { display: flex; align-items: end; justify-content: space-between; max-width: 1192px; margin: 0 auto 110px; padding: 50px; border: 1px solid #d8def0; border-radius: 24px; background: linear-gradient(135deg, #eef3ff, #f7f4ff); box-shadow: var(--public-shadow); }.public-selection-callout h2 { margin: 10px 0; font-family: var(--font-emphasis); font-size: 36px; font-weight: 600; }.public-selection-callout p { max-width: 720px; margin: 0; color: var(--public-muted); line-height: 1.8; }
.public-selections { max-width: 1192px; margin: 0 auto; padding: 88px 24px 110px; }.public-selections > header { max-width: 780px; margin-bottom: 42px; }.public-selections > header h1 { margin: 14px 0; color: var(--public-text); font-family: var(--font-emphasis); font-size: 46px; font-weight: 600; line-height: 1.2; }.public-selections > header p { color: var(--public-muted); line-height: 1.8; }.public-selections > section { display: grid; gap: 22px; }.public-selection-card { display: grid; grid-template-columns: minmax(300px,.8fr) 1.2fr; overflow: hidden; border: 1px solid var(--public-line); border-radius: 24px; background: var(--public-card); box-shadow: var(--public-shadow); }.public-selection-card > img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }.public-selection-card > div { padding: 34px; }.public-selection-card h2 { margin: 8px 0 10px; color: var(--public-text); font-family: var(--font-emphasis); font-size: 27px; }.public-selection-card p { color: var(--public-muted); line-height: 1.7; }.public-selection-progress { height: 7px; margin: 24px 0 16px; overflow: hidden; border-radius: 99px; background: #e5e9f2; }.public-selection-progress i { display: block; height: 100%; background: var(--public-primary); }.public-selection-card dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.public-selection-card dl div { display: grid; gap: 4px; }.public-selection-card dt { color: #818894; font-size: 11px; }.public-selection-card dd { margin: 0; color: var(--public-text); font-family: var(--font-emphasis); font-weight: 600; }.public-selection-card footer { display: flex; gap: 9px; margin: 24px 0 14px; }.public-selection-card footer button { padding: 11px 15px; border: 1px solid #cbd4eb; border-radius: 999px; background: #fff; color: var(--public-primary-strong); font-family: var(--font-emphasis); font-weight: 600; cursor: pointer; }.public-selection-card > div > small { color: #858d99; }
.public-owned-selection { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 0 14px; padding: 15px 17px; border: 1px solid #ccd8ee; border-radius: 14px; background: #f2f6ff; color: #425478; }.public-owned-selection b { font-size: 13px; line-height: 1.55; }.public-owned-selection button { flex: 0 0 auto; padding: 10px 13px; border: 1px solid #b9c8e8; border-radius: 999px; background: #fff; color: var(--public-primary-strong); font-family: var(--font-emphasis); font-weight: 600; }
.public-footer { display: flex; align-items: center; justify-content: space-between; padding: 28px max(28px, calc((100vw - 1240px) / 2)); border-top: 1px solid var(--public-line); color: #707985; font-size: 11px; }.public-footer > img { width: 34px; height: 34px; }.public-placeholder { display: grid; justify-items: start; max-width: 900px; min-height: 65vh; margin: 0 auto; padding: 130px 24px; }.public-placeholder h1 { margin: 16px 0; color: var(--public-text); font-family: var(--font-emphasis); font-size: 58px; font-weight: 600; }.public-placeholder p { max-width: 620px; color: var(--public-muted); font-size: 16px; line-height: 1.8; }
.public-legal-page { max-width: 1120px; min-height: 70vh; margin: 0 auto; padding: 64px 32px 118px; }.public-legal-page > header { max-width: 860px; padding-bottom: 34px; border-bottom: 1px solid #cbc9c3; }.public-legal-page > header > span { color: #73746f; font-size: 11px; font-weight: 800; letter-spacing: .16em; }.public-legal-page > header h1 { margin: 13px 0 18px; font-family: var(--font-emphasis); font-size: clamp(38px, 4.4vw, 58px); font-weight: 650; line-height: 1.16; }.public-legal-page > header p { max-width: 760px; color: var(--public-muted); font-size: 15px; line-height: 1.85; }.public-legal-page > header > div { display: flex; gap: 14px; color: #777973; font-size: 11px; }.public-legal-back { margin-bottom: 30px; padding: 0; border: 0; background: none; color: #5f6470; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }.public-policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 44px; }.public-policy-grid article { display: grid; align-content: start; gap: 14px; min-height: 270px; padding: 28px; border: 1px solid var(--public-line); border-radius: 14px; background: #fff; }.public-policy-grid small { color: var(--public-muted); overflow-wrap: anywhere; }.public-policy-grid h2 { margin: 0; font-family: var(--font-emphasis); font-size: 23px; }.public-policy-grid p { margin: 0; color: var(--public-muted); line-height: 1.7; }.public-policy-grid button { align-self: end; justify-self: start; padding: 0; border: 0; background: none; color: var(--public-primary); font: inherit; font-weight: 750; cursor: pointer; }.public-policy-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 52px; align-items: start; margin-top: 38px; }.public-policy-toc { position: sticky; top: 108px; display: grid; gap: 0; padding: 20px 0; border-top: 1px solid #cbc9c3; border-bottom: 1px solid #dedcd6; }.public-policy-toc > b { margin-bottom: 12px; color: #2d3035; font-size: 12px; letter-spacing: .12em; }.public-policy-toc a { padding: 7px 0; color: #74766f; font-size: 11px; line-height: 1.45; text-decoration: none; }.public-policy-toc a:hover { color: var(--public-primary); }.public-policy-document { min-width: 0; padding: 0 6px; background: transparent; }.legal-policy-section { padding: 0 0 34px; margin-bottom: 34px; border-bottom: 1px solid #dedcd6; scroll-margin-top: 108px; }.legal-policy-section:last-child { margin-bottom: 0; border-bottom: 0; }.legal-policy-section h2 { margin: 0 0 18px; color: #24272c; font-family: var(--font-emphasis); font-size: 21px; font-weight: 650; }.legal-policy-section p { margin: 10px 0 0; color: #45494f; font-size: 14px; line-height: 2; text-align: left; overflow-wrap: anywhere; word-break: normal; }
@media (max-width: 760px) { .public-policy-grid { grid-template-columns: 1fr; }.public-policy-grid article { min-height: 0; }.public-policy-layout { grid-template-columns: 1fr; gap: 28px; }.public-policy-toc { position: static; }.public-policy-document { padding: 0; }.public-legal-page { padding: 48px 20px 80px; } }
.phone-quick-login { margin: 0 0 22px; padding: 18px; border: 1px solid #d3dcf0; border-radius: 16px; background: var(--public-primary-soft); }.phone-quick-login > div { display: grid; gap: 5px; margin-bottom: 14px; }.phone-quick-login > div span, .phone-quick-login > small { color: #64708a; font-size: 11px; line-height: 1.6; }.phone-quick-login form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.phone-quick-login form label { font-size: 11px; }.phone-quick-login form button { grid-column: 1 / -1; }
.public-directory, .public-directory-detail { max-width: 1240px; min-height: 75vh; margin: 0 auto; padding: 80px 24px 110px; }.public-directory > header { max-width: 780px; }.public-directory > header h1, .public-directory-detail h1 { margin: 12px 0; color: var(--public-text); font-family: var(--font-emphasis); font-size: 58px; font-weight: 600; line-height: 1.2; }.public-directory > header p { color: var(--public-muted); font-size: 15px; line-height: 1.8; }.public-directory-tools { display: grid; grid-template-columns: minmax(260px,1fr) auto auto; gap: 10px; margin: 38px 0 26px; }.public-directory-tools > input, .public-directory-tools select { min-height: 44px; padding: 0 14px; border: 1px solid #d7ddea; border-radius: 11px; background: #fff; color: var(--public-text); font: inherit; }.public-directory-tools > div { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; }.public-directory-tools button { padding: 9px 13px; border: 1px solid #d9dfec; border-radius: 999px; background: #fff; color: #586376; font: inherit; font-size: 11px; cursor: pointer; }.public-directory-tools button.active { border-color: var(--public-primary); background: var(--public-primary); color: #fff; }
.public-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }.public-directory-card { padding: 12px 12px 20px; border: 1px solid var(--public-line); border-radius: 18px; background: #fff; color: inherit; text-align: left; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }.public-directory-card:hover { transform: translateY(-2px); box-shadow: var(--public-shadow); }.public-directory-card img { width: 100%; aspect-ratio: 4 / 3; border-radius: 12px; object-fit: cover; }.public-directory-card > span { display: block; margin-top: 14px; color: #5e78c8; font-size: 10px; font-weight: 800; }.public-directory-card h3 { margin: 7px 0; color: var(--public-text); font-family: var(--font-emphasis); font-size: 18px; }.public-directory-card p { min-height: 40px; margin: 0 0 12px; color: var(--public-muted); font-size: 11px; line-height: 1.65; }.public-directory-card small { color: #858d99; }.public-directory-empty { grid-column: 1 / -1; padding: 60px; border: 1px dashed #cbd4e5; border-radius: 18px; text-align: center; }
.public-directory-detail > button { border: 0; background: transparent; color: var(--public-primary); font-family: var(--font-emphasis); font-weight: 600; cursor: pointer; }.public-directory-detail > section:first-of-type { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; margin-top: 40px; }.public-directory-detail > section:first-of-type img { width: 100%; max-height: 520px; border-radius: 22px; object-fit: cover; }.public-directory-detail > section p { color: var(--public-muted); font-size: 15px; line-height: 1.9; }.public-directory-detail dl { display: flex; gap: 30px; }.public-directory-detail dt { color: #858d99; font-size: 10px; }.public-directory-detail dd { margin: 5px 0 0; color: var(--public-text); font-family: var(--font-emphasis); font-weight: 600; }.public-detail-module { margin-top: 36px; padding: 30px; border: 1px solid var(--public-line); border-radius: 18px; background: #fff; box-shadow: 0 6px 20px rgba(37,48,67,.04); }.public-detail-module h2 { margin: 8px 0; font-family: var(--font-emphasis); }
@media (max-width: 900px) { .public-hero h1, .public-hero p { white-space: normal; }.public-hero h1 { max-width: 720px; }.public-hero p { max-width: 700px; } }
@media (max-width: 760px) { .public-logo { flex-basis: 145px; width: 145px; }.public-channel-button { width: 42px; height: 42px; padding: 0 !important; justify-content: center; }.public-channel-button svg { display: block; }.public-channel-button > span { display: none; }.public-journey { width: 100%; font-size: 10px; letter-spacing: .08em; }.public-audience-paths, .public-featured > div, .public-directory-tools, .public-directory-grid, .public-directory-detail > section:first-of-type, .public-selection-card { grid-template-columns: 1fr; }.public-audience-paths > article { min-height: 0; padding: 28px; }.public-audience-paths h2 { min-height: 0; font-size: 24px; }.public-role b { font-size: 24px; }.public-role-actions { align-items: stretch; flex-direction: column; }.public-about { margin: 0; padding: 0 24px 72px; }.public-about-letter > h2, .public-about-letter h3 { font-size: 24px; }.public-about-letter > h2 { margin-bottom: 28px; }.public-letter-copy p { font-size: 16px; line-height: 2; }.public-selection-callout, .public-footer { align-items: flex-start; flex-direction: column; gap: 24px; }.public-selection-callout { margin-left: 18px; margin-right: 18px; padding: 32px; }.public-footer nav { display: none; }.public-directory-tools > div { grid-column: auto; }.public-directory > header h1, .public-directory-detail h1, .public-placeholder h1 { font-size: 44px; }.public-selection-card > img { min-height: 260px; }.public-selection-card dl { grid-template-columns: 1fr; }.public-owned-selection { align-items: stretch; flex-direction: column; } }
@media (max-width: 640px) { .creator-role .creator-global-action { display: inline-grid; flex: 0 0 42px; place-items: center; width: 42px; height: 42px; min-height: 42px; padding: 0; }.creator-role .creator-global-action > span { display: none; }.creator-role .creator-global-action > i { font-size: 20px; }.compact-account-popover { position: fixed; top: 68px; right: 12px; width: min(244px, calc(100vw - 24px)); } }
@media (max-width: 480px) { .public-header { gap: 8px; padding-left: 12px; padding-right: 12px; }.public-logo { flex-basis: 118px; width: 118px; }.public-header nav { gap: 4px; }.public-header nav .header-icon-button, .public-channel-button { flex-basis: 40px; width: 40px; height: 40px; }.public-header .compact-account-popover { top: 64px; } }

/* Public discovery — editorial gallery and campaign browsing */
.public-global-search { display: flex; flex: 1 1 420px; align-items: center; max-width: 590px; min-width: 240px; height: 44px; padding: 0 16px; border: 1.5px solid #393b40; border-radius: 999px; background: #fff; color: #53565c; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); transition: border-color .18s ease, box-shadow .18s ease; }
.public-global-search:focus-within { border-color: var(--public-primary); box-shadow: 0 0 0 3px rgba(79,111,216,.11); }
.public-global-search > span { margin-right: 9px; font-size: 24px; line-height: 1; transform: rotate(-18deg); }
.public-global-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--public-text); font-size: 13px; }
.public-global-search input::placeholder { color: #8a8a87; }

.public-consumer-front { max-width: 1320px; margin: 0 auto; padding: 54px 24px 118px; }
.consumer-front-intro { display: grid; max-width: 920px; margin-bottom: 74px; }
.consumer-front-intro > span, .consumer-front-section header small { color: #5e78c8; font-family: var(--font-emphasis); font-size: 10px; font-weight: 850; letter-spacing: .18em; }
.consumer-front-intro h1 { margin: 16px 0 13px; font-family: var(--font-emphasis); font-size: clamp(46px, 5vw, 70px); font-weight: 650; line-height: 1.08; letter-spacing: -.045em; }
.consumer-front-intro > p { max-width: 720px; margin: 0; color: var(--public-muted); font-size: 15px; line-height: 1.85; }
.consumer-category-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 27px; }
.consumer-category-row button { padding: 9px 14px; border: 1px solid #d9d5ce; border-radius: 999px; background: rgba(255,255,255,.74); color: #474b50; font-size: 11px; font-weight: 700; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.consumer-category-row button:hover { transform: translateY(-1px); border-color: #aeb8d6; background: #fff; }
.consumer-front-section { scroll-margin-top: 104px; }
.consumer-front-section + .consumer-front-section { margin-top: 76px; }
.consumer-front-section > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.consumer-front-section > header > div { display: flex; align-items: baseline; gap: 12px; }
.consumer-front-section > header h2 { margin: 0; font-family: var(--font-emphasis); font-size: clamp(30px, 3.2vw, 43px); font-weight: 650; letter-spacing: -.03em; }
.consumer-front-section > header > div > span { color: #858782; font-size: 11px; }
.consumer-front-section > header > button { padding: 8px 0; border: 0; background: transparent; color: #5068b1; font-size: 12px; font-weight: 800; cursor: pointer; }

.consumer-original-grid { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, .78fr)); align-items: start; gap: 18px; }
.consumer-original-card { display: grid; overflow: hidden; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.consumer-original-card img { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 17px; object-fit: cover; background: #eeeae2; transition: transform .3s ease, filter .3s ease; }
.consumer-original-card.featured img { aspect-ratio: 1.16 / 1; }
.consumer-original-card:hover img { transform: translateY(-2px); filter: saturate(1.03) contrast(1.01); }
.consumer-original-card > span { margin-top: 16px; color: #5f76bd; font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.consumer-original-card h3 { margin: 7px 0 6px; font-family: var(--font-emphasis); font-size: 20px; font-weight: 650; line-height: 1.25; }
.consumer-original-card.featured h3 { font-size: 27px; }
.consumer-original-card p { display: -webkit-box; min-height: 39px; margin: 0 0 10px; overflow: hidden; color: var(--public-muted); font-size: 11px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.consumer-original-card small { color: #888983; font-size: 10px; }

.consumer-live-selections { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.consumer-selection-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: -10px 0 18px; }
.consumer-selection-filters button { padding: 7px 12px; border: 1px solid #ddd9d2; border-radius: 999px; background: transparent; color: #65686c; font-size: 11px; font-weight: 750; cursor: pointer; }
.consumer-selection-filters button.active { border-color: #9eaddb; background: #eef2fb; color: #4f67b2; }
.consumer-selection-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.consumer-selection-card { display: grid; grid-template-columns: 1fr; overflow: hidden; min-height: 0; padding: 0; border: 1px solid #e2dfd9; border-radius: 18px; background: #fff; color: inherit; text-align: left; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.consumer-selection-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(47,43,36,.09); }
.consumer-selection-card > img { width: 100%; height: auto; min-height: 0; aspect-ratio: 2 / 1; object-fit: cover; background: #eeeae2; }
.consumer-selection-card > div { display: flex; min-height: 190px; flex-direction: column; padding: 22px; }
.consumer-selection-card span { color: #5068b1; font-size: 10px; font-weight: 850; letter-spacing: .05em; }
.consumer-selection-card h3 { margin: 12px 0 8px; font-family: var(--font-emphasis); font-size: 24px; line-height: 1.24; }
.consumer-selection-card p { margin: 0; color: var(--public-muted); font-size: 12px; line-height: 1.7; }
.consumer-selection-card .public-selection-progress { margin-top: auto; }
.consumer-selection-card small { color: #7d7f7e; font-size: 10px; }
@media (min-width: 1101px) {
  .public-consumer-front { padding-top: 42px; }
  .consumer-live-selections + .consumer-originals { margin-top: 34px; }
  .consumer-selection-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
  .consumer-selection-card > img { width: 100%; height: 150px; aspect-ratio: auto; }
  .consumer-selection-card > div { min-height: 132px; padding: 13px 14px; }
  .consumer-selection-card h3 { display: -webkit-box; margin: 7px 0 4px; overflow: hidden; font-size: 16px; line-height: 1.22; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .consumer-selection-card p { display: -webkit-box; overflow: hidden; font-size: 11px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .consumer-selection-card .public-selection-progress { margin: 8px 0 6px; }
}
.consumer-selection-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 18px; }
.consumer-selection-pagination button { padding: 7px 12px; border: 1px solid #d9d5ce; border-radius: 999px; background: #fff; color: #5068b1; font-weight: 750; cursor: pointer; }
.consumer-selection-pagination button:disabled { color: #aaa; cursor: default; }
.consumer-selection-pagination span { color: #777b82; font-size: 11px; }
.consumer-front-empty { grid-column: 1 / -1; display: grid; gap: 7px; min-height: 190px; align-content: center; justify-items: center; padding: 34px; border: 1px dashed #d4d0c8; border-radius: 18px; background: rgba(255,255,255,.5); text-align: center; }
.consumer-front-empty b { font-family: var(--font-emphasis); font-size: 21px; }
.consumer-front-empty span { color: var(--public-muted); font-size: 12px; }

.public-page-intro { display: flex; align-items: end; justify-content: space-between; gap: 56px; margin-bottom: 34px; padding-bottom: 32px; border-bottom: 1px solid var(--public-line); }
.public-page-intro > div { flex: 0 0 auto; }
.public-page-intro > div > span { color: #6078c5; font-family: var(--font-emphasis); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.public-page-intro h1 { margin: 10px 0 0 !important; font-size: clamp(44px, 5vw, 68px) !important; letter-spacing: -.045em; }
.public-page-intro > p { max-width: 610px; margin: 0; color: var(--public-muted); font-size: 16px; line-height: 1.8; }

.public-directory { max-width: 1320px; padding-top: 68px; }
.public-directory-tools { position: relative; grid-template-columns: minmax(300px, 1.25fr) minmax(160px, .45fr) minmax(150px, .4fr) auto; align-items: end; margin: 0 0 26px; padding: 14px; border: 1px solid #dfe3ea; border-radius: 18px; background: rgba(255,255,255,.82); box-shadow: 0 10px 30px rgba(48,59,79,.055); backdrop-filter: blur(16px); }
.public-directory-tools > label { display: grid; gap: 7px; }
.public-directory-tools > label > span { padding-left: 3px; color: #7b8290; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.public-directory-tools > label > input { width: 100%; min-height: 44px; padding: 0 14px; border: 1px solid #d7ddea; border-radius: 11px; background: #fff; color: var(--public-text); font: inherit; }
.public-directory-tools > div { grid-column: 1 / -1; order: 2; padding-top: 3px; }
.public-directory-tools .public-directory-reset { align-self: end; min-height: 44px; border-color: transparent; background: #eef2fb; color: #5068b1; }
.consumer-directory-tools { grid-template-columns: minmax(300px, 1.25fr) auto minmax(160px, .45fr) minmax(150px, .4fr); }
.consumer-directory-tools .consumer-directory-submit { align-self: end; min-height: 44px; padding: 0 18px; border-color: #4f6fd8; border-radius: 11px; background: #4f6fd8; color: #fff; font-weight: 800; }
.consumer-directory-tools .public-directory-reset { grid-column: 4; grid-row: 2; justify-self: end; min-height: 34px; }

.public-gallery { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr); gap: 20px; }
.public-gallery button { color: inherit; font: inherit; text-align: left; cursor: pointer; }
.public-gallery-lead { position: relative; overflow: hidden; padding: 0; border: 1px solid var(--public-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 46px rgba(36,48,70,.085); }
.public-gallery-lead::after { content: "EDITOR'S PICK"; position: absolute; top: 22px; left: 22px; padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.88); color: #43599d; font-size: 9px; font-weight: 900; letter-spacing: .14em; backdrop-filter: blur(12px); }
.public-gallery-lead > img { display: block; width: 100%; aspect-ratio: 1.42 / 1; object-fit: cover; }
.public-gallery-lead > div { padding: 28px 30px 32px; }
.public-gallery-lead span, .public-gallery-tile span { color: #6078c5; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.public-gallery-lead h2 { margin: 9px 0 8px; font-family: var(--font-emphasis); font-size: clamp(30px, 3vw, 44px); line-height: 1.16; letter-spacing: -.025em; }
.public-gallery-lead p { max-width: 720px; margin: 0 0 18px; color: var(--public-muted); font-size: 14px; line-height: 1.75; }
.public-gallery-lead small, .public-gallery-tile small { color: #858b96; font-size: 10px; }
.public-gallery-rail { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-content: start; gap: 16px; }
.public-gallery-tile { overflow: hidden; padding: 0 0 18px; border: 1px solid var(--public-line); border-radius: 18px; background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.public-gallery-tile:hover, .public-gallery-lead:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(39,52,76,.11); }
.public-gallery-tile > img { display: block; width: 100%; aspect-ratio: 1.08 / 1; object-fit: cover; }
.public-gallery-tile.tall > img { aspect-ratio: .9 / 1; }
.public-gallery-tile > div { padding: 17px 18px 0; }
.public-gallery-tile h3 { margin: 6px 0 7px; font-family: var(--font-emphasis); font-size: 20px; line-height: 1.25; }
.public-gallery-tile p { display: -webkit-box; min-height: 42px; margin: 0 0 12px; overflow: hidden; color: var(--public-muted); font-size: 11px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.public-directory-sparse { position: relative; grid-column: 1 / -1; overflow: hidden; min-height: 210px; padding: 29px 30px; border: 1px solid #e9dfcf; border-radius: 20px; background: linear-gradient(135deg, #fffaf1, #f8f5ef 62%, #eef5f4); }
.public-directory-sparse::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 230px; height: 230px; border: 1px solid rgba(91,162,162,.24); border-radius: 50%; box-shadow: 0 0 0 28px rgba(91,162,162,.06), 0 0 0 58px rgba(232,185,96,.05); }
.public-directory-sparse > span, .public-empty-curation > div > span, .public-filter-empty > span, .public-empty-selection > div > span, .public-selection-sparse > span { color: #5b8f8f; font-size: 9px; font-weight: 900; letter-spacing: .17em; }
.public-directory-sparse h3 { max-width: 330px; margin: 10px 0 8px; font-family: var(--font-emphasis); font-size: 25px; line-height: 1.25; }
.public-directory-sparse p { position: relative; z-index: 1; max-width: 440px; margin: 0 0 20px; color: #6f716e; font-size: 12px; line-height: 1.75; }
.public-directory-sparse > div { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 7px; }
.public-directory-sparse small { padding: 7px 10px; border: 1px solid rgba(91,143,143,.2); border-radius: 999px; background: rgba(255,255,255,.58); color: #5d7370; }

.public-empty-curation, .public-empty-selection { display: grid; grid-template-columns: 1.35fr .65fr; overflow: hidden; min-height: 410px; border: 1px solid #dce1e8; border-radius: 26px; background: linear-gradient(132deg, #fff 0 57%, #eef2fb 57%); box-shadow: 0 20px 50px rgba(37,48,67,.07); }
.public-empty-curation > div, .public-empty-selection > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 62px; }
.public-empty-curation h2, .public-empty-selection h2 { max-width: 620px; margin: 12px 0 16px; font-family: var(--font-emphasis); font-size: clamp(34px, 4vw, 52px); line-height: 1.14; letter-spacing: -.035em; }
.public-empty-curation p, .public-empty-selection p { max-width: 650px; margin: 0; color: var(--public-muted); line-height: 1.85; }
.public-empty-actions { display: flex; gap: 9px; margin-top: 26px; }
.public-empty-actions button, .public-empty-selection button, .public-filter-empty button, .public-selection-sparse button { padding: 12px 16px; border: 1px solid #cbd4e7; border-radius: 12px; background: #fff; color: #3f579e; font-weight: 800; cursor: pointer; }
.public-empty-curation > aside { align-self: center; margin: 34px; padding: 34px; border: 1px solid rgba(104,122,181,.18); border-radius: 20px; background: rgba(255,255,255,.63); }
.public-empty-curation > aside b { font-family: var(--font-emphasis); font-size: 18px; }
.public-empty-curation > aside ul { display: grid; gap: 16px; margin: 22px 0 0; padding: 0; list-style: none; }
.public-empty-curation > aside li { position: relative; padding-left: 20px; color: #666f82; font-size: 12px; line-height: 1.55; }
.public-empty-curation > aside li::before { content: ""; position: absolute; top: .52em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-orange); box-shadow: 0 0 0 5px rgba(240,145,91,.12); }
.public-filter-empty { display: grid; justify-items: center; min-height: 340px; padding: 70px 24px; border: 1px dashed #c9d0dc; border-radius: 24px; background: rgba(255,255,255,.55); text-align: center; }
.public-filter-empty h2 { margin: 12px 0 8px; font-family: var(--font-emphasis); font-size: 32px; }
.public-filter-empty p { margin: 0 0 22px; color: var(--public-muted); }

.public-selections { max-width: 1240px; padding-top: 68px; }
.public-selection-featured { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr); overflow: hidden; border: 1px solid var(--public-line); border-radius: 26px; background: #fff; box-shadow: 0 22px 56px rgba(35,48,72,.09); }
.public-selection-featured-media { position: relative; min-height: 540px; background: #e9edf4; }
.public-selection-featured-media img { width: 100%; height: 100%; object-fit: cover; }
.public-selection-featured-media > span { position: absolute; top: 24px; left: 24px; padding: 9px 12px; border-radius: 999px; background: rgba(255,255,255,.9); color: #3e569f; font-size: 10px; font-weight: 900; letter-spacing: .08em; backdrop-filter: blur(12px); }
.public-selection-featured-copy { display: flex; flex-direction: column; justify-content: center; padding: 44px 42px; }
.public-selection-kicker { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #6476b7; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.public-selection-kicker em { color: #8a909a; font-style: normal; font-weight: 600; letter-spacing: 0; }
.public-selection-featured h2 { margin: 16px 0 12px; font-family: var(--font-emphasis); font-size: clamp(34px, 3.6vw, 49px); line-height: 1.12; letter-spacing: -.035em; }
.public-selection-featured-copy > p { margin: 0; color: var(--public-muted); font-size: 15px; line-height: 1.8; }
.public-selection-progress { height: 9px; margin: 30px 0 12px; background: #e9ecf2; }
.public-selection-progress i { background: linear-gradient(90deg, #5a74cd, #75a9d8); }
.public-selection-progress-copy { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.public-selection-progress-copy b { color: #3453a5; font-size: 13px; }
.public-selection-progress-copy span { color: #7d8490; font-size: 11px; }
.public-selection-featured dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 24px 0 4px; padding: 19px 0; border-top: 1px solid #e5e8ee; border-bottom: 1px solid #e5e8ee; }
.public-selection-featured dt, .public-selection-compact dt { margin-bottom: 5px; color: #8a909d; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.public-selection-featured dd, .public-selection-compact dd { margin: 0; color: var(--public-ink); font-size: 15px; font-weight: 850; }
.public-selection-featured footer, .public-selection-compact footer { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 13px; }
.public-selection-featured footer button, .public-selection-compact footer button { padding: 11px 14px; border: 1px solid #cbd4eb; border-radius: 999px; background: #fff; color: var(--public-primary-strong); font-weight: 700; cursor: pointer; }
.public-selection-featured footer button:first-child { border-color: #4f6fd8; background: #4f6fd8; color: #fff; }
.public-selection-featured-copy > small { color: #898f98; font-size: 10px; line-height: 1.6; }
.public-selection-detail-link { align-self: flex-start; margin-top: 22px; padding: 12px 18px; border: 1px solid #4f6fd8; border-radius: 999px; background: #4f6fd8; color: #fff; font-family: var(--font-emphasis); font-weight: 750; cursor: pointer; }
.public-selection-compact .public-selection-detail-link { margin-top: 18px; padding: 10px 15px; }
.public-stage4-detail { width: min(1280px, calc(100% - 48px)); margin: 0 auto; padding: 34px 0 100px; }
.public-stage4-detail > .stage4-public-project { box-shadow: 0 18px 50px rgba(33,39,35,.08); }
.public-stage4-detail .stage4-public-summary > footer { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 8px; }
.public-stage4-detail .stage4-public-summary > footer button { min-width: 0; padding: 10px 8px; border: 1px solid #cbd4eb; border-radius: 9px; background: #fff; color: #315c51; font-weight: 750; cursor: pointer; }
.public-stage4-detail .stage4-public-summary > footer button:first-child { border-color: #2f806c; background: #2f806c; color: #fff; }
.public-selection-detail { max-width: 1180px; margin: 0 auto; padding: 46px 24px 110px; }
.public-selection-detail-back { margin-bottom: 26px; padding: 0; border: 0; background: transparent; color: var(--public-primary-strong); font-weight: 750; cursor: pointer; }
.public-selection-detail-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); overflow: hidden; border: 1px solid var(--public-line); border-radius: 26px; background: #fff; box-shadow: 0 22px 56px rgba(35,48,72,.09); }
.public-selection-detail-media { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; min-height: 520px; background: #e9edf4; }
.public-selection-detail-media img { width: 100%; height: 100%; min-height: 250px; object-fit: cover; }
.public-selection-detail-media img:only-child { grid-column: 1 / -1; }
.public-selection-detail-summary { display: flex; flex-direction: column; justify-content: center; padding: 42px; }
.public-selection-detail-summary h1 { margin: 16px 0 12px; font-family: var(--font-emphasis); font-size: clamp(34px, 3.4vw, 50px); line-height: 1.12; letter-spacing: -.035em; }
.public-selection-detail-summary > p { margin: 0; color: var(--public-muted); line-height: 1.8; }
.public-selection-detail-summary dl { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; margin: 24px 0 4px; padding: 18px 0; border-top: 1px solid #e5e8ee; border-bottom: 1px solid #e5e8ee; }
.public-selection-detail-summary dt { margin-bottom: 5px; color: #8a909d; font-size: 10px; font-weight: 800; }
.public-selection-detail-summary dd { margin: 0; color: var(--public-ink); font-weight: 850; }
.public-selection-detail-summary > footer { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.public-selection-detail-summary > footer button { padding: 11px 14px; border: 1px solid #cbd4eb; border-radius: 999px; background: #fff; color: var(--public-primary-strong); font-weight: 750; cursor: pointer; }
.public-selection-detail-summary > footer button:first-child { border-color: #4f6fd8; background: #4f6fd8; color: #fff; }
.public-selection-detail-body { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; margin-top: 24px; }
.public-selection-detail-body section { padding: 30px; border: 1px solid var(--public-line); border-radius: 22px; background: #fff; }
.public-selection-detail-body small { color: #5c77c9; font-weight: 850; letter-spacing: .14em; }
.public-selection-detail-body h2 { margin: 10px 0 12px; font-family: var(--font-emphasis); font-size: 28px; }
.public-selection-detail-body p { color: var(--public-muted); line-height: 1.85; }
.public-selection-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px !important; margin-top: 20px; }
.public-selection-compact { display: grid; grid-template-columns: minmax(180px,.75fr) minmax(0,1.25fr); overflow: hidden; min-height: 300px; border: 1px solid var(--public-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(37,48,67,.06); }
.public-selection-compact > img { width: 100%; height: 100%; object-fit: cover; }
.public-selection-compact > div { padding: 27px; }
.public-selection-compact h3 { margin: 10px 0 7px; font-family: var(--font-emphasis); font-size: 24px; line-height: 1.2; }
.public-selection-compact p { min-height: 42px; margin: 0; color: var(--public-muted); font-size: 12px; line-height: 1.7; }
.public-selection-compact .public-selection-progress { height: 6px; margin: 20px 0 12px; }
.public-selection-compact dl { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 0; }
.public-selection-compact .public-owned-selection { align-items: stretch; flex-direction: column; }
.public-selection-sparse { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 300px; padding: 36px; border: 1px solid #e3dfd6; border-radius: 20px; background: linear-gradient(145deg, #fffaf1, #f4f7f7); }
.public-selection-sparse h3 { margin: 10px 0 8px; font-family: var(--font-emphasis); font-size: 28px; }
.public-selection-sparse p { max-width: 440px; margin: 0 0 22px; color: var(--public-muted); font-size: 13px; line-height: 1.75; }
.public-empty-selection { grid-template-columns: 1.15fr .85fr; background: linear-gradient(132deg, #fff 0 55%, #f0f2fb 55%); }
.public-empty-selection > ol { display: grid; align-self: center; gap: 14px; margin: 34px; padding: 0; list-style: none; }
.public-empty-selection li { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid rgba(96,120,197,.17); border-radius: 15px; background: rgba(255,255,255,.66); }
.public-empty-selection li b { color: #6078c5; font-size: 11px; }
.public-empty-selection li span { color: #4f5665; font-size: 13px; font-weight: 700; }

@media (max-width: 980px) {
  .public-header { gap: 14px; }
  .public-global-search { flex-basis: 280px; }
  .consumer-original-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .consumer-original-card.featured img { aspect-ratio: 1 / 1; }
  .consumer-selection-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .public-page-intro { align-items: flex-start; flex-direction: column; gap: 18px; }
  .public-directory-tools { grid-template-columns: 1fr 1fr; }
  .public-directory-tools > label { grid-column: 1 / -1; }
  .public-gallery, .public-selection-featured, .public-selection-detail-hero { grid-template-columns: 1fr; }
  .public-gallery-rail { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .public-selection-featured-media { min-height: 430px; }
  .public-selection-detail-media { min-height: 420px; }
}
@media (max-width: 680px) {
  .public-header { flex-wrap: wrap; height: auto; min-height: 76px; padding-top: 12px; padding-bottom: 12px; }
  .public-global-search { order: 3; flex-basis: 100%; max-width: none; }
  .public-consumer-front { padding: 48px 18px 78px; }
  .consumer-front-intro { margin-bottom: 54px; }
  .consumer-front-section + .consumer-front-section { margin-top: 64px; }
  .consumer-front-section > header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .consumer-original-grid { grid-template-columns: 1fr 1fr; gap: 20px 12px; }
  .consumer-original-card h3, .consumer-original-card.featured h3 { font-size: 18px; }
  .consumer-live-selections { margin: 0; padding: 0; border-radius: 0; }
  .consumer-selection-card { grid-template-columns: 1fr; }
  .consumer-selection-card > img { min-height: 0; aspect-ratio: 1.75 / 1; }
  .consumer-selection-grid { grid-template-columns: 1fr; }
  .creator-discover-entry { width: 42px; padding: 0; justify-content: center; }
  .creator-discover-entry > span { display: none; }
  .auth-brand-image { width: 48px; height: 48px; }
  .public-directory, .public-selections { padding: 48px 18px 78px; }
  .public-directory-tools, .public-gallery-rail, .public-selection-grid, .public-empty-curation, .public-empty-selection { grid-template-columns: 1fr; }
  .public-directory-tools > label, .public-directory-tools > div { grid-column: auto; }
  .public-gallery-lead > img { aspect-ratio: 1.12 / 1; }
  .public-gallery-lead > div, .public-selection-featured-copy { padding: 25px; }
  .public-empty-curation, .public-empty-selection { background: linear-gradient(170deg, #fff 0 62%, #eef2fb 62%); }
  .public-empty-curation > div, .public-empty-selection > div { padding: 42px 28px; }
  .public-empty-curation > aside, .public-empty-selection > ol { margin: 20px 28px 34px; }
  .public-selection-featured-media { min-height: 320px; }
  .public-selection-detail { padding: 34px 18px 78px; }
  .public-selection-detail-media { min-height: 300px; }
  .public-selection-detail-summary { padding: 25px; }
  .public-selection-detail-body { grid-template-columns: 1fr; }
  .public-stage4-detail { width: min(100% - 28px, 1280px); padding-top: 24px; }
  .public-stage4-detail .stage4-public-summary > footer { grid-template-columns: 1fr; }
  .public-selection-progress-copy { align-items: flex-start; flex-direction: column; gap: 4px; }
  .public-selection-compact { grid-template-columns: 1fr; }
  .public-selection-compact > img { aspect-ratio: 1.4 / 1; }
  .public-empty-actions { align-items: stretch; flex-direction: column; }
  .public-header nav .public-channel-button span, .public-header nav .public-workspace-button span, .public-header nav .public-login-button span { display: none; }
  .public-header nav .public-channel-button, .public-header nav .public-workspace-button, .public-header nav .public-login-button { display: grid; width: 42px; height: 42px; padding: 0; place-items: center; }
  .account-activity-page { padding: 42px 18px 76px; }
  .account-activity-grid { grid-template-columns: 1fr; }
}

/* Stage 4 poster editor and lightweight social bridges */
.stage4-poster-entry { white-space: nowrap; }
.stage4-poster-editor { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(320px, 1fr); align-items: start; gap: 28px; }
.stage4-poster-editor-controls { display: grid; gap: 22px; padding: 24px; border: 1px solid #e1e3e7; border-radius: 18px; background: #fbfbfa; }
.stage4-poster-editor-controls > div:first-child { display: grid; gap: 7px; }
.stage4-poster-editor-controls small { color: #77808d; font-size: 11px; line-height: 1.65; }
.stage4-poster-editor-controls h3 { margin: 0; color: #22242a; font-size: 20px; }
.stage4-poster-editor-controls p { margin: 0; color: #66707d; font-size: 12px; line-height: 1.75; }
.stage4-poster-source-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.stage4-poster-upload { cursor: pointer; }
.stage4-poster-upload input, .stage4-update-image-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.stage4-poster-theme-field { display: grid; gap: 8px; }
.stage4-poster-theme-field > span { color: #242730; font-size: 12px; font-weight: 800; }
.stage4-poster-theme-field em { color: #89919c; font-size: 10px; font-style: normal; font-weight: 600; }
.stage4-poster-theme-field textarea { min-height: 92px; resize: vertical; }
.stage4-poster-preview-wrap { display: grid; place-items: center; padding: 20px; border-radius: 20px; background: #ecebe7; }
.stage4-poster-sheet { display: grid; grid-template-rows: 48px 42% minmax(0, 1fr); width: auto; max-width: 100%; height: min(480px, calc(100dvh - 350px)); min-height: 380px; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid rgba(35,37,42,.12); background: #f9f8f5; color: #23252a; box-shadow: 0 20px 44px rgba(35,37,42,.16); }
.stage4-poster-sheet > header { display: flex; align-items: center; padding: 0 20px; background: #f9f8f5; }
.stage4-poster-sheet > header img { width: 128px; max-height: 28px; object-fit: contain; object-position: left center; }
.stage4-poster-sheet-photo { position: relative; min-height: 0; overflow: hidden; }
.stage4-poster-sheet-photo > img { display: block; width: 100%; height: 100%; aspect-ratio: 1.32 / 1; object-fit: cover; }
.stage4-poster-theme-preview { position: absolute; right: 22px; bottom: 18px; left: 22px; margin: 0; padding: 13px 16px; border-left: 3px solid #e08b54; background: rgba(249,248,245,.92); color: #25262a; font-family: var(--font-emphasis); font-size: 14px; font-weight: 800; line-height: 1.45; box-shadow: 0 8px 22px rgba(23,25,29,.12); }
.stage4-poster-sheet-copy { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-height: 0; padding: 15px 20px 11px; }
.stage4-poster-sheet-copy > h3 { margin: 0 0 9px; font-family: var(--font-emphasis); font-size: 20px; line-height: 1.18; letter-spacing: -.02em; }
.stage4-poster-sheet-meta { display: grid; grid-template-columns: minmax(0,1fr) 88px; align-items: end; gap: 12px; min-height:0; }
.stage4-poster-sheet-meta > div:first-child { display: grid; align-content: end; gap: 4px; }
.stage4-poster-sheet-meta small { color: #70757f; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.stage4-poster-sheet-meta b { color: #d17145; font-size: 13px; }
.stage4-poster-sheet-meta p { margin: 5px 0 0; color: #525863; font-size: 8px; line-height: 1.42; }
.stage4-poster-sheet-qr { display: grid; justify-items: center; gap: 3px; padding: 5px; background: #fff; }
.stage4-poster-sheet-qr img { display: block; width: 78px; aspect-ratio: 1; object-fit: contain; }
.stage4-poster-sheet-qr span { font-size: 8px; font-weight: 800; }
.stage4-poster-sheet-copy > footer { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 7px; padding-top: 7px; border-top: 1px solid #dedbd4; }
.stage4-poster-sheet-copy > footer strong { font-size: 8.5px; letter-spacing: .03em; }
.stage4-poster-sheet-copy > footer span { color: #6a7078; font-size: 8px; }
.stage4-update-image-picker { display: grid; justify-items: start; gap: 10px; padding: 14px; border: 1px dashed #ced7e8; border-radius: 13px; background: #f8faff; }
.stage4-update-image-picker label { cursor: pointer; }
.stage4-update-image-picker figure { display: grid; grid-template-columns: 110px auto; align-items: center; gap: 12px; margin: 0; }
.stage4-update-image-picker figure img { width: 110px; aspect-ratio: 4 / 3; border-radius: 9px; object-fit: cover; }
.stage4-update-image { display: block; width: 150px; aspect-ratio: 4 / 3; border-radius: 12px; object-fit: cover; }
.stage4-update-share { margin-top: 7px; }
.public-social-bridges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.public-social-bridges a, .public-creator-social-link, .stage4-related-social { display: inline-flex; align-items: center; width: fit-content; padding: 8px 11px; border: 1px solid #d6ddeb; border-radius: 999px; background: rgba(255,255,255,.76); color: #5066ad; font-size: 10px; font-weight: 800; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.public-social-bridges a:hover, .public-creator-social-link:hover, .stage4-related-social:hover { border-color: #91a3d7; transform: translateY(-1px); }
.public-creator-social-link { margin-top: 18px; }
.public-selection-compact .public-social-bridges { margin: 12px 0 0; }

@media (max-width: 760px) {
  .stage4-poster-editor { grid-template-columns: 1fr; }
  .stage4-poster-editor-controls { padding: 18px; }
  .stage4-poster-source-actions { align-items: stretch; flex-direction: column; }
  .stage4-poster-source-actions > * { width: 100%; justify-content: center; }
  .stage4-poster-preview-wrap { padding: 12px; }
  .stage4-poster-sheet { width: min(100%, 390px); height: auto; min-height: 0; }
}
