/* «Заходи» — единая система (редизайн 10.2026). Тёмная тема — основная.
   Токены --z-*; старые имена (--bg, --ink, --vi …) — псевдонимы для админки, дашборда и записи.
   Шрифты: Onest — интерфейс, Unbounded — заголовки и крупные цифры, JetBrains Mono — ссылки, таймеры, коды. */
:root{
  --z-bg:#0C0C12;--z-bg-deep:#08080C;--z-side:#101017;
  --z-s1:#121219;--z-s2:#15151D;--z-s3:#1D1D27;--z-hover:#262631;--z-field:#0F0F15;--z-menu:#1C1C26;
  --z-line:#26262F;--z-line2:#2C2C38;--z-line3:#22222C;--z-line4:#33333F;
  --z-ink:#F3F2F8;--z-ink2:#C9C8D4;--z-ink3:#8E8D9C;
  --z-acc:#7B5CFF;--z-acc-h:#8C71FF;--z-acc-l:#B4A3FF;--z-acc-soft:#262044;--z-acc-ink:#C9BEFF;--z-acc-bg:#211B3D;--z-focus:#9B82FF;
  --z-lime:#C6F25C;--z-lime-h:#D2F77A;--z-lime-soft:#26331A;--z-lime-line:#2E3A1A;
  --z-yel:#F2C14E;--z-yel-soft:#3A3115;--z-yel-ink:#F6DE9C;
  --z-red:#FF5C70;--z-red-l:#FF8A98;--z-red-soft:#3A1A20;--z-red-bg:#2A1519;--z-red-line:#4A2128;
  --z-on-lime:#0C0C12;
  --z-r8:8px;--z-r10:10px;--z-r12:12px;--z-r14:14px;--z-r16:16px;--z-r20:20px;--z-r24:24px;
  --z-shadow:0 18px 40px -12px rgba(0,0,0,.7);--z-shadow-lg:0 40px 80px -30px rgba(0,0,0,.8);
  --z-font:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --z-head:"Unbounded","Onest",system-ui,sans-serif;
  --z-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --z-ease:cubic-bezier(.2,.7,.2,1);
  /* псевдонимы старой системы (z.css) */
  --bg:var(--z-bg);--bg2:var(--z-side);--panel:var(--z-s2);--panel2:var(--z-s3);--ink:var(--z-ink);--muted:var(--z-ink3);
  --line:var(--z-line2);--cy:var(--z-acc-l);--mg:var(--z-acc);--vi:var(--z-acc);--lm:var(--z-lime);--red:var(--z-red);
  --fill:var(--z-acc);--r:16px;--body:var(--z-font);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--z-bg);color:var(--z-ink);font-family:var(--z-font);font-size:15px;line-height:1.5;
  -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a{color:var(--z-acc-l);text-decoration:none}a:hover{color:#D3C8FF}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--z-focus);outline-offset:2px}
h1,h2,h3{margin:0}
.z-head{font-family:var(--z-head);font-weight:600;letter-spacing:-.02em}
.z-mono{font-family:var(--z-mono);font-weight:500}
.muted{color:var(--z-ink3)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
svg.i.s16{width:16px;height:16px}svg.i.s20{width:20px;height:20px}svg.i.s22{width:22px;height:22px}

/* знак */
.brand{display:flex;align-items:center;gap:10px;font-family:var(--z-head);font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--z-ink)}
.brand i{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--z-acc);color:#fff;font-style:normal;font-size:16px;font-family:var(--z-head);font-weight:600;flex:none}
a.brand{color:var(--z-ink)}

/* кнопки: 44 / 36 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--z-r12);
  border:1px solid var(--z-line2);background:var(--z-s3);color:var(--z-ink);font:inherit;font-weight:500;font-size:15px;line-height:1.2;
  text-decoration:none;white-space:nowrap;vertical-align:middle;text-align:center;flex-shrink:0;transition:background .15s var(--z-ease),border-color .15s}
.btn:hover{background:#22222C;color:var(--z-ink)}
a.btn{color:var(--z-ink)}
.btn.main,a.btn.main{background:var(--z-acc);border-color:transparent;color:#fff;font-weight:600}
.btn.main:hover{background:var(--z-acc-h)}
.btn.go,a.btn.go{background:var(--z-lime);border-color:transparent;color:var(--z-on-lime);font-weight:600}
.btn.go:hover{background:var(--z-lime-h)}
.btn.red,a.btn.red{background:var(--z-red-bg);border-color:var(--z-red-line);color:var(--z-red-l);font-weight:600}
.btn.red:hover{background:#38181E}
.btn.solid-red{background:var(--z-red);border-color:transparent;color:#fff;font-weight:600}
.btn.ghost{background:transparent}
.btn.on{background:var(--z-acc-bg);border-color:var(--z-acc);color:#E4DEFF}
.btn.sm{min-height:36px;padding:0 14px;border-radius:var(--z-r10);font-size:14px}
.btn.ic{width:44px;padding:0}.btn.sm.ic{width:36px}
.btn.big{min-height:52px;border-radius:var(--z-r14);font-size:16px;font-weight:700}
.btn.wide{width:100%}
.acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.link-btn{background:none;border:0;padding:0 4px;min-height:32px;color:var(--z-acc-l);font-weight:600;font-size:13px}

/* меню «⋯» */
details.dd{position:relative;display:inline-block}
details.dd>summary{list-style:none;width:44px;padding:0;min-height:44px}
details.dd>summary.sm{width:36px;min-height:36px}
details.dd>summary::-webkit-details-marker{display:none}
details.dd[open]>summary{background:var(--z-hover)}
.dd-menu,details.dd>.dd-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:max-content;min-width:240px;max-width:min(320px,calc(100vw - 32px));padding:6px;
  border-radius:var(--z-r14);background:var(--z-menu);border:1px solid #30303C;box-shadow:var(--z-shadow);display:flex;flex-direction:column}
.dd-menu button,.dd-menu a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border:0;border-radius:var(--z-r8);background:transparent;
  color:var(--z-ink);font:inherit;font-size:14px;text-align:left;white-space:normal}
