/* NeuroResin Studio consolidated styles. Edit Studio layout and palette here. */

/* ===== studio/index.php ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Warm-grey Studio theme — concrete bg + cream cards + charcoal sidebar */
  --bg:#c4c2bd;
  --bg-soft:#cdcbc6;
  --surface:#e6e3dc;
  --surface-soft:#ece9e2;
  --surface-strong:#f0ede6;
  --surface-glass:rgba(232,228,219,.72);
  --border:rgba(28,28,24,.08);
  --border-strong:rgba(28,28,24,.18);
  --text:#1f1f1d;
  --text-dim:#5b5853;
  --text-muted:#8a857e;
  --accent:#1a1a18;
  --accent-hover:#2a2a26;
  --accent-soft:rgba(26,26,24,.08);
  --accent-strong:#000;
  --brand:#c75c4a;
  --brand-hover:#b54e3d;
  --ok:#4d7c58;
  --ok-soft:rgba(77,124,88,.14);
  --warn:#a3793a;
  --warn-soft:rgba(163,121,58,.14);
  --danger:#8f4a44;
  --danger-soft:rgba(143,74,68,.14);
  --shadow-sm:0 1px 2px rgba(35,33,28,.06);
  --shadow-md:0 8px 24px rgba(35,33,28,.08);
  --shadow-lg:0 24px 60px rgba(35,33,28,.12);
  --radius:12px;
  --radius-lg:18px;
  --radius-xl:24px;
}
html,body.studio-page--index{min-height:100%}
body.studio-page--index{
  font:400 14px/1.5 'Inter',system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.3), transparent 45%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 100%);
}
body.studio-page--index a{color:inherit;text-decoration:none}
body.studio-page--index button,body.studio-page--index input,body.studio-page--index textarea,body.studio-page--index select{font:inherit}

body.studio-page--index #loading-screen{
  position:fixed;inset:0;z-index:100;
  display:flex;
  background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%);
}
body.studio-page--index #loading-screen .ls-sidebar-skeleton{
  display:flex;flex:0 0 calc(var(--st-rail-w) + var(--st-panel-w));width:calc(var(--st-rail-w) + var(--st-panel-w));
}
body.studio-page--index .side-collapsed #loading-screen .ls-sidebar-skeleton{flex-basis:var(--st-rail-w);width:var(--st-rail-w)}
body.studio-page--index #loading-screen .ls-rail-sk{flex:0 0 var(--st-rail-w);background:var(--accent)}
body.studio-page--index #loading-screen .ls-panel-sk{flex:1;background:var(--surface-strong);border-right:1px solid var(--border)}
body.studio-page--index #loading-screen .ls-shell{
  flex:1;min-width:0;padding:28px 24px;
  width:min(1320px,100%);margin:0 auto;display:grid;align-content:start;gap:16px;
}
body.studio-page--index #loading-screen .ls-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}
body.studio-page--index #loading-screen .ls-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
body.studio-page--index #loading-screen .ls-rows{display:grid;gap:10px}
body.studio-page--index #loading-screen .ls-block{
  border-radius:14px;background:linear-gradient(90deg,var(--bg) 0%,var(--bg-soft) 50%,var(--bg) 100%);
  background-size:200% 100%;animation:lsShimmer 1.4s linear infinite;
  border:1px solid var(--border);
}
body.studio-page--index #loading-screen .ls-kpi{height:102px}
body.studio-page--index #loading-screen .ls-row{height:64px}
body.studio-page--index #loading-screen .ls-title{height:44px;width:260px}
body.studio-page--index #loading-screen .ls-sub{height:16px;width:380px;border-radius:8px;margin-top:10px}
body.studio-page--index #loading-screen .ls-btn{height:42px;width:150px;border-radius:14px}
body.studio-page--index #loading-screen .ls-caption{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  font:600 10px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-muted);padding:8px 14px;border-radius:999px;
  background:var(--surface);border:1px solid var(--border);
}
@keyframes lsShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes lsPulse{0%,100%{opacity:.5}50%{opacity:1}}
body.studio-page--index #app{display:block}

body.studio-page--index .studio-topbar{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 24px;
  border-bottom:1px solid rgba(0,0,0,.32);
  background:rgba(28,27,24,.94);
  backdrop-filter:blur(14px);
  color:var(--text);
}
body.studio-page--index .studio-topbar__brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--text);
}
body.studio-page--index .studio-topbar__mark{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(232,234,237,.14);
  background:rgba(232,234,237,.06);
  display:grid;
  place-items:center;
  color:var(--text);
  box-shadow:inset 0 1px 0 var(--surface);
}
body.studio-page--index .studio-topbar__nav{
  display:flex;
  align-items:center;
  gap:20px;
}
body.studio-page--index .studio-topbar__nav a,
body.studio-page--index .studio-topbar__logout{
  font:600 10px/1 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(232,234,237,.55);
  background:none;
  border:none;
  cursor:pointer;
  transition:color .18s ease;
}
body.studio-page--index .studio-topbar__nav a:hover,
body.studio-page--index .studio-topbar__nav a.is-active,
body.studio-page--index .studio-topbar__logout:hover{color:var(--text)}

/* PL/EN language switcher (global, all studio pages) */
.studio-topbar__lang{display:inline-flex;align-items:center;border:1px solid rgba(232,234,237,.22);border-radius:7px;overflow:hidden}
.studio-topbar__lang button{font:600 10px/1 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,234,237,.55);background:none;border:none;cursor:pointer;padding:6px 9px;transition:color .18s ease,background .18s ease}
.studio-topbar__lang button + button{border-left:1px solid rgba(232,234,237,.22)}
.studio-topbar__lang button:hover{color:#e8eaed}
.studio-topbar__lang button[aria-current="true"]{color:#0b0b0c;background:rgba(232,234,237,.9)}
.login-footer .studio-topbar__lang{margin:0 auto 14px}

body.studio-page--index .pm-shell{
  width:min(1320px,calc(100vw - 32px));
  margin:28px auto 48px;
  display:grid;
  gap:16px;
}
body.studio-page--index .pm-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
}
body.studio-page--index .pm-head__eyebrow,
body.studio-page--index .pm-kpi__eyebrow,
body.studio-page--index .pm-table__head span,
body.studio-page--index .pm-row__meta,
body.studio-page--index .pm-doc,
body.studio-page--index .pm-modal__eyebrow,
body.studio-page--index .pm-field span,
body.studio-page--index .pm-chip,
body.studio-page--index .pm-tool-modal__eyebrow{
  font:600 10px/1.2 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.studio-page--index .pm-head__eyebrow,
body.studio-page--index .pm-kpi__eyebrow,
body.studio-page--index .pm-modal__eyebrow,
body.studio-page--index .pm-field span,
body.studio-page--index .pm-chip,
body.studio-page--index .pm-tool-modal__eyebrow{color:var(--text-muted)}
body.studio-page--index .pm-head__title{
  margin:8px 0 0;
  font-size:2.4rem;
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:500;
}
body.studio-page--index .pm-head__pulse{
  margin:8px 0 0;
  font-size:.92rem;
  font-weight:500;
  color:var(--text-dim);
}
body.studio-page--index .pm-head__pulse:empty{display:none}
body.studio-page--index .pm-head__copy{
  margin:10px 0 0;
  max-width:760px;
  color:var(--text-dim);
  font-size:.96rem;
  line-height:1.65;
}

body.studio-page--index .pm-alert{
  display:none;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--surface);
  font-size:.9rem;
}
body.studio-page--index .pm-alert.is-ok{display:block;background:var(--ok-soft);border-color:var(--ok)}
body.studio-page--index .pm-alert.is-err{display:block;background:var(--danger-soft);border-color:var(--danger)}

body.studio-page--index .pm-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 220px auto auto;
  gap:10px;
  align-items:center;
}
body.studio-page--index .pm-search,
body.studio-page--index .pm-select,
body.studio-page--index .pm-btn,
body.studio-page--index .pm-field input,
body.studio-page--index .pm-field select,
body.studio-page--index .pm-field textarea{
  min-height:44px;
  border-radius:100px;
  border:1px solid var(--border);
  background:var(--surface-glass);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:var(--text);
  font:500 13px/1.2 'Inter',system-ui,sans-serif;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
body.studio-page--index .pm-search,
body.studio-page--index .pm-select,
body.studio-page--index .pm-field input,
body.studio-page--index .pm-field select,
body.studio-page--index .pm-field textarea{
  width:100%;
  padding:0 20px;
}
body.studio-page--index .pm-search::placeholder,
body.studio-page--index .pm-field input::placeholder,
body.studio-page--index .pm-field textarea::placeholder{color:var(--text-muted)}
body.studio-page--index .pm-field textarea{
  min-height:112px;
  padding:14px 18px;
  border-radius:18px;
  resize:vertical;
}
body.studio-page--index .pm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  cursor:pointer;
  transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease;
}
body.studio-page--index .pm-btn:hover{transform:translateY(-1px)}
body.studio-page--index .pm-btn--dark{background:var(--accent);border-color:var(--accent);color:var(--surface)}
body.studio-page--index #newBtn{background:var(--brand);border-color:var(--brand);color:#fff}
body.studio-page--index #newBtn:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
body.studio-page--index .pm-btn--soft{background:var(--surface-soft)}
body.studio-page--index .pm-btn--danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}

body.studio-page--index .pm-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body.studio-page--index .pm-kpi{
  padding:18px 20px;
  border-radius:22px;
  border:1px solid var(--border);
  background:var(--surface-glass);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    inset 0 -1px 0 rgba(35,33,28,.04),
    0 8px 24px rgba(35,33,28,.06);
}
body.studio-page--index .pm-kpi__value{
  margin-top:10px;
  font-size:2.4rem;
  font-weight:500;
  letter-spacing:-.05em;
  line-height:1;
}
body.studio-page--index .pm-kpi--brand .pm-kpi__value{color:var(--brand)}
body.studio-page--index .pm-kpi__copy{
  margin-top:6px;
  color:var(--text-dim);
  font-size:.84rem;
  line-height:1.45;
}

body.studio-page--index .pm-list{
  border:1px solid var(--border);
  border-radius:24px;
  background:var(--surface-glass);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 16px 44px rgba(35,33,28,.08);
}
body.studio-page--index .pm-table__head{
  display:grid;
  /* 6 kolumn: KLIENT | NAZWA | INWESTOR | DOKUMENTY | ETAP | AKCJE */
  grid-template-columns:minmax(180px,1fr) minmax(200px,1.2fr) minmax(160px,.9fr) minmax(180px,1fr) 120px max-content;
  gap:16px;
  align-items:center;
  padding:14px 22px;
  border-bottom:1px solid var(--border);
  background:transparent;
}
body.studio-page--index .pm-table__head span{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
body.studio-page--index .pm-rows{display:grid}
body.studio-page--index .pm-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(200px,1.2fr) minmax(160px,.9fr) minmax(180px,1fr) 120px max-content;
  gap:16px;
  align-items:center;
  padding:16px 22px;
  border-bottom:1px solid var(--border);
  transition:background .15s ease;
}
body.studio-page--index .pm-row:last-child{border-bottom:none}
body.studio-page--index .pm-row:hover{background:rgba(255,255,255,.35)}

/* ── Grupowanie po kliencie ─────────────────────────── */
/* Projekty jednego klienta: spięte lewym paskiem (rail), ale każdy oddzielony pełną linią — nie zlewają się */
body.studio-page--index .pm-row.is-grouped{
  box-shadow:inset 3px 0 0 0 color-mix(in srgb, var(--brand) 32%, transparent);
}
body.studio-page--index .pm-row.is-group-tail{
  padding-top:14px;
  padding-bottom:14px;
}
/* Komórka KLIENT */
body.studio-page--index .pm-client{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
body.studio-page--index .pm-client__name{
  font-size:.92rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.3;
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.studio-page--index .pm-client__company{
  font-size:.78rem;
  color:var(--text-dim);
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.studio-page--index .pm-client__count{
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent, #b75c50);
  margin-top:2px;
}
body.studio-page--index .pm-client--cont{
  position:relative;
  padding-left:18px;
  color:var(--text-muted);
  font-size:.78rem;
}
body.studio-page--index .pm-client--cont .pm-client__indent{
  display:inline-block;
  opacity:.5;
  font-size:14px;
}
body.studio-page--index .pm-client--none .pm-client__name{
  color:var(--text-muted);
  font-weight:500;
  font-style:italic;
  font-size:.82rem;
}
body.studio-page--index .pm-name strong{
  display:block;
  font-size:.96rem;
  line-height:1.32;
  letter-spacing:-.03em;
}
body.studio-page--index .pm-name span,
body.studio-page--index .pm-investor span{
  display:block;
  margin-top:4px;
  color:var(--text-dim);
  font-size:.82rem;
  line-height:1.45;
}
body.studio-page--index .pm-investor strong{
  display:block;
  font-size:.92rem;
  line-height:1.32;
}
body.studio-page--index .pm-row__meta{font-size:9px;color:var(--text-muted)}
body.studio-page--index .pm-docs{display:flex;gap:6px;flex-wrap:wrap}
body.studio-page--index .pm-doc{
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  display:inline-flex;
  align-items:center;
  font-size:9px;
  color:var(--text-dim);
}
body.studio-page--index .pm-doc.is-ready,
body.studio-page--index .pm-doc.is-signed,
body.studio-page--index .pm-doc.is-done{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}
body.studio-page--index .pm-doc.is-sent{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}
body.studio-page--index .pm-doc.is-draft{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}
body.studio-page--index .pm-pill{
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--text);
  font-size:.82rem;
  white-space:nowrap;
}
body.studio-page--index .pm-pill.is-inquiry{background:#f1efe8;border-color:transparent;color:#444441}
body.studio-page--index .pm-pill.is-quote{background:#faeeda;border-color:transparent;color:#633806}
body.studio-page--index .pm-pill.is-production{background:#e6f1fb;border-color:transparent;color:#0c447c}
body.studio-page--index .pm-pill.is-handover{background:#e1f5ee;border-color:transparent;color:#085041}
body.studio-page--index .pm-pill.is-done{background:#eaf3de;border-color:transparent;color:#27500a}
body.studio-page--index .pm-next{margin-top:6px;font-size:.72rem;font-weight:500;color:var(--brand);white-space:nowrap}
body.studio-page--index .pm-value{margin-top:5px;font-size:.86rem;font-weight:500;color:var(--text);white-space:nowrap}
body.studio-page--index .pm-kpi__value--money{font-size:1.7rem}
/* ── Overview (hero + karty z mini-wykresami) ── */
body.studio-page--index .pm-overview{margin-bottom:18px}
body.studio-page--index .ov-hero{display:flex;justify-content:space-between;gap:18px;background:var(--brand);color:#fff;border-radius:22px;padding:24px 26px;overflow:hidden}
body.studio-page--index .ov-hero__eye{font:600 11px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;opacity:.82;margin:0 0 10px}
body.studio-page--index .ov-hero__val{font-size:clamp(26px,3.4vw,38px);font-weight:500;letter-spacing:-.02em;line-height:1;margin:0 0 10px}
body.studio-page--index .ov-hero__sub{font-size:13px;opacity:.85;margin:0}
body.studio-page--index .ov-hero__glass{align-self:center;min-width:180px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:14px;padding:13px 15px}
body.studio-page--index .ov-hero__glabel{font-size:11px;opacity:.82;margin:0 0 6px}
body.studio-page--index .ov-hero__gval{font-size:18px;font-weight:500;margin:0 0 3px}
body.studio-page--index .ov-hero__gsub{font-size:12px;opacity:.82;margin:0}
body.studio-page--index .ov-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
body.studio-page--index .ov-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px}
body.studio-page--index .ov-card--wide{grid-column:span 2}
body.studio-page--index .ov-card__lbl{font-size:12px;color:var(--text-muted);margin:0 0 8px}
body.studio-page--index .ov-card__val{font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:1}
body.studio-page--index .ov-card__val--brand{color:var(--brand)}
body.studio-page--index .ov-card__hint{font-size:12px;color:var(--text-muted);margin:8px 0 0}
body.studio-page--index .ov-spark{width:100%;height:46px;margin-top:8px;display:block}
body.studio-page--index .ov-bars{display:flex;gap:4px;align-items:flex-end;height:34px;margin-top:10px}
@media (max-width:980px){body.studio-page--index .ov-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){body.studio-page--index .ov-hero{flex-direction:column}body.studio-page--index .ov-cards{grid-template-columns:1fr}body.studio-page--index .ov-card--wide{grid-column:span 1}}
body.studio-page--index .pm-stale{margin-top:5px;font-size:.72rem;font-weight:500;color:var(--warn);white-space:nowrap}
body.studio-page--index .pm-retention{margin-top:5px;display:inline-block;font-size:.68rem;font-weight:600;color:#7a2727;background:#fbe9e9;border:1px solid #e9a6a6;border-radius:999px;padding:1px 8px;white-space:nowrap;cursor:help}
body.studio-page--index .pm-progress{display:flex;align-items:center;gap:8px}
body.studio-page--index .pm-progress__bar{display:flex;gap:3px}
body.studio-page--index .pm-progress__seg{width:18px;height:5px;border-radius:3px;background:var(--border-strong)}
body.studio-page--index .pm-progress__seg.is-done{background:var(--brand)}
body.studio-page--index .pm-progress__count{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}
/* Legacy compat */
body.studio-page--index .pm-pill.is-draft{color:var(--text-dim)}
body.studio-page--index .pm-pill.is-active{background:var(--accent-soft);border-color:var(--accent-soft)}
body.studio-page--index .pm-pill.is-won{background:var(--ok-soft);border-color:var(--ok)}
body.studio-page--index .pm-pill.is-closed{background:var(--surface-soft);border-color:var(--border)}
body.studio-page--index .pm-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:nowrap}
body.studio-page--index .pm-iconbtn{width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);border-radius:10px;color:var(--text-dim);cursor:pointer;font-size:15px;line-height:1;transition:color .12s,border-color .12s,background .12s}
body.studio-page--index .pm-iconbtn:hover{color:var(--text);border-color:var(--border-strong)}
body.studio-page--index .pm-iconbtn--danger{color:var(--text-muted)}
body.studio-page--index .pm-iconbtn--danger:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}
body.studio-page--index .pm-actions__edit,
body.studio-page--index .pm-actions__delete,
body.studio-page--index .pm-actions__track{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
  line-height:1;
  vertical-align:middle;
  flex:0 0 auto;
  min-height:34px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  font-size:.82rem;
}
body.studio-page--index .pm-actions__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1em;
  height:1em;
  line-height:1;
  font-size:.95em;
}
body.studio-page--index .pm-actions__track{color:var(--warn);border-color:var(--warn)}
body.studio-page--index .pm-actions__track:hover{background:var(--warn-soft)}
body.studio-page--index .pm-actions__delete{color:var(--danger);border-color:var(--danger)}
body.studio-page--index .pm-empty{
  padding:46px 18px;
  text-align:center;
  color:var(--text-muted);
  font-size:.92rem;
}

body.studio-page--index .pm-modal,
body.studio-page--index .pm-tool-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
}
body.studio-page--index .pm-modal.is-open,
body.studio-page--index .pm-tool-modal.is-open{display:block}
body.studio-page--index .pm-modal__backdrop,
body.studio-page--index .pm-tool-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,18,22,.24);
  backdrop-filter:blur(8px);
}
body.studio-page--index .pm-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1160px,calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  margin:20px auto;
  padding:18px;
  border-radius:28px;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 40px 80px rgba(16,17,21,.16);
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:14px;
}
body.studio-page--index .pm-modal__head,
body.studio-page--index .pm-modal__foot{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
body.studio-page--index .pm-modal__close,
body.studio-page--index .pm-tool-modal__close{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font-size:18px;
  cursor:pointer;
}
body.studio-page--index .pm-modal__title,
body.studio-page--index .pm-tool-modal__title{
  margin:4px 0 0;
  font-size:1.32rem;
  letter-spacing:-.04em;
}
body.studio-page--index .pm-modal__copy,
body.studio-page--index .pm-panel__copy,
body.studio-page--index .pm-tool-modal__copy{
  margin:6px 0 0;
  color:var(--text-dim);
  line-height:1.55;
  font-size:.9rem;
}
body.studio-page--index .pm-modal__body{
  min-height:0;
  overflow:auto;
  display:grid;
  gap:12px;
}
body.studio-page--index .pm-panel{
  border-radius:18px;
  border:1px solid var(--border);
  background:var(--surface);
  padding:14px;
  display:grid;
  gap:12px;
}
body.studio-page--index .pm-panel__title{
  margin:4px 0 0;
  font-size:1rem;
  letter-spacing:-.03em;
}
body.studio-page--index .pm-grid,
body.studio-page--index .pm-module-grid,
body.studio-page--index .pm-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.studio-page--index .pm-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.studio-page--index .pm-field{display:grid;gap:7px;min-width:0}
body.studio-page--index .pm-summary{
  padding:12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--surface-soft);
}
body.studio-page--index .pm-summary strong{
  display:block;
  margin-bottom:6px;
  font:600 10px/1.2 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
}
body.studio-page--index .pm-summary span{
  display:block;
  font-size:.9rem;
  line-height:1.45;
  word-break:break-word;
}
body.studio-page--index .pm-stage-bar{
  display:grid;
  grid-template-columns:120px 1fr 40px;
  gap:10px;
  align-items:center;
}
body.studio-page--index .pm-stage-bar__label{
  font:600 11px/1.2 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-dim);
}
body.studio-page--index .pm-stage-bar__track{
  height:10px;
  border-radius:999px;
  background:var(--accent-soft);
  overflow:hidden;
}
body.studio-page--index .pm-stage-bar__fill{
  height:100%;
  border-radius:999px;
  background:var(--accent);
  transition:width .4s ease;
}
body.studio-page--index .pm-stage-bar__count{
  font:700 14px/1 'Inter',system-ui,sans-serif;
  color:var(--text);
  text-align:right;
}
body.studio-page--index .pm-links{display:flex;gap:10px;flex-wrap:wrap}
body.studio-page--index .pm-links .pm-btn{text-decoration:none}
body.studio-page--index .pm-module-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}
body.studio-page--index .pm-module-actions .pm-btn{min-width:172px}
body.studio-page--index .pm-helper-copy{
  margin:4px 0 0;
  color:var(--text-dim);
  font-size:.88rem;
  line-height:1.55;
}
body.studio-page--index .pm-tool-modal__dialog{
  position:relative;
  z-index:1;
  width:min(calc(100vw - 32px),1560px);
  height:min(calc(100vh - 32px),980px);
  margin:16px auto;
  border-radius:28px;
  border:1px solid var(--border);
  background:var(--bg-soft);
  box-shadow:0 32px 80px rgba(17,18,22,.18);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr;
}
body.studio-page--index .pm-tool-modal__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:18px 22px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
body.studio-page--index .pm-tool-modal__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  margin-top:12px;
}
body.studio-page--index .pm-tool-modal__pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font-size:.78rem;
  white-space:nowrap;
}
body.studio-page--index .pm-tool-modal__note{
  color:var(--text-dim);
  font-size:.82rem;
  line-height:1.45;
}
body.studio-page--index .pm-tool-modal__frame{
  width:100%;
  height:100%;
  border:0;
  background:var(--bg-soft);
}

