/* Studio uses neutral working surfaces. Marmo blue is reserved for actions,
   navigation and progress; the public website and sign-in keep their identity. */
body.marmo-portal.has-session[data-studio-theme="light"] {
  color-scheme: light;
  --st-bg: #f5f6f8;
  --st-panel: #ffffff;
  --st-card: #ffffff;
  --st-raised: #ffffff;
  --st-soft: #f7f8fa;
  --st-hover: #f0f2f5;
  --st-line: #e0e3e8;
  --st-text: #20242c;
  --st-muted: #606874;
  --st-subtle: #737c89;
  --st-blue: #245edb;
  --st-blue-hover: #194ec0;
  --st-selected: #eaf1ff;
  --st-selected-line: #d1e0ff;
  --st-accent-ink: #204fa7;
  --st-mint: #267056;
  --st-lilac: #7350af;
  --st-sand: #8b631e;
  --st-success: #24734f;
  --st-success-bg: #eef8f2;
  --st-danger: #b73434;
  --st-danger-bg: #fff2f1;
  --st-warning: #936617;
  --st-warning-bg: #fff8e8;
  --st-shadow: 0 2px 8px #18233905;
  --st-dialog-shadow: 0 24px 90px #18233930;
}
body.marmo-portal.has-session[data-studio-theme="dark"] {
  color-scheme: dark;
  --st-bg: #151719;
  --st-panel: #1d1f22;
  --st-card: #222529;
  --st-raised: #282b30;
  --st-soft: #202327;
  --st-hover: #2c3035;
  --st-line: #373b42;
  --st-text: #edf0f3;
  --st-muted: #b1b6c0;
  --st-subtle: #989faa;
  --st-blue: #8bb6ff;
  --st-blue-hover: #a5c7ff;
  --st-selected: #263447;
  --st-selected-line: #3d5576;
  --st-accent-ink: #b7d2ff;
  --st-mint: #8fcbb1;
  --st-lilac: #bea4e5;
  --st-sand: #d9bd87;
  --st-success: #97d5b5;
  --st-success-bg: #24392e;
  --st-danger: #f2a6a6;
  --st-danger-bg: #3b292b;
  --st-warning: #e1c68e;
  --st-warning-bg: #3a3325;
  --st-shadow: 0 2px 8px #0000000d;
  --st-dialog-shadow: 0 24px 90px #0008;
}
body.marmo-portal.has-session[data-studio-theme] {
  background: var(--st-bg);
  color: var(--st-text);
  font-size: 14px;
  line-height: 1.55;
  accent-color: var(--st-blue);
}
body.marmo-portal.has-session[data-studio-theme] :focus-visible {
  outline-color: var(--st-blue);
  outline-width: 2px;
  outline-offset: 4px;
}
body.marmo-portal.has-session[data-studio-theme] .studio-app { background: var(--st-bg); }
body.marmo-portal.has-session[data-studio-theme] .studio-sidebar {
  background: var(--st-panel);
  border-color: var(--st-line);
  padding-top: 29px;
}
body.marmo-portal.has-session[data-studio-theme] .studio-brand { color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .brand-studio { color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .workspace-label {
  color: var(--st-subtle); font-size: 10px; letter-spacing: .075em; margin-top: 23px;
}
body.marmo-portal.has-session[data-studio-theme] .studio-nav-item {
  color: var(--st-muted); font-size: 13px; font-weight: 500; border-radius: 9px;
  padding: 11px 13px; min-height: 44px; gap: 11px;
}
body.marmo-portal.has-session[data-studio-theme] .studio-nav-item [data-icon] { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .studio-nav-item:hover {
  color: var(--st-text); background: var(--st-hover);
}
body.marmo-portal.has-session[data-studio-theme] .studio-nav-item[aria-current="page"] {
  background: var(--st-selected); border-color: transparent; box-shadow: none;
  color: var(--st-accent-ink); font-weight: 600;
}
body.marmo-portal.has-session[data-studio-theme] .studio-nav-item[aria-current="page"] [data-icon] { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .sidebar-bottom .studio-nav-item { font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .sidebar-storage {
  color: var(--st-subtle); font-size: 11px; border-color: var(--st-line); line-height: 1.6;
}
body.marmo-portal.has-session[data-studio-theme] :is(.storage-dot,.live-dot) { background: var(--st-success); }
body.marmo-portal.has-session[data-studio-theme] .studio-topbar {
  background: var(--st-panel); border-color: var(--st-line); backdrop-filter: none;
}
body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb span { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb strong { color: var(--st-text); font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] :is(.icon-button,#studio-menu) { color: var(--st-muted); min-width: 38px; min-height: 38px; }
body.marmo-portal.has-session[data-studio-theme] .icon-button:hover { background: var(--st-hover); color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .account-switch { color: var(--st-text); border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .account-switch-copy strong { font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .account-switch-copy small { color: var(--st-muted); font-size: 10px; }
body.marmo-portal.has-session[data-studio-theme] .account-switch>span:last-child svg { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .studio-avatar {
  background: var(--st-selected); border-color: var(--st-selected-line); color: var(--st-accent-ink);
  border-radius: 50%; font-weight: 600;
}
body.marmo-portal.has-session[data-studio-theme] .studio-content { max-width: 1600px; padding-top: 31px; }
body.marmo-portal.has-session[data-studio-theme] .studio-eyebrow {
  color: var(--st-subtle); font-size: 11px; letter-spacing: .08em; font-weight: 600;
}
body.marmo-portal.has-session[data-studio-theme] .page-heading .studio-eyebrow,
body.marmo-portal.has-session[data-studio-theme] .section-label .studio-eyebrow { font-size: 10px; }
body.marmo-portal.has-session[data-studio-theme] .page-heading h1 {
  font-size: clamp(28px,2.4vw,36px); letter-spacing: -.045em; font-weight: 600;
}
body.marmo-portal.has-session[data-studio-theme] .page-heading>div>p {
  color: var(--st-muted); font-size: 14px; line-height: 1.7; max-width: 78ch;
}
body.marmo-portal.has-session[data-studio-theme] .today-pill {
  color: var(--st-muted); background: var(--st-panel); border-color: var(--st-line); font-size: 12px;
}
body.marmo-portal.has-session[data-studio-theme] :is(.studio-surface,.portal-card) {
  background: var(--st-card); border-color: var(--st-line); box-shadow: var(--st-shadow); border-radius: 16px;
}
body.marmo-portal.has-session[data-studio-theme] .studio-surface h2 { font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
body.marmo-portal.has-session[data-studio-theme] .studio-surface h3 { font-size: 17px; font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] :is(.text-button,.detail-breadcrumb button) {
  color: var(--st-blue); font-size: 12px; font-weight: 550;
}
body.marmo-portal.has-session[data-studio-theme] .text-button:hover { color: var(--st-blue-hover); text-decoration: underline; text-underline-offset: 3px; }
body.marmo-portal.has-session[data-studio-theme] .tiny-label { color: var(--st-subtle); font-size: 10px; }
body.marmo-portal.has-session[data-studio-theme] :is(.studio-button,.button) {
  background: var(--st-raised); border-color: var(--st-line); color: var(--st-text);
  font-size: 13px; min-height: 42px; font-weight: 550; border-radius: 9px;
}
body.marmo-portal.has-session[data-studio-theme] :is(.studio-button,.button):hover {
  background: var(--st-hover); filter: none; transform: none;
}
body.marmo-portal.has-session[data-studio-theme] :is(.button-primary,.studio-button.primary) {
  background: #245edb; border-color: #245edb; color: #fff;
}
body.marmo-portal.has-session[data-studio-theme] :is(.button-primary,.studio-button.primary):hover {
  background: #194ec0; border-color: #194ec0; color: #fff;
}
body.marmo-portal.has-session[data-studio-theme] .studio-button.light {
  background: var(--st-card); color: var(--st-blue); border-color: var(--st-selected-line);
}
body.marmo-portal.has-session[data-studio-theme] .studio-button.small { font-size: 12px; min-height: 36px; }
body.marmo-portal.has-session[data-studio-theme] label:not(.portal-check):not(.studio-search):not(.upload-drop) {
  color: var(--st-text); font-size: 13px; font-weight: 500;
}
body.marmo-portal.has-session[data-studio-theme] input:not([type="checkbox"]):not([type="file"]),
body.marmo-portal.has-session[data-studio-theme] select,
body.marmo-portal.has-session[data-studio-theme] textarea {
  background: var(--st-panel); border-color: var(--st-line); color: var(--st-text);
  font-size: 14px; border-radius: 9px;
}
body.marmo-portal.has-session[data-studio-theme] :is(input,textarea)::placeholder { color: var(--st-subtle); opacity: 1; }
body.marmo-portal.has-session[data-studio-theme] :is(input,select,textarea):hover { border-color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] :is(input,select,textarea):focus { background: var(--st-panel); border-color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .portal-check { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .portal-check input { accent-color: #245edb; }
body.marmo-portal.has-session[data-studio-theme] :is(.portal-check a,.portal-card p a,.account-grid p a) { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] :is(.password-field button,#resend-verification) {
  background: var(--st-soft); border-color: var(--st-line); color: var(--st-text); font-size: 12px;
}
body.marmo-portal.has-session[data-studio-theme] .kpi-card {
  background: var(--st-card); border-color: var(--st-line); border-radius: 14px; box-shadow: var(--st-shadow);
}
body.marmo-portal.has-session[data-studio-theme] .kpi-card:after { display: none; }
body.marmo-portal.has-session[data-studio-theme] .kpi-card .kpi-label { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .kpi-card .kpi-label svg { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .kpi-card strong { color: var(--st-text); font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .kpi-card small { color: var(--st-subtle); font-size: 11px; line-height: 1.5; }
body.marmo-portal.has-session[data-studio-theme] .project-row {
  background: var(--st-card); border-color: var(--st-line); border-radius: 11px;
}
body.marmo-portal.has-session[data-studio-theme] .project-row:hover { background: var(--st-soft); border-color: var(--st-selected-line); }
body.marmo-portal.has-session[data-studio-theme] .project-icon {
  background: var(--st-selected); border-color: transparent; color: var(--st-blue);
}
body.marmo-portal.has-session[data-studio-theme] .project-row-copy strong { font-size: 14px; font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .project-row-copy small { color: var(--st-muted); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .project-row>.row-arrow { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .stage-pill {
  --stage-color: var(--st-blue); font-size: 11px; padding: 5px 9px; font-weight: 500;
  color: var(--stage-color); background: color-mix(in srgb,var(--stage-color) 9%,var(--st-card));
  border-color: color-mix(in srgb,var(--stage-color) 18%,var(--st-card));
}
body.marmo-portal.has-session[data-studio-theme] .stage-pill[data-stage="Entregado"] { --stage-color: var(--st-success); }
body.marmo-portal.has-session[data-studio-theme] .stage-pill[data-stage="En revisión"] { --stage-color: var(--st-warning); }
body.marmo-portal.has-session[data-studio-theme] .stage-pill[data-stage="Diseño"] { --stage-color: var(--st-lilac); }
body.marmo-portal.has-session[data-studio-theme] .stage-pill[data-stage="Pausado"] { --stage-color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .studio-banner {
  background: var(--st-card); border-color: var(--st-line); border-radius: 16px; box-shadow: var(--st-shadow);
}
body.marmo-portal.has-session[data-studio-theme] .studio-banner h2 { font-size: 26px; font-weight: 600; line-height: 1.15; }
body.marmo-portal.has-session[data-studio-theme] .studio-banner p { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .banner-orbit { opacity: .3; border-color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .banner-orbit:after { border-color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .studio-search { background: var(--st-panel); border-color: var(--st-line); border-radius: 9px; }
body.marmo-portal.has-session[data-studio-theme] .studio-search input,
body.marmo-portal.has-session[data-studio-theme] .studio-search input:focus { background: transparent; border: 0; }
body.marmo-portal.has-session[data-studio-theme] .studio-search svg { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .studio-search:focus-within { outline-color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .studio-project-card {
  background: var(--st-card); border-color: var(--st-line); box-shadow: var(--st-shadow); border-radius: 15px;
}
body.marmo-portal.has-session[data-studio-theme] .studio-project-card:hover { transform: translateY(-2px); border-color: var(--st-selected-line); }
body.marmo-portal.has-session[data-studio-theme] .studio-project-card h3 { font-size: 20px; font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .studio-project-card>p { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .project-card-progress>div:first-child { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] :is(.progress-track,.breakdown-track) { background: var(--st-hover); height: 6px; }
body.marmo-portal.has-session[data-studio-theme] .progress-track>span { background: #3978eb; }
body.marmo-portal.has-session[data-studio-theme] .project-card-footer { color: var(--st-subtle); border-color: var(--st-line); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .project-card-footer .text-button { font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .empty-state { background: var(--st-soft); border-color: var(--st-line); border-radius: 13px; }
body.marmo-portal.has-session[data-studio-theme] .empty-state .empty-symbol { background: var(--st-panel); color: var(--st-subtle); border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .empty-state h3 { color: var(--st-text); font-size: 17px; font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .empty-state p { color: var(--st-muted); font-size: 13px; max-width: 48ch; }
body.marmo-portal.has-session[data-studio-theme] .empty-state .studio-button { font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .empty-state.compact { background: transparent; }
body.marmo-portal.has-session[data-studio-theme] .collection-caption { color: var(--st-muted); font-size: 12px; line-height: 1.7; }
body.marmo-portal.has-session[data-studio-theme] .view-switch { background: var(--st-panel); border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .view-switch button { color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .view-switch button[aria-pressed="true"] { background: var(--st-selected); color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .folder-card { background: var(--st-card); border-color: var(--st-line); color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .folder-card:hover { background: var(--st-soft); border-color: var(--st-selected-line); }
body.marmo-portal.has-session[data-studio-theme] .folder-card svg { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .folder-card strong { font-size: 13px; font-weight: 500; }
body.marmo-portal.has-session[data-studio-theme] .folder-card small { font-size: 11px; color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .file-card { background: var(--st-card); border-color: var(--st-line); border-radius: 13px; }
body.marmo-portal.has-session[data-studio-theme] .file-card:hover { border-color: var(--st-selected-line); }
body.marmo-portal.has-session[data-studio-theme] .file-preview { background: var(--st-soft); border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .file-card { --file-color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .file-card[data-type="pdf"] { --file-color: var(--st-danger); }
body.marmo-portal.has-session[data-studio-theme] .file-card[data-type="image"] { --file-color: var(--st-lilac); }
body.marmo-portal.has-session[data-studio-theme] .file-card[data-type="link"] { --file-color: var(--st-success); }
body.marmo-portal.has-session[data-studio-theme] .file-card h3 { font-size: 13px; font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .file-card .file-project { font-size: 11px; color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .file-extension { font-size: 10px; opacity: .9; }
body.marmo-portal.has-session[data-studio-theme] .file-meta { border-color: var(--st-line); color: var(--st-subtle); font-size: 10px; }
body.marmo-portal.has-session[data-studio-theme] .file-meta :is(a,button) { color: var(--st-blue); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .file-grid.is-list .file-preview { background: none; border: 0; }
body.marmo-portal.has-session[data-studio-theme] .activity-item { border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .event-icon { background: var(--st-soft); color: var(--st-muted); border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .activity-item h3 { font-size: 13px; font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .activity-item p { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .activity-item small { color: var(--st-subtle); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .chart-legend { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .chart-legend>span:first-child { background: #3978eb; }
body.marmo-portal.has-session[data-studio-theme] .chart-tick { fill: var(--st-subtle); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .chart-grid { stroke: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .chart-line { stroke: #3978eb; }
body.marmo-portal.has-session[data-studio-theme] .chart-empty-note { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .breakdown-label { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .breakdown-label strong { color: var(--st-text); font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .breakdown-track>span { background: #3978eb; }
body.marmo-portal.has-session[data-studio-theme] :is(.manager-editor>p,.admin-project-card p) { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .admin-project-card { border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .admin-project-card h4 { font-size: 15px; font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] :is(.admin-project-card button,#admin-projects>button) {
  background: var(--st-panel); border-color: var(--st-line); color: var(--st-blue); font-size: 12px; min-height: 38px;
}
body.marmo-portal.has-session[data-studio-theme] #admin>section>button,
body.marmo-portal.has-session[data-studio-theme] #refresh-requests,
body.marmo-portal.has-session[data-studio-theme] #refresh-metrics,
body.marmo-portal.has-session[data-studio-theme] .request-card button,
body.marmo-portal.has-session[data-studio-theme] #campaign-form>button,
body.marmo-portal.has-session[data-studio-theme] .storage-actions button {
  background: #245edb; color: white; border: 1px solid #245edb; border-radius: 9px; font-size: 13px;
}
body.marmo-portal.has-session[data-studio-theme] #admin-requests .request-card { background: var(--st-card); border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .request-card h3 { font-size: 16px!important; }
body.marmo-portal.has-session[data-studio-theme] .request-card p,
body.marmo-portal.has-session[data-studio-theme] .campaign-surface>p,
body.marmo-portal.has-session[data-studio-theme] .studio-page[data-studio-panel="requests"]>.studio-surface>p,
body.marmo-portal.has-session[data-studio-theme] .studio-page[data-studio-panel="storage"] p {
  color: var(--st-muted); font-size: 13px; line-height: 1.75;
}
body.marmo-portal.has-session[data-studio-theme] :is(.request-form fieldset,#campaign-form fieldset) { border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] :is(.request-form fieldset legend,#campaign-form legend) { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .request-form .portal-check span { color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] #admin hr { border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .storage-actions button { font-size: 13px!important; }
body.marmo-portal.has-session[data-studio-theme] .account-grid #personal-data { font-size: 13px; gap: 12px; }
body.marmo-portal.has-session[data-studio-theme] .account-grid #personal-data dt { color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .account-grid #personal-data dd { color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .account-grid form+p,
body.marmo-portal.has-session[data-studio-theme] .account-grid div>p { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .account-grid #account-reference { color: var(--st-subtle); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .account-grid #export { color: var(--st-blue); border-color: var(--st-line); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .account-grid #delete-account { color: var(--st-danger); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .account-grid #unsubscribe { color: var(--st-blue); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .account-grid .portal-check { font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .account-identity { border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .account-identity strong { font-size: 14px; }
body.marmo-portal.has-session[data-studio-theme] .account-identity>span { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .detail-breadcrumb { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .detail-header h1 { font-size: clamp(28px,2.8vw,40px); font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .detail-header p { color: var(--st-muted); font-size: 14px; }
body.marmo-portal.has-session[data-studio-theme] .detail-meta { color: var(--st-subtle); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .task-row { border-color: var(--st-line); padding-block: 17px; }
body.marmo-portal.has-session[data-studio-theme] .task-toggle { background: var(--st-panel); border-color: var(--st-subtle); color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .task-row[data-status="done"] .task-toggle { background: var(--st-success); border-color: var(--st-success); color: var(--st-card); }
body.marmo-portal.has-session[data-studio-theme] .task-row[data-status="done"] strong { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .task-copy strong { font-size: 14px; font-weight: 500; }
body.marmo-portal.has-session[data-studio-theme] .task-copy small { color: var(--st-muted); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .task-row>.stage-pill { font-size: 10px; padding: 5px 8px; }
body.marmo-portal.has-session[data-studio-theme] .project-summary-note { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .project-resource { color: var(--st-blue); border-color: var(--st-line); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .project-resource svg { color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .project-resource small { color: var(--st-muted); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .detail-update { border-color: var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .detail-update h3 { font-size: 16px!important; }
body.marmo-portal.has-session[data-studio-theme] .detail-update p { color: var(--st-muted); font-size: 14px; line-height: 1.8; }
body.marmo-portal.has-session[data-studio-theme] .detail-update small { color: var(--st-subtle); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .studio-footer { border-color: var(--st-line); color: var(--st-subtle); font-size: 11px; }
body.marmo-portal.has-session[data-studio-theme] .studio-footer :is(a,button):hover { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] :is(.studio-dialog,.privacy-dialog) {
  background: var(--st-card); color: var(--st-text); border-color: var(--st-line);
  box-shadow: var(--st-dialog-shadow); border-radius: 18px;
}
body.marmo-portal.has-session[data-studio-theme] :is(.studio-dialog,.privacy-dialog)::backdrop { background: #1013188f; backdrop-filter: blur(5px); }
body.marmo-portal.has-session[data-studio-theme] :is(.studio-dialog,.privacy-dialog) p { color: var(--st-muted); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .dialog-heading>button { background: var(--st-soft); border-color: var(--st-line); color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .studio-dialog h2 { font-size: 28px; font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .upload-drop { background: var(--st-soft); border-color: var(--st-selected-line); }
body.marmo-portal.has-session[data-studio-theme] .upload-drop>svg { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .upload-drop strong { color: var(--st-text); font-size: 14px; }
body.marmo-portal.has-session[data-studio-theme] .upload-drop>span { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .upload-drop input { color: var(--st-muted); font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .studio-dialog progress { accent-color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .form-feedback { font-size: 13px; border-radius: 9px; }
body.marmo-portal.has-session[data-studio-theme] .form-feedback--error { background: var(--st-danger-bg); color: var(--st-danger); border-color: color-mix(in srgb,var(--st-danger) 30%,transparent); }
body.marmo-portal.has-session[data-studio-theme] .form-feedback--success { background: var(--st-success-bg); color: var(--st-success); border-color: color-mix(in srgb,var(--st-success) 30%,transparent); }
body.marmo-portal.has-session[data-studio-theme] .field-feedback { color: var(--st-danger)!important; font-size: 12px!important; }
body.marmo-portal.has-session[data-studio-theme] :is(input,select,textarea).is-invalid { border-color: var(--st-danger)!important; background: var(--st-danger-bg)!important; }
body.marmo-portal.has-session[data-studio-theme] .workspace-error { background: var(--st-danger-bg); color: var(--st-danger); border-color: color-mix(in srgb,var(--st-danger) 25%,transparent); font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme]>.portal-live { background: var(--st-card); color: var(--st-text); border-color: var(--st-line); font-size: 13px; box-shadow: var(--st-dialog-shadow); }
body.marmo-portal.has-session[data-studio-theme] .skeleton { background: linear-gradient(90deg,var(--st-soft),var(--st-hover),var(--st-soft)); background-size: 200%; }
body.marmo-portal.has-session[data-studio-theme] .privacy-banner { background: var(--st-card); border-color: var(--st-line); color: var(--st-text); box-shadow: var(--st-dialog-shadow); }
body.marmo-portal.has-session[data-studio-theme] .privacy-banner p { color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .privacy-banner a { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] :is(.privacy-actions button,.privacy-dialog button) { background: var(--st-raised); color: var(--st-text); border-color: var(--st-line); border-radius: 9px; }
body.marmo-portal.has-session[data-studio-theme] .privacy-actions button[data-choice="yes"],
body.marmo-portal.has-session[data-studio-theme] .privacy-dialog #save-privacy { background: #245edb; border-color: #245edb; color: white; }

/* A role and one clear path through the workspace, before any fine details. */
body.marmo-portal.has-session[data-studio-theme] .role-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  background: var(--st-panel); border: 1px solid var(--st-line); border-radius: 12px;
  padding: 17px 20px; margin-bottom: 23px;
}
body.marmo-portal.has-session[data-studio-theme] .role-banner :is(strong,h2) { font-size: 14px; font-weight: 600; color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .role-banner p { font-size: 13px; color: var(--st-muted); margin-top: 3px; line-height: 1.65; }
body.marmo-portal.has-session[data-studio-theme] .role-banner [data-icon] { color: var(--st-blue); }
body.marmo-portal.has-session[data-studio-theme] .setup-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 21px 0 25px; }
body.marmo-portal.has-session[data-studio-theme] .setup-step {
  display: flex; gap: 13px; align-items: flex-start; padding: 20px;
  border: 1px solid var(--st-line); border-radius: 13px; background: var(--st-card); color: var(--st-text); text-align: left;
}
body.marmo-portal.has-session[data-studio-theme] .setup-step>.step-number,
body.marmo-portal.has-session[data-studio-theme] .setup-step>[aria-hidden="true"] {
  display: grid; place-items: center; background: var(--st-selected); color: var(--st-blue);
  border-radius: 50%; width: 29px; height: 29px; flex-shrink: 0; font-size: 12px; font-weight: 600;
}
body.marmo-portal.has-session[data-studio-theme] .setup-step :is(h3,strong) { display: block; font-size: 14px; font-weight: 600; margin: 0 0 5px; }
body.marmo-portal.has-session[data-studio-theme] .setup-step :is(p,small) { display: block; color: var(--st-muted); font-size: 12px; line-height: 1.65; }
body.marmo-portal.has-session[data-studio-theme] .setup-step .text-button { margin-top: 9px; }
body.marmo-portal.has-session[data-studio-theme] .access-strip {
  display: flex; gap: 12px 20px; flex-wrap: wrap; align-items: center; padding: 15px 18px;
  background: var(--st-soft); border: 1px solid var(--st-line); border-radius: 11px; margin-bottom: 24px;
  font-size: 13px; line-height: 1.7; color: var(--st-muted);
}
body.marmo-portal.has-session[data-studio-theme] .access-strip strong { color: var(--st-text); font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .access-strip [data-icon] { color: var(--st-success); }
body.marmo-portal.has-session[data-studio-theme] .access-card {
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 13px; padding: 23px; margin-bottom: 22px;
}
body.marmo-portal.has-session[data-studio-theme] .access-card h2 { font-size: 20px; margin-bottom: 9px; }
body.marmo-portal.has-session[data-studio-theme] .access-card>p { font-size: 13px; color: var(--st-muted); line-height: 1.75; }
body.marmo-portal.has-session[data-studio-theme] .access-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 18px; text-align: left; }
body.marmo-portal.has-session[data-studio-theme] .access-table :is(th,td) { padding: 13px 15px; border-bottom: 1px solid var(--st-line); vertical-align: top; }
body.marmo-portal.has-session[data-studio-theme] .access-table th { font-size: 12px; font-weight: 600; color: var(--st-muted); background: var(--st-soft); }
body.marmo-portal.has-session[data-studio-theme] .access-table td { color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .access-table td small { display: block; font-size: 11px; color: var(--st-muted); margin-top: 3px; }
body.marmo-portal.has-session[data-studio-theme] .access-table tr:last-child td { border-bottom: 0; }
body.marmo-portal.has-session[data-studio-theme] .project-tabs {
  display: flex; gap: 24px; border-bottom: 1px solid var(--st-line); margin: 20px 0 27px;
  overflow-x: auto; scrollbar-width: thin;
}
body.marmo-portal.has-session[data-studio-theme] .project-tab {
  border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent;
  padding: 13px 1px; color: var(--st-muted); font-size: 14px; font-weight: 500;
  min-height: 48px; white-space: nowrap;
}
body.marmo-portal.has-session[data-studio-theme] .project-tab:hover { color: var(--st-text); }
body.marmo-portal.has-session[data-studio-theme] .project-tab[aria-selected="true"],
body.marmo-portal.has-session[data-studio-theme] .project-tab.active {
  color: var(--st-blue); border-bottom-color: var(--st-blue); font-weight: 600;
}
body.marmo-portal.has-session[data-studio-theme] .project-tab-panel { min-width: 0; animation: studio-enter .2s ease both; }
body.marmo-portal.has-session[data-studio-theme] .project-owner {
  display: inline-flex; align-items: center; gap: 7px; color: var(--st-muted); font-size: 12px;
  padding: 6px 10px; border: 1px solid var(--st-line); background: var(--st-soft); border-radius: 7px; max-width: 100%; overflow-wrap: anywhere;
}
body.marmo-portal.has-session[data-studio-theme] .project-owner strong { color: var(--st-text); font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .visibility-note { color: var(--st-muted); font-size: 12px; line-height: 1.7; display: flex; gap: 8px; align-items: flex-start; margin-block: 14px; }
body.marmo-portal.has-session[data-studio-theme] .visibility-note [data-icon] { color: var(--st-subtle); flex-shrink: 0; }
body.marmo-portal.has-session[data-studio-theme] .visibility-note svg { width: 16px; height: 16px; margin-top: 2px; }
body.marmo-portal.has-session[data-studio-theme] .preview-banner {
  background: var(--st-warning-bg); color: var(--st-warning);
  border: 1px solid color-mix(in srgb,var(--st-warning) 25%,transparent); border-radius: 12px;
  padding: 16px 20px; display: flex; gap: 18px; align-items: center; justify-content: space-between;
  font-size: 13px; line-height: 1.65; margin-bottom: 22px;
}
body.marmo-portal.has-session[data-studio-theme] .preview-banner strong { display: block; font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .preview-banner .studio-button { flex-shrink: 0; }
body.marmo-portal.has-session[data-studio-theme] .guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-block: 23px; }
body.marmo-portal.has-session[data-studio-theme] .guide-card {
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 14px; padding: 25px; min-width: 0;
}
body.marmo-portal.has-session[data-studio-theme] .guide-card h2 { font-size: 21px; font-weight: 600; margin-bottom: 10px; }
body.marmo-portal.has-session[data-studio-theme] .guide-card h3 { font-size: 16px; font-weight: 600; margin: 18px 0 7px; }
body.marmo-portal.has-session[data-studio-theme] .guide-card :is(p,li) { color: var(--st-muted); font-size: 13px; line-height: 1.85; }
body.marmo-portal.has-session[data-studio-theme] .guide-card :is(ol,ul) { padding-left: 21px; margin: 15px 0; }
body.marmo-portal.has-session[data-studio-theme] .guide-card li+li { margin-top: 9px; }
body.marmo-portal.has-session[data-studio-theme] .guide-card li strong { color: var(--st-text); font-weight: 550; }
body.marmo-portal.has-session[data-studio-theme] .guide-card .studio-button { margin-top: 18px; }
body.marmo-portal.has-session[data-studio-theme] .workspace-scope {
  display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 500;
  color: var(--st-muted); border: 1px solid var(--st-line); border-radius: 6px; padding: 4px 8px;
  background: var(--st-soft); line-height: 1.5; max-width: 100%; overflow-wrap: anywhere;
}
body.marmo-portal.has-session[data-studio-theme] .workspace-scope[data-scope="admin"] { color: var(--st-accent-ink); background: var(--st-selected); border-color: var(--st-selected-line); }
body.marmo-portal.has-session[data-studio-theme] .theme-select { width: auto; max-width: 160px; min-height: 36px; padding: 7px 10px; font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .theme-control { display: flex; align-items: center; gap: 9px; margin: 0; }
body.marmo-portal.has-session[data-studio-theme] .theme-control>span { font-size: 12px; color: var(--st-muted); }
body.marmo-portal.has-session[data-studio-theme] .topbar-actions .language-select { font-size: 11px; border-radius: 8px; }

/* The project is the primary object: overview, tasks, files and conversation. */
body.marmo-portal.has-session[data-studio-theme] .project-detail-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 3px 0 22px;
}
body.marmo-portal.has-session[data-studio-theme] .project-detail-head>div:first-child { min-width: 0; }
body.marmo-portal.has-session[data-studio-theme] .project-detail-head h1 {
  font-size: clamp(29px,2.8vw,40px); font-weight: 600; letter-spacing: -.045em;
  line-height: 1.18; margin: 11px 0 15px; overflow-wrap: anywhere;
}
body.marmo-portal.has-session[data-studio-theme] .project-controls { display: flex; align-items: center; gap: 9px; flex-shrink: 0; flex-wrap: wrap; }
body.marmo-portal.has-session[data-studio-theme] .access-strip>span { display: inline-flex; align-items: center; gap: 9px; flex: 1; }
body.marmo-portal.has-session[data-studio-theme] .access-strip>.stage-pill { flex: 0 0 auto; }
body.marmo-portal.has-session[data-studio-theme] .project-summary-grid {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0 0 23px;
}
body.marmo-portal.has-session[data-studio-theme] .project-metric {
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 12px; padding: 20px; min-width: 0;
}
body.marmo-portal.has-session[data-studio-theme] .project-metric>span { color: var(--st-muted); font-size: 12px; display: block; }
body.marmo-portal.has-session[data-studio-theme] .project-metric>strong { color: var(--st-text); font-size: 21px; font-weight: 600; display: block; margin-top: 11px; line-height: 1.35; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .project-metric:last-child>strong { font-size: 15px; line-height: 1.7; }
body.marmo-portal.has-session[data-studio-theme] .project-section {
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 14px; padding: 25px; margin-bottom: 23px;
}
body.marmo-portal.has-session[data-studio-theme] .project-section h2,
body.marmo-portal.has-session[data-studio-theme] .project-tab-panel>.section-label h2 { font-size: 21px; font-weight: 600; letter-spacing: -.025em; line-height: 1.35; }
body.marmo-portal.has-session[data-studio-theme] .project-section>p { font-size: 15px; color: var(--st-muted); line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 13px; max-width: 92ch; }
body.marmo-portal.has-session[data-studio-theme] .next-action {
  margin-top: 25px; padding: 18px 20px; background: var(--st-soft); border: 1px solid var(--st-line);
  border-left: 3px solid var(--st-blue); border-radius: 9px;
}
body.marmo-portal.has-session[data-studio-theme] .next-action>strong { display: block; font-size: 15px; font-weight: 550; margin-top: 7px; line-height: 1.7; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .next-action>p { color: var(--st-muted); font-size: 12px; margin-top: 7px; }
body.marmo-portal.has-session[data-studio-theme] .project-update { padding: 23px 0; border-bottom: 1px solid var(--st-line); }
body.marmo-portal.has-session[data-studio-theme] .project-update:last-child { padding-bottom: 0; border-bottom: 0; }
body.marmo-portal.has-session[data-studio-theme] .project-update>small { font-size: 12px; color: var(--st-subtle); }
body.marmo-portal.has-session[data-studio-theme] .project-update>h3 { font-size: 18px; font-weight: 600; margin: 9px 0; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .project-update>p { color: var(--st-muted); font-size: 14px; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .project-tab-panel>.section-label .collection-caption { margin: 7px 0 0!important; font-size: 13px; }
body.marmo-portal.has-session[data-studio-theme] .task-status-select { width: auto; min-width: 145px; min-height: 37px; padding: 8px 10px; font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .project-files-list { display: flex; flex-direction: column; gap: 0; margin-top: 20px; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row {
  display: flex; align-items: center; gap: 15px; border: 1px solid var(--st-line); background: var(--st-card);
  padding: 18px 20px; border-bottom: 0; min-width: 0;
}
body.marmo-portal.has-session[data-studio-theme] .project-file-row:first-child { border-radius: 12px 12px 0 0; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row:last-child { border-bottom: 1px solid var(--st-line); border-radius: 0 0 12px 12px; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row:only-child { border-radius: 12px; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row>div { flex: 1; min-width: 0; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row strong { display: block; font-size: 14px; font-weight: 550; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row small { display: block; font-size: 12px; color: var(--st-subtle); margin-top: 4px; }
body.marmo-portal.has-session[data-studio-theme] .project-file-row>.studio-button { flex-shrink: 0; min-height: 37px; padding: 8px 12px; font-size: 12px; }
body.marmo-portal.has-session[data-studio-theme] .message-thread { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin: 24px 0; }
body.marmo-portal.has-session[data-studio-theme] .message-thread>.guide-card { width: 100%; }
body.marmo-portal.has-session[data-studio-theme] .message-bubble {
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 14px 14px 14px 3px;
  padding: 18px 21px; min-width: min(260px,100%); max-width: min(82%,830px);
}
body.marmo-portal.has-session[data-studio-theme] .message-bubble[data-author="admin"] {
  align-self: flex-end; background: var(--st-selected); border-color: var(--st-selected-line); border-radius: 14px 14px 3px 14px;
}
body.marmo-portal.has-session[data-studio-theme] .message-bubble>small { display: block; font-size: 11px; color: var(--st-muted); margin-bottom: 9px; }
body.marmo-portal.has-session[data-studio-theme] .message-bubble>p { color: var(--st-text); font-size: 14px; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .message-composer {
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 14px; padding: 22px;
}
body.marmo-portal.has-session[data-studio-theme] .message-composer>label { margin-top: 0; font-size: 14px; font-weight: 600; }
body.marmo-portal.has-session[data-studio-theme] .message-composer>textarea { min-height: 115px; margin-top: 9px; }
body.marmo-portal.has-session[data-studio-theme] .message-composer>.visibility-note { margin-bottom: 0; }
body.marmo-portal.has-session[data-studio-theme] .permission-person {
  display: flex; align-items: center; gap: 14px; background: var(--st-card); padding: 20px;
  border: 1px solid var(--st-line); border-radius: 12px; min-width: 0;
}
body.marmo-portal.has-session[data-studio-theme] .permission-person>div { min-width: 0; }
body.marmo-portal.has-session[data-studio-theme] .permission-person strong { display: block; font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme] .permission-person small { display: block; font-size: 12px; color: var(--st-muted); margin-top: 5px; overflow-wrap: anywhere; }
body.marmo-portal.has-session[data-studio-theme].client-preview .studio-app { display: block; }
body.marmo-portal.has-session[data-studio-theme].client-preview :is(.studio-sidebar,.studio-topbar) { display: none; }
body.marmo-portal.has-session[data-studio-theme].client-preview .studio-body { grid-column: auto; }
body.marmo-portal.has-session[data-studio-theme].client-preview .studio-content { max-width: 1200px; padding-top: 24px; }
body.marmo-portal.has-session[data-studio-theme].client-preview .preview-banner { position: sticky; top: 16px; z-index: 26; box-shadow: var(--st-shadow); }

@media (max-width: 1250px) {
  body.marmo-portal.has-session[data-studio-theme] .studio-nav-item { font-size: 12px; padding-inline: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .setup-steps { gap: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .setup-step { padding: 17px; gap: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .topbar-actions { gap: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .theme-control>span { display: none; }
}
@media (max-width: 1020px) {
  body.marmo-portal.has-session[data-studio-theme] .setup-steps { grid-template-columns: 1fr; }
  body.marmo-portal.has-session[data-studio-theme] .setup-step { align-items: center; }
  body.marmo-portal.has-session[data-studio-theme] .guide-grid { grid-template-columns: 1fr; }
  body.marmo-portal.has-session[data-studio-theme] .role-banner { align-items: flex-start; }
  body.marmo-portal.has-session[data-studio-theme] .studio-nav-item { font-size: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .project-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.marmo-portal.has-session[data-studio-theme] .project-detail-head { flex-direction: column; gap: 17px; }
}
@media (max-width: 760px) {
  body.marmo-portal.has-session[data-studio-theme] .studio-content { padding: 23px 17px 18px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-sidebar { box-shadow: 20px 0 80px #0003; }
  body.marmo-portal.has-session[data-studio-theme].sidebar-open:after { background: #10131866; }
  body.marmo-portal.has-session[data-studio-theme] .studio-topbar { padding-inline: 15px; gap: 9px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb { font-size: 12px; gap: 6px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb>span { display: none; }
  body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb { font-size: 0; }
  body.marmo-portal.has-session[data-studio-theme] .studio-breadcrumb strong { font-size: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .topbar-actions { gap: 6px; }
  body.marmo-portal.has-session[data-studio-theme] .topbar-actions .theme-select { max-width: 102px; min-width: 0; font-size: 11px!important; padding: 7px; }
  body.marmo-portal.has-session[data-studio-theme] .topbar-actions .language-select { width: 49px; padding: 6px; font-size: 10px!important; }
  body.marmo-portal.has-session[data-studio-theme] .account-switch { padding: 0; }
  body.marmo-portal.has-session[data-studio-theme] .page-heading { gap: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .page-heading h1 { font-size: 29px; }
  body.marmo-portal.has-session[data-studio-theme] .page-heading>div>p { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-surface { padding: 20px; border-radius: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-surface h2 { font-size: 19px; }
  body.marmo-portal.has-session[data-studio-theme] .section-label { align-items: flex-start; gap: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .section-label .text-button { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .kpi-card { padding: 17px; }
  body.marmo-portal.has-session[data-studio-theme] .kpi-card .kpi-label { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .kpi-card small { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .project-row { flex-wrap: wrap; }
  body.marmo-portal.has-session[data-studio-theme] .project-row-copy strong { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .project-row-copy small { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .project-row>.stage-pill { margin-left: 44px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-project-card { padding: 21px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-project-card h3 { font-size: 21px; }
  body.marmo-portal.has-session[data-studio-theme] .stage-pill { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .file-card h3 { font-size: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .file-card .file-project { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .file-meta { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .file-meta :is(a,button) { font-size: 11px; min-height: 28px; }
  body.marmo-portal.has-session[data-studio-theme] .file-extension { font-size: 9px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-toolbar select { font-size: 12px!important; }
  body.marmo-portal.has-session[data-studio-theme] .studio-search input { font-size: 14px!important; }
  body.marmo-portal.has-session[data-studio-theme] .heading-actions>.studio-button { font-size: 12px; padding: 9px 11px; }
  body.marmo-portal.has-session[data-studio-theme] .page-heading:has(.heading-actions) { flex-direction: column; }
  body.marmo-portal.has-session[data-studio-theme] .heading-actions { width: 100%; justify-content: flex-start; }
  body.marmo-portal.has-session[data-studio-theme] .activity-item h3 { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .activity-item p { font-size: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .activity-item small { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .chart-tick { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .breakdown-label { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .detail-header h1 { font-size: 31px; }
  body.marmo-portal.has-session[data-studio-theme] .detail-header p { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .detail-actions .studio-button { font-size: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .detail-meta { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .task-row { flex-wrap: wrap; }
  body.marmo-portal.has-session[data-studio-theme] .task-copy strong { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .task-row>.stage-pill { font-size: 10px; margin-left: 30px; }
  body.marmo-portal.has-session[data-studio-theme] .detail-update h3 { font-size: 15px!important; }
  body.marmo-portal.has-session[data-studio-theme] .detail-update p { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-footer { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .role-banner { flex-direction: column; padding: 17px; gap: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .role-banner .studio-button { font-size: 12px; }
  body.marmo-portal.has-session[data-studio-theme] .access-strip { font-size: 12px; padding: 14px 16px; gap: 8px; }
  body.marmo-portal.has-session[data-studio-theme] .access-card { padding: 19px; overflow-x: auto; }
  body.marmo-portal.has-session[data-studio-theme] .access-table { font-size: 12px; min-width: 420px; }
  body.marmo-portal.has-session[data-studio-theme] .access-table :is(th,td) { padding: 12px 10px; }
  body.marmo-portal.has-session[data-studio-theme] .project-tabs { gap: 22px; margin-bottom: 22px; }
  body.marmo-portal.has-session[data-studio-theme] .project-tab { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .preview-banner { flex-direction: column; align-items: flex-start; gap: 13px; padding: 17px; }
  body.marmo-portal.has-session[data-studio-theme] .guide-card { padding: 21px; }
  body.marmo-portal.has-session[data-studio-theme] .guide-card h2 { font-size: 20px; }
  body.marmo-portal.has-session[data-studio-theme] .workspace-scope { font-size: 10px; }
  body.marmo-portal.has-session[data-studio-theme] .studio-page form .portal-check { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .account-identity strong { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .account-identity>span { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .project-detail-head h1 { font-size: 31px; }
  body.marmo-portal.has-session[data-studio-theme] .project-controls { width: 100%; }
  body.marmo-portal.has-session[data-studio-theme] .project-controls>.studio-button { font-size: 12px; flex: 1; }
  body.marmo-portal.has-session[data-studio-theme] .project-summary-grid { gap: 10px; margin-bottom: 19px; }
  body.marmo-portal.has-session[data-studio-theme] .project-metric { padding: 16px; }
  body.marmo-portal.has-session[data-studio-theme] .project-metric>span { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .project-metric>strong { font-size: 19px; }
  body.marmo-portal.has-session[data-studio-theme] .project-metric:last-child>strong { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .project-section { padding: 20px; }
  body.marmo-portal.has-session[data-studio-theme] .project-section h2,
  body.marmo-portal.has-session[data-studio-theme] .project-tab-panel>.section-label h2 { font-size: 20px; }
  body.marmo-portal.has-session[data-studio-theme] .project-section>p { font-size: 14px; }
  body.marmo-portal.has-session[data-studio-theme] .next-action { padding: 16px; }
  body.marmo-portal.has-session[data-studio-theme] .next-action>strong { font-size: 14px; }
  body.marmo-portal.has-session[data-studio-theme] .project-update>h3 { font-size: 17px; }
  body.marmo-portal.has-session[data-studio-theme] .project-update>p { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .task-status-select { min-width: 135px; font-size: 12px!important; margin-left: 30px; }
  body.marmo-portal.has-session[data-studio-theme] .project-file-row { padding: 15px; gap: 11px; flex-wrap: wrap; }
  body.marmo-portal.has-session[data-studio-theme] .project-file-row strong { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .project-file-row small { font-size: 11px; }
  body.marmo-portal.has-session[data-studio-theme] .project-file-row>.studio-button { margin-left: 45px; }
  body.marmo-portal.has-session[data-studio-theme] .message-bubble { max-width: 94%; min-width: 0; padding: 16px 18px; }
  body.marmo-portal.has-session[data-studio-theme] .message-bubble>p { font-size: 13px; }
  body.marmo-portal.has-session[data-studio-theme] .message-composer { padding: 18px; }
  body.marmo-portal.has-session[data-studio-theme] .permission-person { padding: 17px; }
  body.marmo-portal.has-session[data-studio-theme] input:not([type="checkbox"]):not([type="file"]),
  body.marmo-portal.has-session[data-studio-theme] select,
  body.marmo-portal.has-session[data-studio-theme] textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.marmo-portal.has-session[data-studio-theme] .project-tab-panel { animation: none; }
}

/* Final workflow spacing and the new-project editor. */
body.marmo-portal.has-session[data-studio-theme] #workspace-setup { margin-bottom:24px; }
body.marmo-portal.has-session[data-studio-theme] .setup-step { display:grid; grid-template-columns:29px minmax(0,1fr); gap:7px 13px; }
body.marmo-portal.has-session[data-studio-theme] .setup-step>.step-number { grid-row:1/4; }
body.marmo-portal.has-session[data-studio-theme] .setup-step>:not(.step-number) { grid-column:2; }
body.marmo-portal.has-session[data-studio-theme] .setup-step .text-button { justify-self:start; }
body.marmo-portal.has-session[data-studio-theme] .admin-nav { margin:12px 0 0; border-top:1px solid var(--st-line); padding-top:14px; }
body.marmo-portal.has-session[data-studio-theme] .admin-nav>summary { font-size:12px; color:var(--st-muted); cursor:pointer; padding:10px 14px; }
body.marmo-portal.has-session[data-studio-theme] .editor-step { border:0; border-bottom:1px solid var(--st-line); padding:0 0 25px; margin:0 0 25px; min-width:0; }
body.marmo-portal.has-session[data-studio-theme] .editor-step:last-child { border:0; margin:0; padding-bottom:0; }
body.marmo-portal.has-session[data-studio-theme] .editor-step legend { font-weight:600; font-size:17px; padding-bottom:8px; }
body.marmo-portal.has-session[data-studio-theme] .existing-projects { border-top:1px solid var(--st-line); margin-top:25px; padding-top:20px; }
body.marmo-portal.has-session[data-studio-theme] .existing-projects summary { cursor:pointer; font-size:14px; }
body.marmo-portal.has-session[data-studio-theme].client-preview #workspace-scope { display:none; }
body.marmo-portal.has-session[data-studio-theme] .theme-select { margin:0!important; padding:0!important; }
body.marmo-portal.has-session[data-studio-theme] .theme-select select { min-width:92px; width:auto; }
@media(max-width:760px){body.marmo-portal.has-session[data-studio-theme] .role-banner { flex-wrap:wrap; gap:10px; }body.marmo-portal.has-session[data-studio-theme] .role-banner>span { flex-basis:100%;font-size:12px; }body.marmo-portal.has-session[data-studio-theme] .topbar-actions .theme-select select{min-width:74px;font-size:11px;}}