.dd-menu button:hover,.dd-menu a:hover{background:#22222C;color:var(--z-ink)}
.dd-menu .danger{color:var(--z-red-l)}
.dd-menu .sep{height:1px;margin:6px 4px;background:var(--z-line2)}
.dd-menu .note{margin-left:auto;font-size:11px;color:var(--z-ink3);white-space:nowrap}
.dd-menu.up{top:auto;bottom:calc(100% + 6px)}

/* поля */
input,select,textarea{font:inherit;font-size:15px;color:var(--z-ink);background:var(--z-field);border:1px solid var(--z-line2);border-radius:var(--z-r12);
  padding:0 14px;min-height:44px;width:100%}
textarea{padding:10px 14px;min-height:88px}
input::placeholder,textarea::placeholder{color:#6E6D7C}
input:focus,select:focus,textarea:focus{outline:2px solid var(--z-focus);outline-offset:1px;border-color:transparent}
input[readonly]{background:var(--z-s1);color:var(--z-ink2)}
select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E8D9C' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--z-acc)}
input[type=datetime-local]{color-scheme:dark}
.lbl{display:block;font-size:13px;font-weight:600;color:var(--z-ink2);margin-bottom:6px}
.hint{font-size:12px;color:var(--z-ink3);margin-top:6px;line-height:1.45}
.err{color:var(--z-red-l);font-size:14px;min-height:1em}
.field{display:flex;flex-direction:column}
.copyfield{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 6px 0 14px;border-radius:var(--z-r12);background:var(--z-field);border:1px solid var(--z-line2)}
.copyfield input,.copyfield .v{flex:1;min-width:0;border:0;background:transparent;padding:0;min-height:44px;font-family:var(--z-mono);font-size:14px;color:var(--z-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copyfield input:focus{outline:0}

/* переключатель */
.sw{display:flex;gap:14px;align-items:center;cursor:pointer}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw i{flex:none;width:46px;height:28px;border-radius:14px;background:var(--z-line4);position:relative;transition:background .2s var(--z-ease)}
.sw i::after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--z-ink3);transition:left .2s var(--z-ease),background .2s}
.sw input:checked+i{background:var(--z-acc)}.sw input:checked+i::after{left:22px;background:#fff}
.sw input:focus-visible+i{outline:2px solid var(--z-focus);outline-offset:2px}
.sw .t{flex:1;min-width:0;display:flex;flex-direction:column}.sw .t b{font-weight:600}.sw .t span{font-size:13px;color:var(--z-ink3)}

/* сегменты и табы */
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--z-r12);background:var(--z-s2);border:1px solid #272733;max-width:100%;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button,.seg a{min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--z-ink2);font-weight:600;font-size:14px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.seg button.on,.seg a.on,.seg [aria-selected=true]{background:var(--z-hover);color:var(--z-ink)}
.seg .n{color:var(--z-ink3);font-weight:500}

/* карточки */
.card{background:var(--z-s2);border:1px solid var(--z-line);border-radius:var(--z-r20);padding:24px}
.card.flat{background:var(--z-s1);border-color:var(--z-line3)}

/* статусы */
.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;font-size:12px;font-weight:600;white-space:nowrap;width:max-content;
  background:#22222C;color:var(--z-ink2)}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.chip.live{background:var(--z-lime-soft);color:var(--z-lime)}.chip.live::before{animation:zbl 1.4s infinite}
.chip.prep{background:var(--z-yel-soft);color:var(--z-yel)}
.chip.plan{background:var(--z-acc-soft);color:var(--z-acc-ink)}
.chip.done{background:#22222C;color:var(--z-ink2)}
.chip.bad{background:var(--z-red-soft);color:var(--z-red-l)}
.chip.rec{background:var(--z-red-soft);color:var(--z-red-l)}.chip.rec::before{background:var(--z-red);animation:zbl 1.4s infinite}
.chip.nodot::before{display:none}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;background:var(--z-s3);font-size:12px;color:var(--z-ink2);white-space:nowrap}
@keyframes zbl{50%{opacity:.25}}

/* полоса прогресса */
.bar{height:8px;background:var(--z-hover);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--z-acc);border-radius:4px;transition:width .6s var(--z-ease)}

/* тост */
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:999;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  max-width:min(520px,calc(100vw - 32px));padding:10px 10px 10px 16px;min-height:48px;border-radius:var(--z-r14);background:var(--z-menu);border:1px solid #30303C;
  box-shadow:var(--z-shadow);font-size:14px;color:var(--z-ink);animation:ztin .2s var(--z-ease)}
.toast.bad{border-color:var(--z-red-line)}
.toast button{margin-left:auto}
.toast .btn{min-height:36px;padding:0 12px;border-radius:9px;font-size:13px}
@keyframes ztin{from{opacity:0;transform:translate(-50%,8px)}}

/* окно */
.modal{position:fixed;inset:0;z-index:900;display:none;place-items:center;grid-template-columns:minmax(0,1fr);padding:16px;background:rgba(5,5,8,.72)}
.modal.open{display:grid}
.modal .box{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--z-s1);border:1px solid var(--z-line);border-radius:var(--z-r24);
  box-shadow:var(--z-shadow-lg);padding:24px}
.modal .box h3{font-family:var(--z-head);font-weight:600;font-size:20px;letter-spacing:-.02em;margin-bottom:12px}

/* таблица */
.ztable{width:100%;border-collapse:collapse;font-size:14px}
.ztable th{padding:10px 14px;font-size:12px;font-weight:600;color:var(--z-ink3);text-align:left}
.ztable td{padding:12px 14px;border-top:1px solid #1F1F29}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