@media (max-width:1200px){
  body.studio-page--index .pm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.studio-page--index .pm-table__head,
  body.studio-page--index .pm-row{
    /* 6 kolumn z KLIENT na początku — kompaktowe szerokości */
    grid-template-columns:minmax(150px,.85fr) minmax(180px,1.1fr) minmax(140px,.8fr) minmax(160px,.9fr) 110px max-content;
    gap:12px;
  }
  body.studio-page--index .pm-stage-bar{grid-template-columns:100px 1fr 32px}
}
@media (max-width:980px){
  body.studio-page--index .pm-toolbar{grid-template-columns:1fr 1fr}
  body.studio-page--index .pm-table__head{display:none}
  body.studio-page--index .pm-row{
    grid-template-columns:1fr;
    gap:10px;
    align-items:start;
  }
  body.studio-page--index .pm-actions{justify-content:flex-start}
  body.studio-page--index .pm-modal__dialog{width:min(100vw - 24px,1160px);margin:12px auto;max-height:calc(100vh - 24px)}
  body.studio-page--index .pm-grid,body.studio-page--index .pm-module-grid,body.studio-page--index .pm-summary-grid{grid-template-columns:1fr}
  body.studio-page--index .pm-module-actions .pm-btn{width:100%;min-width:0}
  body.studio-page--index .pm-stage-bar{grid-template-columns:80px 1fr 28px;gap:8px}
  body.studio-page--index .pm-stage-bar__label{font-size:9px}
  body.studio-page--index .pm-tool-modal__dialog{
    width:min(calc(100vw - 16px),1560px);
    height:min(calc(100vh - 16px),980px);
    margin:8px auto;
    border-radius:22px;
  }
  body.studio-page--index .pm-tool-modal__head{align-items:flex-start}
}
@media (max-width:720px){
  body.studio-page--index .studio-topbar{padding:14px 16px}
  body.studio-page--index .studio-topbar__nav{gap:12px}
  body.studio-page--index .pm-shell{width:min(100vw - 20px,1320px);margin:20px auto 32px}
  body.studio-page--index .pm-head,body.studio-page--index .pm-toolbar,body.studio-page--index .pm-kpis{grid-template-columns:1fr}
  body.studio-page--index .pm-toolbar{display:grid}
  body.studio-page--index .pm-modal__head,body.studio-page--index .pm-modal__foot{flex-direction:column;align-items:stretch}
}
/* Drag & drop image zone */
body.studio-page--index .pm-dropzone{
  border:2px dashed var(--border);border-radius:14px;padding:24px 16px;text-align:center;
  cursor:pointer;transition:border-color .15s ease,background .15s ease;
  background:var(--surface-soft);min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
}
body.studio-page--index .pm-dropzone:hover,body.studio-page--index .pm-dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft)}
body.studio-page--index .pm-dropzone__text{font-size:.84rem;color:var(--text-dim)}
body.studio-page--index .pm-dropzone__thumb{max-width:180px;max-height:100px;border-radius:10px;border:1px solid var(--border);object-fit:cover}
body.studio-page--index .pm-dropzone__remove{font-size:.78rem;color:var(--danger);cursor:pointer;background:none;border:none}
@media(max-width:700px){}

body.studio-page--index .pm-online-status{font:600 9px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
body.studio-page--index .pm-online-status--online{background:var(--ok-soft);color:var(--ok)}
body.studio-page--index .pm-online-status--offline{background:var(--danger-soft);color:var(--danger);animation:pulse-offline 2s ease-in-out infinite}
@keyframes pulse-offline{0%,100%{opacity:1}50%{opacity:.5}}

/* Login screen */
body.studio-page--index .nr-login-shell{
  min-height:100vh;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at top left, var(--surface), transparent 36%),
    linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%);
}
body.studio-page--index .nr-login-shell.is-visible{display:flex}
body.studio-page--index .nr-login-card{
  width:min(420px,100%);
  border-radius:24px;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 24px 60px rgba(35,33,28,.08);
  padding:32px 28px;
  text-align:center;
}
body.studio-page--index .nr-login-card__mark{
  width:48px;height:48px;border-radius:14px;border:1px solid var(--border);
  background:var(--surface);display:grid;place-items:center;margin:0 auto 18px;
  color:var(--accent);box-shadow:0 8px 20px rgba(35,33,28,.08);
}
body.studio-page--index .nr-login-card__title{margin:0 0 6px;font-size:1.6rem;font-weight:800;letter-spacing:-.05em}
body.studio-page--index .nr-login-card__copy{margin:0 0 24px;color:var(--text-dim);font-size:.92rem;line-height:1.55}
body.studio-page--index .nr-login-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--accent-soft);border-radius:14px;padding:4px}
body.studio-page--index .nr-login-tab{
  flex:1;min-height:40px;border-radius:12px;border:none;background:transparent;
  color:var(--text-dim);font:600 12px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;
  text-transform:uppercase;cursor:pointer;
}
body.studio-page--index .nr-login-tab.is-active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px rgba(35,33,28,.06)}
body.studio-page--index .nr-login-form{display:grid;gap:12px;text-align:left}
body.studio-page--index .nr-login-form .pm-field span{display:block;margin-bottom:6px}
body.studio-page--index .nr-login-form .pm-field input{width:100%;min-height:46px;border-radius:14px;border:1px solid var(--border);background:var(--surface);padding:0 14px;font:500 14px/1.2 'Inter',sans-serif;color:var(--text)}
body.studio-page--index .nr-login-form .pm-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(35,33,28,.08)}
body.studio-page--index .nr-login-2fa-hint{
  padding:10px 12px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface);color:var(--text-dim);font-size:.84rem;line-height:1.45;
}
body.studio-page--index .nr-login-error{
  display:none;padding:10px 12px;border-radius:12px;border:1px solid var(--danger);
  background:var(--danger-soft);color:var(--danger);font-size:.88rem;line-height:1.45;
}
body.studio-page--index .nr-login-error.is-visible{display:block}
body.studio-page--index .nr-login-error.is-ok{border-color:var(--ok-soft);background:var(--ok-soft);color:var(--ok)}
body.studio-page--index .nr-login-submit{
  width:100%;min-height:48px;border-radius:16px;border:none;background:var(--accent);
  color:var(--surface);font:700 12px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer;margin-top:4px;
}
body.studio-page--index .nr-login-submit:hover{opacity:.88}
body.studio-page--index .nr-login-submit:disabled{opacity:.5;cursor:not-allowed}
body.studio-page--index .nr-login-footer{margin-top:16px;color:var(--text-muted);font-size:.84rem}
body.studio-page--index .nr-login-footer a{color:var(--accent);text-decoration:underline}

/* ===== Responsive topbar ===== */
@media (max-width:1100px){
  body.studio-page--index .studio-topbar__nav{gap:14px}
  body.studio-page--index .studio-topbar__nav a,
  body.studio-page--index .studio-topbar__logout{font-size:9px;letter-spacing:.1em}
}
@media (max-width:900px){
  body.studio-page--index .studio-topbar{padding:12px 16px;gap:10px}
  body.studio-page--index .studio-topbar__nav{gap:10px}
  body.studio-page--index .studio-topbar__nav a,
  body.studio-page--index .studio-topbar__logout{font-size:8px;letter-spacing:.06em}
  body.studio-page--index .pm-online-status{font-size:8px}
}
@media (max-width:760px){
  body.studio-page--index .studio-topbar{
    flex-wrap:wrap;
    padding:10px 12px;
    gap:8px;
  }
  body.studio-page--index .studio-topbar__brand{
    width:100%;
    justify-content:center;
    gap:8px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(232,234,237,.1);
  }
  body.studio-page--index .studio-topbar__mark{width:28px;height:28px;border-radius:8px}
  body.studio-page--index .studio-topbar__brand span{font-size:14px}
  body.studio-page--index .studio-topbar__nav{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    padding-top:4px;
  }
  body.studio-page--index .studio-topbar__nav a,
  body.studio-page--index .studio-topbar__logout{
    padding:4px 8px;
    border-radius:6px;
    background:rgba(232,234,237,.06);
    font-size:9px;
    letter-spacing:.08em;
  }
  body.studio-page--index .studio-topbar__nav a.is-active,
  body.studio-page--index .studio-topbar__logout:hover{
    background:rgba(232,234,237,.14);
    color:var(--text);
  }
  body.studio-page--index .pm-online-status{
    width:100%;
    justify-content:center;
    font-size:9px;
    margin-top:4px;
  }
}
@media (max-width:480px){
  body.studio-page--index .studio-topbar{padding:8px 10px;gap:6px}
  body.studio-page--index .studio-topbar__nav{gap:4px}
  body.studio-page--index .studio-topbar__nav a,
  body.studio-page--index .studio-topbar__logout{
    padding:4px 6px;
    font-size:8px;
    letter-spacing:.04em;
  }
  body.studio-page--index .studio-topbar__brand span{font-size:13px}
  body.studio-page--index .studio-topbar__mark{width:26px;height:26px;border-radius:7px}
  body.studio-page--index .pm-online-status{font-size:8px}
}

/* ===== studio/project.php ===== */
/* Wszystkie strony Studio dzielą jeden :root z linii 5. Lokalne overrides usunięte (były cyrkularne). */
html,body.studio-page--project{min-height:100%}
body.studio-page--project{
  font:400 14px/1.5 'Inter',system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left,var(--surface),transparent 36%),
    linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%);
}
body.studio-page--project a{color:inherit;text-decoration:none}
body.studio-page--project button,body.studio-page--project input,body.studio-page--project textarea,body.studio-page--project select{font:inherit}

body.studio-page--project #loading-screen{
  position:fixed;inset:0;z-index:100;padding:28px 24px;
  background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%);
  display:flex;flex-direction:column;gap:20px;
}
body.studio-page--project #loading-screen .ls-bar{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  border-radius:16px;background:var(--surface);border:1px solid var(--border);
}
body.studio-page--project #loading-screen .ls-mark{
  width:34px;height:34px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface);display:grid;place-items:center;
}
body.studio-page--project #loading-screen .ls-mark svg{animation:lsPulse 1.6s ease-in-out infinite}
body.studio-page--project #loading-screen .ls-shell{width:min(1320px,calc(100vw - 32px));margin:0 auto;display:grid;gap:16px;width:100%}
body.studio-page--project #loading-screen .ls-block{
  border-radius:14px;background:linear-gradient(90deg,var(--bg) 0%,var(--bg-soft) 50%,var(--bg) 100%);
  background-size:200% 100%;animation:lsShimmer 1.4s linear infinite;
  border:1px solid var(--border);
}
body.studio-page--project #loading-screen .ls-tabs{display:flex;gap:8px}
body.studio-page--project #loading-screen .ls-tab{height:34px;width:120px}
body.studio-page--project #loading-screen .ls-panel{height:320px}
body.studio-page--project #loading-screen .ls-title{height:44px;width:60%;max-width:420px}
body.studio-page--project #loading-screen .ls-caption{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  font:600 10px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-muted);padding:8px 14px;border-radius:999px;
  background:var(--surface);border:1px solid var(--border);
}
@keyframes lsShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes lsPulse{0%,100%{opacity:.5}50%{opacity:1}}
body.studio-page--project #app{display:none}

/* Topbar */
body.studio-page--project .studio-topbar{
  position:sticky;top:0;z-index:40;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 24px;
  border-bottom:1px solid rgba(0,0,0,.32);
  background:rgba(28,27,24,.94);backdrop-filter:blur(14px);
  color:var(--text);
}
body.studio-page--project .studio-topbar__brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.03em;color:var(--text);min-width:0}
body.studio-page--project .studio-topbar__right{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  flex:1 1 auto;min-width:0;flex-wrap:wrap;
}
body.studio-page--project .studio-topbar__mark{
  width:34px;height:34px;border-radius:10px;border:1px solid rgba(232,234,237,.14);
  background:rgba(232,234,237,.06);display:grid;place-items:center;color:var(--text);
  box-shadow:inset 0 1px 0 var(--surface);
}
body.studio-page--project .studio-topbar__nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0;flex-wrap:wrap}
body.studio-page--project .studio-topbar__nav a,body.studio-page--project .studio-topbar__logout{
  font:600 10px/1 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(232,234,237,.55);
  background:none;border:none;cursor:pointer;transition:color .18s ease;white-space:nowrap;
}
body.studio-page--project .studio-topbar__nav a:hover,body.studio-page--project .studio-topbar__nav a.is-active,body.studio-page--project .studio-topbar__logout:hover{color:var(--text)}
body.studio-page--project .studio-topbar__modules{
  display:flex;gap:6px;align-items:center;justify-content:flex-end;
  margin-left:8px;min-width:0;flex-wrap:wrap;
}
body.studio-page--project .studio-topbar__module{
  display:inline-flex;align-items:center;min-height:24px;padding:0 10px;
  border-radius:999px;border:1px solid rgba(240,235,225,.12);background:rgba(232,234,237,.06);
  font:600 9px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,235,225,.5);
}
body.studio-page--project .studio-topbar__module.is-ready,body.studio-page--project .studio-topbar__module.is-signed,body.studio-page--project .studio-topbar__module.is-done{color:var(--ok);border-color:rgba(127,174,121,.3);background:rgba(127,174,121,.12)}
body.studio-page--project .studio-topbar__module.is-sent{color:var(--warn);border-color:rgba(200,166,114,.3);background:rgba(200,166,114,.12)}
body.studio-page--project .studio-topbar__module.is-draft,body.studio-page--project .studio-topbar__module.is-empty{color:rgba(240,235,225,.45)}

/* Shell */
body.studio-page--project .pr-shell{width:min(1320px,calc(100vw - 32px));margin:28px auto 48px;display:grid;gap:16px}
body.studio-page--project .pr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
body.studio-page--project .pr-head__eyebrow,body.studio-page--project .pr-field span,body.studio-page--project .pr-tab,body.studio-page--project .pr-chip{
  font:600 10px/1.2 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);
}
body.studio-page--project .pr-head__title{margin:8px 0 0;font-size:2.4rem;line-height:.98;letter-spacing:-.05em;font-weight:500}
body.studio-page--project .pr-head__copy{margin:10px 0 0;max-width:760px;color:var(--text-dim);font-size:.96rem;line-height:1.65}
body.studio-page--project .pr-head__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}

/* Alert */
body.studio-page--project .pr-alert{display:none;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:.9rem}
body.studio-page--project .pr-alert.is-ok{display:block;background:var(--ok-soft);border-color:var(--ok)}
body.studio-page--project .pr-alert.is-err{display:block;background:var(--danger-soft);border-color:var(--danger)}

