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

/* ===== studio/index.php ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#eef1f4;
  --bg-soft:#f6f7f9;
  --surface:#ffffff;
  --surface-soft:#fafbfc;
  --border:#dfe4ea;
  --border-strong:#cfd6de;
  --text:#17181c;
  --text-dim:#61656f;
  --text-muted:#8b9099;
  --accent:#17181c;
  --accent-soft:#e8ebef;
  --ok:#4d7c58;
  --warn:#8f7742;
  --danger:#8b453e;
  --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,.65), transparent 36%),
    linear-gradient(180deg,#f7f8fa 0%,#eef1f4 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;flex-direction:column;gap:24px;
  padding:28px 24px;
  background:linear-gradient(180deg,#f7f8fa 0%,#eef1f4 100%);
}
body.studio-page--index #loading-screen .ls-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:12px 16px;border-radius:14px;background:rgba(28,27,24,.94);
  border:1px solid rgba(0,0,0,.32);color:#F0EBE1;
}
body.studio-page--index #loading-screen .ls-mark{
  width:34px;height:34px;border-radius:10px;border:1px solid rgba(240,235,225,.14);
  background:rgba(240,235,225,.06);display:grid;place-items:center;color:#F0EBE1;
}
body.studio-page--index #loading-screen .ls-mark svg{animation:lsPulse 1.6s ease-in-out infinite}
body.studio-page--index #loading-screen .ls-shell{width:min(1320px,calc(100vw - 32px));margin:0 auto;display:grid;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,#eef1f4 0%,#f6f7f9 50%,#eef1f4 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:rgba(255,255,255,.7);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:none}

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:#F0EBE1;
}
body.studio-page--index .studio-topbar__brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  letter-spacing:-.03em;
  color:#F0EBE1;
}
body.studio-page--index .studio-topbar__mark{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(240,235,225,.14);
  background:rgba(240,235,225,.06);
  display:grid;
  place-items:center;
  color:#F0EBE1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
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(240,235,225,.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:#F0EBE1}

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.15rem;
  line-height:.98;
  letter-spacing:-.07em;
}
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:#f3fbf4;border-color:#d8eddc}
body.studio-page--index .pm-alert.is-err{display:block;background:#fff7f6;border-color:#efd9d6}

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: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;
}
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 14px;
}
body.studio-page--index .pm-search::placeholder,
body.studio-page--index .pm-field input::placeholder,
body.studio-page--index .pm-field textarea::placeholder{color:#a0a5ad}
body.studio-page--index .pm-field textarea{
  min-height:112px;
  padding:12px 14px;
  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:#fff}
body.studio-page--index .pm-btn--soft{background:var(--surface-soft)}
body.studio-page--index .pm-btn--danger{background:#fff;color:var(--danger);border-color:#efd9d6}

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:16px;
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 30px rgba(31,35,41,.04);
}
body.studio-page--index .pm-kpi__value{
  margin-top:8px;
  font-size:1.8rem;
  font-weight:800;
  letter-spacing:-.06em;
  line-height:1;
}
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:rgba(255,255,255,.88);
  overflow:hidden;
  box-shadow:0 16px 44px rgba(31,35,41,.05);
}
body.studio-page--index .pm-table__head{
  display:grid;
  grid-template-columns:minmax(220px,1.25fr) minmax(160px,.9fr) minmax(220px,1fr) 120px max-content;
  gap:16px;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid var(--border);
  background:var(--surface-soft);
}
body.studio-page--index .pm-table__head span{color:var(--text-muted);font-size:10px}
body.studio-page--index .pm-rows{display:grid}
body.studio-page--index .pm-row{
  display:grid;
  grid-template-columns:minmax(220px,1.25fr) minmax(160px,.9fr) minmax(220px,1fr) 120px max-content;
  gap:16px;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid #eef1f4;
}
body.studio-page--index .pm-row:last-child{border-bottom:none}
body.studio-page--index .pm-row:hover{background:#fbfcfd}
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:#d9eadc;background:#f6fbf7}
body.studio-page--index .pm-doc.is-sent{color:var(--warn);border-color:#efe5c9;background:#fcfaf2}
body.studio-page--index .pm-doc.is-draft{color:var(--danger);border-color:#efd9d6;background:#fff8f7}
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:#f8f9fb;
  color:var(--text);
  font-size:.82rem;
  white-space:nowrap;
}
body.studio-page--index .pm-pill.is-inquiry{color:var(--text-dim)}
body.studio-page--index .pm-pill.is-quote{background:#f2f6ff;border-color:#dbe3fb}
body.studio-page--index .pm-pill.is-production{background:#fff9ee;border-color:#f3e6c1}
body.studio-page--index .pm-pill.is-handover{background:#f1fbf3;border-color:#d8eddc}
body.studio-page--index .pm-pill.is-done{background:#f4f4f1;border-color:#e4e4df}
/* Legacy compat */
body.studio-page--index .pm-pill.is-draft{color:var(--text-dim)}
body.studio-page--index .pm-pill.is-active{background:#f2f6ff;border-color:#dbe3fb}
body.studio-page--index .pm-pill.is-won{background:#f1fbf3;border-color:#d8eddc}
body.studio-page--index .pm-pill.is-closed{background:#f4f4f1;border-color:#e4e4df}
body.studio-page--index .pm-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
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:#fff;
  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:#d97706;border-color:#fde68a}
body.studio-page--index .pm-actions__track:hover{background:#fffbeb}
body.studio-page--index .pm-actions__delete{color:var(--danger);border-color:#efd9d6}
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:#fbfbf8;
  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:#fff;
  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:#fff;
  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 #edf0f3;
  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 #e7e9ed;
  background:#f6f7f9;
  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 #e7e9ed;
  background:rgba(255,255,255,.82);
}
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 #e7e9ed;
  background:#fff;
  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:#f4f5f7;
}

@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{
    grid-template-columns:minmax(200px,1.15fr) minmax(150px,.9fr) minmax(190px,1fr) 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}
}
/* View toggle */
body.studio-page--index .pm-view-toggle{display:flex;gap:4px;margin-bottom:4px;background:var(--accent-soft);border-radius:14px;padding:4px;width:fit-content}
body.studio-page--index .pm-view-toggle .pm-btn{min-height:34px;padding:0 14px;border-radius:12px;border:none;background:transparent;color:var(--text-dim);font:600 11px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
body.studio-page--index .pm-view-toggle .pm-btn.is-active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.06)}
/* Kanban */
body.studio-page--index .pm-kanban{display:none;grid-template-columns:repeat(7,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:16px}
body.studio-page--index .pm-kanban.is-visible{display:grid}
body.studio-page--index .pm-kanban-col{background:var(--bg-soft);border-radius:16px;padding:12px;min-height:200px}
body.studio-page--index .pm-kanban-col__head{font:700 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
body.studio-page--index .pm-kanban-col.is-drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}
body.studio-page--index .pm-kanban-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:10px;margin-bottom:8px;cursor:grab;transition:transform .1s ease,box-shadow .1s ease}
body.studio-page--index .pm-kanban-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}
body.studio-page--index .pm-kanban-card.is-dragging{opacity:.5;cursor:grabbing}
body.studio-page--index .pm-kanban-card__name{font-weight:700;font-size:.85rem;margin-bottom:4px}
body.studio-page--index .pm-kanban-card__client{font-size:.78rem;color:var(--text-dim);margin-bottom:6px}
body.studio-page--index .pm-kanban-card__badges{display:flex;gap:4px;flex-wrap:wrap}
body.studio-page--index .pm-kanban-card__badge{font:600 9px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.04em;padding:2px 7px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text-dim)}
body.studio-page--index .pm-kanban-card__badge.is-ready,body.studio-page--index .pm-kanban-card__badge.is-signed,body.studio-page--index .pm-kanban-card__badge.is-done{color:var(--ok);border-color:#d9eadc;background:#f6fbf7}
body.studio-page--index .pm-kanban-card__badge.is-sent{color:var(--warn);border-color:#efe5c9;background:#fcfaf2}
body.studio-page--index .pm-kanban-card__badge.is-draft{color:var(--danger);border-color:#efd9d6;background:#fff8f7}
body.studio-page--index .pm-kanban-card__stage{font:600 9px/1 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:6px}
@media (max-width:1200px){
  body.studio-page--index .pm-kanban{grid-template-columns:repeat(4,minmax(200px,1fr))}
}
@media (max-width:720px){
  body.studio-page--index .pm-kanban{grid-template-columns:1fr;overflow-x:visible}
  body.studio-page--index .pm-view-toggle{width:100%}
  body.studio-page--index .pm-view-toggle .pm-btn{flex:1;text-align:center}
}
/* 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}
/* Calendar */
body.studio-page--index .pm-calendar{display:none;border:1px solid var(--border);border-radius:24px;background:var(--surface);padding:16px;box-shadow:0 16px 44px rgba(31,35,41,.05)}
body.studio-page--index .pm-calendar.is-visible{display:block}
body.studio-page--index .pm-calendar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}
body.studio-page--index .pm-calendar__title{font-size:1.2rem;font-weight:700;letter-spacing:-.03em;margin:0}
body.studio-page--index .pm-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
body.studio-page--index .pm-calendar__dayhead{font:700 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:8px 4px;text-align:center}
body.studio-page--index .pm-calendar__cell{min-height:90px;border-radius:8px;border:1px solid var(--border);padding:4px;background:var(--bg-soft);position:relative}
body.studio-page--index .pm-calendar__cell--today{background:var(--surface);border-color:var(--accent)}
body.studio-page--index .pm-calendar__cell--other{opacity:.35}
body.studio-page--index .pm-calendar__date{font:600 11px/1.2 'DM Mono',ui-monospace,monospace;color:var(--text-dim);padding:2px 4px}
body.studio-page--index .pm-calendar__event{font-size:.72rem;padding:2px 4px;border-radius:4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
body.studio-page--index .pm-calendar__event--stage_inquiry{background:#f6f7f9;color:var(--text-dim)}
body.studio-page--index .pm-calendar__event--stage_quote{background:#eef1ff;color:#4361ee}
body.studio-page--index .pm-calendar__event--stage_production{background:#fce4ec;color:#c0392b}
body.studio-page--index .pm-calendar__event--stage_handover{background:#e0f7fa;color:#00838f}
body.studio-page--index .pm-calendar__event--stage_done{background:#f5f5f5;color:#61656f}
@media(max-width:700px){body.studio-page--index .pm-calendar__cell{min-height:60px}body.studio-page--index .pm-calendar__event{font-size:.65rem}}

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:#f1fbf3;color:#4d7c58}
body.studio-page--index .pm-online-status--offline{background:#fff7f6;color:#8b453e;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, rgba(255,255,255,.65), transparent 36%),
    linear-gradient(180deg,#f7f8fa 0%,#eef1f4 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:rgba(255,255,255,.92);
  box-shadow:0 24px 60px rgba(31,35,41,.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(23,24,28,.05);
}
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(0,0,0,.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(23,24,28,.08)}
body.studio-page--index .nr-login-error{
  display:none;padding:10px 12px;border-radius:12px;border:1px solid #efd9d6;
  background:#fff7f6;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-submit{
  width:100%;min-height:48px;border-radius:16px;border:none;background:var(--accent);
  color:#fff;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(240,235,225,.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(240,235,225,.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(240,235,225,.14);
    color:#F0EBE1;
  }
  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 ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#eef1f4;--bg-soft:#f6f7f9;--surface:#ffffff;--surface-soft:#fafbfc;
  --border:#dfe4ea;--border-strong:#cfd6de;--text:#17181c;--text-dim:#61656f;
  --text-muted:#8b9099;--accent:#17181c;--accent-soft:#e8ebef;
  --ok:#4d7c58;--warn:#8f7742;--danger:#8b453e;
  --radius:12px;--radius-lg:18px;--radius-xl:24px;
}
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,rgba(255,255,255,.65),transparent 36%),
    linear-gradient(180deg,#f7f8fa 0%,#eef1f4 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,#f7f8fa 0%,#eef1f4 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:rgba(255,255,255,.6);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,#eef1f4 0%,#f6f7f9 50%,#eef1f4 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:rgba(255,255,255,.7);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:#F0EBE1;
}
body.studio-page--project .studio-topbar__brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.03em;color:#F0EBE1;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(240,235,225,.14);
  background:rgba(240,235,225,.06);display:grid;place-items:center;color:#F0EBE1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
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(240,235,225,.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:#F0EBE1}
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(240,235,225,.05);
  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:#c8d9c0;border-color:rgba(127,174,121,.3);background:rgba(127,174,121,.12)}
body.studio-page--project .studio-topbar__module.is-sent{color:#e6d5a7;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.15rem;line-height:.98;letter-spacing:-.07em}
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:#f3fbf4;border-color:#d8eddc}
body.studio-page--project .pr-alert.is-err{display:block;background:#fff7f6;border-color:#efd9d6}

/* Tabs */
body.studio-page--project .pr-tabs{
  display:flex;gap:4px;flex-wrap:wrap;
  padding:6px;border-radius:18px;border:1px solid var(--border);
  background:rgba(255,255,255,.72);
}
body.studio-page--project .pr-tab{
  flex:1;min-height:40px;border-radius:12px;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;
}
body.studio-page--project .pr-tab:hover{color:var(--text)}
body.studio-page--project .pr-tab.is-active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.06)}

/* Panels */
body.studio-page--project .pr-panel{
  border-radius:var(--radius-xl);border:1px solid var(--border);
  background:rgba(255,255,255,.88);padding:20px;
  box-shadow:0 16px 44px rgba(31,35,41,.05);
}
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}
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:#a0a5ad}
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(23,24,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:#fff}
body.studio-page--project .pr-btn--soft{background:var(--surface-soft)}
body.studio-page--project .pr-btn--danger{background:#fff;color:var(--danger);border-color:#efd9d6}

/* 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:#fff;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(23,24,28,.08)}
body.studio-page--project .pr-comment-form textarea::placeholder{color:#a0a5ad}
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:#a0a5ad}
body.studio-page--project .pr-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:.92rem}

/* Production sub-tabs */
body.studio-page--project .prod-subtabs{display:flex;gap:4px;margin-bottom:16px;background:var(--accent-soft);border-radius:10px;padding:3px}
body.studio-page--project .prod-subtab{flex:1;min-height:34px;border-radius:7px;border:none;background:transparent;font:600 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);cursor:pointer}
body.studio-page--project .prod-subtab.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.06)}
body.studio-page--project .prod-section{min-height:120px}

/* Production board */
body.studio-page--project .prod-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
body.studio-page--project .prod-search,body.studio-page--project .prod-sel{min-height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:400 13px/1.2 'Inter',sans-serif;padding:0 10px;color:var(--text)}
body.studio-page--project .prod-search{flex:1;min-width:160px}
body.studio-page--project .prod-sel{min-width:130px}
body.studio-page--project .prod-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
body.studio-page--project .prod-card{background:var(--surface);border-radius:10px;border:1px solid var(--border);padding:12px;cursor:pointer;transition:border-color .15s}
body.studio-page--project .prod-card:hover{border-color:var(--accent)}
body.studio-page--project .prod-card-t{font-weight:700;font-size:.85rem;margin-bottom:4px}
body.studio-page--project .prod-card-m{font-size:.78rem;color:var(--text-dim);margin-bottom:6px}
body.studio-page--project .prod-badges{display:flex;gap:3px;flex-wrap:wrap}
body.studio-page--project .prod-badge{font:600 8px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;padding:2px 5px;border-radius:5px;border:1px solid var(--border)}
body.studio-page--project .prod-badge.--todo{background:var(--accent-soft);color:var(--text-muted)}
body.studio-page--project .prod-badge.--in_progress{background:#fffbeb;color:#d97706;border-color:#fde68a}
body.studio-page--project .prod-badge.--done{background:#f0fdf4;color:#059669;border-color:#a7f3d0}
body.studio-page--project .prod-badge.--high{background:#fee2e2;color:#dc2626;border-color:#fecaca}
body.studio-page--project .prod-card-add{background:transparent;border:1px dashed var(--border);border-radius:10px;padding:10px;text-align:center;color:var(--text-muted);font-size:.82rem;cursor:pointer}
body.studio-page--project .prod-card-add:hover{border-color:var(--text-dim);color:var(--text-dim)}

/* Production timer & logs */
body.studio-page--project .prod-timer-row{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
body.studio-page--project .prod-timer-run{font:600 14px/1.2 'DM Mono',ui-monospace,monospace;color:#d97706;display:none}
body.studio-page--project .prod-logs{max-height:260px;overflow-y:auto}
body.studio-page--project .prod-log{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.82rem}
body.studio-page--project .prod-log:last-child{border-bottom:none}
body.studio-page--project .prod-log .dur{font:600 11px/1.2 'DM Mono',ui-monospace,monospace;color:var(--text)}

/* Production docs */
body.studio-page--project .prod-doc-btns{display:flex;gap:6px;flex-wrap:wrap}
body.studio-page--project .prod-doc-item{padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;cursor:pointer;background:var(--surface)}
body.studio-page--project .prod-doc-item:hover{border-color:var(--accent)}
body.studio-page--project .prod-doc-item strong{font-size:.85rem;display:block;margin-bottom:2px}
body.studio-page--project .prod-doc-item span{font-size:.78rem;color:var(--text-dim)}

/* Production buttons */
body.studio-page--project .prod-btn{min-height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--border);background:var(--surface);font:600 9px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .15s}
body.studio-page--project .prod-btn:hover{border-color:var(--text-dim)}
body.studio-page--project .prod-btn--p{background:var(--accent);color:#fff;border-color:var(--accent)}
body.studio-page--project .prod-btn--p:hover{opacity:.88}

/* 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}
}

body.studio-page--project .pr-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
body.studio-page--project .pr-modal.is-open{display:flex}
body.studio-page--project .pr-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}
body.studio-page--project .pr-modal__dialog{position:relative;width:min(700px,100%);max-height:85vh;overflow:auto;background:var(--surface);border-radius:16px;border:1px solid var(--border);padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.15)}

/* 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:#fff;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--primary{background:var(--accent);color:#fff;border-color:var(--accent)}
body.studio-page--project .doc-btn--primary:hover{background:#000;border-color:#000;color:#fff}
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:#1C1B18;color:#F0EBE1;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:#1f3d27;color:#e8f3ea}
body.studio-page--project .doc-toast--err{background:#45211e;color:#f7e0dd}
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:#fff;border-radius:4px;border:1px solid var(--border);box-shadow:0 12px 40px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.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:#1C1B18;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:#9a9da7;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e6e6df}
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:#1C1B18;border-radius:6px;display:grid;place-items:center;color:#F0EBE1;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:#9a9da7;letter-spacing:.04em}
body.studio-page--project .doc-paper__ref{text-align:right;font-size:9px;color:#9a9da7}
body.studio-page--project .doc-paper__ref strong{display:block;font-size:13px;color:#1C1B18}
body.studio-page--project .doc-paper__kicker{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#d97706;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:#676a73;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:#f6f6f3;color:#676a73}
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 #e6e6df}
body.studio-page--project .doc-paper__stat{font-size:10px}
body.studio-page--project .doc-paper__stat span{display:block;color:#9a9da7;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:#9a9da7;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 #e6e6df;display:flex;justify-content:space-between;font-size:9px;color:#9a9da7}
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 #e6e6df}
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(23,24,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:#fff;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:#fff7f6;border:1px solid #efd9d6;color:var(--danger);
  display:grid;place-items:center;font-size:20px;font-weight:800;
}

/* ===== studio/account.php ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#eef1f4;--bg-soft:#f6f7f9;--surface:#ffffff;--surface-soft:#fafbfc;
  --border:#dfe4ea;--border-strong:#cfd6de;--text:#17181c;--text-dim:#61656f;
  --text-muted:#8b9099;--accent:#17181c;--ok:#4d7c58;--warn:#8f7742;--danger:#8b453e;
  --radius:12px;
}
body.studio-page--account{font:400 14px/1.5 'Inter',sans-serif;color:var(--text);background:linear-gradient(180deg,#f7f8fa,#eef1f4);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:#F0EBE1}
body.studio-page--account .studio-topbar__brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.03em;color:#F0EBE1}
body.studio-page--account .studio-topbar__mark{width:34px;height:34px;border-radius:10px;border:1px solid rgba(240,235,225,.14);background:rgba(240,235,225,.06);display:grid;place-items:center;color:#F0EBE1;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
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(240,235,225,.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:#F0EBE1}
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(240,235,225,.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(23,24,28,.06)}
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:#fff}
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:#0e0f13;
      --bg-soft:#16181d;
      --surface:#1c1c22;
      --surface-soft:#202127;
      --border:#2a2c34;
      --border-strong:#36383f;
      --text:#e0e1e5;
      --text-dim:#a0a5ad;
      --text-muted:#61656f;
      --accent:#c26a61;
      --accent-soft:rgba(194,106,97,.12);
      --ok:#7fae79;
      --warn:#c8a672;
      --danger:#c26a61;
      --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,#0e0f13 0%,#14151b 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(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.04) 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 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-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:#fff;
      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 rgba(255,255,255,.2);
      border-top-color:#fff;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:#a8c57f}
    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:#0e0f13;
      --bg-soft:#16181d;
      --surface:#1c1c22;
      --surface-soft:#202127;
      --border:#2a2c34;
      --border-strong:#36383f;
      --text:#e0e1e5;
      --text-dim:#a0a5ad;
      --text-muted:#61656f;
      --accent:#c26a61;
      --accent-soft:rgba(194,106,97,.12);
      --ok:#7fae79;
      --warn:#c8a672;
      --danger:#c26a61;
      --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,#0e0f13 0%,#14151b 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(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.04) 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:#fff;
    }
    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(240,235,225,.14);
  background:rgba(240,235,225,.06);
  color:#F0EBE1;
  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(240,235,225,.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(240,235,225,.04);
    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:#F0EBE1;
  }
  .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(240,235,225,.08);
    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))}
}

/* ===== Graphite-gray Studio theme ===== */
/* NeuroResin Studio theme: graphite-gray dashboard skin */
:root{
  --bg:#b9bbb7;
  --bg-soft:#c4c6c2;
  --surface:#c9cac6;
  --surface-soft:#bfc1bd;
  --surface-glass:rgba(205,206,201,.72);
  --surface-strong:#d2d3ce;
  --border:rgba(34,36,35,.14);
  --border-strong:rgba(34,36,35,.24);
  --text:#171817;
  --text-dim:#4c4f4b;
  --text-muted:#777b76;
  --accent:#202221;
  --accent-soft:rgba(255,255,255,.24);
  --ok:#6f8976;
  --warn:#89774f;
  --danger:#8f5c55;
  --studio-rail:#202221;
  --studio-rail-2:#2a2c2a;
  --studio-light:#eef0eb;
  --studio-focus:rgba(32,34,33,.12);
  --studio-shadow:0 18px 44px rgba(35,38,36,.13);
  --studio-shadow-soft:0 8px 22px rgba(35,38,36,.08);
}

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

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

#loading-screen,
.nr-login-shell{
  background:
    radial-gradient(900px 560px at 22% 0%, rgba(255,255,255,.22), transparent 62%),
    linear-gradient(180deg,#c3c5c1 0%,#b7bab6 54%,#acaeaa 100%);
}

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

.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:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:var(--studio-light);
}

.studio-topbar__module{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  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:#dbe8d7;
}

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

.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-calendar,
.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,
.pm-kanban-col,
.pm-view-toggle,
.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 rgba(255,255,255,.24);
}

.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 rgba(255,255,255,.28);
}

.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,#252725,#1e201f);
  border-color:#1e201f;
  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);
}

.pm-view-toggle .pm-btn.is-active,
.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-kanban-card__badge,
.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,
.pm-kanban-card__badge.is-ready,
.pm-kanban-card__badge.is-signed,
.pm-kanban-card__badge.is-done{
  color:var(--ok);
  border-color:rgba(111,137,118,.24);
  background:rgba(111,137,118,.12);
}

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

.pm-doc.is-draft,
.pm-kanban-card__badge.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-kanban-card,
.pm-calendar__cell{
  background:rgba(238,239,234,.38);
  border-color:var(--border);
}

.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:#365f43;
}

.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),rgba(255,255,255,.10));
}

.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);
}

.pr-modal__backdrop{
  background:rgba(30,32,31,.46);
}

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

.prod-subtabs,
.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);
}

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

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

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

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

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

