/* DIGITAL / LE STUDIO — candidate-only visual layer.
   Operate, not a landing page. Existing DOM, permissions and controllers own behavior.
   All rules require the explicitly integrated studio body class. No remote assets.
   Drawer geometry, transforms, visibility and inert remain owned by admin_navigation. */

body.studio-shell,
body.studio-guest {
  --studio-paper: #f4f3ed;
  --studio-surface: #fffefa;
  --studio-white: #ffffff;
  --studio-ink: #203b34;
  --studio-muted: #66746b;
  --studio-line: #dce1d6;
  --studio-green: #215a49;
  --studio-deep: #123e33;
  --studio-tint: #edf2e8;
  --studio-lime: #dce8ac;
  --studio-copper: #946044;
  --paper: var(--studio-paper);
  --surface: var(--studio-white);
  --ink: var(--studio-ink);
  --muted: var(--studio-muted);
  --line: var(--studio-line);
  --line-strong: #bdc9bb;
  --wash: #f1f4ec;
  --teal: var(--studio-green);
  --teal-600: #1c5141;
  --teal-700: var(--studio-deep);
  --teal-50: var(--studio-tint);
  --teal-100: #dbe6d4;
  --teal-bright: #b9ce89;
  --radius: 18px;
  --radius-sm: 10px;
  --shadow-sm: 0 2px 3px #263f2f05;
  --shadow: 0 3px 5px #203b3403, 0 12px 28px -20px #203b342b;
  --shadow-lg: 0 24px 65px -32px #203b3438;
  background: var(--studio-paper);
  color: var(--studio-ink);
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  line-height: 1.6;
  color-scheme: light;
}
body.studio-shell ::selection, body.studio-guest ::selection { background: #dce8ac; color: #173e30; }
body.studio-shell .app-shell { background: var(--studio-paper); min-width: 0; }
body.studio-shell main { max-width: 1480px; margin-inline: auto; padding: 30px 34px 56px; }
body.studio-shell .footer { margin-inline: 34px; border-color: var(--studio-line); color: var(--studio-muted); font-size: 11px; padding-block: 22px; }
body.studio-shell :is(h1,h2,h3,h4) { color: var(--studio-ink); }
body.studio-shell h1 { font-size: clamp(27px,2.6vw,36px); line-height: 1.15; font-weight: 720; letter-spacing: -.045em; text-wrap: balance; }
body.studio-shell h2 { letter-spacing: -.025em; font-weight: 650; }
body.studio-shell .eyebrow { color: var(--studio-copper); font-size: 10px; letter-spacing: .14em; font-weight: 700; }
body.studio-shell .lede { font-size: 13px; color: var(--studio-muted); line-height: 1.7; max-width: 780px; }
body.studio-shell .page-heading { margin-bottom: 26px; gap: 20px; }
body.studio-shell .page-heading h1 { margin: 0 0 8px; }
body.studio-shell .heading-actions { gap: 8px; }
body.studio-shell .section-heading { margin-bottom: 16px; }
body.studio-shell .section-heading :is(h2,h3) { font-size: 18px; }
body.studio-shell .counter { background: #f8faf5; border-color: var(--studio-line); color: #52634f; font-size: 11px; padding: 4px 10px; }

/* A quiet architectural frame; the expressive color belongs to the banner. */
body.studio-shell .sidebar {
  --nav-ink: var(--studio-ink); --nav-muted: var(--studio-muted);
  --nav-line: var(--studio-line); --nav-accent: var(--studio-green); --nav-tint: var(--studio-tint);
  background: #fdfdf8;
  border-right-color: var(--studio-line);
  box-shadow: 1px 0 0 #fff;
}
body.studio-shell .sidebar .brand,
body.studio-shell .utility .brand { color: var(--studio-ink); font-size: 25px; letter-spacing: .055em; font-weight: 800; gap: 4px; }
body.studio-shell .sidebar .brand::before,
body.studio-shell .utility .brand::before { display: none; }
body.studio-shell .sidebar .brand-dot,
body.studio-shell .utility .brand-dot { color: #9b6d47; margin-left: 1px; }
body.studio-shell .sidebar .brand-caption { color: var(--studio-muted); font-size: 12px; letter-spacing: .015em; padding-left: 0; }
body.studio-shell .admin-nav-identity { padding-block: 3px 23px; border-color: var(--studio-line); }
body.studio-shell .sidebar .nav-label { color: #78836f; font-size: 9px; letter-spacing: .16em; }
body.studio-shell .sidebar nav a { min-height: 48px; padding: 12px; color: #56634f; border: 1px solid transparent; border-radius: 10px; font-size: 12.5px; font-weight: 550; gap: 11px; }
body.studio-shell .sidebar nav a:hover { background: #edf2e8; color: var(--studio-deep); }
body.studio-shell .sidebar nav a[aria-current="page"] { background: var(--studio-deep); color: #f6f8ed; border-color: var(--studio-deep); box-shadow: 0 5px 12px -7px #163e33a6; }
body.studio-shell .sidebar nav a[aria-current="page"] svg { color: var(--studio-lime); }
body.studio-shell .sidebar nav a[aria-current="page"]::before { display: none; }
body.studio-shell .admin-nav-account { border-color: var(--studio-line); }
body.studio-shell .admin-nav-account .avatar { background: #e8eddc; border: 1px solid #d8e1ce; color: var(--studio-green); border-radius: 12px; }
body.studio-shell .admin-nav-account .account > a { color: #56634f; background: #f5f6ee; border-color: var(--studio-line); border-radius: 9px; }
body.studio-shell .admin-nav-account .account > a:hover { background: #e9efdf; }
body.studio-shell .utility { height: 64px; padding-inline: 34px; background: #fdfdf8; border-color: var(--studio-line); backdrop-filter: none; }
body.studio-shell .utility-label { color: var(--studio-muted); max-width: none; }
body.studio-shell .admin-header-context { color: var(--studio-muted); font-size: 11px; }
body.studio-shell .admin-header-section { color: var(--studio-ink); font-size: 12px; }
body.studio-shell .utility .account > a { min-height: 44px; display: inline-flex; align-items: center; border-color: var(--studio-line); }
body.studio-shell #admin-menu-toggle, body.studio-shell #admin-menu-close { border-color: var(--studio-line); color: var(--studio-ink); }

/* The art is a dimensional still life. It has no chart, metric or implied live state. */
body.studio-shell .studio-banner {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 242px; max-width: 1412px; margin: 26px 34px 0;
  padding: 28px 36px 23px; border: 1px solid #214e40; border-radius: 20px;
  background: radial-gradient(ellipse at 87% 10%, #3c6550 0, transparent 53%), #123e33;
  box-shadow: 0 14px 30px -24px #123e33bb;
  color: #f7f7e9;
}
body.studio-shell .studio-banner::before { content: ''; position: absolute; inset: 12px; z-index: -1; border: 1px solid #f1f4df12; border-radius: 11px; pointer-events: none; }
body.studio-shell .studio-banner-copy { position: relative; z-index: 1; max-width: 67%; }
body.studio-shell .studio-banner-kicker { display: flex; align-items: center; gap: 9px; color: #d5e1c7; font-size: 9px; font-weight: 600; letter-spacing: .16em; margin: 0 0 16px; }
body.studio-shell .studio-banner-kicker > span { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: #d6e5a4; }
body.studio-shell .studio-banner-title { font-size: clamp(30px,3.1vw,46px); font-weight: 570; line-height: 1.07; letter-spacing: -.045em; margin: 0; color: #f7f7ed; text-wrap: balance; }
body.studio-shell .studio-banner-title em { color: #dde9b0; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; }
body.studio-shell .studio-banner-signature { display: flex; align-items: center; gap: 12px; margin-top: 23px; color: #bdcbb1; font-size: 8px; letter-spacing: .16em; }
body.studio-shell .studio-banner-signature > span { color: #b99674; }
body.studio-shell .studio-banner-art { position: absolute; z-index: 0; width: 62%; height: auto; max-width: 670px; right: -35px; top: 50%; transform: translateY(-49%); pointer-events: none; }
body.studio-shell .studio-banner-corner { position: absolute; right: 20px; top: 19px; width: 26px; height: 26px; display: grid; place-items: center; color: #e0e8c5; font-size: 18px; font-weight: 300; }
body.studio-shell .studio-banner--compact { min-height: 78px; padding-block: 12px; border-radius: 16px; }
body.studio-shell .studio-banner--compact .studio-banner-copy { max-width: 76%; }
body.studio-shell .studio-banner--compact .studio-banner-kicker { margin-bottom: 7px; font-size: 8px; }
body.studio-shell .studio-banner--compact .studio-banner-title { font-size: 25px; line-height: 1.12; }
body.studio-shell .studio-banner--compact .studio-banner-break { display: none; }
body.studio-shell .studio-banner--compact .studio-banner-signature { display: none; }
body.studio-shell .studio-banner--compact .studio-banner-art { width: 285px; right: 2%; opacity: .72; }

/* Work controls: dense enough to operate, generous enough to touch. */
body.studio-shell :is(.button,button), body.studio-guest :is(.button,button) { min-height: 44px; border-radius: 10px; font-size: 12px; font-weight: 650; padding: 11px 16px; letter-spacing: -.01em; }
body.studio-shell :is(.button,button):not(.secondary):not(.button-danger):not(.saas-delete):not(.link-button),
body.studio-guest :is(.button,button) { background: var(--studio-green); border-color: var(--studio-green); color: #fff; box-shadow: 0 3px 8px -5px #143a30a6; }
body.studio-shell :is(.button,button):not(.secondary):not(.button-danger):not(.saas-delete):not(.link-button):hover,
body.studio-guest :is(.button,button):hover { background: var(--studio-deep); border-color: var(--studio-deep); color: #fff; }
body.studio-shell :is(.button.secondary,button.secondary) { color: var(--studio-green); background: #fffefa; border-color: #cad4c3; box-shadow: var(--shadow-sm); }
body.studio-shell :is(.button.secondary,button.secondary):hover { background: #edf2e8; border-color: #98ae8e; color: var(--studio-deep); }
body.studio-shell :is(button,.button):disabled, body.studio-shell .button[aria-disabled=true] { opacity: .55; cursor: not-allowed; }
/* Preserve the meaning of destructive controls, including modules loaded later.
   Their explicit semantic classes/actions are safer than a blanket button color. */
body.studio-shell :is(.button-danger,.watch-danger,.mc-danger,.saas-delete),
body.studio-shell form[action$="/delete"] button[type="submit"],
body.studio-shell form:has(> input[name="action"][value="delete"]) button[type="submit"],
body.studio-shell button[data-delete-source] {
  background: #fff5f1!important; color: #963f30!important; border: 1px solid #d8b2a2!important; box-shadow: none;
}
body.studio-shell :is(.button-danger,.watch-danger,.mc-danger,.saas-delete):hover,
body.studio-shell form[action$="/delete"] button[type="submit"]:hover,
body.studio-shell form:has(> input[name="action"][value="delete"]) button[type="submit"]:hover,
body.studio-shell button[data-delete-source]:hover {
  background: #f9e8df!important; color: #7d3026!important; border-color: #b87d65!important;
}
body.studio-shell .link-button { color: var(--studio-green); box-shadow: none; }
body.studio-shell :is(label,.mentions-theme label) { color: #394c3e; font-size: 12px; font-weight: 650; }
body.studio-shell :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea),
body.studio-guest :is(input:not([type=hidden]),select,textarea) {
  min-height: 48px; border: 1px solid #cad3c4; border-radius: 10px;
  background-color: #fbfcf8; color: var(--studio-ink); padding: 12px 13px;
  box-shadow: inset 0 2px 3px #203b3403; font-size: 14px; max-width: 100%;
}
body.studio-shell select { padding-right: 36px; }
body.studio-shell :is(input,textarea)::placeholder, body.studio-guest input::placeholder { color: #73816c; }
body.studio-shell :is(input,select,textarea):hover, body.studio-guest :is(input,select):hover { border-color: #91a785; }
body.studio-shell :is(input,select,textarea):focus, body.studio-guest :is(input,select):focus { border-color: var(--studio-green); background-color: #fff; box-shadow: 0 0 0 4px #215a4910; }
body.studio-shell :is(input[type=checkbox],input[type=radio]) { accent-color: var(--studio-green); }
body.studio-shell :is(summary,.toggle-row,.check) { min-height: 44px; }
body.studio-shell :is(.field-help,.mentions-help) { color: var(--studio-muted); font-size: 12px; line-height: 1.65; }
body.studio-shell .optional { color: var(--studio-muted); font-weight: 400; }
body.studio-shell :is(.form-panel,.form-card,.saas-card,.signal-mission,.monitor,.monitor-card,.job-summary,.activity-section,.follow-up,.technical-details,.add-action,.objective-band) { border: 1px solid var(--studio-line); border-radius: 17px; background: #fffefa; box-shadow: var(--shadow); }
body.studio-shell :is(.form-panel,.form-card,.saas-card) { padding: 26px; }
body.studio-shell .form-panel h2 { font-size: 23px; letter-spacing: -.04em; margin-bottom: 6px; }
body.studio-shell .form-panel > .eyebrow { margin-bottom: 8px; }
body.studio-shell .form-panel form > button { width: 100%; display: flex; justify-content: space-between; min-height: 48px; }
body.studio-shell .badge { font-size: 10px; font-weight: 600; padding: 4px 9px; }
body.studio-shell :is(.alert,.monitor-alert,.notice-ok) { border-radius: 11px; border-left-width: 1px; }

/* Projects: a curated ledger, not a stack of interchangeable feature tiles. */
body.studio-shell .workspace-layout { grid-template-columns: minmax(0,1fr) 340px; gap: 24px; }
body.studio-shell .project-list { border: 1px solid var(--studio-line); border-radius: 17px; background: #fffefa; box-shadow: var(--shadow); }
body.studio-shell .project-row { padding: 22px 20px; gap: 16px; border-bottom-color: #e5e9de; min-height: 120px; }
body.studio-shell .project-row:hover { background: #f6f8ef; }
body.studio-shell .row-number { width: 44px; height: 46px; flex-basis: 44px; border-radius: 8px 8px 15px 8px; background: #f0f3e5; border: 1px solid #dfe5cf; color: #66774c; font-size: 12px; font-weight: 550; font-variant-numeric: tabular-nums; }
body.studio-shell .project-row h3 { font-size: 17px; font-weight: 650; letter-spacing: -.03em; margin-bottom: 6px; }
body.studio-shell .project-row .domain { color: var(--studio-muted); font-size: 12px; }
body.studio-shell .project-row p:last-child { color: #776244; background: #f5f1e5; border-color: #e9e1cc; border-radius: 5px; font-size: 10px; margin-top: 8px; }
body.studio-shell .project-row-end { gap: 10px; }
body.studio-shell .project-row .arrow { width: 34px; height: 34px; background: #f4f6ee; color: var(--studio-green); border-radius: 50%; border: 1px solid #e1e7d8; }
body.studio-shell .project-row:hover .arrow { background: var(--studio-green); color: #f5f9e8; }
body.studio-shell .quiet-note { background: #eaf0df; border: 1px solid #dce5cc; border-radius: 13px; padding: 19px 21px; margin-top: 18px; }
body.studio-shell .quiet-note .eyebrow { color: #526742; font-size: 9px; }
body.studio-shell .quiet-note p { color: #536347; margin-top: 8px; font-size: 12px; line-height: 1.8; }
body.studio-shell .empty-state { background: #fffefa; border-color: #c9d4bd; border-radius: 15px; padding: 36px 22px; }
body.studio-shell .empty-state h3 { font-size: 18px; letter-spacing: -.03em; }
body.studio-shell .empty-state > a { display: inline-flex; align-items: center; min-height: 44px; }
body.studio-shell .empty-symbol { background: #edf2e2; color: #627c46; border: 1px solid #dbe4cb; }
body.studio-shell .objective-band { padding: 18px 22px; gap: 18px; }
body.studio-shell .objective-band .eyebrow { color: var(--studio-copper); }
body.studio-shell .objective-band p { font-size: 14px; }
body.studio-shell .add-action > summary { padding: 17px 0; }
body.studio-shell .action-board .board-column { background: #ecefe5; border-color: #dce1d6; border-radius: 16px; }
body.studio-shell .task { border: 1px solid #dde3d4; border-radius: 10px; background: #fffefa; }
body.studio-shell .need-nav { background: #eef2e7; border-color: #dce1d6; padding: 20px 15px; }
body.studio-shell .need-nav button { background: transparent!important; color: #526447!important; border-color: transparent!important; box-shadow: none!important; font-size: 12px; }
body.studio-shell .need-nav button:hover { background: #e1e9d7!important; }
body.studio-shell .need-nav button[aria-pressed=true] { background: #fffefa!important; color: var(--studio-deep)!important; border-color: #c9d6b9!important; box-shadow: var(--shadow-sm)!important; }
body.studio-shell .mission-row { background: #fffefa; border-color: #e1e6d9; border-radius: 11px; }
body.studio-shell .mission-row:has(input:checked) { background: #f0f5e6; border-color: #7f9c68; box-shadow: 0 0 0 2px #cbd9b533; }
body.studio-shell .mission-setup { background: #f3f5ec; border-color: var(--studio-line); }
body.studio-shell .mission-fields { border-color: var(--studio-line); background: #fffefa; box-shadow: none; border-radius: 12px; }
body.studio-shell .mission-confirm { background: #edf3e1; border: 1px solid #d1dfbc; border-radius: 13px; box-shadow: none; }
body.studio-shell .mission-confirm h2 { font-size: 22px; }
body.studio-shell :is(.tablewrap,.tscroll) { border-color: var(--studio-line); border-radius: 13px; box-shadow: none; }
body.studio-shell th { background: #f0f3e9; color: #657253; border-color: var(--studio-line); font-size: 10px; letter-spacing: .08em; }
body.studio-shell td { border-color: #e7ebdf; padding-block: 16px; }
body.studio-shell tbody tr:hover td { background: #f7f9f1; }
body.studio-shell .saas-card { padding: 26px; }
body.studio-shell .saas-card .section-heading { padding-bottom: 13px; border-bottom: 1px solid #e4e9da; }
body.studio-shell .saas-card :is(th,td) { padding: 18px 16px; }
body.studio-shell .saas-pill { background: #f1f3e9; color: #5d6b52; border: 1px solid #e0e5d6; border-radius: 6px; font-size: 10px; }
body.studio-shell .saas-pill.on { background: #ecf3e4; border-color: #d7e3ca; color: #3e693c; }
body.studio-shell .saas-pill.off { background: #fff1e3; border-color: #ecd7bd; color: #895628; }
body.studio-shell .journal-filters { border: 1px solid var(--studio-line); background: #fffefa; padding: 22px; border-radius: 15px; }
body.studio-shell .journal-list { background: #fffefa; border: 1px solid var(--studio-line); border-radius: 13px; padding: 0 20px; }
body.studio-shell .journal-item { padding-block: 16px; border-color: #e4e9dc; }

/* Results library: neutralized module tokens plus a strong filter/result hierarchy. */
body.studio-shell .lib-theme { --lib-accent: #215a49; --lib-accent-700: #123e33; --lib-soft: #edf2e8; --lib-line: #dce1d6; --lib-ink: #203b34; --lib-muted: #66746b; }
body.studio-shell .lib-theme .lib-filters { border-color: var(--studio-line); border-radius: 17px; padding: 10px 22px 22px; gap: 5px 16px; background: #fffefa; box-shadow: var(--shadow); }
body.studio-shell .lib-theme .lib-field label { font-size: 11px; }
body.studio-shell .lib-theme .lib-summary { margin: 24px 0 14px; font-size: 11px; line-height: 1.9; }
body.studio-shell .lib-theme .lib-summary strong { font-size: 15px; }
body.studio-shell .lib-theme .lib-list { gap: 12px; }
body.studio-shell .lib-theme .lib-row { border: 1px solid var(--studio-line); border-radius: 15px; padding: 21px 22px; background: #fffefa; box-shadow: var(--shadow); gap: 20px; }
body.studio-shell .lib-theme .lib-row:hover { border-color: #bac9ae; }
body.studio-shell .lib-theme .lib-main h3 { font-size: 17px; letter-spacing: -.025em; margin-block: 9px 5px; }
body.studio-shell .lib-theme .lib-main h3 a { color: var(--studio-ink); }
body.studio-shell .lib-theme .lib-type { font-size: 9px; letter-spacing: .05em; padding: 4px 9px; border-radius: 5px; background: #eaf0df; color: #536c3a; }
body.studio-shell .lib-theme :is(.t-fb_post,.t-fb_batch,.t-fb_mentions,.t-fb_watch,.t-mentions_report) { background: #f4eddf; color: #83603c; }
body.studio-shell .lib-theme .t-seo_tickets { background: #fff0eb; color: #983e2d; }
body.studio-shell .lib-theme .lib-open { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border: 1px solid #cbd7bf; border-radius: 9px; color: var(--studio-green); background: #f3f7ea; font-size: 11px; }
body.studio-shell .lib-theme .lib-delete button { background: transparent; color: #963f30; border-color: #e3c5b8; box-shadow: none; font-size: 11px; }
body.studio-shell .lib-theme .lib-delete button:hover { background: #fff1e9; color: #7d3026; border-color: #be8973; }
body.studio-shell .lib-theme .lib-notice { color: #54653e; border-color: #d5dfbf; background: #f0f4e6; }
body.studio-shell .lib-theme .lib-chip { border-color: #cbd6bd; color: #60714f; }
body.studio-shell .lib-theme :is(.lib-reset,.lib-pages a) { display: inline-flex; min-height: 44px; align-items: center; }

/* Meta launch surfaces: one coherent studio, not a second purple application. */
body.studio-shell .fb-theme {
  --fb-accent: #215a49; --ink: #203b34; --muted: #66746b; --line: #dce1d6;
  --teal: #215a49; --teal-700: #123e33; --wash: #f1f4ec; --teal-50: #edf2e8; --teal-100: #dbe6d4;
  background: var(--studio-paper); color: var(--studio-ink);
}
body.studio-shell .fb-theme .fb-page { max-width: none; }
body.studio-shell .fb-theme .fb-hero { padding: 0 0 24px; gap: 24px; align-items: flex-end; }
body.studio-shell .fb-theme .fb-hero h1 { font-size: clamp(28px,2.7vw,36px); line-height: 1.15; margin: 0 0 10px; letter-spacing: -.045em; }
body.studio-shell .fb-theme .fb-hero h1 br { display: none; }
body.studio-shell .fb-theme .fb-hero h1 em { color: var(--studio-green); margin-left: .18em; }
body.studio-shell .fb-theme .fb-lead { font-size: 13px; line-height: 1.7; margin: 0; }
body.studio-shell .fb-theme .fb-hero-note { flex-basis: 205px; color: var(--studio-muted); border-color: #d3ddc7; padding-left: 22px; font-size: 11px; }
body.studio-shell .fb-theme .fb-hero-note strong { color: var(--studio-green); }
body.studio-shell .fb-theme .fb-dialogue { display: none; }
body.studio-shell .fb-theme .fb-card { padding: 27px; border: 1px solid var(--studio-line); border-radius: 17px; background: #fffefa; box-shadow: var(--shadow); }
body.studio-shell .fb-theme .fb-card h2 { font-size: 21px; letter-spacing: -.035em; }
body.studio-shell .fb-theme .fb-section-title { padding-top: 28px; margin: 30px 0 20px; border-color: #e2e7d8; }
body.studio-shell .fb-theme .fb-section-title:first-of-type { margin-top: 0; padding-top: 0; }
body.studio-shell .fb-theme .fb-section-title > span { background: #edf2e1; border: 1px solid #dbe4c9; color: #67804a; border-radius: 9px 9px 14px 9px; }
body.studio-shell .fb-theme .fb-form :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),textarea,select) { background-color: #fbfcf8; border-color: #cad3c4; color: var(--studio-ink); min-height: 48px; }
body.studio-shell .fb-theme .fb-form select { padding-right: 36px; }
body.studio-shell .fb-theme .fb-form :is(input,textarea,select):focus { border-color: var(--studio-green); background-color: white; }
body.studio-shell .fb-theme :is(.fb-modes label,.fb-ind) { border: 1px solid #dce3d1; background: #fffefa; border-radius: 11px; min-height: 50px; }
body.studio-shell .fb-theme :is(.fb-modes label,.fb-ind):has(input:checked) { background: #f0f5e5; border-color: #829c66; box-shadow: 0 0 0 1px #829c661a; }
body.studio-shell .fb-theme :is(.fb-modes small,.fb-ind small) { color: #657359; }
body.studio-shell .fb-theme .fb-form .fb-indicators .fb-ind input[type=checkbox] { accent-color: var(--studio-green); }
body.studio-shell .fb-theme .fb-recent-card { padding: 22px; }
body.studio-shell .fb-theme .fb-recent-count { background: #eff3e5; color: #647b45; border: 1px solid #dce5cb; }
body.studio-shell .fb-theme .fb-recent-list { border-color: #e0e7d6; scrollbar-color: #c2cdb6 transparent; }
body.studio-shell .fb-theme .fb-recent-item { padding: 17px 7px; border-color: #e4e9da; color: var(--studio-ink); }
body.studio-shell .fb-theme .fb-recent-item:hover { background: #f0f5e8; }
body.studio-shell .fb-theme :is(.fb-recent-url,.fb-recent-meta time,.fb-recent-arrow) { color: #718062; }
body.studio-shell .fb-theme .fb-reply-hint { background: #f0f4e6; border-color: #d6e1c3; }
body.studio-shell :is(.fb-analysis-nav,.mentions-nav,.new-analysis-nav) { background: #e9eee0; border-color: #d8e0cd; border-radius: 13px; padding: 5px; }
body.studio-shell :is(.fb-analysis-choice,.mentions-nav a,.new-analysis-nav a) { min-height: 48px; color: #5f6d51; background: transparent; border: 1px solid transparent; border-radius: 9px; font-size: 11px; }
body.studio-shell :is(.fb-analysis-choice,.mentions-nav a,.new-analysis-nav a)[aria-current="page"],
body.studio-shell .fb-analysis-choice[aria-selected="true"],
body.studio-shell .fb-analysis-choice:hover { background: #fffefa; border-color: #d9e1cf; color: var(--studio-deep); box-shadow: 0 2px 3px #273e2d08; }
body.studio-shell .mentions-subtabs { background: #edf1e5; border-color: #d8e0cd; }
body.studio-shell .mentions-subtabs a { color: #5f6d51; font-size: 11px; }
body.studio-shell .mentions-subtabs a[aria-current="page"] { background: #fffefa; border-color: #d9e1cf; color: var(--studio-deep); box-shadow: 0 2px 3px #273e2d08; }
body.studio-shell .fb-chip { color: #786340; background: #eee9d8; }

/* Keyword search, including later-loaded module styles. */
body.studio-shell .mentions-theme { --mentions-accent: #215a49; --mentions-muted: #66746b; color: var(--studio-ink); max-width: none; }
body.studio-shell .mentions-theme a { color: var(--studio-green); }
body.studio-shell .mentions-theme .mentions-breadcrumb { margin-bottom: 14px; color: var(--studio-muted); }
body.studio-shell .mentions-theme .mentions-heading { margin-bottom: 24px; }
body.studio-shell .mentions-theme .mentions-heading h1 { color: var(--studio-ink); font-size: clamp(28px,2.7vw,36px); font-weight: 700; letter-spacing: -.045em; }
body.studio-shell .mentions-theme .mentions-heading h1 span { color: var(--studio-green); margin-left: .18em; }
body.studio-shell .mentions-theme .mentions-heading h1 br { display: none; }
body.studio-shell .mentions-theme .mentions-heading p:not(.mentions-eyebrow) { color: var(--studio-muted); font-size: 13px; }
body.studio-shell .mentions-theme .mentions-eyebrow { color: var(--studio-copper); font-size: 10px; letter-spacing: .14em; }
body.studio-shell .mentions-theme .mentions-badge { background: #f0f3e6; border-color: #dbe4c9; color: #657b49; font-size: 10px; }
body.studio-shell .mentions-theme .mentions-card { background: #fffefa; border: 1px solid var(--studio-line); border-radius: 17px; padding: 27px; box-shadow: var(--shadow); }
body.studio-shell .mentions-theme :is(h2,h3,.mentions-scope-option strong) { color: var(--studio-ink); }
body.studio-shell .mentions-theme .mentions-section-title { border-color: #e1e7d6; }
body.studio-shell .mentions-theme .mentions-step { border: 1px solid #dbe4c9; background: #edf2e1; color: #67804a; border-radius: 9px 9px 14px 9px; }
body.studio-shell .mentions-theme :is(input:not([type=hidden]):not([type=radio]):not([type=checkbox]),select,textarea) { background-color: #fbfcf8; border-color: #cad3c4; color: var(--studio-ink); min-height: 48px; }
body.studio-shell .mentions-theme select { padding-right: 36px; }
body.studio-shell .mentions-theme :is(input,select,textarea):focus { border-color: var(--studio-green); background-color: #fff; }
body.studio-shell .mentions-theme .mentions-scope-option { background: #fffefa; border-color: #dce3d1; }
body.studio-shell .mentions-theme .mentions-scope-option:has(input:checked) { background: #f0f5e5; border-color: #829c66; box-shadow: 0 0 0 1px #829c661a; }
body.studio-shell .mentions-theme .mentions-scope-option input { min-height: 18px; padding: 0; accent-color: var(--studio-green); }
body.studio-shell .mentions-theme .mentions-source-toolbar button { background: #f2f5eb; color: var(--studio-green); border-color: #d3ddc7; min-height: 44px; min-width: 44px; }
body.studio-shell .mentions-theme .mentions-source-toolbar button:hover { background: #e7eedb; color: var(--studio-deep); }
body.studio-shell .mentions-theme :is(.mentions-section-title p,.mentions-help,.mentions-submit p,.mentions-history span) { color: var(--studio-muted); }
body.studio-shell .mentions-theme .mentions-history li { border-color: #e0e7d6; }

/* Entrance: a large brand canvas paired with a real, unchanged login contract. */
body.studio-guest .guest { margin-left: 0; background: var(--studio-paper); }
body.studio-guest .utility { position: static; height: 58px; padding-inline: 38px; background: transparent; border-color: #dee3d7; color: var(--studio-muted); backdrop-filter: none; font-size: 10px; letter-spacing: .04em; }
body.studio-guest .utility-label { color: var(--studio-green); }
body.studio-guest .guest main { max-width: 1360px; margin: auto; min-height: calc(100dvh - 126px); padding: 36px; }
body.studio-guest .studio-login { display: grid; grid-template-columns: 1.12fr 1fr; width: 100%; max-width: 1150px; min-height: 654px; border: 1px solid #d9dfcf; border-radius: 22px; background: #fffefa; overflow: hidden; box-shadow: 0 25px 70px -37px #203b3459; }
body.studio-guest .login-identity { position: relative; isolation: isolate; overflow: hidden; min-height: 654px; padding: 40px 44px 30px; border: 0; background: radial-gradient(ellipse at 80% 66%, #3b6550, transparent 68%), #123e33; color: #f2f5e7; }
body.studio-guest .login-identity::after { content: ''; position: absolute; pointer-events: none; inset: 15px; border: 1px solid #f1f4df13; border-radius: 10px; z-index: -1; }
body.studio-guest .studio-login-brand { position: relative; z-index: 2; }
body.studio-guest .login-identity .brand { display: inline-flex; min-height: 44px; padding: 0; color: #f7f7ed; gap: 4px; font-size: 30px; font-weight: 800; letter-spacing: .05em; }
body.studio-guest .login-identity .brand::before { display: none; }
body.studio-guest .login-identity .brand-dot { color: #dce8ac; margin: 0; }
body.studio-guest .login-identity .brand-caption { color: #bfceb3; font-size: 11px; padding: 0; margin: 0; }
body.studio-guest .login-statement { position: relative; z-index: 1; margin: 46px 0 0; }
body.studio-guest .login-statement .eyebrow { color: #c6d6ad; font-size: 9px; letter-spacing: .17em; margin-bottom: 17px; }
body.studio-guest .login-statement h1 { color: #f7f7ec; font-size: clamp(34px,3.5vw,47px); line-height: 1.08; letter-spacing: -.05em; font-weight: 570; margin-bottom: 19px; }
body.studio-guest .login-statement h1 em { color: #dde9b0; font: italic 1.13em/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.04em; }
body.studio-guest .login-statement > p:last-child { color: #c4d0b9; font-size: 12px; line-height: 1.8; max-width: 280px; }
body.studio-guest .studio-login-art { position: absolute; width: 630px; max-width: 115%; height: auto; right: -82px; bottom: -50px; pointer-events: none; z-index: 0; }
body.studio-guest .login-identity .edition { position: absolute; left: 44px; bottom: 31px; color: #bdcbb1; font-size: 8px; letter-spacing: .13em; z-index: 1; }
body.studio-guest .studio-login-corner { position: absolute; right: 31px; top: 37px; color: #dbe7bf; font-size: 24px; font-weight: 300; }
body.studio-guest .login-form-panel { padding: 70px clamp(30px,4.4vw,64px) 44px; align-self: center; background: #fffefa; }
body.studio-guest .login-form-panel > .eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 25px; color: #7e7457; font-size: 9px; font-weight: 650; letter-spacing: .14em; }
body.studio-guest .studio-lock { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid #dce3d1; border-radius: 50%; background: #f5f7ed; color: #72805b; }
body.studio-guest .studio-lock svg { width: 14px; height: 14px; }
body.studio-guest .login-form-panel h2 { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; color: var(--studio-ink); font-size: 37px; letter-spacing: -.055em; line-height: 1.1; font-weight: 650; margin-bottom: 17px; }
body.studio-guest .login-form-panel .lede { color: var(--studio-muted); font-size: 12px; margin-bottom: 28px; }
body.studio-guest .login-form-panel label { font-size: 11px; color: #46563e; margin: 20px 0 8px; }
body.studio-guest .login-form-panel input { min-height: 51px; border-radius: 9px; }
body.studio-guest .login-form-panel button { display: flex; width: 100%; justify-content: space-between; min-height: 51px; padding: 14px 17px; margin-top: 27px; border-radius: 9px; }
body.studio-guest .login-form-panel button span { font-size: 17px; font-weight: 400; }
body.studio-guest .login-form-panel > .field-help { font-size: 10px; line-height: 1.8; border-top: 1px solid #e2e7d8; padding-top: 18px; margin: 25px 0 0; color: #708066; }
body.studio-guest .footer { margin-inline: 38px; color: var(--studio-muted); font-size: 10px; padding: 18px 0; }

/* Focus is deliberately stronger than the decorative edges. */
body.studio-shell :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
body.studio-guest :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #577d32; outline-offset: 3px; box-shadow: 0 0 0 5px #edf3e2;
}
body.studio-shell .skip, body.studio-guest .skip { background: var(--studio-deep); color: white; min-height: 44px; padding: 10px 16px; z-index: 100; }
body.studio-shell main:focus, body.studio-guest main:focus { outline: none; box-shadow: none; }
body.studio-shell :is(.studio-banner,.studio-login) [hidden], body.studio-guest [hidden] { display: none!important; }

/* Geometry only changes above the controller's 900px drawer breakpoint. */
@media(min-width:901px) {
  body.studio-shell .sidebar { width: 232px; padding: 22px 14px; }
  body.studio-shell .app-shell { margin-left: 232px; }
}
@media(min-width:1550px) {
  body.studio-shell .studio-banner { margin-inline: auto; width: calc(100% - 68px); }
}
@media(max-width:1200px) {
  body.studio-shell main { padding-inline: 26px; }
  body.studio-shell .studio-banner { margin-inline: 26px; padding-inline: 28px; }
  body.studio-shell .studio-banner-title { font-size: 37px; }
  body.studio-shell .studio-banner-copy { max-width: 70%; }
  body.studio-shell .workspace-layout { grid-template-columns: minmax(0,1fr) 310px; gap: 18px; }
  body.studio-shell .project-row { padding: 20px 17px; flex-wrap: wrap; }
  body.studio-shell .project-row > div:not(.project-row-end) { flex: 1 1 0; min-width: 0; }
  body.studio-shell .project-row-end { flex-direction: row; margin-left: 60px; flex-wrap: wrap; }
  body.studio-shell :is(.form-panel,.saas-card,.form-card) { padding: 22px; }
  body.studio-shell .fb-theme .fb-hero-note { display: none; }
}
@media(max-width:1050px) and (min-width:901px) {
  body.studio-shell .workspace-layout { grid-template-columns: minmax(0,1fr); }
  body.studio-shell .page-heading { flex-wrap: wrap; }
  body.studio-shell .studio-banner-title { font-size: 33px; }
}
@media(max-width:900px) {
  body.studio-shell.admin-shell .app-shell { margin-left: 0; }
  body.studio-shell .utility { padding-inline: 22px; }
  body.studio-shell .studio-banner { min-height: 224px; margin-top: 22px; }
  body.studio-shell .studio-banner-title { font-size: clamp(33px,4.8vw,42px); }
  body.studio-shell .studio-banner--compact { min-height: 96px; }
  body.studio-shell .studio-banner--compact .studio-banner-title { font-size: 24px; }
  body.studio-shell .studio-banner--compact .studio-banner-art { width: 250px; right: -25px; }
  body.studio-shell .workspace-layout { grid-template-columns: minmax(0,1fr); }
  body.studio-shell .page-heading { flex-wrap: wrap; }
  body.studio-shell .project-row-end { margin-left: 0; }
  body.studio-shell .mentions-theme .mentions-layout { grid-template-columns: minmax(0,1fr); }
  body.studio-guest .studio-login { grid-template-columns: 1fr 1fr; min-height: 620px; }
  body.studio-guest .login-identity { min-height: 620px; padding: 32px; }
  body.studio-guest .login-form-panel { padding: 42px 28px; }
  body.studio-guest .login-form-panel h2 { font-size: 32px; }
  body.studio-guest .login-statement h1 { font-size: 33px; }
  body.studio-guest .studio-login-art { max-width: none; width: 490px; right: -130px; bottom: -5px; }
  body.studio-guest .login-identity .edition { left: 32px; }
}
@media(max-width:650px) {
  body.studio-shell main { padding: 23px 18px 38px; }
  body.studio-shell .utility { padding-inline: 18px; }
  body.studio-shell .footer { margin-inline: 18px; font-size: 10px; }
  body.studio-shell .studio-banner { min-height: 150px; margin: 16px 18px 0; padding: 22px 23px; border-radius: 16px; }
  body.studio-shell .studio-banner-copy { max-width: 95%; }
  body.studio-shell .studio-banner-kicker { font-size: 7px; letter-spacing: .13em; margin-bottom: 13px; }
  body.studio-shell .studio-banner-title { font-size: clamp(26px,6.6vw,36px); max-width: 390px; }
  body.studio-shell .studio-banner-signature { display: none; }
  body.studio-shell .studio-banner-art { width: 330px; max-width: none; right: -143px; top: 60%; opacity: .27; }
  body.studio-shell .studio-banner-corner { top: 14px; right: 14px; font-size: 14px; }
  body.studio-shell .studio-banner--compact { min-height: 100px; padding-block: 20px; }
  body.studio-shell .studio-banner--compact .studio-banner-copy { max-width: 90%; }
  body.studio-shell .studio-banner--compact .studio-banner-kicker { margin-bottom: 8px; }
  body.studio-shell .studio-banner--compact .studio-banner-title { font-size: 20px; line-height: 1.2; }
  body.studio-shell .studio-banner--compact .studio-banner-art { width: 225px; right: -100px; }
  body.studio-shell .sidebar nav a { min-height: 46px; font-size: 12px; }
  body.studio-shell:not(.admin-shell) .sidebar .brand-caption { display: none; }
  body.studio-shell:not(.admin-shell) .sidebar nav { padding-bottom: 10px; }
  body.studio-shell h1 { font-size: 28px; }
  body.studio-shell .heading-actions { display: flex; flex-wrap: wrap; width: 100%; }
  body.studio-shell .heading-actions .button { flex: 1 1 auto; justify-content: center; }
  body.studio-shell .page-heading { gap: 16px; margin-bottom: 22px; }
  body.studio-shell .lede { font-size: 12px; }
  body.studio-shell .project-row { padding: 19px 16px; gap: 12px; }
  body.studio-shell .project-row-end { margin-left: 56px; gap: 8px; flex: 1 0 calc(100% - 56px); justify-content: flex-start; }
  body.studio-shell .project-row-end .counter { font-size: 10px; }
  body.studio-shell .project-row h3 { font-size: 17px; }
  body.studio-shell .section-heading { flex-wrap: wrap; gap: 10px; }
  body.studio-shell :is(.form-panel,.form-card,.saas-card) { padding: 21px 19px; }
  body.studio-shell .workspace-layout .form-panel form { grid-template-columns: minmax(0,1fr); }
  body.studio-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
  body.studio-shell .fb-theme .fb-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea),
  body.studio-shell .mentions-theme :is(input:not([type=radio]):not([type=checkbox]),select,textarea) { font-size: 16px; }
  body.studio-shell .fb-theme .fb-card, body.studio-shell .mentions-theme .mentions-card { padding: 22px 18px; }
  body.studio-shell .fb-theme .fb-hero h1, body.studio-shell .mentions-theme .mentions-heading h1 { font-size: 28px; }
  body.studio-shell .fb-theme .fb-hero h1 br, body.studio-shell .mentions-theme .mentions-heading h1 br { display: initial; }
  body.studio-shell .fb-theme .fb-hero h1 em, body.studio-shell .mentions-theme .mentions-heading h1 span { margin-left: 0; }
  body.studio-shell .fb-analysis-nav.fb-analysis-nav-5 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
  body.studio-shell .fb-analysis-nav-5 [role=tablist] { grid-column: 1/-1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
  body.studio-shell .fb-analysis-nav-5 > .fb-analysis-choice:last-child { grid-column: 1/-1; }
  body.studio-shell .fb-analysis-nav-5 .fb-analysis-choice { font-size: 10px; padding: 9px; }
  body.studio-shell .mentions-theme .mentions-heading { flex-direction: column; gap: 13px; }
  body.studio-shell .mentions-theme .mentions-fields { grid-template-columns: minmax(0,1fr); gap: 0; }
  body.studio-shell .mentions-theme .mentions-card button { white-space: normal; }
  body.studio-shell .lib-theme .lib-filters { padding: 9px 17px 18px; }
  body.studio-shell .lib-theme .lib-row { padding: 19px 17px; gap: 17px; }
  body.studio-shell .lib-theme .lib-summary { font-size: 10px; }
  body.studio-shell .lib-theme .lib-main h3 { font-size: 16px; }
  body.studio-shell .lib-theme .lib-open { min-height: 44px; }
  body.studio-shell .journal-list { padding-inline: 15px; }
  body.studio-shell .journal-filters { padding: 18px; }
  body.studio-guest .utility { height: 48px; padding-inline: 20px; font-size: 9px; }
  body.studio-guest .utility-label { font-size: 9px; max-width: none; }
  body.studio-guest .guest main { padding: 18px; display: block; min-height: 0; }
  body.studio-guest .studio-login { display: flex; flex-direction: column; border-radius: 17px; min-height: 0; }
  body.studio-guest .login-identity { min-height: 280px; padding: 24px 26px; }
  body.studio-guest .login-identity .brand { font-size: 25px; min-height: 35px; }
  body.studio-guest .login-identity .brand-caption { display: block; font-size: 10px; }
  body.studio-guest .login-statement { margin-top: 27px; }
  body.studio-guest .login-statement .eyebrow { font-size: 7px; margin-bottom: 12px; }
  body.studio-guest .login-statement h1 { font-size: 32px; margin-bottom: 12px; }
  body.studio-guest .login-statement > p:last-child { max-width: 235px; font-size: 10px; margin-bottom: 0; }
  body.studio-guest .studio-login-art { width: 330px; right: -145px; bottom: -65px; opacity: .38; }
  body.studio-guest .login-identity .edition { display: none; }
  body.studio-guest .studio-login-corner { right: 24px; top: 29px; font-size: 19px; }
  body.studio-guest .login-form-panel { width: 100%; padding: 30px 26px; }
  body.studio-guest .login-form-panel > .eyebrow { margin-bottom: 18px; }
  body.studio-guest .login-form-panel h2 { font-size: 29px; }
  body.studio-guest .login-form-panel h2 br { display: none; }
  body.studio-guest .login-form-panel .lede { font-size: 11px; margin-bottom: 23px; }
  body.studio-guest .login-form-panel input { font-size: 16px; }
  body.studio-guest .footer { margin-inline: 20px; font-size: 9px; gap: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  body.studio-shell *, body.studio-shell *::before, body.studio-shell *::after,
  body.studio-guest *, body.studio-guest *::before, body.studio-guest *::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
}
@media print {
  body.studio-shell, body.studio-guest { background: #fff; color: #202b29; font-size: 12pt; }
  body.studio-shell .studio-banner, body.studio-guest .studio-login-art { display: none!important; }
  body.studio-shell .app-shell, body.studio-guest .app-shell { margin: 0; background: #fff; }
  body.studio-shell main, body.studio-guest main { padding: 0; max-width: none; }
  body.studio-shell :is(.form-panel,.form-card,.saas-card,.project-list,.lib-row,.fb-card,.mentions-card) { box-shadow: none; background: #fff; border-color: #bbb; }
  body.studio-guest .studio-login { display: block; border: 0; box-shadow: none; }
  body.studio-guest .login-identity { display: none; }
  body.studio-guest .login-form-panel { padding: 20px; }
}

/* Meta SEO Analyst: complete name, deliberately composed for narrow headers. */
body.studio-shell .brand .brand-name,body.studio-guest .brand .brand-name{display:block;line-height:1.02;letter-spacing:-.035em;white-space:nowrap}
body.studio-shell .brand .brand-name>span,body.studio-guest .brand .brand-name>span{display:block;font:inherit;color:inherit;letter-spacing:inherit}
body.studio-shell .brand .brand-name .brand-analyst,body.studio-guest .brand .brand-name .brand-analyst{font-size:.68em;line-height:1.25;font-weight:600;letter-spacing:.035em;margin-top:3px}
body.studio-shell .sidebar .brand{font-size:24px;align-items:flex-start;gap:7px;letter-spacing:-.035em}
body.studio-shell .sidebar .brand-dot{line-height:1}
body.studio-shell .utility .brand{font-size:20px;align-items:flex-start;gap:6px;letter-spacing:-.035em}
body.studio-shell .utility .brand-dot{font-size:22px;line-height:1}
body.studio-guest .login-identity .brand{align-items:flex-start;font-size:30px;gap:8px;letter-spacing:-.035em}
body.studio-shell .studio-banner-kicker{letter-spacing:.1em;line-height:1.5}
@media(max-width:400px){body.studio-shell .utility .brand{font-size:18px}body.studio-guest .login-identity .brand{font-size:26px}}