/* Tabs */
body.studio-page--project .pr-tabs{
  display:flex;gap:4px;flex-wrap:wrap;
  padding:6px;border-radius:100px;border:1px solid var(--border);
  background:var(--surface-glass);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
body.studio-page--project .pr-tab{
  flex:1;min-height:38px;border-radius:100px;border:none;background:transparent;
  color:var(--text-muted);cursor:pointer;transition:all .15s ease;
  font:600 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;
  text-align:center;padding:0 16px;
}
body.studio-page--project .pr-tab:hover{color:var(--text)}
body.studio-page--project .pr-tab.is-active{background:var(--surface-strong);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 2px 8px rgba(35,33,28,.06)}
body.studio-page--project .pr-tab.is-done::before{content:"\2713 ";color:#27500a;font-weight:600}
body.studio-page--project .pr-tab.is-current{color:var(--text);box-shadow:inset 0 -2px 0 var(--brand)}
body.studio-page--project .pr-next{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 0;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:12px}
body.studio-page--project .pr-next__eyebrow{font-family:'DM Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-right:8px}
body.studio-page--project .pr-next__label{font-weight:500}
body.studio-page--project .pr-next__cta{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer}
body.studio-page--project .pr-next__cta:hover{background:var(--brand-hover)}

/* Panels */
body.studio-page--project .pr-panel{
  border-radius:var(--radius-xl);border:1px solid var(--border);
  background:var(--surface-glass);padding:24px;
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 16px 44px rgba(35,33,28,.08);
}
body.studio-page--project .pr-panel__title{
  font-size:1rem;letter-spacing:-.03em;margin-bottom:16px;
  font:600 13px/1.2 'Inter',sans-serif;
}
body.studio-page--project .pr-panel__subtitle{color:var(--text-dim);font-size:.88rem;line-height:1.45;margin-bottom:16px}

/* Fields */
body.studio-page--project .pr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.studio-page--project .pr-field{display:grid;gap:7px;min-width:0}
body.studio-page--project .pr-field span{display:block;margin-bottom:2px}
/* RODO: mask client contact data at rest (blur is visual only — values untouched). */
body.studio-page--project .pr-data-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.studio-page--project .pr-mask-toggle{flex:0 0 auto;height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft,#6b7280);font:600 12px/1 'Inter',sans-serif;cursor:pointer}
body.studio-page--project .pr-mask-toggle:hover{border-color:var(--text);color:var(--text)}
body.studio-page--project .pr-optional{font-style:normal;font-weight:400;opacity:.55;font-size:.85em}
body.studio-page--project .pr-data-card.is-masked .pr-mask input{filter:blur(5px);transition:filter .12s}
body.studio-page--project .pr-data-card.is-masked .pr-mask input:focus{filter:none}
body.studio-page--project .pr-field input,body.studio-page--project .pr-field select,body.studio-page--project .pr-field textarea{
  width:100%;min-height:42px;border-radius:14px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);font:500 13px/1.2 'Inter',system-ui,sans-serif;
  padding:0 14px;
}
body.studio-page--project .pr-field input::placeholder,body.studio-page--project .pr-field textarea::placeholder{color:var(--text-muted)}
body.studio-page--project .pr-field input:focus,body.studio-page--project .pr-field select:focus,body.studio-page--project .pr-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(35,33,28,.08)}
body.studio-page--project .pr-field textarea{min-height:112px;padding:12px 14px;resize:vertical}
body.studio-page--project .pr-field select{cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%238b9099' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;
}

/* Buttons */
body.studio-page--project .pr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 16px;min-height:42px;border-radius:14px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);cursor:pointer;
  font:600 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;
  transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease;
}
body.studio-page--project .pr-btn:hover{transform:translateY(-1px)}
body.studio-page--project .pr-btn--dark{background:var(--accent);border-color:var(--accent);color:var(--surface)}
body.studio-page--project .pr-btn--soft{background:var(--surface-soft)}
body.studio-page--project .pr-btn--danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}

/* Photo upload */
body.studio-page--project .pr-dropzone{
  border:2px dashed var(--border);border-radius:18px;padding:28px;text-align:center;
  background:var(--surface-soft);cursor:pointer;transition:border-color .2s ease,background .2s ease;
  min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
}
body.studio-page--project .pr-dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}
body.studio-page--project .pr-dropzone__icon{color:var(--text-muted);font-size:24px}
body.studio-page--project .pr-dropzone__label{color:var(--text-dim);font-size:.9rem}
body.studio-page--project .pr-dropzone__hint{color:var(--text-muted);font-size:.8rem}
body.studio-page--project .pr-photo-preview{
  margin-top:12px;border-radius:14px;border:1px solid var(--border);
  overflow:hidden;max-width:320px;display:none;position:relative;
}
body.studio-page--project .pr-photo-preview img{display:block;width:100%;height:auto}
body.studio-page--project .pr-photo-preview__remove{
  position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;
  border:none;background:rgba(0,0,0,.6);color:var(--surface);font-size:18px;line-height:1;
  cursor:pointer;display:grid;place-items:center;transition:background .15s;
}
body.studio-page--project .pr-photo-preview__remove:hover{background:rgba(0,0,0,.85)}

/* Module save bar */
body.studio-page--project .pr-module-bar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:16px;padding-top:16px;border-top:1px solid var(--border);
}
body.studio-page--project .pr-module-bar__status{font-size:.85rem;color:var(--text-muted)}
body.studio-page--project .pr-module-bar__status.is-ready{color:var(--ok)}

/* Timeline */
body.studio-page--project .pr-timeline{display:grid;gap:0;position:relative;padding-left:24px}
body.studio-page--project .pr-timeline::before{
  content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px;
  background:var(--border);border-radius:1px;
}
body.studio-page--project .pr-timeline__item{position:relative;padding:0 0 20px}
body.studio-page--project .pr-timeline__item:last-child{padding-bottom:0}
body.studio-page--project .pr-timeline__dot{
  position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;
  background:var(--accent);border:2px solid var(--surface);
  box-shadow:0 0 0 2px var(--border);
}
body.studio-page--project .pr-timeline__time{
  font:600 9px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;
}
body.studio-page--project .pr-timeline__body{
  padding:10px 14px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface-soft);font-size:.88rem;line-height:1.5;
}
body.studio-page--project .pr-timeline__body strong{display:block;margin-bottom:2px}

/* Comments */
body.studio-page--project .pr-comments{display:grid;gap:12px}
body.studio-page--project .pr-comment-form{display:grid;gap:8px}
body.studio-page--project .pr-comment-form textarea{
  width:100%;min-height:80px;border-radius:14px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);font:500 13px/1.4 'Inter',sans-serif;
  padding:12px 14px;resize:vertical;
}
body.studio-page--project .pr-comment-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(35,33,28,.08)}
body.studio-page--project .pr-comment-form textarea::placeholder{color:var(--text-muted)}
body.studio-page--project .pr-comment-list{display:grid;gap:10px}
body.studio-page--project .pr-comment{
  padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);
}
body.studio-page--project .pr-comment__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
body.studio-page--project .pr-comment__author{font:600 11px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
body.studio-page--project .pr-comment__time{font:600 9px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
body.studio-page--project .pr-comment__text{font-size:.9rem;line-height:1.55;color:var(--text)}
body.studio-page--project .pr-comment__replies{margin-top:10px;padding-left:16px;border-left:2px solid var(--border);display:grid;gap:8px}
body.studio-page--project .pr-comment__reply-form{margin-top:8px;display:flex;gap:8px;align-items:center}
body.studio-page--project .pr-comment__reply-form input{
  flex:1;min-height:34px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface-soft);color:var(--text);font:500 12px/1.2 'Inter',sans-serif;padding:0 12px;
}
body.studio-page--project .pr-comment__reply-form input:focus{outline:none;border-color:var(--accent)}
body.studio-page--project .pr-comment__reply-form input::placeholder{color:var(--text-muted)}
body.studio-page--project .pr-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:.92rem}

/* Save indicator */
body.studio-page--project .pr-save-indicator{
  position:fixed;bottom:20px;right:20px;z-index:60;
  padding:8px 14px;border-radius:999px;border:1px solid var(--border);
  background:var(--surface);font:600 10px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transition:opacity .3s ease,transform .3s ease;
  opacity:0;transform:translateY(8px);pointer-events:none;
}
body.studio-page--project .pr-save-indicator.is-visible{opacity:1;transform:translateY(0)}
body.studio-page--project .pr-save-indicator.is-saving{color:var(--warn)}
body.studio-page--project .pr-save-indicator.is-saved{color:var(--ok)}

@media(max-width:980px){
  body.studio-page--project .pr-grid{grid-template-columns:1fr}
  body.studio-page--project .pr-tabs{gap:2px}
  body.studio-page--project .pr-tab{font-size:8px;min-height:34px}
  body.studio-page--project .studio-topbar{align-items:flex-start}
  body.studio-page--project .studio-topbar__right{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
    gap:10px;
  }
  body.studio-page--project .studio-topbar__modules,
  body.studio-page--project .studio-topbar__nav{
    justify-content:flex-start;
    margin-left:0;
  }
}
@media(max-width:720px){
  body.studio-page--project .studio-topbar{padding:14px 16px}
  body.studio-page--project .studio-topbar__right{gap:8px}
  body.studio-page--project .studio-topbar__modules,
  body.studio-page--project .studio-topbar__nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    width:100%;
    padding-bottom:4px;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  body.studio-page--project .studio-topbar__nav{gap:12px}
  body.studio-page--project .pr-shell{width:min(100vw - 20px,1320px);margin:20px auto 32px}
  body.studio-page--project .pr-head{flex-direction:column;align-items:flex-start}
}

/* Document form styles */
body.studio-page--project .doc-f{margin-bottom:14px}
body.studio-page--project .doc-f label{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}
body.studio-page--project .doc-f__gen{border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);font:600 9px/1 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:5px;cursor:pointer;transition:all .15s}
body.studio-page--project .doc-f__gen:hover{background:var(--accent);color:var(--surface);border-color:var(--accent)}
body.studio-page--project .doc-f input,body.studio-page--project .doc-f select,body.studio-page--project .doc-f textarea{width:100%;min-height:38px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font:400 13px/1.4 'Inter',sans-serif;padding:0 10px;color:var(--text)}
body.studio-page--project .doc-f textarea{min-height:80px;resize:vertical}
body.studio-page--project .doc-f input:focus,body.studio-page--project .doc-f select:focus,body.studio-page--project .doc-f textarea:focus{outline:none;border-color:var(--accent)}
body.studio-page--project .doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.studio-page--project .doc-grid--3{grid-template-columns:1fr 1fr 1fr}
body.studio-page--project .doc-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
body.studio-page--project .doc-section:last-child{border-bottom:none}
body.studio-page--project .doc-section h4{font:700 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px}
body.studio-page--project .doc-section__head{margin:0 0 14px;padding-bottom:10px;border-bottom:1px dashed var(--border)}
body.studio-page--project .doc-section__head h3{margin:0;font:700 14px/1.3 'Inter',sans-serif;letter-spacing:-.02em;color:var(--text)}
body.studio-page--project .doc-section__head p{margin:4px 0 0;font-size:.83rem;color:var(--text-dim);line-height:1.5}
body.studio-page--project .doc-sig{margin:12px 0;padding:14px;border-radius:10px;background:var(--bg-soft);border:1px solid var(--border)}
body.studio-page--project .doc-sig__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;flex-wrap:wrap}
body.studio-page--project .doc-sig__head strong{font:600 11px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
body.studio-page--project .doc-sig__head span{font-size:.78rem;color:var(--text-dim)}
body.studio-page--project .doc-sig__pad{display:block;width:100%;height:160px;border-radius:8px;border:1px dashed var(--border);background:var(--surface);cursor:crosshair;touch-action:none}
body.studio-page--project .doc-sig__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
body.studio-page--project .doc-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
body.studio-page--project .doc-check{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--accent-soft);cursor:pointer;font-size:.85rem}
body.studio-page--project .doc-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}
body.studio-page--project .doc-preview{background:var(--bg-soft);border-radius:10px;padding:16px;font-size:.88rem;line-height:1.6;white-space:pre-wrap;border:1px solid var(--border);max-height:300px;overflow-y:auto}
body.studio-page--project .doc-preview h3{margin:0 0 8px;font-size:1rem}
body.studio-page--project .doc-preview hr{border:none;border-top:1px solid var(--border);margin:12px 0}

/* Document bar */
body.studio-page--project .doc-print-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
body.studio-page--project .doc-btn{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 13px/1 'Inter',sans-serif;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px rgba(0,0,0,.03)}
body.studio-page--project .doc-btn:hover{border-color:var(--text);background:var(--bg-soft)}
body.studio-page--project .doc-btn svg{flex-shrink:0;opacity:.85}
body.studio-page--project .doc-btn:disabled{opacity:.5;cursor:default}
body.studio-page--project .doc-offer-status{display:inline-flex;align-items:center;height:42px;padding:0 14px;border-radius:10px;font:600 12px/1 'Inter',sans-serif;border:1px solid var(--border);background:var(--surface);color:var(--text-soft,#6b7280)}
body.studio-page--project .doc-offer-status.is-sent{color:#7a5d1e;background:#fdf6e3;border-color:#e9d8a6}
body.studio-page--project .doc-offer-status.is-opened{color:#1e4d7a;background:#e8f1fb;border-color:#a6c8e9}
body.studio-page--project .doc-offer-status.is-accepted{color:#1f6f3d;background:#e8f7ed;border-color:#a6e0b8}
body.studio-page--project .doc-offer-status.is-revoked{color:#7a2727;background:#fbe9e9;border-color:#e9a6a6}
body.studio-page--project .calc-materials{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border)}
body.studio-page--project .calc-materials__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
body.studio-page--project .calc-materials__head h4{margin:0;font-size:13px;font-weight:600;color:var(--text)}
body.studio-page--project .calc-materials__copy{height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 12px/1 'Inter',sans-serif;cursor:pointer}
body.studio-page--project .calc-materials__copy:hover{border-color:var(--text);background:var(--bg-soft)}
body.studio-page--project .calc-materials__prod{margin:0 0 10px;font-size:12px;color:var(--text-muted)}
body.studio-page--project .calc-materials__list{display:grid;gap:8px}
body.studio-page--project .calc-materials__row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:8px 12px;border-radius:9px;background:var(--surface);border:1px solid var(--border)}
body.studio-page--project .calc-materials__lbl{font-size:13px;color:var(--text)}
body.studio-page--project .calc-materials__lbl em{font-style:normal;font-size:11px;color:var(--text-muted);margin-left:4px}
body.studio-page--project .calc-materials__row strong{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap}
body.studio-page--project .doc-btn--primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}
body.studio-page--project .doc-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg)}
body.studio-page--project .doc-btn--primary svg{opacity:1}
body.studio-page--project .doc-btn--mini{height:32px;padding:0 12px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:8px}
/* Toast */
body.studio-page--project .doc-toast{position:fixed;right:24px;bottom:24px;z-index:10000;min-width:240px;max-width:360px;padding:14px 16px;border-radius:12px;background:var(--bg);color:var(--text);font:500 13px/1.4 'Inter',sans-serif;box-shadow:0 12px 32px rgba(0,0,0,.25);display:flex;align-items:center;gap:10px;transform:translateY(120%);opacity:0;transition:transform .25s ease,opacity .25s ease;pointer-events:none}
body.studio-page--project .doc-toast.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
body.studio-page--project .doc-toast--ok{background:var(--ok);color:#fff}
body.studio-page--project .doc-toast--err{background:#45211e;color:#fff}
body.studio-page--project .doc-toast svg{flex-shrink:0}

@media(max-width:640px){body.studio-page--project .doc-grid,body.studio-page--project .doc-checks{grid-template-columns:1fr}}

/* Live preview (A4 paper style from wzor-oferty) */
body.studio-page--project .doc-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:start}
body.studio-page--project .doc-form-panel{padding-right:4px}
body.studio-page--project .doc-preview-panel{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}
body.studio-page--project .doc-preview-panel h4{font:600 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px}
body.studio-page--project .doc-paper{background:var(--surface);border-radius:4px;border:1px solid var(--border);box-shadow:0 12px 40px rgba(0,0,0,.12),0 2px 6px rgba(35,33,28,.06);overflow:hidden;aspect-ratio:210/297;width:100%;max-width:calc(100vh * 0.74);margin:0 auto}
body.studio-page--project .doc-paper__inner{padding:10% 9%;font-size:12px;line-height:1.55;color:var(--bg);height:100%;overflow-y:auto}
body.studio-page--project .doc-paper__inner::-webkit-scrollbar{width:4px}
body.studio-page--project .doc-paper__inner::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:2px}
body.studio-page--project .doc-paper__topbar{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border)}
body.studio-page--project .doc-paper__brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}
body.studio-page--project .doc-paper__logo{width:36px;height:36px;background:var(--bg);border-radius:6px;display:grid;place-items:center;color:var(--text);font:800 14px/1 'Arial Black',sans-serif}
body.studio-page--project .doc-paper__brand-copy strong{display:block;font-size:14px;letter-spacing:.04em}
body.studio-page--project .doc-paper__brand-copy span{font-size:10px;color:var(--text-muted);letter-spacing:.04em}
body.studio-page--project .doc-paper__ref{text-align:right;font-size:9px;color:var(--text-muted)}
body.studio-page--project .doc-paper__ref strong{display:block;font-size:13px;color:var(--bg)}
body.studio-page--project .doc-paper__kicker{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--warn);margin-bottom:6px}
body.studio-page--project .doc-paper__title{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;line-height:1.2}
body.studio-page--project .doc-paper__lead{color:var(--text-dim);font-size:12px;margin:0 0 16px;line-height:1.5}
body.studio-page--project .doc-paper__chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
body.studio-page--project .doc-paper__chip{display:inline-block;padding:3px 8px;border-radius:6px;font:600 8px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-soft);color:var(--text-dim)}
body.studio-page--project .doc-paper__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}
body.studio-page--project .doc-paper__stat{font-size:10px}
body.studio-page--project .doc-paper__stat span{display:block;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
body.studio-page--project .doc-paper__stat strong{font-size:13px}
body.studio-page--project .doc-paper__fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:16px}
body.studio-page--project .doc-paper__field{font-size:11px}
body.studio-page--project .doc-paper__field span{display:block;color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1px}
body.studio-page--project .doc-paper__footer{margin-top:20px;padding-top:12px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted)}
body.studio-page--project .doc-paper__section{margin-bottom:16px}
body.studio-page--project .doc-paper__section h3{font-size:12px;font-weight:700;margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid var(--border)}
body.studio-page--project .doc-paper__section p{margin:0 0 8px;font-size:12px;line-height:1.55}
body.studio-page--project .doc-print-bar{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
@media(max-width:1000px){body.studio-page--project .doc-layout{grid-template-columns:1fr}}
@media print{body.studio-page--project .doc-form-panel,body.studio-page--project .doc-print-bar{display:none}body.studio-page--project .doc-layout{display:block}body.studio-page--project .doc-preview-panel{position:static}}

/* Load error panel (shown inside loading-screen when project fails to load) */
body.studio-page--project .ls-error{
  width:min(480px,calc(100vw - 48px));margin:auto;
  padding:28px 24px;border-radius:20px;background:var(--surface);
  border:1px solid var(--border);box-shadow:0 12px 40px rgba(35,33,28,.08);
  text-align:center;
}
body.studio-page--project .ls-error h2{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;margin:0 0 8px}
body.studio-page--project .ls-error p{color:var(--text-dim);font-size:.9rem;line-height:1.5;margin:0 0 18px}
body.studio-page--project .ls-error-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
body.studio-page--project .ls-error-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 16px;border-radius:12px;
  font:600 11px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;
  background:var(--accent);color:var(--surface);text-decoration:none;border:none;cursor:pointer;
}
body.studio-page--project .ls-error-btn--soft{background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}
body.studio-page--project .ls-error-icon{
  width:44px;height:44px;margin:0 auto 14px;border-radius:12px;
  background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);
  display:grid;place-items:center;font-size:20px;font-weight:800;
}