.prod-btn--p,
.prod-card.--selected,
.doc-btn--primary,
.ls-error-btn:not(.ls-error-btn--soft){
  background:linear-gradient(180deg,#252725,#1e201f);
  border-color:#1e201f;
  color:var(--studio-light);
}

.prod-badge,
.prod-badge.--todo{
  background:rgba(238,239,234,.42);
  border-color:var(--border);
  color:var(--text-muted);
}

.prod-badge.--in_progress{
  background:rgba(137,119,79,.13);
  border-color:rgba(137,119,79,.26);
  color:var(--warn);
}

.prod-badge.--done{
  background:rgba(111,137,118,.13);
  border-color:rgba(111,137,118,.26);
  color:var(--ok);
}

.prod-badge.--high{
  background:rgba(143,92,85,.12);
  border-color:rgba(143,92,85,.25);
  color:var(--danger);
}

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

.doc-section__head h3,
.doc-sig__head strong,
.prod-log .dur,
.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;
}

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

.doc-toast--ok{
  background:#344238;
  color:#e6efe5;
}

.doc-toast--err{
  background:#4b302d;
  color:#f3e1de;
}

/* ===== Scoped graphite skin after consolidation ===== */
body.studio-page{
  background:
    radial-gradient(900px 560px at 18% 0%, rgba(255,255,255,.14), transparent 64%),
    linear-gradient(180deg,#9ca09a 0%,#838780 48%,#6f736d 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,.14), transparent 64%),
    linear-gradient(180deg,#9ca09a 0%,#838780 48%,#6f736d 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:rgba(255,255,255,.08);
  color:var(--studio-light);
  box-shadow:0 1px 0 rgba(255,255,255,.05), 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-calendar,
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 .pm-kanban-col,
body.studio-page .pm-view-toggle,
body.studio-page .nr-login-tabs,
body.studio-page .login-tabs,
body.studio-page .logout-session-info,
body.studio-page .stat{
  background:rgba(255,255,255,.22);
  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 rgba(255,255,255,.22);
}

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,#252725,#1e201f);
  border-color:#1e201f;
  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-kanban-card__badge,
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 .pm-kanban-card,
body.studio-page .pm-calendar__cell,
body.studio-page .prod-card,
body.studio-page .prod-doc-item,
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,
body.studio-page .pr-modal__backdrop{
  background:rgba(24,26,25,.46);
}
