/* Quiet editorial system: essentials first, supporting tasks in local tabs. */
.page:not(:has(.auth-layout)):not(:has(.workspace-home)) { padding-top:26px; padding-bottom:70px; }
.page-heading,.production-heading { margin-bottom:22px; gap:18px; align-items:center; }
.page-heading h1,.production-heading h1,.records-heading h1,.result-hero h1,.image-tools-index h1,.image-tool-page .section-heading h1 { font-size:clamp(25px,2.7vw,36px); font-weight:600; line-height:1.25; }
.page-heading > div > p:last-child,.production-heading p { margin-top:9px; font-size:12px; line-height:1.7; }
.module-kicker { display:flex; align-items:center; gap:8px; font-size:10px; margin-bottom:10px; letter-spacing:.06em; }
.module-kicker .studio-icon { width:16px; height:16px; color:#7c8d6c; }
.module-tabs { display:flex; gap:6px; width:fit-content; max-width:100%; padding:4px; margin:0 0 20px; background:#eaece2; border:1px solid #dadfcf; border-radius:8px; }
.module-tabs button { min-height:44px; padding:9px 20px; border:1px solid transparent; border-radius:5px; color:#68715d; background:none; font-size:13px; cursor:pointer; }
.module-tabs button[aria-selected=true] { background:#fffef8; border-color:#e0e1d6; color:#2e4434; box-shadow:0 2px 5px #25352908; }
.module-tabs button:focus-visible { outline:2px solid #bc7a4c; outline-offset:2px; }
.module-panel[hidden] { display:none !important; }
.module-panel { min-width:0; }
.admin-account-details { margin-top:12px; border-top:1px solid var(--line); padding-top:12px; }.admin-account-details > summary { cursor:pointer; font-size:12px; color:#637358; }
#admin-grant-panel:has([data-selected-user]) > header,#admin-grant-panel:has([data-selected-user]) > .field-helper { display:none; }
.admin-user-results[hidden] { display:none; }
.confirm-dialog,.help-dialog,.contact-dialog { border-radius:12px; border-color:#d5dccb; box-shadow:0 24px 80px #13251d26; }
.auth-layout:not(.admin-login) .auth-panels:has(.module-tabs) { display:flex; flex-direction:column; justify-content:center; gap:18px; }
.auth-panels .module-panel { width:100%; max-width:500px; align-self:center; }.auth-panels .module-tabs { width:100%; max-width:500px; align-self:center; margin:0; }.auth-panels .module-tabs button { flex:1; }.auth-panels .auth-entry-heading { width:100%; max-width:500px; align-self:center; }
.module-panel:focus-visible { outline:2px solid #b6c4a8; outline-offset:4px; }
.admin-grant-form,.ingest-panel,.account-profile,.account-ledger-panel,.record-card,.result-item,.production-summary { border-radius:10px; border-color:#daddd1; box-shadow:0 6px 22px #35422c05; }
.admin-grant-form,.ingest-panel { position:relative; padding:22px; }
.admin-grant-form > header,.ingest-panel > header { margin-bottom:18px; gap:12px; }
.admin-grant-form > header > span,.ingest-panel > header > span { min-width:38px; min-height:34px; border-color:#d6ddc9; border-radius:6px; color:#637457; background:#f1f4eb; }
.admin-grant-form h2,.ingest-panel h2 { font-size:19px; }
.account-profile { position:relative; max-width:none; padding:18px 22px; background:#edf0e6; overflow:hidden; }
.account-profile::after { content:''; position:absolute; right:12px; top:0; width:120px; height:100%; background:url('./illustrations/module-paper.svg') right center/contain no-repeat; opacity:.4; pointer-events:none; }
.account-profile h3,.account-profile p { position:relative; z-index:1; overflow-wrap:anywhere; }
.account-password-form,.account-ledger-panel { max-width:780px; margin:0; }
.account-password-form .field { margin-bottom:12px; }
.account-password-form .field input { min-height:42px; }
.page:has(.account-profile) > .page-heading > div > p { max-width:48em; }
.account-password-form { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }.account-password-form > header,.account-password-form > .field:first-of-type,.account-password-form > button,.account-password-form > .form-message { grid-column:1/-1; }.account-password-form .field-helper { display:none; }
.account-ledger-panel { padding:22px; background:var(--surface); border:1px solid var(--line); }
.reference-heading { padding-bottom:18px; }
.module-panel:has(.ingest-panel) { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.module-panel .library-section { margin:0; padding:0; }
.module-panel .library-section h2 { font-size:18px; }
.module-panel .library-section .section-heading { margin-bottom:16px; }
.module-panel .reference-asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.module-panel .ingest-panel textarea { min-height:120px; }
.reference-drop { min-height:136px; border-radius:8px; }
.reference-asset { border-radius:9px; overflow:hidden; }
.empty-panel { position:relative; padding:28px 22px; min-height:0; border:1px dashed #d1d8c4; background:#f8f8f1; }
.empty-panel::after { content:''; position:absolute; right:10px; top:10px; width:75px; height:60px; opacity:.22; pointer-events:none; background:url('./illustrations/module-paper.svg') center/contain no-repeat; }
.record-card { padding:16px; }.records-search { margin-bottom:20px; }
.result-hero { padding:0 0 20px; border-color:var(--line); }.result-hero .back-link { margin-bottom:18px; }.result-hero-main { align-items:center; gap:12px; }
.result-primary-actions { margin-top:18px; gap:10px; }.publish-check { padding:12px 16px; margin-top:18px; border-radius:7px; }.result-meta { margin-top:12px; }
.production-stepper { margin-bottom:16px; border:1px solid #d9ddcf; border-radius:8px; overflow:hidden; }.production-stepper button { min-height:54px; padding:10px; }.production-stepper button span { border-radius:50%; }
.production-summary { padding:16px; background:#2d4134; }.production-layout { gap:20px; }.production-step > header { margin-bottom:14px; }.production-step > header h2 { font-size:22px; }
.production-step .canvas-preset-card { padding:12px; }.production-navigation { padding-top:16px; }
.image-tool-page,.image-tools-index { gap:18px; }.image-tool-page > .section-heading,.image-tools-index > .section-heading { margin-bottom:0; padding-bottom:14px; }
.image-tool-form > .hero-actions { order:-1; margin:0; padding-bottom:12px; border-bottom:1px solid var(--line); }
.image-tool-form { gap:12px; padding:20px; }.image-tool-form textarea { min-height:100px; height:110px; }.image-tool-form fieldset { padding:10px; }.image-tool-form .canvas-preset-card { grid-template-rows:64px auto auto auto; padding:10px; gap:6px; }.image-tool-form .canvas-preset-frame { width:34px; }.prompt-ideas { padding:12px; gap:8px; }
.pricing-heading { margin-bottom:20px; }.pricing-balance { padding:14px 20px; }.pricing-island { padding:18px 16px; }.pricing-island-heading { padding-bottom:16px; }.pricing-pack-card,.pricing-pack-card.is-recommended { padding:16px 12px; }.pricing-pack-name { margin-top:12px; }.pricing-pack-topline { min-height:36px; }.pricing-pack-price { margin-top:12px; }.pricing-pack-quota { margin-top:16px; padding-top:12px; }.pricing-pack-unit { margin-top:12px; }.pricing-pack-list { padding-top:12px; }
@media(min-width:1100px) { .pricing-pack-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }.pricing-pack-price strong { font-size:30px; }.pricing-pack-mark { width:40px; } }
@media(max-width:1100px) { .module-panel:has(.ingest-panel) { grid-template-columns:1fr; }.module-panel .ingest-panel { max-width:none; }.module-panel .library-section { margin-top:4px; } }
@media(max-width:760px) {
 .page:not(:has(.auth-layout)):not(:has(.workspace-home)) { padding-top:18px; padding-bottom:96px; }
 .page-heading,.production-heading { flex-direction:row; align-items:flex-start; flex-wrap:wrap; gap:12px; margin-bottom:16px; }.page-heading .primary-button { min-height:36px; padding:8px 12px; font-size:12px; }
 .page-heading h1,.production-heading h1,.result-hero h1 { font-size:26px; }.module-kicker { margin-bottom:8px; }
 .module-tabs { width:100%; margin-bottom:14px; }.module-tabs button { flex:1; padding:8px; font-size:12px; }
 .admin-grant-form,.ingest-panel { padding:16px; }.admin-grant-form h2,.ingest-panel h2 { font-size:18px; }.admin-grant-form > header,.ingest-panel > header { margin-bottom:12px; }
 .account-profile { padding:14px 16px; margin-bottom:14px; }.account-profile::after { opacity:.18; }.account-password-form .field { margin-bottom:8px; }.account-password-form .field input { min-height:38px; }.account-password-form .field-error:empty { display:none; }
 .account-profile { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; padding:12px 14px; }.account-profile > span { display:none; }.account-profile h3 { margin:0; font-size:16px; }.account-profile p { margin:0; font-size:11px; }.account-profile p:last-child { grid-column:1/-1; }.account-profile p:nth-child(3) { text-align:right; }
 .account-password-form { display:block; }.account-password-form .field { gap:4px; }.account-password-form .field input { padding:8px 10px; height:38px; }.account-password-form .form-message:empty { display:none; }
 .page:has(.account-profile) > .page-heading { margin-bottom:10px; }.account-password-form > header { margin-bottom:8px; }.account-password-form > header > span { display:none; }.account-password-form .field input { height:40px; }.account-password-form .primary-button { margin-top:2px; }.page:has(.account-profile) .module-tabs { margin-bottom:10px; }
 .admin-user-search { grid-template-columns:minmax(0,1fr) auto; }.admin-claim-results { margin-top:8px; }
 .module-panel .reference-drop { min-height:98px; margin-bottom:10px; }.module-panel .ingest-panel textarea { height:94px; min-height:94px; }.module-panel .ingest-panel .field { margin-bottom:12px; }
 .module-panel .library-section .section-heading p { display:none; }.module-panel .empty-panel { padding:18px; }
 .production-layout { display:flex; flex-direction:column; gap:12px; }.production-main { width:100%; }.production-layout > .production-summary { order:-1; width:100%; }.production-summary.is-compact { padding:10px 14px; }.production-stepper button { min-height:46px; gap:6px; padding:8px 5px; }.production-stepper button b { font-size:11px; }.production-stepper button span { width:22px; height:22px; }
 .production-stepper button { flex-direction:column; justify-content:center; gap:4px; }.production-stepper button b { display:block; font-size:10px; }.production-summary:not(.is-compact) { padding:10px 14px; }.production-summary:not(.is-compact) > span,.production-summary:not(.is-compact) > p { display:none; }.production-summary:not(.is-compact) > strong { margin:0; font-size:11px; }.production-summary dl { margin:6px 0 0; border:0; }.production-summary dl > div { padding:2px 0; border:0; }.production-summary dt,.production-summary dd { font-size:10px; }
 .production-step .canvas-preset-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.production-step .canvas-preset-card { grid-template-columns:1fr; grid-template-rows:56px auto auto; padding:8px 4px; gap:5px; }.production-step .canvas-preset-frame { width:28px; grid-row:auto; }.production-step .canvas-preset-card b { font-size:12px; }.production-step .canvas-preset-card small { font-size:9px; }.production-step .canvas-preset-card em { display:none; }
 .image-tool-form { padding:14px; gap:10px; }.image-tool-form .canvas-preset-card { grid-template-rows:48px auto auto; padding:6px 2px; gap:4px; }.image-tool-form .canvas-preset-frame { width:25px; }.image-tool-form textarea { height:92px; min-height:92px; }.image-tool-form .tool-field-hint { margin:0; font-size:11px; }.prompt-ideas { padding:10px; }.prompt-idea { padding:7px; font-size:11px; }
 .image-tool-form > .hero-actions { position:fixed; bottom:0; left:0; right:0; z-index:8; margin:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#fbfaf4f7; border-top:1px solid #d7ddce; box-shadow:0 -5px 20px #33452808; display:flex; align-items:center; gap:8px; }.image-tool-form > .hero-actions .primary-button { flex:1; min-height:42px; }.tool-save-note { flex:1; font-size:10px; }
 .image-tool-result { padding-bottom:60px; }.result-hero-main { flex-direction:row; }.result-hero .back-link { margin-bottom:12px; }.result-primary-actions { flex-wrap:wrap; }.result-primary-actions a,.result-primary-actions button { padding:10px; min-height:40px; font-size:12px; }.publish-check { font-size:11px; padding:10px; }
 .result-primary-actions { display:grid; grid-template-columns:1fr 1fr; }.result-primary-actions > :last-child:nth-child(3) { grid-column:1/-1; }.publish-check { flex-direction:row; gap:8px; }.publish-check > b { flex:none; }.result-item > header { padding:14px; }.result-item > header h2 { font-size:20px; }
 .pricing-heading { gap:10px; }.pricing-heading > div > p:first-of-type { margin-top:8px; }.pricing-balance { padding:10px 14px; width:100%; }.pricing-balance strong { font-size:22px; }.pricing-island { padding:12px 10px; }.pricing-island-heading { padding:0 2px 10px; }.pricing-island-heading h2 { font-size:13px; }.pricing-island-heading p { margin-top:4px; }
 .pricing-pack-grid { gap:8px; }.pricing-pack-card,.pricing-pack-card.is-recommended { grid-template-columns:45px minmax(0,1fr) 76px; gap:3px 8px; padding:10px; align-items:center; }
 .pricing-pack-topline,.pricing-pack-ticks,.pricing-pack-unit,.pricing-pack-list { display:none; }.pricing-pack-name { grid-column:1; grid-row:1/3; font-size:15px; margin:0; }.pricing-pack-price { grid-column:2; grid-row:1; margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 6px; }.pricing-pack-price strong { font-size:22px; }.pricing-pack-price small { font-size:9px; }.pricing-pack-price s,.pricing-standard-price { font-size:9px; }
 .pricing-pack-quota { grid-column:2; grid-row:2; display:flex; align-items:baseline; gap:4px; margin:0; padding:0; border:0; }.pricing-pack-quota > strong { font-size:12px; margin:0; }.pricing-pack-quota > span { font-size:9px; }
 .pricing-pack-card > .primary-button,.pricing-pack-card > .secondary-button { grid-column:3; grid-row:1/3; margin:0; padding:8px; font-size:10px; min-height:44px; }
 .pricing-pack-card,.pricing-pack-card.is-recommended { padding-block:7px; }.pricing-heading .pricing-balance-icon { display:none; }.pricing-heading .pricing-balance { padding:8px 12px; }.pricing-heading .pricing-balance > div { display:flex; flex-wrap:wrap; gap:4px 10px; }.pricing-balance strong { margin-left:auto; }.pricing-balance p { width:100%; }
 .pricing-heading { margin-bottom:10px; }.pricing-heading .pricing-balance p { width:auto; font-size:10px; }.pricing-island-heading h2 { display:none; }.pricing-island-heading p { margin:0; }
 .auth-layout:not(.admin-login) { display:flex; flex-direction:column; }.auth-layout:not(.admin-login) .auth-panels { order:-1; padding:20px 16px; gap:14px; }.auth-layout:not(.admin-login) .auth-entry-heading { padding:0; }.auth-entry-heading h2,.auth-entry-heading p { display:none; }.auth-layout:not(.admin-login) .auth-panel { padding:18px; }.auth-layout:not(.admin-login) .auth-panel > header { margin-bottom:14px; gap:8px; }.auth-layout:not(.admin-login) .auth-panel .field { margin-bottom:12px; }.auth-layout:not(.admin-login) .auth-panel .field input { min-height:42px; }.auth-layout:not(.admin-login) .auth-panel header p { min-height:0; }.auth-layout:not(.admin-login) .auth-story { padding:26px 22px; }.auth-layout:not(.admin-login) .auth-story h1 { font-size:30px; }
 .admin-login.auth-layout { display:flex; flex-direction:column; }.admin-login .auth-story { padding:22px; }.admin-login .auth-story h1 { font-size:28px; }.admin-login .auth-story br { display:none; }.admin-login .auth-story p { font-size:12px; }.admin-login .auth-panels { padding:18px; }.admin-login .auth-panel { padding:20px; }
 .page .primary-button,.page .secondary-button { min-height:44px; }
}