/* ===== studio/account.php ===== */
/* Korzysta z global :root z linii 5. Lokalne overrides usunięte (były cyrkularne). */
body.studio-page--account{font:400 14px/1.5 'Inter',sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg-soft),var(--bg));min-height:100vh;margin:0}
body.studio-page--account a{color:inherit;text-decoration:none}
body.studio-page--account #loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font:300 1.2rem/1 'Inter',sans-serif;color:var(--text-muted)}
body.studio-page--account #app{display:none}
body.studio-page--account .studio-topbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid rgba(0,0,0,.32);background:rgba(28,27,24,.94);backdrop-filter:blur(14px);color:var(--text)}
body.studio-page--account .studio-topbar__brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.03em;color:var(--text)}
body.studio-page--account .studio-topbar__mark{width:34px;height:34px;border-radius:10px;border:1px solid rgba(232,234,237,.14);background:rgba(232,234,237,.06);display:grid;place-items:center;color:var(--text);box-shadow:inset 0 1px 0 var(--surface)}
body.studio-page--account .studio-topbar__nav{display:flex;align-items:center;gap:20px}
body.studio-page--account .studio-topbar__nav a,body.studio-page--account .studio-topbar__logout{font:600 10px/1 'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,234,237,.55);background:none;border:none;cursor:pointer;transition:color .18s ease}
body.studio-page--account .studio-topbar__nav a:hover,body.studio-page--account .studio-topbar__nav a.is-active,body.studio-page--account .studio-topbar__logout:hover{color:var(--text)}
body.studio-page--account .topbar-user{display:flex;align-items:center;gap:12px}
body.studio-page--account .topbar-user__name{font:600 10px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,234,237,.55)}
body.studio-page--account .main{max-width:640px;margin:0 auto;padding:40px 24px 80px}
body.studio-page--account .card{padding:24px;border-radius:18px;border:1px solid var(--border);background:var(--surface);margin-bottom:20px;box-shadow:0 4px 12px rgba(0,0,0,.03)}
body.studio-page--account .card h2{font:400 1.1rem/1.2 'Inter',sans-serif;letter-spacing:-.02em;margin-bottom:16px}
body.studio-page--account .field{display:grid;gap:6px;margin-bottom:14px}
body.studio-page--account .field label{font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
body.studio-page--account .field input{width:100%;min-height:44px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-soft);color:var(--text);font:400 14px/1.4 'Inter',sans-serif;padding:0 12px}
body.studio-page--account .field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(35,33,28,.08)}
body.studio-page--account .field input[readonly]{opacity:.6;cursor:default}
body.studio-page--account .msg{font-size:.88rem;min-height:1.5em;margin-bottom:12px;color:var(--text-dim)}
body.studio-page--account .msg.ok{color:var(--ok)}body.studio-page--account .msg.err{color:var(--danger)}
body.studio-page--account .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font:600 10px/1 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s}
body.studio-page--account .btn:hover{border-color:var(--text)}
body.studio-page--account .btn--primary{border-color:var(--accent);background:var(--accent);color:var(--surface)}
body.studio-page--account .btn--primary:hover{opacity:.88}
body.studio-page--account .divider{height:1px;background:var(--border);margin:20px 0}
body.studio-page--account .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
body.studio-page--account .stat{text-align:center;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-soft)}
body.studio-page--account .stat__num{font:300 1.5rem/1 'Inter',sans-serif;letter-spacing:-.03em}
body.studio-page--account .stat__label{font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:4px}
@media(max-width:600px){body.studio-page--account .stats-grid{grid-template-columns:1fr}body.studio-page--account .topbar{flex-direction:column;gap:12px}}

/* ===== studio/login.html ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --bg:var(--bg);
      --bg-soft:var(--bg);
      --surface:var(--bg-soft);
      --surface-soft:var(--bg-soft);
      --border:var(--surface);
      --border-strong:var(--surface-soft);
      --text:var(--border);
      --text-dim:var(--text-muted);
      --text-muted:var(--text-dim);
      --accent:var(--danger);
      --accent-soft:rgba(194,106,97,.12);
      --ok:var(--ok);
      --warn:var(--warn);
      --danger:var(--danger);
      --radius:12px;
      --radius-lg:18px;
      --radius-xl:24px;
    }
    html,body.studio-page--login{min-height:100vh}
    body.studio-page--login{
      font:400 14px/1.5 'Inter',system-ui,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top right, rgba(194,106,97,.08), transparent 48%),
        radial-gradient(circle at bottom left, rgba(194,106,97,.06), transparent 42%),
        linear-gradient(180deg,var(--bg) 0%,var(--bg) 100%);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:24px;
    }
    body.studio-page--login a{color:inherit;text-decoration:none}
    body.studio-page--login button,body.studio-page--login input{font:inherit}

    body.studio-page--login .login-shell{
      width:min(480px,100%);
      border-radius:28px;
      border:1px solid var(--border);
      background:rgba(28,28,34,.92);
      box-shadow:0 32px 80px rgba(35,33,28,.08), 0 0 0 1px var(--surface) inset;
      padding:36px 32px 32px;
      position:relative;
      overflow:hidden;
    }
    body.studio-page--login .login-shell::before{
      content:'';
      position:absolute;
      top:0;left:0;right:0;
      height:3px;
      background:linear-gradient(90deg, var(--accent), rgba(194,106,97,.4));
      border-radius:28px 28px 0 0;
    }
    body.studio-page--login .login-top{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:16px;
      margin-bottom:28px;
      padding-bottom:24px;
      border-bottom:1px solid var(--border);
    }
    body.studio-page--login .login-top__mark{
      width:48px;height:48px;border-radius:14px;border:1px solid var(--border);
      background:var(--surface);display:grid;place-items:center;
      color:var(--accent);box-shadow:0 8px 20px rgba(23,24,28,.2);
    }
    body.studio-page--login .login-top__text{
      display:flex;flex-direction:column;gap:2px;
    }
    body.studio-page--login .login-top__brand{
      font:800 18px/1.1 'Syne','Inter',sans-serif;
      letter-spacing:-.04em;
      color:var(--text);
    }
    body.studio-page--login .login-top__brand span{color:var(--accent)}
    body.studio-page--login .login-top__copy{
      font:600 10px/1.2 'DM Mono',ui-monospace,monospace;
      letter-spacing:.12em;text-transform:uppercase;
      color:var(--text-muted);
    }

    body.studio-page--login .login-tabs{
      display:flex;gap:4px;margin-bottom:24px;
      background:var(--bg-soft);border-radius:14px;padding:4px;
    }
    body.studio-page--login .login-tab{
      flex:1;min-height:42px;border-radius:12px;border:none;
      background:transparent;color:var(--text-dim);
      font:600 12px/1.2 'DM Mono',ui-monospace,monospace;
      letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
      transition:all .18s ease;
    }
    body.studio-page--login .login-tab.is-active{
      background:var(--surface);color:var(--text);
      box-shadow:0 2px 8px rgba(0,0,0,.15);
    }
    body.studio-page--login .login-tab:hover:not(.is-active){color:var(--text)}

    body.studio-page--login .login-form{display:none}
    body.studio-page--login .login-form.is-active{display:block}

    body.studio-page--login .login-field{display:grid;gap:8px;margin-bottom:16px}
    body.studio-page--login .login-field[hidden]{display:none}
    body.studio-page--login .login-field label{
      font:600 11px/1.2 'DM Mono',ui-monospace,monospace;
      letter-spacing:.08em;text-transform:uppercase;
      color:var(--text-dim);
    }
    body.studio-page--login .login-field input{
      width:100%;min-height:48px;border-radius:14px;
      border:1px solid var(--border);background:var(--bg-soft);
      padding:0 16px;font:500 14px/1.2 'Inter',sans-serif;
      color:var(--text);transition:border-color .18s ease,box-shadow .18s ease;
    }
    body.studio-page--login .login-field input::placeholder{color:var(--text-muted)}
    body.studio-page--login .login-field input:focus{
      outline:none;border-color:var(--accent);
      box-shadow:0 0 0 3px var(--accent-soft);
    }
    body.studio-page--login .login-field input:invalid:not(:placeholder-shown){border-color:var(--danger)}
    body.studio-page--login .login-2fa-hint{
      margin:-4px 0 16px;padding:10px 12px;border-radius:12px;
      border:1px solid var(--border);background:var(--bg-soft);
      color:var(--text-dim);font-size:.84rem;line-height:1.45;
    }

    body.studio-page--login .login-error{
      display:none;padding:12px 14px;border-radius:12px;
      border:1px solid rgba(194,106,97,.3);
      background:rgba(194,106,97,.08);
      color:var(--danger);font-size:.88rem;line-height:1.45;
      margin-bottom:16px;
    }
    body.studio-page--login .login-error.is-visible{display:block}

    body.studio-page--login .login-success{
      display:none;padding:12px 14px;border-radius:12px;
      border:1px solid rgba(127,174,121,.3);
      background:rgba(127,174,121,.08);
      color:var(--ok);font-size:.88rem;line-height:1.45;
      margin-bottom:16px;
    }
    body.studio-page--login .login-success.is-visible{display:block}

    body.studio-page--login .login-submit{
      width:100%;min-height:52px;border-radius:16px;border:none;
      background:var(--accent);color:var(--surface);
      font:700 12px/1.2 'DM Mono',ui-monospace,monospace;
      letter-spacing:.12em;text-transform:uppercase;
      cursor:pointer;margin-top:8px;
      transition:opacity .18s ease,transform .14s ease;
    }
    body.studio-page--login .login-submit:hover{opacity:.88}
    body.studio-page--login .login-submit:active{transform:translateY(1px)}
    body.studio-page--login .login-submit:disabled{opacity:.5;cursor:not-allowed}
    body.studio-page--login .login-submit.is-loading{
      position:relative;color:transparent;
    }
    body.studio-page--login .login-submit.is-loading::after{
      content:'';position:absolute;
      width:20px;height:20px;
      border:2px solid var(--surface);
      border-top-color:var(--surface);border-radius:50%;
      animation:spin .6s linear infinite;
    }
    @keyframes spin{to{transform:rotate(360deg)}}

    body.studio-page--login .login-footer{
      margin-top:24px;padding-top:20px;
      border-top:1px solid var(--border);
      text-align:center;
    }
    body.studio-page--login .login-footer__links{
      display:flex;justify-content:center;gap:16px;
      margin-bottom:12px;
    }
    body.studio-page--login .login-footer__link{
      font-size:.88rem;color:var(--text-dim);
      transition:color .18s ease;
    }
    body.studio-page--login .login-footer__link:hover{color:var(--text)}
    body.studio-page--login .login-footer__back{
      font-size:.84rem;color:var(--text-muted);
    }
    body.studio-page--login .login-footer__back a{
      color:var(--accent);text-decoration:underline;
    }

    body.studio-page--login .pw-strength{
      margin-top:8px;height:4px;border-radius:999px;
      background:var(--bg);overflow:hidden;
    }
    body.studio-page--login .pw-strength__bar{
      height:100%;width:0;border-radius:999px;
      transition:width .3s ease,background .3s ease;
    }
    body.studio-page--login .pw-strength__bar.is-weak{width:25%;background:var(--danger)}
    body.studio-page--login .pw-strength__bar.is-fair{width:50%;background:var(--warn)}
    body.studio-page--login .pw-strength__bar.is-good{width:75%;background:var(--ok)}
    body.studio-page--login .pw-strength__bar.is-strong{width:100%;background:var(--ok)}

    body.studio-page--login .pw-rules{
      font-size:10px;color:var(--text-muted);
      margin-top:6px;line-height:1.4;
    }

    body.studio-page--login .login-divider{
      display:flex;align-items:center;gap:12px;
      margin:20px 0;
    }
    body.studio-page--login .login-divider::before,body.studio-page--login .login-divider::after{
      content:'';flex:1;height:1px;background:var(--border);
    }
    body.studio-page--login .login-divider__text{
      font:600 10px/1 'DM Mono',ui-monospace,monospace;
      letter-spacing:.1em;text-transform:uppercase;
      color:var(--text-muted);
    }

    body.studio-page--login .login-benefits{
      display:grid;gap:12px;margin:20px 0;
    }
    body.studio-page--login .login-benefit{
      display:flex;align-items:flex-start;gap:12px;
      font-size:.9rem;color:var(--text-dim);line-height:1.45;
    }
    body.studio-page--login .login-benefit__icon{
      flex-shrink:0;width:20px;height:20px;border-radius:6px;
      background:var(--accent-soft);color:var(--accent);
      display:grid;place-items:center;font-size:11px;font-weight:700;
    }

    body.studio-page--login .login-benefit__icon--shield{
      background:rgba(127,174,121,.12);color:var(--ok);
    }
    body.studio-page--login .login-enc-badge{
      display:flex;align-items:center;justify-content:center;gap:6px;
      width:fit-content;margin:10px auto 0;
      padding:6px 14px;border-radius:20px;
      background:rgba(127,174,121,.08);
      border:1px solid rgba(127,174,121,.18);
      color:var(--ok);
      font:500 10.5px/1.2 'DM Mono',ui-monospace,monospace;
      letter-spacing:.03em;
    }

    @media (max-width:520px){
      body.studio-page--login{padding:16px}
      body.studio-page--login .login-shell{padding:28px 20px 24px}
      body.studio-page--login .login-top{flex-direction:column;text-align:center;gap:12px}
      body.studio-page--login .login-top__text{text-align:center}
      body.studio-page--login .login-tabs{flex-direction:column;gap:2px}
      body.studio-page--login .login-tab{min-height:38px}
    }

/* ===== studio/logged-out.html ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --bg:var(--bg);
      --bg-soft:var(--bg);
      --surface:var(--bg-soft);
      --surface-soft:var(--bg-soft);
      --border:var(--surface);
      --border-strong:var(--surface-soft);
      --text:var(--border);
      --text-dim:var(--text-muted);
      --text-muted:var(--text-dim);
      --accent:var(--danger);
      --accent-soft:rgba(194,106,97,.12);
      --ok:var(--ok);
      --warn:var(--warn);
      --danger:var(--danger);
      --radius:12px;
      --radius-lg:18px;
      --radius-xl:24px;
    }
    html,body.studio-page--logged-out{min-height:100vh}
    body.studio-page--logged-out{
      font:400 14px/1.5 'Inter',system-ui,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top right, rgba(194,106,97,.08), transparent 48%),
        radial-gradient(circle at bottom left, rgba(194,106,97,.06), transparent 42%),
        linear-gradient(180deg,var(--bg) 0%,var(--bg) 100%);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:24px;
    }
    body.studio-page--logged-out a{color:inherit;text-decoration:none}
    body.studio-page--logged-out button{font:inherit}

    body.studio-page--logged-out .logout-shell{
      width:min(480px,100%);
      border-radius:28px;
      border:1px solid var(--border);
      background:rgba(28,28,34,.92);
      box-shadow:0 32px 80px rgba(35,33,28,.08), 0 0 0 1px var(--surface) inset;
      padding:48px 32px 36px;
      text-align:center;
      position:relative;
      overflow:hidden;
    }
    body.studio-page--logged-out .logout-shell::before{
      content:'';
      position:absolute;
      top:0;left:0;right:0;
      height:3px;
      background:linear-gradient(90deg, var(--ok), rgba(127,174,121,.4));
      border-radius:28px 28px 0 0;
    }
    body.studio-page--logged-out .logout-icon{
      width:64px;height:64px;border-radius:50%;
      background:rgba(127,174,121,.12);
      border:2px solid rgba(127,174,121,.3);
      display:grid;place-items:center;
      margin:0 auto 24px;
    }
    body.studio-page--logged-out .logout-icon svg{
      width:28px;height:28px;
      color:var(--ok);
    }
    body.studio-page--logged-out .logout-top{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      margin-bottom:20px;
    }
    body.studio-page--logged-out .logout-top__brand{
      font:800 16px/1.1 'Syne','Inter',sans-serif;
      letter-spacing:-.04em;
      color:var(--text);
    }
    body.studio-page--logged-out .logout-top__brand span{color:var(--accent)}
    body.studio-page--logged-out .logout-title{
      margin:0 0 10px;
      font:800 clamp(1.5rem,3vw,1.8rem)/1.1 'Syne','Inter',sans-serif;
      letter-spacing:-.04em;
      color:var(--text);
    }
    body.studio-page--logged-out .logout-copy{
      margin:0 0 32px;
      font-size:.96rem;
      color:var(--text-dim);
      line-height:1.6;
      max-width:380px;
      margin-left:auto;
      margin-right:auto;
    }
    body.studio-page--logged-out .logout-session-info{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:12px 16px;
      border-radius:14px;
      background:var(--bg-soft);
      border:1px solid var(--border);
      margin-bottom:32px;
      font-size:.84rem;
      color:var(--text-muted);
    }
    body.studio-page--logged-out .logout-session-info svg{
      width:16px;height:16px;
      color:var(--ok);
      flex-shrink:0;
    }
    body.studio-page--logged-out .logout-actions{
      display:grid;
      gap:12px;
      max-width:320px;
      margin:0 auto;
    }
    body.studio-page--logged-out .logout-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:52px;
      padding:0 24px;
      border-radius:16px;
      border:none;
      font:700 12px/1.2 'DM Mono',ui-monospace,monospace;
      letter-spacing:.12em;
      text-transform:uppercase;
      cursor:pointer;
      transition:opacity .18s ease,transform .14s ease;
    }
    body.studio-page--logged-out .logout-btn:hover{opacity:.88}
    body.studio-page--logged-out .logout-btn:active{transform:translateY(1px)}
    body.studio-page--logged-out .logout-btn--primary{
      background:var(--accent);
      color:var(--surface);
    }
    body.studio-page--logged-out .logout-btn--secondary{
      background:var(--bg-soft);
      border:1px solid var(--border);
      color:var(--text);
    }
    body.studio-page--logged-out .logout-btn svg{
      width:18px;height:18px;
    }
    body.studio-page--logged-out .logout-divider{
      display:flex;
      align-items:center;
      gap:12px;
      margin:24px 0;
    }
    body.studio-page--logged-out .logout-divider::before,body.studio-page--logged-out .logout-divider::after{
      content:'';flex:1;height:1px;background:var(--border);
    }
    body.studio-page--logged-out .logout-divider__text{
      font:600 10px/1 'DM Mono',ui-monospace,monospace;
      letter-spacing:.1em;
      text-transform:uppercase;
      color:var(--text-muted);
    }
    body.studio-page--logged-out .logout-footer{
      margin-top:24px;
      padding-top:20px;
      border-top:1px solid var(--border);
      font-size:.84rem;
      color:var(--text-muted);
    }
    body.studio-page--logged-out .logout-footer a{
      color:var(--accent);
      text-decoration:underline;
    }
    @media (max-width:520px){
      body.studio-page--logged-out{padding:16px}
      body.studio-page--logged-out .logout-shell{padding:36px 20px 28px}
    }

/* ===== Shared responsive topbar ===== */
/* Studio topbar — responsive hamburger (shared across index/project/account/analytics) */

.studio-topbar__burger{
  display:none;
  width:40px;height:36px;
  border-radius:10px;
  border:1px solid rgba(232,234,237,.14);
  background:rgba(232,234,237,.06);
  color:var(--text);
  cursor:pointer;
  align-items:center;justify-content:center;
  padding:0;
  flex-shrink:0;
}
.studio-topbar__burger svg{width:20px;height:20px;display:block}
.studio-topbar__burger:hover{background:rgba(240,235,225,.12)}
.studio-topbar__backdrop{
  display:none;
  position:fixed;inset:0;
  background:rgba(10,9,7,.4);
  z-index:39;
}

