/* Разворот — общий стиль сервиса.
   Layout: a print-shop studio — a slim black app bar on top, a calm cool-grey work surface,
   one signal-orange accent borrowed from printers' registration marks; each product has its own hue. */
:root{
  --paper:#F4F5F7; --surface:#FFFFFF; --ink:#111318; --muted:#5E6472; --line:#E1E3E8; --desk:#E7E9ED;
  --accent:#F2541B; --accent-soft:#FDE7DE; --on-accent:#FFFFFF;
  --bar:#111318; --bar-ink:#F4F5F7; --bar-muted:#9CA1AD;
  --c-vinetki:#16A36A; --c-photobook:#F2541B; --c-calendar:#2F6FEB;
  --ok:#16A36A; --warn:#C2611A; --bad:#D22F45;
  --f-display:"Unbounded", "Arial Black", system-ui, sans-serif;
  --f-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0F1013; --surface:#181A1F; --ink:#EDEEF1; --muted:#9AA0AC; --line:#2A2D35; --desk:#0A0B0D;
  --accent:#FF6A33; --accent-soft:#3A1E14; --on-accent:#140A05;
  --bar:#07080A; --bar-ink:#EDEEF1; --bar-muted:#8D93A0; color-scheme:dark }}
:root[data-theme="dark"]{
  --paper:#0F1013; --surface:#181A1F; --ink:#EDEEF1; --muted:#9AA0AC; --line:#2A2D35; --desk:#0A0B0D;
  --accent:#FF6A33; --accent-soft:#3A1E14; --on-accent:#140A05;
  --bar:#07080A; --bar-ink:#EDEEF1; --bar-muted:#8D93A0; color-scheme:dark }

body{background:var(--paper);color:var(--ink);font-family:var(--f-body)}
h1,h2,h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.01em}

/* app bar, shared by the dashboard and every editor */
.appbar{position:sticky;top:0;z-index:30;background:var(--bar);color:var(--bar-ink)}
.appbar .in{max-width:1280px;margin:0 auto;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:-.02em}
.logo i{width:26px;height:26px;border-radius:7px;background:var(--accent);display:grid;place-items:center;position:relative;flex:none}
.logo i::before,.logo i::after{content:"";position:absolute;top:6px;bottom:6px;width:6px;background:var(--bar);border-radius:1px}
.logo i::before{left:6px;transform:skewY(-12deg)} .logo i::after{right:6px;transform:skewY(12deg)}
.appbar .crumb{color:var(--bar-muted);font-size:14px;text-decoration:none;display:flex;align-items:center;gap:6px}
.appbar .crumb:hover{color:var(--bar-ink)}
.appbar .ptitle{min-width:0;flex:1 1 220px;max-width:420px;background:transparent;border:1px solid transparent;color:var(--bar-ink);font:600 15px/1.2 var(--f-body);padding:7px 9px;border-radius:8px}
.appbar .ptitle:hover{border-color:#30333B} .appbar .ptitle:focus{outline:none;border-color:var(--accent);background:#1B1D22}
.appbar .sp{flex:1}
.appbar .status{font-size:12px;color:var(--bar-muted);font-family:var(--f-mono);white-space:nowrap}
.appbar .status.dirty{color:#F5B547} .appbar .status.err{color:#FF7A85}
.appbar .who{font-size:13px;color:var(--bar-muted)}
.abtn{appearance:none;border:1px solid #33363E;background:transparent;color:var(--bar-ink);font:600 13px/1 var(--f-body);padding:9px 12px;border-radius:9px;cursor:pointer;white-space:nowrap}
.abtn:hover{border-color:var(--bar-muted)}
.abtn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.abtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.prodtag{font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;border-radius:6px;color:#fff}
.prodtag.vinetki{background:var(--c-vinetki)} .prodtag.photobook{background:var(--c-photobook)} .prodtag.calendar{background:var(--c-calendar)}

/* editor pages: their own top bar becomes a step bar under the app bar */
body.editor > header{position:sticky;top:52px;z-index:20}
body.editor > header .brand{display:none}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:10px;font-size:14px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.25)}

body.editor h1{font-size:clamp(22px,2.8vw,30px);line-height:1.15}
body.editor h3{font-size:16px}
a.btn{text-decoration:none}
@media (max-width:700px){.appbar{position:static} body.editor > header{top:0} .appbar .status{order:9;flex-basis:100%}}