@media (max-width:960px){
  .studio-topbar{flex-wrap:nowrap;gap:10px;padding:12px 16px}
  .studio-topbar__brand{flex:1 1 auto;min-width:0;width:auto;justify-content:flex-start;padding-bottom:0;border-bottom:none}
  .studio-topbar__brand span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .studio-topbar__burger{display:inline-flex}

  .studio-topbar__nav{
    position:absolute;
    top:calc(100% + 4px);
    right:12px;
    left:auto;
    width:min(300px, calc(100vw - 24px));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    background:rgba(28,27,24,.98);
    border:1px solid rgba(232,234,237,.14);
    border-radius:14px;
    padding:10px;
    gap:4px;
    box-shadow:0 18px 46px rgba(0,0,0,.45);
    z-index:41;
    flex-wrap:nowrap;
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    opacity:0;
    transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease, max-height .18s ease;
    pointer-events:none;
  }
  .studio-topbar.is-menu-open .studio-topbar__nav{
    max-height:80vh;
    overflow:auto;
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  .studio-topbar.is-menu-open ~ .studio-topbar__backdrop,
  body.is-studio-menu-open .studio-topbar__backdrop{display:block}

  .studio-topbar__nav a,
  .studio-topbar__nav .studio-topbar__logout{
    width:100%;
    text-align:left;
    padding:11px 12px;
    border-radius:9px;
    font-size:11px;
    letter-spacing:.1em;
    background:rgba(232,234,237,.06);
    color:rgba(240,235,225,.72);
    display:block;
  }
  .studio-topbar__nav a:hover,
  .studio-topbar__nav a.is-active,
  .studio-topbar__nav .studio-topbar__logout:hover{
    background:rgba(240,235,225,.12);
    color:var(--text);
  }
  .studio-topbar__nav .pm-online-status{
    width:100%;
    justify-content:flex-start;
    font-size:10px;
    margin-top:4px;
    padding:8px 12px;
  }
  /* project.php modules */
  .studio-topbar__modules{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:6px;
    padding:6px 0 0;
    border-top:1px solid rgba(232,234,237,.06);
    margin-top:4px;
  }
}

@media (max-width:520px){
  .studio-topbar{padding:10px 12px;gap:8px}
  .studio-topbar__mark{width:30px;height:30px;border-radius:8px}
  .studio-topbar__brand span{font-size:13px}
  .studio-topbar__burger{width:36px;height:32px;border-radius:8px}
  .studio-topbar__nav{right:10px;width:min(280px, calc(100vw - 20px))}
}

/* ===== Warm-grey Studio theme ===== */
/* NeuroResin Studio: concrete-warm light skin with dark charcoal sidebar */
:root{
  --bg:#c4c2bd;
  --bg-soft:#cdcbc6;
  --surface:#e6e3dc;
  --surface-soft:#ece9e2;
  --surface-glass:rgba(232,228,219,.72);
  --surface-strong:#f0ede6;
  --border:rgba(28,28,24,.08);
  --border-strong:rgba(28,28,24,.18);
  --text:#1f1f1d;
  --text-dim:#5b5853;
  --text-muted:#8a857e;
  --accent:#1a1a18;
  --accent-hover:#2a2a26;
  --accent-soft:rgba(26,26,24,.08);
  --accent-strong:#000;
  --brand:#c75c4a;
  --brand-hover:#b54e3d;
  --ok:#4d7c58;
  --ok-soft:rgba(77,124,88,.14);
  --warn:#a3793a;
  --warn-soft:rgba(163,121,58,.14);
  --danger:#8f4a44;
  --danger-soft:rgba(143,74,68,.14);
  --studio-rail:#1a1a18;
  --studio-rail-2:#2a2a26;
  --studio-light:#f0ede6;
  --studio-focus:rgba(26,26,24,.1);
  --studio-shadow:0 18px 44px rgba(35,33,28,.12);
  --studio-shadow-soft:0 8px 22px rgba(35,33,28,.08);
}

html,
body{
  background:
    radial-gradient(900px 560px at 22% 0%, rgba(255,255,255,.3), transparent 62%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 54%,#b8b6b1 100%);
}

body{
  color:var(--text);
  letter-spacing:0;
}

#loading-screen,
.nr-login-shell{
  background:
    radial-gradient(900px 560px at 22% 0%, var(--surface), transparent 62%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 54%,#b8b6b1 100%);
}

#loading-screen .ls-topbar,
.studio-topbar{
  background:linear-gradient(180deg,#1f1f1d 0%,#1a1a18 100%);
  border-color:rgba(35,33,28,.08);
  color:#f0ede6;
  box-shadow:0 1px 0 rgba(255,255,255,.04), 0 12px 30px rgba(0,0,0,.2);
}

.studio-topbar__brand,
.studio-topbar__nav a:hover,
.studio-topbar__nav a.is-active,
.studio-topbar__logout:hover{
  color:var(--studio-light);
}

.studio-topbar__nav a,
.studio-topbar__logout,
.topbar-user__name{
  color:rgba(238,240,235,.58);
}

.studio-topbar__mark,
#loading-screen .ls-mark{
  background:var(--surface);
  border-color:var(--surface);
  color:var(--studio-light);
}

.studio-topbar__module{
  background:var(--surface);
  border-color:var(--surface);
  color:rgba(238,240,235,.62);
}

.studio-topbar__module.is-ready,
.studio-topbar__module.is-signed,
.studio-topbar__module.is-done{
  background:rgba(140,164,145,.22);
  border-color:rgba(165,188,168,.32);
  color:var(--ok);
}

.studio-topbar__module.is-sent{
  background:rgba(148,128,82,.22);
  border-color:rgba(180,157,104,.32);
  color:var(--warn);
}

.pm-shell,
.pr-shell,
.main{
  color:var(--text);
}

.pm-head__title,
.pr-head__title,
.pm-modal__title,
.pm-tool-modal__title,
.pr-panel__title,
.login-top__brand,
.logout-title,
.card h2{
  color:var(--text);
}

.pm-head__copy,
.pr-head__copy,
.pm-kpi__copy,
.pm-name span,
.pm-investor span,
.pm-modal__copy,
.pm-panel__copy,
.pm-tool-modal__copy,
.pr-panel__copy,
.logout-copy,
.login-footer,
.pm-helper-copy{
  color:var(--text-dim);
}

.pm-head__eyebrow,
.pm-kpi__eyebrow,
.pm-table__head span,
.pm-row__meta,
.pm-doc,
.pm-modal__eyebrow,
.pm-field span,
.pm-chip,
.pm-tool-modal__eyebrow,
.pr-head__eyebrow,
.pr-field span,
.pr-tab,
.pr-chip,
.field label,
.login-field label{
  color:var(--text-muted);
}

.pm-kpi,
.pm-list,
.pm-modal__dialog,
.pm-panel,
.pm-summary,
.pm-tool-modal__dialog,
.pr-panel,
.pr-tabs,
.card,
.login-shell,
.logout-shell{
  background:var(--surface-glass);
  border-color:var(--border);
  box-shadow:var(--studio-shadow);
}

.pm-table__head,
.pm-row:hover,
.pm-tool-modal__head,
.nr-login-tabs,
.login-tabs,
.logout-session-info,
.stat{
  background:var(--accent-soft);
  border-color:var(--border);
}

.pm-row{
  border-bottom-color:rgba(34,36,35,.10);
}

.pm-search,
.pm-select,
.pm-field input,
.pm-field select,
.pm-field textarea,
.pr-field input,
.pr-field select,
.pr-field textarea,
.field input,
.login-field input,
.nr-login-form .pm-field input{
  background:rgba(238,239,234,.46);
  border-color:var(--border);
  color:var(--text);
  box-shadow:inset 0 1px 0 var(--surface);
}

.pm-search::placeholder,
.pm-field input::placeholder,
.pm-field textarea::placeholder,
.pr-field input::placeholder,
.pr-field textarea::placeholder,
.field input::placeholder,
.login-field input::placeholder{
  color:rgba(76,79,75,.48);
}

.pm-search:focus,
.pm-select:focus,
.pm-field input:focus,
.pm-field select:focus,
.pm-field textarea:focus,
.pr-field input:focus,
.pr-field select:focus,
.pr-field textarea:focus,
.field input:focus,
.login-field input:focus{
  outline:none;
  border-color:rgba(32,34,33,.34);
  box-shadow:0 0 0 3px var(--studio-focus), inset 0 1px 0 var(--surface);
}

.pm-btn,
.pr-btn,
.btn,
.pm-actions__edit,
.pm-actions__delete,
.pm-actions__track,
.pm-tool-modal__close,
.pm-modal__close,
.logout-btn,
.login-tab,
.nr-login-tab{
  border-color:var(--border);
  background:rgba(238,239,234,.36);
  color:var(--text);
  box-shadow:none;
}

.pm-actions__edit,
.pm-actions__delete,
.pm-actions__track{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
  line-height:1;
  vertical-align:middle;
  flex:0 0 auto;
}

.pm-actions__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1em;
  height:1em;
  line-height:1;
  font-size:.95em;
}

.pm-btn:hover,
.pr-btn:hover,
.btn:hover,
.pm-actions__edit:hover,
.pm-actions__delete:hover,
.pm-actions__track:hover,
.logout-btn:hover,
.login-tab:hover,
.nr-login-tab:hover{
  background:rgba(238,239,234,.56);
  border-color:var(--border-strong);
}

.pm-btn--dark,
.pm-btn--primary,
.pr-btn--primary,
.btn--primary,
.nr-login-submit,
.login-submit,
.logout-btn--primary{
  background:linear-gradient(180deg,var(--bg-soft),var(--bg));
  border-color:var(--bg);
  color:var(--studio-light);
  box-shadow:0 10px 22px rgba(31,33,32,.16);
}

.pm-btn--soft,
.pr-btn--soft,
.btn--soft{
  background:rgba(238,239,234,.42);
}

.pm-btn--danger,
.btn--danger,
.pm-actions__delete{
  color:var(--danger);
  border-color:rgba(143,92,85,.24);
}

.pm-actions__track{
  color:var(--warn);
  border-color:rgba(137,119,79,.24);
}

.pr-tab.is-active,
.login-tab.is-active,
.nr-login-tab.is-active{
  background:rgba(238,239,234,.66);
  color:var(--text);
  box-shadow:var(--studio-shadow-soft);
}

.pm-doc,
.pm-pill,
.pm-tool-modal__pill,
.pm-chip,
.pr-chip{
  background:rgba(238,239,234,.32);
  border-color:var(--border);
  color:var(--text-dim);
}

.pm-pill.is-quote,
.pm-pill.is-active{
  background:rgba(238,239,234,.56);
  border-color:rgba(32,34,33,.20);
}

.pm-pill.is-production,
.pm-pill.is-handover,
.pm-pill.is-done,
.pm-pill.is-won,
.pm-pill.is-closed{
  background:rgba(238,239,234,.42);
  border-color:var(--border);
}

.pm-doc.is-ready,
.pm-doc.is-signed,
.pm-doc.is-done{
  color:var(--ok);
  border-color:rgba(111,137,118,.24);
  background:rgba(111,137,118,.12);
}

.pm-doc.is-sent{
  color:var(--warn);
  border-color:rgba(137,119,79,.24);
  background:rgba(137,119,79,.12);
}

.pm-doc.is-draft{
  color:var(--danger);
  border-color:rgba(143,92,85,.24);
  background:rgba(143,92,85,.10);
}

.pm-stage-bar__track{
  background:rgba(238,239,234,.44);
}

.pm-stage-bar__fill{
  background:var(--accent);
}

.pm-dropzone{
  background:rgba(238,239,234,.30);
  border-color:rgba(32,34,33,.20);
}

.pm-dropzone:hover,
.pm-dropzone.is-dragover{
  background:rgba(238,239,234,.50);
  border-color:rgba(32,34,33,.36);
}

.pm-online-status--online{
  background:rgba(111,137,118,.16);
  color:var(--ok);
}

.pm-online-status--offline{
  background:rgba(143,92,85,.14);
  color:var(--danger);
}

.pm-alert,
.pr-alert,
.msg{
  background:rgba(238,239,234,.44);
  border-color:var(--border);
}

.pm-alert.is-ok,
.pr-alert.is-ok,
.msg.ok,
.login-success,
.logout-icon{
  background:rgba(111,137,118,.13);
  border-color:rgba(111,137,118,.26);
  color:var(--ok);
}

.pm-alert.is-err,
.pr-alert.is-err,
.msg.err,
.login-error{
  background:rgba(143,92,85,.12);
  border-color:rgba(143,92,85,.25);
  color:var(--danger);
}

.login-shell::before,
.logout-shell::before{
  background:linear-gradient(90deg,rgba(32,34,33,.82),var(--surface));
}

.login-top__mark,
.nr-login-card__mark{
  background:rgba(238,239,234,.42);
  border-color:var(--border);
  color:var(--text);
}

.login-top__brand span,
.logout-top__brand span,
.nr-login-footer a{
  color:var(--text);
}

.ls-error{
  background:var(--surface-strong);
  border-color:var(--border);
  color:var(--text);
  box-shadow:0 22px 58px rgba(35,38,36,.18);
}

.doc-sig,
.doc-preview,
.doc-check,
.doc-f__gen,
.pr-comment__reply-form input{
  background:rgba(238,239,234,.34);
  border-color:var(--border);
  color:var(--text-dim);
}

.doc-btn,
.ls-error-btn,
.doc-f input,
.doc-f select,
.doc-f textarea,
.pr-comment-form textarea{
  background:rgba(238,239,234,.42);
  border-color:var(--border);
  color:var(--text);
}

.pr-comment,
.doc-section{
  background:rgba(238,239,234,.52);
  border-color:var(--border);
  color:var(--text);
  box-shadow:var(--studio-shadow-soft);
}

.doc-btn:hover,
.doc-f__gen:hover{
  border-color:var(--border-strong);
  background:rgba(238,239,234,.64);
  color:var(--text);
}

.pr-dropzone{
  background:rgba(238,239,234,.24);
  border-color:rgba(32,34,33,.18);
  color:var(--text-dim);
}

.pr-dropzone.is-over{
  background:rgba(238,239,234,.48);
  border-color:rgba(32,34,33,.34);
}

.doc-btn--primary,
.ls-error-btn:not(.ls-error-btn--soft){
  background:linear-gradient(180deg,var(--bg-soft),var(--bg));
  border-color:var(--bg);
  color:var(--studio-light);
}

.doc-f label,
.doc-section h4,
.doc-section__head p,
.doc-sig__head span,
.doc-preview-panel h4,
.pr-comment__time,
.pr-empty,
.ls-error p{
  color:var(--text-muted);
}

.doc-section__head h3,
.doc-sig__head strong,
.pr-comment__author,
.pr-comment__text{
  color:var(--text);
}

.doc-sig__pad,
.doc-paper{
  background:rgba(245,246,242,.88);
  border-color:var(--border);
  box-shadow:0 14px 34px rgba(35,38,36,.12);
}

.doc-paper__inner{
  color:#222321; /* WERSJA PAPIEROWA: doc preview celowo na białym tle z czarnym tekstem (jak druk) */
}

.doc-toast{
  background:var(--studio-rail);
  color:var(--studio-light);
  box-shadow:0 14px 34px rgba(35,38,36,.22);
}

.doc-toast--ok{
  background:var(--ok-soft);
  color:var(--ok-soft);
}

.doc-toast--err{
  background:#4b302d;
  color:var(--danger-soft);
}

/* ===== Scoped graphite skin after consolidation ===== */
body.studio-page{
  background:
    radial-gradient(900px 560px at 18% 0%, rgba(255,255,255,.3), transparent 64%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 48%,#b8b6b1 100%);
  color:var(--text);
}

body.studio-page #loading-screen,
body.studio-page .nr-login-shell{
  background:
    radial-gradient(900px 560px at 18% 0%, rgba(255,255,255,.3), transparent 64%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 48%,#b8b6b1 100%);
}

body.studio-page #app,
body.studio-page .pm-shell,
body.studio-page .pr-shell,
body.studio-page .main{
  background:transparent;
}

body.studio-page #loading-screen .ls-topbar,
body.studio-page .studio-topbar{
  background:linear-gradient(180deg,rgba(32,34,33,.96),rgba(25,26,26,.96));
  border-color:var(--surface);
  color:var(--studio-light);
  box-shadow:0 1px 0 var(--surface), 0 12px 30px rgba(30,32,31,.18);
}

body.studio-page .pm-head__title,
body.studio-page .pr-head__title,
body.studio-page .pm-modal__title,
body.studio-page .pm-tool-modal__title,
body.studio-page .pr-panel__title,
body.studio-page .login-top__brand,
body.studio-page .logout-title,
body.studio-page .card h2{
  color:var(--text);
}

body.studio-page .pm-head__copy,
body.studio-page .pr-head__copy,
body.studio-page .pm-kpi__copy,
body.studio-page .pm-name span,
body.studio-page .pm-investor span,
body.studio-page .pm-modal__copy,
body.studio-page .pm-panel__copy,
body.studio-page .pm-tool-modal__copy,
body.studio-page .pr-panel__copy,
body.studio-page .logout-copy,
body.studio-page .login-footer,
body.studio-page .pm-helper-copy{
  color:var(--text-dim);
}

body.studio-page .pm-head__eyebrow,
body.studio-page .pm-kpi__eyebrow,
body.studio-page .pm-table__head span,
body.studio-page .pm-row__meta,
body.studio-page .pm-doc,
body.studio-page .pm-modal__eyebrow,
body.studio-page .pm-field span,
body.studio-page .pm-chip,
body.studio-page .pm-tool-modal__eyebrow,
body.studio-page .pr-head__eyebrow,
body.studio-page .pr-field span,
body.studio-page .pr-tab,
body.studio-page .pr-chip,
body.studio-page .field label,
body.studio-page .login-field label{
  color:var(--text-muted);
}

body.studio-page .pm-kpi,
body.studio-page .pm-list,
body.studio-page .pm-modal__dialog,
body.studio-page .pm-panel,
body.studio-page .pm-summary,
body.studio-page .pm-tool-modal__dialog,
body.studio-page .pr-panel,
body.studio-page .pr-tabs,
body.studio-page .card,
body.studio-page .login-shell,
body.studio-page .logout-shell{
  background:rgba(205,206,201,.78);
  border-color:var(--border);
  box-shadow:var(--studio-shadow);
}

body.studio-page .pm-table__head,
body.studio-page .pm-row:hover,
body.studio-page .pm-tool-modal__head,
body.studio-page .nr-login-tabs,
body.studio-page .login-tabs,
body.studio-page .logout-session-info,
body.studio-page .stat{
  background:var(--surface);
  border-color:var(--border);
}

body.studio-page .pm-row{
  border-bottom-color:rgba(34,36,35,.12);
}

body.studio-page .pm-search,
body.studio-page .pm-select,
body.studio-page .pm-field input,
body.studio-page .pm-field select,
body.studio-page .pm-field textarea,
body.studio-page .pr-field input,
body.studio-page .pr-field select,
body.studio-page .pr-field textarea,
body.studio-page .field input,
body.studio-page .login-field input,
body.studio-page .nr-login-form .pm-field input{
  background:rgba(238,239,234,.48);
  border-color:var(--border);
  color:var(--text);
  box-shadow:inset 0 1px 0 var(--surface);
}

body.studio-page .pm-btn,
body.studio-page .pr-btn,
body.studio-page .btn,
body.studio-page .pm-actions__edit,
body.studio-page .pm-actions__delete,
body.studio-page .pm-actions__track,
body.studio-page .pm-tool-modal__close,
body.studio-page .pm-modal__close,
body.studio-page .logout-btn,
body.studio-page .login-tab,
body.studio-page .nr-login-tab{
  border-color:var(--border);
  background:rgba(238,239,234,.38);
  color:var(--text);
  box-shadow:none;
}

body.studio-page .pm-btn:hover,
body.studio-page .pr-btn:hover,
body.studio-page .btn:hover,
body.studio-page .pm-actions__edit:hover,
body.studio-page .pm-actions__delete:hover,
body.studio-page .pm-actions__track:hover,
body.studio-page .logout-btn:hover,
body.studio-page .login-tab:hover,
body.studio-page .nr-login-tab:hover{
  background:rgba(238,239,234,.58);
  border-color:var(--border-strong);
}

body.studio-page .pm-btn--dark,
body.studio-page .pm-btn--primary,
body.studio-page .pr-btn--primary,
body.studio-page .btn--primary,
body.studio-page .nr-login-submit,
body.studio-page .login-submit,
body.studio-page .logout-btn--primary{
  background:linear-gradient(180deg,var(--bg-soft),var(--bg));
  border-color:var(--bg);
  color:var(--studio-light);
  box-shadow:0 10px 22px rgba(31,33,32,.16);
}

body.studio-page .pm-doc,
body.studio-page .pm-pill,
body.studio-page .pm-tool-modal__pill,
body.studio-page .pm-chip,
body.studio-page .pr-chip{
  background:rgba(238,239,234,.34);
  border-color:var(--border);
  color:var(--text-dim);
}

body.studio-page .pm-stage-bar__track{
  background:rgba(238,239,234,.42);
}

body.studio-page .pm-stage-bar__fill{
  background:var(--accent);
}
body.studio-page .pr-comment{
  background:rgba(238,239,234,.50);
  border-color:var(--border);
  color:var(--text);
  box-shadow:var(--studio-shadow-soft);
}

body.studio-page--project .doc-section{
  padding:0 0 24px;
  margin-bottom:24px;
  border:0;
  border-bottom:1px solid rgba(34,36,35,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.studio-page--project .doc-section:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}

body.studio-page .pm-modal__backdrop,
body.studio-page .pm-tool-modal__backdrop{
  background:rgba(24,26,25,.46);
}

body.studio-page .twofa-manual{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(238,239,234,.46);
  text-align:left;
}

body.studio-page .twofa-manual strong{
  font-size:.9rem;
}

body.studio-page .twofa-manual span{
  overflow-wrap:anywhere;
  font:600 11px/1.55 'IBM Plex Mono',ui-monospace,monospace;
  color:var(--text-dim);
}

body.studio-page .studio-brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
  color:inherit;
  text-decoration:none;
  font-family:'Inter',system-ui,sans-serif;
}

body.studio-page .studio-brand-lockup--center{
  justify-content:center;
  margin-inline:auto;
}

body.studio-page .studio-brand-lockup__icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
}

body.studio-page .studio-brand-lockup__tile{fill:var(--bg)}
body.studio-page .studio-brand-lockup__mark{fill:var(--text)}

body.studio-page .studio-topbar .studio-brand-lockup__tile,
body.studio-page #loading-screen .ls-topbar .studio-brand-lockup__tile{
  fill:var(--studio-light,var(--text));
}

body.studio-page .studio-topbar .studio-brand-lockup__mark,
body.studio-page #loading-screen .ls-topbar .studio-brand-lockup__mark{
  fill:var(--bg);
}

body.studio-page .studio-brand-lockup__lines{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  min-width:0;
  line-height:1;
}

body.studio-page .studio-brand-lockup__main{
  display:block;
  color:inherit;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

body.studio-page .studio-brand-lockup__sub{
  display:flex;
  justify-content:space-between;
  width:100%;
  margin-top:2px;
  color:var(--text-muted);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:0;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

body.studio-page .studio-brand-lockup__sub > span{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

body.studio-page .studio-topbar .studio-brand-lockup__sub,
body.studio-page #loading-screen .ls-topbar .studio-brand-lockup__sub{
  color:rgba(238,240,235,.62);
}

body.studio-page--index .nr-login-card__brand{
  margin:0 auto 10px;
}

body.studio-page--login .login-top__text{
  align-items:center;
  text-align:center;
}

@media (max-width:760px){
  body.studio-page .studio-topbar .studio-brand-lockup__main{
    font-size:.86rem;
  }
  body.studio-page .studio-topbar .studio-brand-lockup__sub{
    font-size:.54rem;
  }
}

/* ============================================================
   ╔══════════════════════════════════════════════════════════╗

/* ╔══════════════════════════════════════════════════════════════╗
   ║  STUDIO THEME v3 — Reference-matched Warm Glass              ║
   ║  Dokładna paleta + efekty ze zdjęcia odniesienia.            ║
   ║  Overlay działa przez kolejność i doprecyzowane selektory.       ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ── 1. TŁA + BAZA TYPOGRAFII ─────────────────────────────────── */
body.studio-page,
body.studio-page--index,
body.studio-page--project,
body.studio-page--account{
  background:
    radial-gradient(900px 600px at 22% 0%, rgba(255,255,255,.35), transparent 62%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 50%,#b8b6b1 100%);
  color:#1a1a18;
  font-family:'Inter','SF Pro Display',-apple-system,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ── 2. TOPBAR (jedyny dark element) ──────────────────────────── */
.studio-topbar,
#loading-screen .ls-topbar,
body.studio-page .studio-topbar,
body.studio-page #loading-screen .ls-topbar{
  background:linear-gradient(180deg,#23231f 0%,#1a1a18 100%);
  border-color:rgba(0,0,0,.5);
  color:#f0ede6;
  box-shadow:0 1px 0 rgba(255,255,255,.06), 0 14px 32px rgba(0,0,0,.22);
}
.studio-topbar a,
.studio-topbar__brand,
.studio-topbar__nav a,
.studio-topbar__logout,
.topbar-user__name,
.studio-brand-lockup,
.studio-brand-lockup *{
  color:#f0ede6;
}
.studio-topbar__nav a:hover,
.studio-topbar__nav a.is-active,
.studio-topbar__logout:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-radius:10px;
}
.studio-topbar__mark,
#loading-screen .ls-mark{
  background:rgba(240,235,225,.1);
  color:#f0ede6;
}
.studio-topbar__module{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(240,235,225,.7);
  border-radius:100px;
}
.studio-topbar__module.is-ready,
.studio-topbar__module.is-signed,
.studio-topbar__module.is-done{
  background:rgba(122,181,125,.18);
  color:#c8e3ca;
  border-color:rgba(122,181,125,.35);
}
.studio-topbar__module.is-sent{
  background:rgba(200,160,90,.18);
  color:#e8d6a8;
  border-color:rgba(200,160,90,.35);
}

/* ── 3. KARTY (frosted glass + inset top highlight) ───────────── */
.pm-kpi,
.pm-list,
.pm-modal__dialog,
.pm-tool-modal__dialog,
.pr-panel,
.nr-login-card,
.account-section,
.pr-comment,
.account-stats,
.account-row{
  background:rgba(244,241,234,.7);
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  border:1px solid rgba(28,28,24,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 0 -1px 0 rgba(35,33,28,.04),
    0 12px 32px rgba(35,33,28,.09);
  border-radius:22px;
}

/* ── 4. NAGŁÓWKI (light weight, tight tracking) ───────────────── */
h1,h2,h3,h4,h5,
.pm-head__title,
.pr-head__title,
.pm-modal__title,
.pm-tool-modal__title,
.pr-panel__title{
  font-family:'Inter',sans-serif;
  color:#1a1a18;
  font-weight:500;
  letter-spacing:-.04em;
}
.pm-head__title,
.pr-head__title{
  font-size:2.6rem;
  line-height:1.0;
  font-weight:500;
  letter-spacing:-.045em;
}
.pm-modal__title,
.pm-tool-modal__title{
  font-size:1.4rem;
  font-weight:600;
}
.pr-panel__title{
  font-size:1.1rem;
  font-weight:600;
  letter-spacing:-.02em;
}

/* ── 5. EYEBROWS (mono uppercase tiny) ────────────────────────── */
.pm-head__eyebrow,
.pm-kpi__eyebrow,
.pm-modal__eyebrow,
.pm-tool-modal__eyebrow,
.pr-head__eyebrow,
.pr-field span,
.pm-field span,
.pm-table__head span,
.pm-row__meta,
.pm-doc{
  color:#8a857e;
  font:600 10px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* ── 6. COPY (tekst pomocniczy) ──────────────────────────────── */
.pm-head__copy,
.pm-kpi__copy,
.pm-modal__copy,
.pm-tool-modal__copy,
.pr-panel__copy,
.pr-head__copy,
.pm-helper-copy,
.account-row p,
.nr-login-card__copy{
  color:#5b5853;
  font-weight:400;
}

/* ── 7. KPI VALUE (duża jak "340" w refie) ────────────────────── */
.pm-kpi__value{
  font:500 2.6rem/.95 'Inter',sans-serif;
  letter-spacing:-.055em;
  color:#1a1a18;
  margin-top:12px;
  font-feature-settings:'tnum';
}

/* ── 8. INPUTS (pill cream frosted) ───────────────────────────── */
.pm-search,
.pm-select,
.pm-field input,
.pm-field select,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="password"]{
  background:rgba(244,241,234,.7);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(28,28,24,.08);
  border-radius:100px;
  color:#1a1a18;
  min-height:44px;
  padding:0 22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.pm-field textarea,
textarea{
  background:rgba(244,241,234,.7);
  border:1px solid rgba(28,28,24,.08);
  border-radius:18px;
  color:#1a1a18;
  padding:14px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:rgba(28,28,24,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 0 0 3px rgba(28,28,24,.06);
}
.pm-search::placeholder,
input::placeholder,
textarea::placeholder{
  color:#8a857e;
}

/* ── 9. BUTTONS (pill cream + dark variant) ───────────────────── */
.pm-btn,
.pr-btn,
.btn{
  border-radius:100px;
  border:1px solid rgba(28,28,24,.1);
  background:rgba(244,241,234,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#1a1a18;
  min-height:42px;
  padding:0 22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
  font:500 13px/1.2 'Inter',sans-serif;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
  cursor:pointer;
}
.pm-btn:hover,
.pr-btn:hover,
button:hover{
  background:rgba(255,255,255,.88);
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 4px 12px rgba(35,33,28,.08);
}
.pm-btn--dark,
.pr-btn--dark,
.nr-login-submit{
  background:#1a1a18;
  border:1px solid #1a1a18;
  color:#f0ede6;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.pm-btn--dark:hover,
.pr-btn--dark:hover,
.nr-login-submit:hover{
  background:#2a2a26;
  border-color:#2a2a26;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,0,0,.2);
}
.pm-btn--soft{background:rgba(28,28,24,.05)}
.pm-btn--danger{
  background:rgba(143,74,68,.1);
  color:#8f4a44;
  border-color:rgba(143,74,68,.3);
}

/* ── 11. TABS (project page) ──────────────────────────────────── */
.pr-tabs{
  background:rgba(244,241,234,.7);
  border-radius:100px;
  padding:6px;
  border:1px solid rgba(28,28,24,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.pr-tab{
  background:transparent;
  border:none;
  border-radius:100px;
  color:#8a857e;
  padding:0 20px;
  min-height:36px;
  box-shadow:none;
  font:600 11px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:all .15s ease;
}
.pr-tab:hover{
  color:#1a1a18;
  background:rgba(255,255,255,.35);
}
.pr-tab.is-active{
  background:rgba(255,255,255,.95);
  color:#1a1a18;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 2px 8px rgba(35,33,28,.06);
}

/* ── 12. TABELA (header + rows) ───────────────────────────────── */
.pm-table__head{
  background:transparent;
  border-bottom:1px solid rgba(28,28,24,.08);
  padding:16px 24px;
}
.pm-table__head span{
  color:#8a857e;
  font:600 10px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.16em;
}
.pm-row{
  padding:18px 24px;
  border-bottom:1px solid rgba(28,28,24,.06);
  transition:background .15s ease;
}
.pm-row:hover{
  background:rgba(255,255,255,.4);
}
.pm-row:last-child{border-bottom:none}
.pm-name strong{color:#1a1a18;font-weight:600}
.pm-name span,
.pm-investor span{color:#5b5853}

/* ── 13. PILLS / CHIPS / BADGES ───────────────────────────────── */
.pm-pill,
.pm-doc,
.pr-chip{
  border-radius:100px;
  border:1px solid rgba(28,28,24,.1);
  background:rgba(244,241,234,.6);
  color:#5b5853;
  padding:4px 12px;
  min-height:26px;
  font:500 11px/1 'Inter',sans-serif;
  display:inline-flex;
  align-items:center;
}
.pm-pill.is-inquiry,
.pm-pill.is-quote{
  background:rgba(28,28,24,.06);
  color:#5b5853;
  border-color:rgba(28,28,24,.1);
}
.pm-pill.is-active,
.pm-pill.is-production{
  background:rgba(163,121,58,.12);
  color:#7a5828;
  border-color:rgba(163,121,58,.3);
}
.pm-pill.is-done,
.pm-pill.is-handover,
.pm-pill.is-won,
.pm-pill.is-closed{
  background:rgba(122,181,125,.16);
  color:#3a6a3d;
  border-color:rgba(122,181,125,.32);
}
.pm-doc.is-ready,
.pm-doc.is-signed,
.pm-doc.is-done{
  background:rgba(122,181,125,.16);
  color:#3a6a3d;
  border-color:rgba(122,181,125,.32);
}
.pm-doc.is-sent{
  background:rgba(163,121,58,.12);
  color:#7a5828;
  border-color:rgba(163,121,58,.3);
}
.pm-doc.is-draft{
  background:rgba(143,74,68,.12);
  color:#7a3a34;
  border-color:rgba(143,74,68,.3);
}

/* ── 14. MODAL CLOSE ───────────────────────────────────────────── */
.pm-modal__close,
.pm-tool-modal__close{
  border-radius:14px;
  background:rgba(244,241,234,.85);
  border:1px solid rgba(28,28,24,.1);
  color:#1a1a18;
  width:42px;height:42px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 2px 8px rgba(35,33,28,.06);
  transition:all .15s ease;
}
.pm-modal__close:hover,
.pm-tool-modal__close:hover{
  background:#1a1a18;
  border-color:#1a1a18;
  color:#f0ede6;
}

/* ── 16. DROPZONE ─────────────────────────────────────────────── */
.pm-dropzone,
.pr-dropzone{
  background:rgba(244,241,234,.4);
  border:2px dashed rgba(28,28,24,.15);
  border-radius:16px;
  color:#5b5853;
  transition:all .15s ease;
}
.pm-dropzone:hover,
.pr-dropzone:hover{
  background:rgba(255,255,255,.5);
  border-color:rgba(28,28,24,.3);
  color:#1a1a18;
}

/* ── 18. LOGIN PAGE ───────────────────────────────────────────── */
.nr-login-shell{
  background:
    radial-gradient(900px 600px at 22% 0%, rgba(255,255,255,.35), transparent 62%),
    linear-gradient(180deg,#cdcbc6 0%,#c4c2bd 100%);
}
.nr-login-card{
  padding:42px 36px;
}
.nr-login-tab{
  background:transparent;
  border:none;
  border-radius:100px;
  color:#8a857e;
  padding:8px 18px;
}
.nr-login-tab.is-active{
  background:rgba(255,255,255,.85);
  color:#1a1a18;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 2px 8px rgba(35,33,28,.06);
}
.nr-login-error{
  background:rgba(143,74,68,.1);
  color:#8f4a44;
  border:1px solid rgba(143,74,68,.3);
  border-radius:14px;
  padding:12px 14px;
}

/* ── 19. COMMENTS ─────────────────────────────────────────────── */
.pr-comment{
  padding:16px;
}
.pr-comment__author{color:#1a1a18;font-weight:600}
.pr-comment__time{color:#8a857e;font-size:11px}
.pr-comment__text{color:#1a1a18;line-height:1.5}

/* ── 20. ALERTS ───────────────────────────────────────────────── */
.pm-alert,.pr-alert{
  border-radius:14px;
  padding:12px 16px;
  font-size:13px;
}
.pm-alert.is-ok,.pr-alert.is-ok{
  background:rgba(122,181,125,.14);
  color:#3a6a3d;
  border:1px solid rgba(122,181,125,.3);
}
.pm-alert.is-err,.pr-alert.is-err{
  background:rgba(143,74,68,.12);
  color:#7a3a34;
  border:1px solid rgba(143,74,68,.3);
}

/* ── 21. SCROLLBARS ───────────────────────────────────────────── */
body.studio-page ::-webkit-scrollbar,
body.studio-page--index ::-webkit-scrollbar,
body.studio-page--project ::-webkit-scrollbar,
body.studio-page--account ::-webkit-scrollbar{width:10px;height:10px}
body.studio-page ::-webkit-scrollbar-track{background:transparent}
body.studio-page ::-webkit-scrollbar-thumb{
  background:rgba(28,28,24,.18);
  border-radius:100px;
  border:2px solid transparent;
  background-clip:padding-box;
}
body.studio-page ::-webkit-scrollbar-thumb:hover{
  background:rgba(28,28,24,.32);
  background-clip:padding-box;
}

/* ── 22. SELECTION ────────────────────────────────────────────── */
::selection{background:rgba(28,28,24,.12);color:#1a1a18}

/* ── 23. LOADING SCREEN (jasna karta zamiast jasnej szarej) ──── */
.ls-block{
  background:rgba(244,241,234,.7);
  border:1px solid rgba(28,28,24,.07);
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

/* ── 24. SELECT — fix natywnego stylowania ─────────────────── */
.pm-select,
select.pm-select,
body.studio-page select,
body.studio-page--index select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:rgba(244,241,234,.7)
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231a1a18" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>')
    no-repeat right 18px center / 14px 14px;
  padding:0 44px 0 22px;
  cursor:pointer;
  min-height:42px;
  border-radius:100px;
  border:1px solid rgba(28,28,24,.1);
  font:500 13px/1.2 'Inter',sans-serif;
  color:#1a1a18;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.pm-select:hover,
body.studio-page select:hover{
  background-color:rgba(255,255,255,.85);
}
.pm-select:focus,
body.studio-page select:focus{
  outline:none;
  border-color:rgba(28,28,24,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 3px rgba(28,28,24,.08);
}

/* Backdrop-filter na rodzicach NIE może blokować pointer events */
body.studio-page--index .pm-search,
body.studio-page--index .pm-btn,
body.studio-page--index .pm-list,
body.studio-page--index .pm-kpi{
  isolation:auto;
}

/* ===== Collapsible left sidebar (dark icon rail + light panel) ===== */
:root{ --st-rail-w:60px; --st-panel-w:248px; }

body.studio-page.has-side #app{ padding-left:calc(var(--st-rail-w) + var(--st-panel-w)); transition:padding-left .22s ease; }
body.studio-page.has-side.side-collapsed #app{ padding-left:var(--st-rail-w); }
/* pm-shell uses 100vw which ignores padding-left; switch to 100% (= available width after padding) */
body.studio-page.has-side .pm-shell{ width:min(1320px,calc(100% - 32px)); }

body.studio-page.has-side .pr-shell{ width:min(1320px,calc(100% - 32px)); }

.st-side{ position:fixed; top:0; left:0; bottom:0; display:flex; z-index:110; font-family:'Inter',system-ui,sans-serif; }

.st-rail{
  width:var(--st-rail-w); flex:0 0 var(--st-rail-w);
  background:var(--accent); color:#fff;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:12px 0;
}
.st-rail__brand{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.st-rail__brand .studio-brand-lockup__icon{ width:26px; height:26px; flex:0 0 26px; }
.st-rail__brand .studio-brand-lockup__tile{ fill:rgba(255,255,255,.14); }
.st-rail__brand .studio-brand-lockup__mark{ fill:#fff; }
.st-rail__sep{ width:26px; height:1px; background:rgba(255,255,255,.14); margin:4px 0; }
.st-rail__spacer{ flex:1; }
.st-ric, .st-rail__toggle{
  width:42px; height:42px; border-radius:12px; border:0; background:transparent; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6); text-decoration:none;
}
.st-ric svg, .st-rail__toggle svg{ width:20px; height:20px; }
.st-ric:hover, .st-rail__toggle:hover{ color:#fff; background:rgba(255,255,255,.08); }
.st-ric.is-active{ color:#fff; background:rgba(255,255,255,.16); }
.st-ric--logout{ color:rgba(229,170,162,.85); }
.st-ric--logout:hover{ color:#fff; background:rgba(143,74,68,.4); }
.st-rail__toggle svg{ transition:transform .22s ease; }
.side-collapsed .st-rail__toggle svg{ transform:rotate(180deg); }

.st-panel{
  width:var(--st-panel-w); flex:0 0 var(--st-panel-w);
  background:var(--surface-strong); color:var(--text);
  border-right:1px solid var(--border);
  display:flex; flex-direction:column; padding:14px 14px 16px; overflow-y:auto;
  transition:width .22s ease, opacity .18s ease, padding .22s ease;
}
.side-collapsed .st-panel{ width:0; flex-basis:0; padding-left:0; padding-right:0; opacity:0; pointer-events:none; overflow:hidden; }

.st-panel__head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:2px 2px 10px; }
.st-panel .studio-brand-lockup__tile{ fill:var(--studio-light,var(--text)); }
.st-panel .studio-brand-lockup__mark{ fill:var(--bg); }
.st-panel .studio-brand-lockup__main{ font-size:.82rem; }
.st-panel .studio-brand-lockup__icon{ width:22px; height:22px; flex:0 0 22px; }

.st-collapse{ flex:0 0 auto; cursor:pointer; color:var(--text-muted); padding:6px; border-radius:9px; display:flex; }
.st-collapse svg{ width:18px; height:18px; }
.st-collapse:hover{ color:var(--text); background:var(--accent-soft); }

.st-group{ font:600 11px/1 'DM Mono',ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:14px 6px 6px; }

.st-item{
  display:flex; align-items:center; gap:11px; width:100%; text-align:left;
  padding:9px 11px; border-radius:11px; cursor:pointer;
  font:500 14px/1.2 'Inter',system-ui,sans-serif; color:var(--text-dim); text-decoration:none;
}
.st-item svg{ width:19px; height:19px; flex:0 0 19px; color:var(--text-muted); }
.st-item:hover{ background:var(--accent-soft); color:var(--text); }
.st-item.is-active{ background:#fff; color:var(--text); box-shadow:0 2px 8px rgba(35,33,28,.1), inset 0 0 0 1px var(--border); }
.st-item.is-active svg{ color:var(--text); }

/* View toggle buttons — new class st-vbtn, no pm-btn baggage */
.st-views{ display:flex; flex-direction:column; gap:2px; }
.st-vbtn{
  display:flex; align-items:center; gap:11px; width:100%; text-align:left;
  padding:9px 11px; border-radius:11px; cursor:pointer;
  font:500 14px/1.2 'Inter',system-ui,sans-serif; color:var(--text-dim);
}
.st-vbtn svg{ width:19px; height:19px; flex:0 0 19px; color:var(--text-muted); }
.st-vbtn:hover{ background:var(--accent-soft); color:var(--text); }
.st-vbtn.is-active{ background:#fff; color:var(--text); box-shadow:0 2px 8px rgba(35,33,28,.1), inset 0 0 0 1px var(--border); }
.st-vbtn.is-active svg{ color:var(--text); }

.st-foot{ margin-top:auto; padding-top:12px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:8px; }
.st-foot__user{ font-size:12px; color:var(--text-muted); padding:0 6px; }
.st-foot__user:empty{ display:none; }
.st-foot .pm-online-status{ align-self:flex-start; }
.st-lang{ display:flex; gap:4px; background:var(--accent-soft); border-radius:10px; padding:3px; }
.st-lang button{ flex:1; border:0; background:transparent; padding:6px 0; border-radius:8px; font:600 12px/1 'DM Mono',ui-monospace,monospace; color:var(--text-dim); cursor:pointer; }
.st-lang button[aria-current="true"]{ background:#fff; color:var(--text); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.st-foot__logout{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  padding:9px 11px; border-radius:11px; border:0; background:transparent; cursor:pointer;
  font:500 14px/1.2 'Inter',system-ui,sans-serif; color:var(--danger);
}
.st-foot__logout svg{ width:18px; height:18px; flex:0 0 18px; }
.st-foot__logout:hover{ background:var(--danger-soft); }

.st-burger{ display:none; position:fixed; top:12px; left:12px; z-index:60; width:44px; height:44px; border-radius:12px; border:0; background:var(--accent); color:#fff; align-items:center; justify-content:center; cursor:pointer; }
.st-burger svg{ width:22px; height:22px; }
.st-overlay{ display:none; position:fixed; inset:0; background:rgba(20,18,16,.45); z-index:49; }

@media (max-width:900px){
  body.studio-page.has-side #app{ padding-left:0; }
  .st-side{ transform:translateX(-100%); transition:transform .25s ease; }
  body.side-open .st-side{ transform:translateX(0); }
  body.side-open .st-overlay{ display:block; }
  .st-burger{ display:flex; }
  .st-rail__toggle{ display:none; }
  /* On mobile the drawer always shows the full panel, even if collapsed on desktop. */
  body.side-collapsed .st-panel{ width:var(--st-panel-w); flex-basis:var(--st-panel-w); padding:14px 14px 16px; opacity:1; pointer-events:auto; overflow-y:auto; }
}

/* ===== Studio UX refresh — compact operations layer ===== */
:root{
  --studio-canvas:#c7c5c0;
  --studio-card:#ebe8e1;
  --studio-field:#fbfaf6;
  --studio-line:rgba(28,28,24,.14);
  --studio-line-soft:rgba(28,28,24,.08);
}

body.studio-page--index .pm-shell,
body.studio-page--project .pr-shell{
  gap:12px;
  margin-top:22px;
}

body.studio-page--index .pm-head,
body.studio-page--project .pr-head{
  align-items:center;
}

body.studio-page--index .pm-head__copy{
  max-width:660px;
  margin-top:7px;
  line-height:1.5;
}

body.studio-page--index .pm-head__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

body.studio-page--index .pm-toolbar{
  grid-template-columns:minmax(260px,1fr) 210px 44px auto;
  gap:8px;
}

body.studio-page--index .pm-search,
body.studio-page--index .pm-select,
body.studio-page--index .pm-field input,
body.studio-page--index .pm-field select,
body.studio-page--index .pm-field textarea,
body.studio-page--project .pr-field input,
body.studio-page--project .pr-field select,
body.studio-page--project .pr-field textarea,
body.studio-page--project .doc-f input,
body.studio-page--project .doc-f select,
body.studio-page--project .doc-f textarea{
  background:var(--studio-field);
  border-color:var(--studio-line);
  box-shadow:inset 0 1px 0 #fff;
}

body.studio-page--index .pm-search:focus,
body.studio-page--index .pm-select:focus,
body.studio-page--project .pr-field input:focus,
body.studio-page--project .pr-field select:focus,
body.studio-page--project .pr-field textarea:focus,
body.studio-page--project .doc-f input:focus,
body.studio-page--project .doc-f select:focus,
body.studio-page--project .doc-f textarea:focus{
  outline:none;
  border-color:rgba(199,92,74,.65);
  box-shadow:0 0 0 3px rgba(199,92,74,.12),inset 0 1px 0 #fff;
}

body.studio-page--index .pm-btn,
body.studio-page--index .pm-search,
body.studio-page--index .pm-select{
  min-height:42px;
}

body.studio-page--index .pm-btn--dark{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
  box-shadow:0 5px 14px rgba(143,74,68,.18);
}

body.studio-page--index .pm-btn--dark:hover{
  background:var(--brand-hover);
  border-color:var(--brand-hover);
}

body.studio-page--index .pm-icon-action{
  width:44px;
  height:42px;
  border:1px solid var(--studio-line);
  border-radius:14px;
  background:var(--studio-field);
  color:var(--text-dim);
  display:grid;
  place-items:center;
  cursor:pointer;
}

body.studio-page--index .pm-icon-action svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.studio-page--index button:focus-visible,
body.studio-page--index a:focus-visible,
body.studio-page--project button:focus-visible,
body.studio-page--project a:focus-visible{
  outline:3px solid rgba(199,92,74,.28);
  outline-offset:2px;
}

body.studio-page--index .pm-text-action{
  min-height:42px;
  padding:0 8px;
  border:0;
  background:transparent;
  color:var(--text-dim);
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(28,28,24,.2);
  text-underline-offset:4px;
}

body.studio-page--index .pm-overview{
  margin:0;
}

body.studio-page--index .ov-compact{
  display:grid;
  grid-template-columns:1.35fr repeat(3,1fr);
  gap:8px;
}

body.studio-page--index .ov-compact .ov-card{
  min-height:92px;
  padding:15px 17px;
  border-radius:18px;
  background:rgba(242,239,232,.86);
  border:1px solid var(--studio-line-soft);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 7px 18px rgba(35,33,28,.06);
}

body.studio-page--index .ov-compact .ov-card:first-child{
  background:var(--brand);
  color:#fff;
}

body.studio-page--index .ov-compact .ov-card:first-child .ov-card__lbl,
body.studio-page--index .ov-compact .ov-card:first-child .ov-card__hint{
  color:rgba(255,255,255,.78);
}

body.studio-page--index .ov-card__lbl{
  margin-bottom:7px;
  font-size:11px;
}

body.studio-page--index .ov-card__val{
  font-size:25px;
}

body.studio-page--index .pm-breakdown{
  border:1px solid var(--studio-line-soft);
  border-radius:16px;
  background:rgba(235,232,225,.66);
  overflow:hidden;
}

body.studio-page--index .pm-breakdown > summary{
  list-style:none;
  padding:11px 16px;
  cursor:pointer;
  font:600 11px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-dim);
}

body.studio-page--index .pm-breakdown > summary::-webkit-details-marker{display:none}
body.studio-page--index .pm-breakdown > summary::after{content:"+";float:right;font-size:16px;line-height:10px}
body.studio-page--index .pm-breakdown[open] > summary::after{content:"−"}
body.studio-page--index .pm-breakdown .pm-kpis{display:block}
body.studio-page--index .pm-kpi--breakdown{padding:4px 16px 16px;border:0;background:transparent;box-shadow:none}
body.studio-page--index .pm-stage-bars{margin-top:12px;display:grid;gap:8px}

body.studio-page--index .pm-list{
  overflow:visible;
  background:rgba(229,226,219,.82);
  border-color:var(--studio-line-soft);
}

body.studio-page--index .pm-list__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 20px 10px;
}

body.studio-page--index .pm-list__top h2{
  margin:0;
  font-size:1.05rem;
  letter-spacing:-.03em;
}

body.studio-page--index .pm-list__top span{
  color:var(--text-muted);
  font:600 10px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.studio-page--index .pm-table__head{
  padding-top:10px;
  padding-bottom:10px;
  background:rgba(255,255,255,.28);
  border-top:1px solid var(--studio-line-soft);
}

body.studio-page--index .pm-row{
  position:relative;
  min-height:82px;
  cursor:pointer;
  border-bottom-color:var(--studio-line-soft);
}

body.studio-page--index .pm-row:hover{
  background:rgba(255,255,255,.48);
}

body.studio-page--index .pm-progress{
  display:flex;
  align-items:center;
  gap:8px;
}

body.studio-page--index .pm-progress__bar{
  display:flex;
  gap:3px;
}

body.studio-page--index .pm-progress__seg{
  width:25px;
  height:6px;
  border-radius:999px;
  background:rgba(28,28,24,.13);
}

body.studio-page--index .pm-progress__seg.is-done{background:var(--ok)}
body.studio-page--index .pm-progress__count{font-size:11px;color:var(--text-muted)}

body.studio-page--index .pm-deadline{
  display:block;
  margin-top:6px;
  font-size:11px;
  color:var(--text-dim);
}

body.studio-page--index .pm-deadline span{
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:9px;
  font-weight:700;
}

body.studio-page--index .pm-deadline.is-overdue,
body.studio-page--index .pm-deadline.is-overdue span{color:var(--danger)}

body.studio-page--index .pm-actions{
  position:relative;
  display:flex;
  justify-content:flex-end;
}

body.studio-page--index .pm-more{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid var(--studio-line);
  background:var(--studio-field);
  color:var(--text-dim);
  cursor:pointer;
  font-size:14px;
  letter-spacing:2px;
}

body.studio-page--index .pm-row-menu{
  position:absolute;
  z-index:30;
  right:0;
  top:44px;
  width:180px;
  display:none;
  padding:6px;
  border-radius:14px;
  border:1px solid var(--studio-line);
  background:#f7f4ed;
  box-shadow:0 18px 45px rgba(35,33,28,.2);
}

body.studio-page--index .pm-row-menu.is-open{display:grid}
body.studio-page--index .pm-row-menu button{
  min-height:38px;
  padding:0 11px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
body.studio-page--index .pm-row-menu button:hover{background:rgba(28,28,24,.07)}
body.studio-page--index .pm-row-menu button.is-danger{color:var(--danger)}

body.studio-page--project .pr-shell{margin-bottom:36px}
body.studio-page--project .pr-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:5px;
  border-radius:18px;
  background:rgba(235,232,225,.78);
}

body.studio-page--project .pr-tab{
  min-height:42px;
  border-radius:13px;
}

body.studio-page--project .pr-subtabs{
  display:flex;
  gap:6px;
  padding:0 4px;
}

body.studio-page--project .pr-subtabs[hidden]{display:none}
body.studio-page--project .pr-subtab{
  min-height:36px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid var(--studio-line);
  background:rgba(244,241,234,.54);
  color:var(--text-dim);
  cursor:pointer;
  font:600 10px/1.2 'DM Mono',ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.studio-page--project .pr-subtab.is-active{
  background:var(--studio-field);
  color:var(--text);
  border-color:rgba(199,92,74,.55);
  box-shadow:0 2px 8px rgba(35,33,28,.07);
}
body.studio-page--project .pr-subtab.is-done::before{content:"✓ ";color:var(--ok)}
body.studio-page--project .pr-subtab.is-current{box-shadow:inset 0 -2px 0 var(--brand)}

body.studio-page--project .pr-panel{
  background:rgba(231,228,221,.88);
  border-color:var(--studio-line-soft);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68),0 10px 28px rgba(35,33,28,.07);
}
body.studio-page--project.is-hydrating .pr-panel{
  opacity:.84;
  pointer-events:none;
}
body.studio-page--project .pr-panel.is-module-loading{
  position:relative;
  min-height:180px;
  pointer-events:none;
}
body.studio-page--project .pr-panel.is-module-loading::after{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  width:18px;
  height:18px;
  border:2px solid color-mix(in srgb,var(--brand) 24%,transparent);
  border-top-color:var(--brand);
  border-radius:50%;
  animation:nrStudioModuleSpin .7s linear infinite;
}
@keyframes nrStudioModuleSpin{to{transform:rotate(360deg)}}

body.studio-page--project .pr-btn svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.studio-page--project .pr-module-bar{
  align-items:center;
}

body.studio-page--project .pr-module-bar__status{
  margin-right:auto;
  color:var(--ok);
}

body.studio-page--project .doc-paper{
  background:#fffdf8;
  border-color:rgba(28,28,24,.13);
  box-shadow:0 16px 44px rgba(35,33,28,.16);
}
body.studio-page--project .doc-paper__inner{color:#24231f}
body.studio-page--project .doc-paper__ref strong{color:#24231f}
body.studio-page--project .doc-paper__lead{color:#59564f}
body.studio-page--project .doc-paper__logo{background:#24231f;color:#fffdf8}

@media(max-width:1100px){
  body.studio-page--index .ov-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  .st-side{
    width:min(86vw,320px);
    max-width:320px;
    background:var(--surface-strong);
  }
  .st-rail{display:none}
  .st-panel,
  body.side-collapsed .st-panel{
    width:100%;
    flex:1 1 auto;
    padding:16px;
  }
  body.studio-page.has-side .pm-shell,
  body.studio-page.has-side .pr-shell{
    margin-top:72px;
  }
  body.studio-page--index .pm-toolbar{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
  body.studio-page--index .pm-shell,
  body.studio-page--project .pr-shell{width:calc(100vw - 24px)}
  body.studio-page--index .pm-head__title,
  body.studio-page--project .pr-head__title{
    font-size:clamp(2rem,10vw,2.7rem);
    line-height:1;
  }
  body.studio-page--index .pm-head__actions{width:100%}
  body.studio-page--index .pm-head__actions .pm-btn{flex:1}
  body.studio-page--index .pm-toolbar{grid-template-columns:1fr 44px}
  body.studio-page--index .pm-toolbar .pm-search,
  body.studio-page--index .pm-toolbar .pm-select{grid-column:1/-1}
  body.studio-page--index .pm-text-action{
    grid-column:1;
    grid-row:3;
    text-align:left;
  }
  body.studio-page--index .pm-icon-action{
    grid-column:2;
    grid-row:3;
  }
  body.studio-page--index .ov-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.studio-page--index .ov-compact .ov-card{min-height:82px;padding:13px}
  body.studio-page--index .ov-card__val{font-size:22px}
  body.studio-page--index .pm-list__top{padding-left:16px;padding-right:16px}
  body.studio-page--index .pm-row{padding:18px 20px}
  body.studio-page--index .pm-actions{justify-content:flex-start}
  body.studio-page--index .pm-row-menu{left:0;right:auto}
  body.studio-page--project .pr-head__copy{font-size:.9rem}
  body.studio-page--project .pr-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.studio-page--project .pr-subtabs{
    overflow-x:auto;
    padding-bottom:4px;
  }
  body.studio-page--project .pr-subtab{flex:0 0 auto}
  body.studio-page--project .pr-panel{padding:20px 16px}
  body.studio-page--project .pr-next{align-items:center}
  body.studio-page--project .pr-module-bar{
    display:grid;
    grid-template-columns:1fr;
  }
  body.studio-page--project .pr-module-bar .pr-btn{width:100%}
}

@media(max-width:480px){
  body.studio-page--index .ov-compact{grid-template-columns:1fr 1fr}
  body.studio-page--index .ov-compact .ov-card:first-child{grid-column:1/-1}
  body.studio-page--project .pr-head__title{font-size:2rem}
}

/* ===== Studio auth — editorial split screen ===== */
html:has(body.studio-page--login){background:#171815}
body.studio-page--login{
  min-height:100svh;
  padding:clamp(14px,2.2vw,34px);
  display:grid;
  place-items:center;
  overflow-x:hidden;
  color:#171815;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.08),transparent 27rem),
    linear-gradient(145deg,#242520 0%,#131411 100%);
}
body.studio-page--login .login-shell{
  width:min(1380px,100%);
  min-height:min(860px,calc(100svh - clamp(28px,4.4vw,68px)));
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(440px,.84fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:clamp(22px,2.4vw,34px);
  background:#f5f3ed;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
}
body.studio-page--login .login-shell::before{display:none}

body.studio-page--login .login-visual{
  position:relative;
  min-width:0;
  overflow:hidden;
  isolation:isolate;
  color:#f6f2e9;
  background:#191a17;
}
body.studio-page--login .login-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(15,16,13,.1) 0%,rgba(15,16,13,.06) 38%,rgba(15,16,13,.88) 100%),
    linear-gradient(90deg,rgba(15,16,13,.34),transparent 54%);
}
body.studio-page--login .login-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.58),transparent 68%);
}
body.studio-page--login .login-visual__image{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:#d7d2ca;
}
body.studio-page--login .login-visual__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.02) brightness(.72);
  transform:scale(1.015);
}
body.studio-page--login .login-visual__top,
body.studio-page--login .login-visual__copy,
body.studio-page--login .login-visual__footer{
  position:absolute;
  z-index:3;
  left:clamp(24px,3.4vw,54px);
  right:clamp(24px,3.4vw,54px);
}
body.studio-page--login .login-visual__top{
  top:clamp(24px,3vw,48px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
body.studio-page--login .login-visual__tag{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(17,18,15,.36);
  backdrop-filter:blur(12px);
  font:600 10px/1 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.studio-page--login .login-visual__tag span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d7f23a;
  box-shadow:0 0 0 4px rgba(215,242,58,.14);
}
body.studio-page--login .login-visual__index{
  font:600 10px/1 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.14em;
  color:rgba(255,255,255,.64);
}
body.studio-page--login .login-visual__copy{
  bottom:clamp(82px,10vh,118px);
  max-width:560px;
}
body.studio-page--login .login-visual__copy p{
  margin:0 0 13px;
  font:600 10px/1.2 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d7f23a;
}
body.studio-page--login .login-visual__copy h2{
  max-width:10ch;
  margin:0 0 18px;
  font:600 clamp(2.8rem,5.2vw,5.9rem)/.94 "Syne","Inter",sans-serif;
  letter-spacing:-.075em;
  text-wrap:balance;
}
body.studio-page--login .login-visual__copy > span{
  display:block;
  max-width:40ch;
  color:rgba(255,255,255,.72);
  font-size:clamp(.92rem,1.15vw,1.08rem);
  line-height:1.58;
}
body.studio-page--login .login-visual__footer{
  bottom:0;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid rgba(255,255,255,.16);
}
body.studio-page--login .login-visual__footer strong{
  font:800 14px/1 "Syne","Inter",sans-serif;
  letter-spacing:.08em;
}
body.studio-page--login .login-visual__footer span{
  color:rgba(255,255,255,.5);
  font:500 9px/1.25 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.studio-page--login .login-panel{
  min-width:0;
  display:grid;
  grid-template-rows:auto 1fr auto;
  overflow-y:auto;
  background:#f5f3ed;
}
body.studio-page--login .login-panel__top{
  min-height:90px;
  padding:22px clamp(26px,3.4vw,50px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid rgba(23,24,21,.1);
}
body.studio-page--login .login-panel__top .studio-brand-lockup{
  color:#171815;
}
body.studio-page--login .login-panel__top .studio-brand-lockup__tile{fill:#171815}
body.studio-page--login .login-panel__top .studio-brand-lockup__mark{fill:#f5f3ed}
body.studio-page--login .login-panel__top .studio-brand-lockup__main{color:#171815}
body.studio-page--login .login-panel__top .studio-brand-lockup__sub{color:#a34e37}
body.studio-page--login .login-panel__top .studio-brand-lockup__icon{width:36px;height:36px}
body.studio-page--login .studio-topbar__lang{
  display:inline-flex;
  padding:3px;
  gap:2px;
  border:1px solid rgba(23,24,21,.12);
  border-radius:999px;
  background:#ebe8e1;
}
body.studio-page--login .studio-topbar__lang button{
  min-width:33px;
  height:28px;
  padding:0 8px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#7b786f;
  cursor:pointer;
  font:700 9px/1 "DM Mono","IBM Plex Mono",monospace;
}
body.studio-page--login .studio-topbar__lang button[aria-current="true"]{
  background:#171815;
  color:#f5f3ed;
}
body.studio-page--login .login-panel__body{
  width:min(100%,540px);
  margin:auto;
  padding:clamp(30px,5vh,66px) clamp(26px,4vw,58px);
}
body.studio-page--login .login-tabs{
  width:max-content;
  gap:0;
  margin:0 0 clamp(28px,4vh,46px);
  padding:0;
  border-radius:0;
  background:transparent;
}
body.studio-page--login .login-tab{
  flex:none;
  min-height:34px;
  padding:0 0 9px;
  margin-right:28px;
  border:0;
  border-bottom:1px solid transparent;
  border-radius:0;
  background:transparent;
  color:#969187;
  box-shadow:none;
  font:600 10px/1 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.12em;
}
body.studio-page--login .login-tab.is-active{
  color:#171815;
  border-bottom-color:#171815;
  background:transparent;
  box-shadow:none;
}
body.studio-page--login[data-auth-view="forgot"] .login-tabs{opacity:.42}
body.studio-page--login .login-form{display:none}
body.studio-page--login .login-form.is-active{
  display:block;
  animation:nrAuthIn .28s ease both;
}
@keyframes nrAuthIn{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}
body.studio-page--login .login-form__head{margin-bottom:32px}
body.studio-page--login .login-form__head p{
  margin:0 0 12px;
  color:#a34e37;
  font:700 9px/1.2 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.15em;
  text-transform:uppercase;
}
body.studio-page--login .login-form__head h1{
  max-width:11ch;
  margin:0 0 13px;
  color:#171815;
  font:500 clamp(2.25rem,4vw,3.65rem)/.98 "Syne","Inter",sans-serif;
  letter-spacing:-.07em;
  text-wrap:balance;
}
body.studio-page--login .login-form__head span{
  display:block;
  max-width:39ch;
  color:#77736b;
  font-size:.93rem;
  line-height:1.55;
}
body.studio-page--login .login-field{gap:7px;margin-bottom:18px}
body.studio-page--login .login-field label{
  color:#45433e;
  font:650 10px/1.2 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.07em;
}
body.studio-page--login .login-field input{
  min-height:54px;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:16px;
  background:#e9e7e2;
  color:#171815;
  box-shadow:inset 0 0 0 1px rgba(23,24,21,.025);
  font-size:14px;
}
body.studio-page--login .login-field input::placeholder{color:#aaa69d}
body.studio-page--login .login-field input:focus{
  border-color:rgba(23,24,21,.35);
  background:#efede8;
  box-shadow:0 0 0 4px rgba(23,24,21,.06);
}
body.studio-page--login .login-2fa-hint{
  margin:-3px 0 17px;
  padding:0;
  border:0;
  background:transparent;
  color:#969187;
  font-size:.77rem;
}
body.studio-page--login .login-primary-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:10px;
}
body.studio-page--login .login-submit{
  width:auto;
  min-width:152px;
  min-height:50px;
  margin:0;
  padding:0 24px;
  border-radius:999px;
  background:#18302e;
  color:#fff;
  letter-spacing:.05em;
  font-size:10px;
}
body.studio-page--login #registerForm .login-submit,
body.studio-page--login #forgotForm .login-submit{width:100%;margin-top:8px}
body.studio-page--login .login-submit:hover{opacity:1;background:#24423f;transform:translateY(-1px)}
body.studio-page--login .login-text-btn,
body.studio-page--login .login-form__switch button{
  padding:0;
  border:0;
  background:transparent;
  color:#4b4944;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:.78rem;
}
body.studio-page--login .login-text-btn:hover,
body.studio-page--login .login-form__switch button:hover{color:#a34e37}
body.studio-page--login .login-enc-badge{
  justify-content:flex-start;
  margin:18px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#77736b;
  font-size:9px;
}
body.studio-page--login .login-form__switch{
  margin:28px 0 0;
  color:#8a867d;
  font-size:.82rem;
}
body.studio-page--login .login-form__switch button{margin-left:4px}
body.studio-page--login .login-error,
body.studio-page--login .login-success{
  margin:-18px 0 24px;
  padding:12px 14px;
  border-radius:12px;
  font-size:.82rem;
}
body.studio-page--login .login-error{
  border-color:rgba(163,78,55,.22);
  background:rgba(163,78,55,.07);
  color:#91432f;
}
body.studio-page--login .login-success{
  border-color:rgba(42,106,72,.18);
  background:rgba(42,106,72,.07);
  color:#2a6948;
}
body.studio-page--login .pw-strength{background:#d8d5ce}
body.studio-page--login .pw-rules{color:#969187}
body.studio-page--login .login-footer{
  min-height:66px;
  margin:0;
  padding:0 clamp(26px,3.4vw,50px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid rgba(23,24,21,.1);
  color:#9a968d;
  text-align:left;
  font:500 9px/1.3 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.04em;
}
body.studio-page--login .login-footer a{color:#5f5c55}
body.studio-page--login .login-footer a:hover{color:#a34e37}
body.studio-page--reset .login-panel__body{display:flex;align-items:center}
body.studio-page--reset .login-form{width:100%}
body.studio-page--reset .login-submit{width:100%;margin-top:8px}
body.studio-page--reset .login-form__switch a{
  color:#4b4944;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.studio-page--reset .login-form__switch a:hover{color:#a34e37}

@media(min-width:981px){
  html:has(body.studio-page--login),
  body.studio-page--login{
    width:100%;
    height:100svh;
    min-height:0;
    overflow:hidden;
  }
  body.studio-page--login .login-shell{
    height:calc(100svh - clamp(28px,4.4vw,68px));
    min-height:0;
    max-height:900px;
  }
  body.studio-page--login .login-panel{
    min-height:0;
    overflow:hidden;
  }
  body.studio-page--login .login-panel__top{
    min-height:clamp(70px,10vh,90px);
    padding-top:14px;
    padding-bottom:14px;
  }
  body.studio-page--login .login-panel__body{
    min-height:0;
    overflow:hidden;
    padding-top:clamp(18px,3.5vh,42px);
    padding-bottom:clamp(18px,3.5vh,42px);
  }
  body.studio-page--login .login-tabs{
    margin-bottom:clamp(18px,3vh,34px);
  }
  body.studio-page--login .login-form__head{
    margin-bottom:clamp(18px,3.2vh,30px);
  }
  body.studio-page--login .login-form__head h1{
    font-size:clamp(2rem,5.2vh,3.45rem);
    margin-bottom:clamp(8px,1.4vh,13px);
  }
  body.studio-page--login .login-form__head span{
    font-size:clamp(.82rem,1.5vh,.93rem);
    line-height:1.45;
  }
  body.studio-page--login .login-field{
    margin-bottom:clamp(11px,2vh,18px);
  }
  body.studio-page--login .login-field input{
    min-height:clamp(46px,6.5vh,54px);
  }
  body.studio-page--login .login-primary-row{
    margin-top:clamp(4px,1.2vh,10px);
  }
  body.studio-page--login .login-submit{
    min-height:clamp(44px,6.2vh,50px);
  }
  body.studio-page--login .login-form__switch{
    margin-top:clamp(16px,2.8vh,28px);
  }
  body.studio-page--login .login-footer{
    min-height:clamp(52px,7.5vh,66px);
  }
}

@media(min-width:981px) and (max-height:720px){
  body.studio-page--login{padding:12px}
  body.studio-page--login .login-shell{
    height:calc(100svh - 24px);
    border-radius:22px;
  }
  body.studio-page--login .login-panel__top{min-height:66px}
  body.studio-page--login .login-panel__body{
    padding-top:16px;
    padding-bottom:16px;
  }
  body.studio-page--login .login-tabs{
    min-height:28px;
    margin-bottom:14px;
  }
  body.studio-page--login .login-tab{
    min-height:28px;
    padding-bottom:7px;
  }
  body.studio-page--login .login-form__head{margin-bottom:15px}
  body.studio-page--login .login-form__head p{margin-bottom:7px}
  body.studio-page--login .login-form__head h1{
    margin-bottom:7px;
    font-size:clamp(1.8rem,4.8vh,2.45rem);
  }
  body.studio-page--login .login-form__head span{
    font-size:.78rem;
    line-height:1.35;
  }
  body.studio-page--login .login-field{
    gap:5px;
    margin-bottom:9px;
  }
  body.studio-page--login .login-field input{min-height:42px}
  body.studio-page--login .pw-rules{
    margin-top:4px;
    font-size:9px;
    line-height:1.25;
  }
  body.studio-page--login .login-submit{min-height:42px}
  body.studio-page--login .login-form__switch{margin-top:12px}
  body.studio-page--login .login-enc-badge{margin-top:11px}
  body.studio-page--login .login-footer{min-height:48px}
  body.studio-page--login .login-visual__copy{
    bottom:76px;
  }
  body.studio-page--login .login-visual__copy h2{
    margin-bottom:10px;
    font-size:clamp(2.6rem,7vh,4.4rem);
  }
}

@media(max-width:980px){
  body.studio-page--login{padding:18px;place-items:start center}
  body.studio-page--login .login-shell{
    min-height:calc(100svh - 36px);
    grid-template-columns:1fr;
    grid-template-rows:minmax(220px,34svh) auto;
  }
  body.studio-page--login .login-visual__image img{object-position:center 56%}
  body.studio-page--login .login-visual__copy{bottom:28px}
  body.studio-page--login .login-visual__copy h2{font-size:clamp(2.1rem,7vw,3.4rem);margin-bottom:10px}
  body.studio-page--login .login-visual__copy > span,
  body.studio-page--login .login-visual__footer{display:none}
  body.studio-page--login .login-panel{overflow:visible}
}
@media(max-width:600px){
  body.studio-page--login{padding:0;background:#f5f3ed}
  body.studio-page--login .login-shell{
    width:100%;
    min-height:100svh;
    border:0;
    border-radius:0;
    box-shadow:none;
    grid-template-rows:190px auto;
  }
  body.studio-page--login .login-visual__top{
    top:18px;
    left:18px;
    right:18px;
  }
  body.studio-page--login .login-visual__tag{min-height:30px;font-size:8px}
  body.studio-page--login .login-visual__copy{left:20px;right:20px;bottom:18px}
  body.studio-page--login .login-visual__copy p{display:none}
  body.studio-page--login .login-visual__copy h2{max-width:14ch;margin:0;font-size:2rem}
  body.studio-page--login .login-panel__top{min-height:74px;padding:16px 20px}
  body.studio-page--login .login-panel__top .studio-brand-lockup__sub{display:none}
  body.studio-page--login .login-panel__body{padding:30px 20px 38px}
  body.studio-page--login .login-tabs{margin-bottom:28px}
  body.studio-page--login .login-form__head h1{font-size:2.4rem}
  body.studio-page--login .login-primary-row{align-items:flex-start;flex-direction:column}
  body.studio-page--login .login-primary-row .login-submit{width:100%}
  body.studio-page--login .login-footer{padding:0 20px}
  body.studio-page--login .login-footer span{display:none}
  body.studio-page--login .login-footer{justify-content:center}
}

/* Logged-out confirmation — shared split-screen Studio auth layout. */
body.studio-page--logged-out .logout-shell{
  text-align:left;
}
body.studio-page--logged-out .logout-panel__body{
  display:flex;
  align-items:center;
}
body.studio-page--logged-out .logout-content{
  width:100%;
  max-width:590px;
  margin:0 auto;
  text-align:left;
}
body.studio-page--logged-out .logout-status-icon{
  width:54px;
  height:54px;
  margin:0 0 26px;
  display:grid;
  place-items:center;
  border:1px solid rgba(34,91,64,.17);
  border-radius:50%;
  background:rgba(34,91,64,.08);
  color:#255f45;
}
body.studio-page--logged-out .logout-status-icon svg{
  width:25px;
  height:25px;
}
body.studio-page--logged-out .logout-eyebrow{
  margin:0 0 13px;
  color:#a34e37;
  font:600 9px/1.3 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.studio-page--logged-out .logout-title{
  max-width:9ch;
  margin:0 0 17px;
  color:#171815;
  font:500 clamp(2.55rem,5.3vw,4.35rem)/.96 "Manrope","Inter",sans-serif;
  letter-spacing:-.065em;
}
body.studio-page--logged-out .logout-copy{
  max-width:520px;
  margin:0;
  color:#767269;
  font-size:.93rem;
  line-height:1.7;
}
body.studio-page--logged-out .logout-session-info{
  width:100%;
  min-height:54px;
  margin:28px 0 0;
  padding:13px 16px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid rgba(34,91,64,.13);
  border-radius:14px;
  background:rgba(34,91,64,.055);
  color:#35634f;
  font-size:.78rem;
  line-height:1.45;
}
body.studio-page--logged-out .logout-session-info svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}
body.studio-page--logged-out .logout-actions{
  max-width:none;
  margin:30px 0 0;
  display:flex;
  align-items:center;
  gap:12px;
}
body.studio-page--logged-out .logout-btn{
  min-height:50px;
  margin:0;
  padding:0 23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid transparent;
  border-radius:999px;
  font:600 10px/1 "DM Mono","IBM Plex Mono",monospace;
  letter-spacing:.04em;
  text-transform:none;
  text-decoration:none;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body.studio-page--logged-out .logout-btn svg{
  width:15px;
  height:15px;
}
body.studio-page--logged-out .logout-btn--primary{
  background:#18302e;
  color:#fff;
}
body.studio-page--logged-out .logout-btn--primary:hover{
  background:#24423f;
  color:#fff;
  transform:translateY(-1px);
}
body.studio-page--logged-out .logout-btn--secondary{
  border-color:rgba(23,24,21,.15);
  background:transparent;
  color:#4b4944;
}
body.studio-page--logged-out .logout-btn--secondary:hover{
  border-color:rgba(23,24,21,.3);
  color:#171815;
  transform:translateY(-1px);
}

@media(min-width:981px) and (max-height:720px){
  body.studio-page--logged-out .logout-status-icon{
    width:46px;
    height:46px;
    margin-bottom:17px;
  }
  body.studio-page--logged-out .logout-title{
    margin-bottom:12px;
    font-size:clamp(2.25rem,5.6vh,3.2rem);
  }
  body.studio-page--logged-out .logout-copy{
    font-size:.82rem;
    line-height:1.5;
  }
  body.studio-page--logged-out .logout-session-info{
    min-height:46px;
    margin-top:18px;
    padding-top:9px;
    padding-bottom:9px;
  }
  body.studio-page--logged-out .logout-actions{margin-top:20px}
  body.studio-page--logged-out .logout-btn{min-height:44px}
}

@media(max-width:600px){
  body.studio-page--logged-out .logout-content{max-width:none}
  body.studio-page--logged-out .logout-status-icon{
    width:48px;
    height:48px;
    margin-bottom:22px;
  }
  body.studio-page--logged-out .logout-title{
    max-width:10ch;
    font-size:2.65rem;
  }
  body.studio-page--logged-out .logout-actions{
    align-items:stretch;
    flex-direction:column;
  }
  body.studio-page--logged-out .logout-btn{width:100%}
}
