/* ==========================================================================
   АМТИС Програматор — app.css
   Портиран 1:1 от <style> блока на src/amtis-programator.html (ред 4–307).
   Имената на класовете, custom properties и селекторите са запазени точно
   такива, какви бяха — Go темплейтите разчитат на тях.
   Новото (само за SSR) е в последната секция „NEW / SSR-only“.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Шрифт — Sofia Sans, self-hosted (CSP блокира Google Fonts).
   Variable woff2 от Google Fonts (SIL OFL 1.1), едно тегло 400–800 на файл,
   разделени по unicode-range, както ги сервира Google.
   -------------------------------------------------------------------------- */
@font-face{font-family:"Sofia Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("/static/fonts/SofiaSans-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:"Sofia Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("/static/fonts/SofiaSans-cyrillic.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Sofia Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("/static/fonts/SofiaSans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Sofia Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("/static/fonts/SofiaSans-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --ground:#F6F5F0; --surface:#FFFFFF; --surface2:#EFEEE7; --ink:#14202E; --muted:#66736D;
  --line:#DDDCD2; --pine:#2A7F3B; --pine-soft:#E2F0E5; --amber:#B36F1D; --amber-soft:#F6EAD8;
  --danger:#B3402F; --danger-soft:#F6E3DF;
  --chip-uch:#2A7F3B; --chip-tea:#7E5AA0; --chip-jur:#B36F1D; --chip-eki:#206AB3; --chip-rod:#66736D;
  --shadow:0 8px 28px rgba(34,48,42,.10);
  /* цветовете на логото „Аз мога — тук и сега“ — еднакви в двете теми */
  --az:#DA3128; --moga:#206AB3; --tuk:#359847; --i:#EBA726; --sega:#7E5AA0;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#121815; --surface:#1B231F; --surface2:#232D28; --ink:#E7ECE8; --muted:#93A099;
    --line:#313C36; --pine:#5DB56E; --pine-soft:#1F3626; --amber:#E09A4A; --amber-soft:#3A2E1C;
    --danger:#E06A55; --danger-soft:#40251F;
    --chip-uch:#5DB56E; --chip-tea:#A98BC4; --chip-jur:#E09A4A; --chip-eki:#5C9BDB; --chip-rod:#93A099;
    --shadow:0 8px 28px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --ground:#121815; --surface:#1B231F; --surface2:#232D28; --ink:#E7ECE8; --muted:#93A099;
  --line:#313C36; --pine:#5DB56E; --pine-soft:#1F3626; --amber:#E09A4A; --amber-soft:#3A2E1C;
  --danger:#E06A55; --danger-soft:#40251F;
  --chip-uch:#5DB56E; --chip-tea:#A98BC4; --chip-jur:#E09A4A; --chip-eki:#5C9BDB; --chip-rod:#93A099;
  --shadow:0 8px 28px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.5 "Sofia Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--pine);outline-offset:1px}
a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--pine);outline-offset:1px}
.app{max-width:1180px;margin:0 auto;padding:18px 20px 60px}
/* top bar */
.top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.brand{display:flex;align-items:baseline;gap:10px}
.brand h1{margin:0;font-size:21px;font-weight:800;letter-spacing:.2px}
.brand .sub{color:var(--muted);font-size:13px}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 13px;font-weight:600}
.btn:hover{border-color:var(--pine)}
.btn.primary{background:var(--pine);border-color:var(--pine);color:#fff}
.btn.primary:hover{filter:brightness(1.07)}
.btn.subtle{background:none;border-color:transparent;color:var(--muted)}
.btn.subtle:hover{color:var(--ink)}
.btn:disabled{opacity:.5;cursor:default}
select.progsel{font-weight:700;max-width:320px}
/* status line */
.statusline{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin:-6px 0 12px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.dot.ok{background:var(--pine)} .dot.warn{background:var(--amber)}
/* day tabs + view chips */
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 12px;font-weight:700}
.tab small{display:block;font-weight:500;color:var(--muted);font-size:11px}
.tab.on{background:var(--pine);border-color:var(--pine);color:#fff}
.tab.on small{color:#DDEBE3}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.vchip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}
.mode{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:6px 12px;font-size:13.5px;font-weight:700}
.mode.on{background:var(--pine);border-color:var(--pine);color:#fff}
.vchip.on{background:var(--ink);color:var(--ground);border-color:var(--ink)}
/* agenda */
.agenda{display:flex;flex-direction:column;gap:8px}
.row{display:grid;grid-template-columns:106px 1fr auto;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 17px;cursor:pointer}
.row:hover{border-color:var(--pine)}
.row.conf{border-color:var(--danger)}
.time{font-weight:800;font-variant-numeric:tabular-nums;font-size:17px}
.time small{display:block;font-weight:500;color:var(--muted);font-size:14px}
.evt .t{font-weight:700;font-size:17px}
.evt .d{color:var(--muted);font-size:14px;margin-top:3px;max-width:62ch}
.lnk{display:inline-block;font-size:13px;font-weight:600;color:var(--pine);background:var(--pine-soft);border-radius:999px;padding:2px 10px;margin:4px 6px 0 0;text-decoration:none}
.lnk:hover{filter:brightness(1.08)}
.meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:150px}
.loc{font-size:12.5px;color:var(--muted)}
.badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.aud{font-size:12px;font-weight:700;letter-spacing:.3px;padding:3px 10px;border-radius:999px;color:#fff}
.own{font-size:12.5px;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
.own.conf{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);font-weight:700}
.warntag{font-size:11.5px;color:var(--danger);font-weight:700}
.empty{color:var(--muted);text-align:center;padding:34px 10px;border:1px dashed var(--line);border-radius:12px}
/* team rail + drag&drop */
.withrail{display:grid;grid-template-columns:1fr 205px;gap:12px;align-items:start}
.rail{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;position:sticky;top:12px}
.rail h4{margin:0 0 4px;font-size:14px}
.rail .rh{font-size:12px;color:var(--muted);margin-bottom:10px}
.pchips{display:flex;flex-direction:column;gap:6px}
.pchip{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface2);border-radius:9px;padding:6px 10px;font-size:13.5px;font-weight:600;cursor:grab;user-select:none}
.pchip:active{cursor:grabbing}
.pchip .cnt{font-size:11px;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}
.pchip.freeday .cnt{color:var(--pine);border-color:var(--pine)}
.row.dropok{border-color:var(--pine);box-shadow:0 0 0 2px var(--pine) inset}
.qadd{border:1px dashed var(--line);background:none;border-radius:999px;padding:2px 9px;font-size:11.5px;color:var(--muted)}
.qadd:hover{color:var(--pine);border-color:var(--pine)}
.qa-sec{margin-top:12px}
.qa-sec h5{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.qa-list{display:flex;gap:6px;flex-wrap:wrap}
.qa-p{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:13px}
.qa-p.freep:hover{background:var(--pine);border-color:var(--pine);color:#fff}
.qa-p.busyp{color:var(--danger);border-color:var(--danger)}
.qa-p.onp{background:var(--pine);border-color:var(--pine);color:#fff}
.qa-p.busyp small,.qa-p small{font-weight:400;opacity:.8}
/* home cards delete */
.progcard{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 8px 8px 16px}
.progcard:hover{border-color:var(--pine)}
.progcard .open{flex:1;text-align:left;background:none;border:none;padding:8px 0}
.progcard .open b{display:block;font-size:15px}
.progcard .open span{color:var(--muted);font-size:13px}
.progcard .del{border:none;background:none;color:var(--muted);font-size:16px;padding:8px 10px;border-radius:8px}
.progcard .del:hover{color:var(--danger);background:var(--danger-soft)}
/* оригиналът ползваше !important тук; заменено с по-конкретен hover селектор,
   за да няма !important в файла — визуално е същото */
.del.arm,.btn.arm{background:var(--danger);color:#fff;font-size:13px;font-weight:800;border-color:var(--danger)}
.progcard .del.arm:hover{background:var(--danger);color:#fff}
/* timeline (График) */
.tlwrap{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-left:0;overflow:hidden;user-select:none}
.tlaxis{position:absolute;left:0;top:0;bottom:0;width:56px;border-right:1px solid var(--line)}
.tlaxis span{position:absolute;left:8px;transform:translateY(-50%);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.tlgrid{position:absolute;left:56px;right:0;border-top:1px solid var(--line);opacity:.55}
.tlcanvas{position:relative;margin-left:56px}
.tlb{position:absolute;border-radius:9px;background:var(--pine-soft);border:1px solid var(--pine);padding:6px 10px;font-size:14px;line-height:1.3;overflow:hidden;cursor:grab;touch-action:none;box-sizing:border-box;transition:box-shadow .12s}
.tlb:active{cursor:grabbing}
.tlb .tt{font-weight:700;font-size:15.5px;line-height:1.2}
.tlb .tm{font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:700;margin-top:2px}
.tlb .tx{font-size:14px;color:var(--muted);margin-top:1px}
.tlb .tx b{font-weight:600;color:var(--ink)}
.tlb .hnd{position:absolute;left:0;right:0;height:12px;cursor:ns-resize}
.tlb .hnd.top{top:0}.tlb .hnd.bot{bottom:0}
.tlb .hnd::after{content:"";position:absolute;left:50%;width:26px;height:3px;margin-left:-13px;border-radius:2px;background:var(--pine);opacity:0;transition:opacity .12s}
.tlb .hnd.top::after{top:2px}.tlb .hnd.bot::after{bottom:2px}
.tlb:hover .hnd::after,.tlb.dragging .hnd::after{opacity:.55}
.tlb.conf{background:var(--danger-soft);border-color:var(--danger)}
.tlb.dropok{outline:2px solid var(--pine)}
.tlb.dragging{opacity:.94;box-shadow:var(--shadow);z-index:6;cursor:grabbing;transition:none}
.tlb.dragging .tm{color:var(--pine)}
.tlghost{position:absolute;border:2px dashed var(--pine);border-radius:9px;opacity:.45;box-sizing:border-box;pointer-events:none}
@media (prefers-reduced-motion: reduce){.tlb,.tlb .hnd::after{transition:none}}
/* engagement (Заетост) */
.engaxis{display:grid;grid-template-columns:130px 1fr 96px;gap:12px;padding:2px 14px;font-size:11.5px;color:var(--muted)}
.engaxis .ticks{position:relative;height:14px}
.engaxis .ticks span{position:absolute;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.eng{display:flex;flex-direction:column;gap:8px}
.engrow{display:grid;grid-template-columns:130px 1fr 96px;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 14px}
.engrow .nm{font-weight:700;font-size:14.5px}
.engtrack{position:relative;height:28px;background:var(--surface2);border-radius:6px}
.engblk{position:absolute;top:3px;bottom:3px;background:var(--pine);border-radius:4px;opacity:.9;min-width:3px}
.engblk.conf{background:var(--danger)}
.engtotal{font-variant-numeric:tabular-nums;text-align:right;font-weight:700;font-size:13.5px}
.engtotal.free{color:var(--pine)}
/* people view */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:10px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.pcard h4{margin:0 0 8px;font-size:15px}
.pcard .slot{display:flex;gap:8px;font-size:13px;padding:3px 0}
.pcard .slot b{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.pcard .slot.conf{color:var(--danger);font-weight:700}
.pcard .free{color:var(--muted);font-size:13px}
.freebox{background:var(--pine-soft);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.freebox b{font-weight:700}
.freebox .names{font-size:13.5px}
/* home / templates */
.home h2{font-size:18px;margin:22px 0 10px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-align:left}
.card:hover{border-color:var(--pine);box-shadow:var(--shadow)}
.card b{display:block;font-size:15px}
.card span{color:var(--muted);font-size:13px}
.proglist .card{display:flex;justify-content:space-between;align-items:center;gap:10px}
/* modal — остава за диалозите „потвърди и върни“ */
.scrim{position:fixed;inset:0;background:rgba(10,14,12,.45);display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow:auto;z-index:50}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);width:100%;max-width:640px;padding:20px 22px}
.modal h3{margin:0 0 14px;font-size:17px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.f{display:flex;flex-direction:column;gap:4px}
.f.wide{grid-column:1/-1}
.f label{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.togglerow{display:flex;gap:6px;flex-wrap:wrap}
.tg{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:13px}
.tg.on{background:var(--pine);border-color:var(--pine);color:#fff}
.tg.on.warn{background:var(--danger);border-color:var(--danger)}
.mfoot{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.mfoot .right{display:flex;gap:8px}
.mfoot > .right:only-child{margin-left:auto}
.hint{font-size:12.5px;color:var(--muted)}
.linkout{background:var(--amber-soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13.5px;margin-top:12px;word-break:break-all}
.linkout a{color:var(--amber);font-weight:700}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:var(--ground);padding:10px 16px;border-radius:10px;font-weight:600;z-index:99;box-shadow:var(--shadow)}
/* v4.2: горна лента на два реда — навигация до логото, действия отдолу */
.top{justify-content:flex-start;gap:10px 18px;margin-bottom:10px}
.nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1 380px;min-width:0}
.nav select{min-width:0}
.bar{margin-bottom:12px}
.livepill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 13px;font-weight:800;font-size:13.5px;letter-spacing:.4px;background:var(--pine);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.livepill::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.livepill small{font-weight:600;letter-spacing:0;opacity:.9;font-size:12.5px}
.livepill.off{background:var(--surface2);color:var(--muted);border:1px solid var(--line);font-weight:700;letter-spacing:0}
.livepill.off::before{background:var(--muted);box-shadow:none}
/* v4.1: версии */
select.progsel{max-width:300px;flex:0 1 300px}
select.versel{font-weight:700;max-width:230px;flex:0 1 230px}
#homeBtn{padding:8px 11px;font-size:17px;line-height:1}
.pubwrap{margin-left:auto;padding-left:14px;border-left:1px solid var(--line);display:flex}
.vtag{display:inline-block;font-weight:800;font-variant-numeric:tabular-nums;border-radius:6px;padding:0 6px;background:var(--surface2);border:1px solid var(--line)}
.vtag.live{background:var(--pine);border-color:var(--pine);color:#fff}
.vtag.live::after{content:" LIVE";letter-spacing:.4px}
.verlist{border:1px solid var(--line);border-radius:10px;padding:2px 12px;max-height:230px;overflow:auto;font-size:13.5px;margin-top:6px}
.verlist .hr{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.verlist .hr:first-child{border-top:none}
.verlist .hr > span{min-width:0}
.verlist .hr .right{display:flex;gap:4px;flex:none}
.verlist .btn{padding:4px 10px;font-size:13px}
.draftbar.live{background:var(--pine-soft);border-color:var(--pine)}
@media (max-width:760px){ .pubwrap{margin-left:0;padding-left:0;border-left:none} }
/* v4: работно копие и публична версия */
.statusline{flex-wrap:wrap}
.statusline .sep{opacity:.5}
.btn.pubgo{background:var(--amber);border-color:var(--amber);color:#fff}
.btn.pubgo:hover{filter:brightness(1.07)}
.btn.pubok{color:var(--pine);border-color:var(--pine-soft);background:var(--pine-soft)}
.lockbtn{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:6px 12px;font-size:13.5px;font-weight:700}
.lockbtn.on{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}
.tlwrap.locked .tlb{cursor:pointer}
.tlwrap.locked .tlb .hnd{display:none}
.difflist{border:1px solid var(--line);border-radius:10px;padding:4px 12px;max-height:240px;overflow:auto;font-size:13.5px;margin:10px 0}
.difflist h5{margin:10px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.difflist .dl{padding:4px 0;border-top:1px solid var(--line)}
.difflist h5 + .dl{border-top:none}
.difflist .dl b{font-weight:700}
.difflist .dl small{display:block;color:var(--muted);font-variant-numeric:tabular-nums}
.difflist .none{padding:10px 0;color:var(--muted)}
.hist{margin-top:12px;font-size:13.5px}
.hist summary{cursor:pointer;font-weight:700;padding:4px 0}
.hist .hr{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.hist .hr span{min-width:0}
.chg{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:middle;background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber)}
.row.gone .t{text-decoration:line-through;color:var(--muted)}
.row.gone .time{color:var(--muted)}
.chg.gonetag{background:var(--danger-soft);color:var(--danger);border-color:var(--danger);text-decoration:none}
.pubhead .upd{font-variant-numeric:tabular-nums}
.pubhead .upd::before{content:"· "}
.draftbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--amber-soft);border:1px solid var(--amber);border-radius:10px;padding:10px 14px;margin:0 0 14px;font-weight:600}
.draftbar .right{display:flex;gap:8px;flex-wrap:wrap}
.notice .acts{display:flex;gap:6px;align-items:center;flex:none}
.notice .act{border:1px solid currentColor;border-radius:8px;padding:3px 10px;font-size:13.5px;font-weight:700}
/* v3: бранд на АМТИС */
body::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--az) 0 20%,var(--moga) 20% 40%,var(--tuk) 40% 60%,var(--i) 60% 80%,var(--sega) 80% 100%)}
.brand{align-items:center;cursor:pointer;border-radius:10px}
.brand:focus-visible{outline:2px solid var(--pine);outline-offset:4px}
.brand .logo{height:40px;width:auto;display:block;flex:none}
.brand .bt{display:flex;flex-direction:column;line-height:1.15}
.dots{display:inline-flex;gap:6px;align-items:center}
.dots i{width:8px;height:8px;border-radius:50%;display:block}
.dots i:nth-child(1){background:var(--az)}.dots i:nth-child(2){background:var(--moga)}.dots i:nth-child(3){background:var(--tuk)}.dots i:nth-child(4){background:var(--i)}.dots i:nth-child(5){background:var(--sega)}
.home h2{display:flex;align-items:center;gap:10px}
.pubhead{display:flex;gap:14px;align-items:center}
.pubhead .logo{height:54px;width:auto;flex:none}
.pubhead > div{min-width:0}
.pubhead .eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.pubfoot .sig{display:inline-flex;gap:10px;align-items:center}
.vchips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
/* v2: 24ч час, меню, бележки, споделен изглед, импорт */
.evt .d{white-space:pre-line}
input.t24{font-variant-numeric:tabular-nums;width:100%}
input.t24.bad{border-color:var(--danger);outline-color:var(--danger)}
.freebox input.t24{width:92px}
.own small{font-weight:400;color:var(--muted)}
.pcard .slot i{color:var(--muted);font-style:normal}
.menuwrap{position:relative}
.menu{position:absolute;left:0;top:calc(100% + 6px);min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:40;display:flex;flex-direction:column}
.menu button{border:none;background:none;text-align:left;padding:9px 12px;border-radius:8px;font-weight:600}
.menu button:hover{background:var(--surface2)}
.menu hr{border:none;border-top:1px solid var(--line);margin:5px 4px}
.menu .mh{font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:6px 12px 2px}
.notice{display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--pine-soft);border:1px solid var(--pine);border-radius:10px;padding:10px 14px;margin:0 0 12px;font-weight:600}
.notice.err{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
.notice button{border:none;background:none;font-size:16px;color:inherit;padding:2px 6px}
.onotes{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.onote{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center;font-size:13.5px;font-weight:600}
.onote input{min-width:0}
.chk{display:flex;gap:8px;align-items:center;font-size:14px}
.chk input{width:18px;height:18px;padding:0;flex:none}
/* оригиналът го задаваше inline на всеки .chk в .f */
.f label.chk{text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;color:var(--ink)}
/* до поле в .fgrid — на нивото на полето, не на етикета му (оригиналът: inline margin-top:20px) */
.fgrid .f:not(.wide) > label.chk:only-child{margin-top:20px}
.srcsw{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.prev{max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;margin-top:10px}
.prev div{padding:2px 0;font-variant-numeric:tabular-nums}
.prev b{font-weight:700}
.copyrow{display:flex;gap:8px;margin-top:10px}
.copyrow input{flex:1;min-width:0;font-size:13px}
.modal textarea{resize:vertical}
/* изглед само за четене */
.pub{max-width:760px;margin:0 auto}
.pubhead{margin:6px 0 16px}
.pubhead h2{margin:0 0 6px;font-size:26px;font-weight:800;line-height:1.15;text-wrap:balance}
.pubhead .who{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px}
.pubhead .aud{font-size:13px}
.pub .tabs{margin-bottom:12px}
.row.ro{cursor:default}
.row.ro:hover{border-color:var(--line)}
.row.ro .meta{min-width:110px}
.pubfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;color:var(--muted);font-size:13px}
@media (max-width:760px){
  .row{grid-template-columns:74px 1fr}
  .meta{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;min-width:0;flex-wrap:wrap}
  .fgrid{grid-template-columns:1fr}
  .withrail{grid-template-columns:1fr}
  .rail{position:static;order:-1}
  .pchips{flex-direction:row;flex-wrap:wrap}
}

/* ==========================================================================
   NEW / SSR-only — markup that did not exist in the client-side app.
   Само съществуващите custom properties, без твърдо зададени цветове.
   ========================================================================== */

/* --- utilities ------------------------------------------------------------ */
[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* --- линкове на мястото на бутоните --------------------------------------
   Оригиналът беше SPA и навигираше с <button>; тук същите класове са на <a>,
   затова им махаме цвета и подчертаването на линк. */
a.brand,a.card,a.open,a.tt{color:inherit;text-decoration:none}
.tlb a.tt{display:block}
a.btn,a.tab,a.vchip,a.mode,a.tg,a.qadd{display:inline-block;color:inherit;text-decoration:none;text-align:center}
/* в оригинала чиповете на изгледите бяха направо в .chips, без обвивка */
.chips .vchips{display:contents}
.evt .t a{color:inherit;text-decoration:none}
.evt .t a:hover{text-decoration:underline}
.menu a{padding:9px 12px;border-radius:8px;font-weight:600;color:inherit;text-decoration:none}
.menu a:hover{background:var(--surface2)}

/* --- no-JS switches ------------------------------------------------------- */
/* .nojs се вижда само без JavaScript; .needsjs изчезва (влачене и т.н.) */
.nojs{display:none}
html.no-js .nojs{display:block}
html.no-js .needsjs{display:none}

/* --- .page: обикновена центрирана колона ---------------------------------
   Настройки, публикуване и импорт са цели страници в SSR версията,
   а не модали. .scrim/.modal остават за „потвърди и върни“ диалозите. */
.page{max-width:44rem;margin:0 auto;padding:0 0 40px}
.page h2{font-size:20px;font-weight:800;margin:18px 0 10px}
.page h3{font-size:16px;font-weight:700;margin:16px 0 8px}
.page section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 12px}
.page p{margin:0 0 10px}
.page form{display:flex;flex-direction:column;gap:12px}
/* бутон сам във форма (Изтрий, Смени линковете) — с ширината си, не през целия ред */
.page form > .btn{align-self:flex-start}
.page > .f + .f{margin-top:12px}
.f .badges{justify-content:flex-start}

/* --- .login: централизирана карта за вход --------------------------------- */
.login{max-width:24rem;margin:8vh auto 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:22px 22px 24px}
.login h1{margin:0 0 14px;font-size:20px;font-weight:800;letter-spacing:.2px;text-align:center}
.login .brandrow{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:12px}
.login .brandrow .logo{height:44px;width:auto;display:block;flex:none}
.login .brandrow .eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.login form{display:flex;flex-direction:column;gap:12px}
.login .f label{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.login input{width:100%}
.login .btn{width:100%;display:block;text-align:center;padding:10px 13px}
.login .hint{text-align:center}

/* --- .flash: едноредово съобщение след redirect (върху вида на .notice) --- */
.flash{display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 12px;font-weight:600}
.flash.ok{background:var(--pine-soft);border-color:var(--pine)}
.flash.err{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
.flash .acts{display:flex;gap:6px;align-items:center;flex:none}
.flash button{border:none;background:none;font-size:16px;color:inherit;padding:2px 6px}

/* --- валидация по поле ---------------------------------------------------- */
.fieldwrap{display:flex;flex-direction:column;gap:4px;min-width:0}
.fieldwrap label{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.err{font-size:12.5px;font-weight:600;color:var(--danger)}
input.err,select.err,textarea.err{border-color:var(--danger)}
input.err:focus,select.err:focus,textarea.err:focus{outline-color:var(--danger)}

/* --- одит (журнал на промените) ------------------------------------------- */
.audit{display:flex;flex-direction:column;gap:8px}
.auditrow{display:grid;grid-template-columns:150px 150px 1fr;gap:6px 12px;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.auditwhen{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.auditwho{font-size:13.5px;font-weight:700;min-width:0;overflow-wrap:anywhere}
.auditwhat{font-size:14px;min-width:0;overflow-wrap:anywhere}
.auditdiff{grid-column:1/-1;background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;max-height:260px;overflow-y:auto}
.auditdiff b{font-weight:700}
.auditdiff small{display:block;color:var(--muted)}

/* --- .pager: назад/напред за списъка с одит ------------------------------- */
.pager{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px;font-size:13.5px}
.pager a{display:inline-block;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:6px 12px;font-weight:600;color:inherit;text-decoration:none}
.pager a:hover{border-color:var(--pine)}
.pager .hint{flex:1 1 auto;text-align:center}

/* --- без хоризонтален скрол на страницата --------------------------------
   Широкото съдържание скролира в собствен контейнер. */
.app,.page,.pub{min-width:0}
.tlwrap{overflow-x:auto;overflow-y:hidden}
.page table,.modal table{width:100%;border-collapse:collapse;font-size:13.5px}
.page table th,.page table td,.modal table th,.modal table td{text-align:left;padding:6px 8px;border-top:1px solid var(--line)}

/* --- движение / toast ----------------------------------------------------- */
@keyframes toastin{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.toast{animation:toastin .16s ease-out}
.btn,.tab,.vchip,.mode,.tg,.card,.row,.progcard,.pager a{transition:border-color .12s,background-color .12s,color .12s}
@media (prefers-reduced-motion: reduce){
  .toast{animation:none}
  .btn,.tab,.vchip,.mode,.tg,.card,.row,.progcard,.pager a,.tlb,.tlb .hnd::after{transition:none}
}

/* --- mobile (новите части) ------------------------------------------------ */
@media (max-width:760px){
  .app{padding:14px 12px 48px}
  .page{padding:0 0 32px}
  .login{margin-top:4vh;padding:18px 16px 20px}
  .auditrow{grid-template-columns:1fr}
  .auditwhen,.auditwho{white-space:normal}
  .pager .hint{flex:1 1 100%;order:3;text-align:left}
}

/* .tgwrap — всеки превключвател е бутон над истински checkbox, за да работи
   формата и без JavaScript. Checkbox-ът е скрит (.sr-only), а етикетът до него
   се показва само когато JavaScript липсва (html.no-js .nojs). */
.tgwrap{display:inline-flex;align-items:center}
.tgwrap .nojs{font-size:13px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;cursor:pointer}
html.no-js .tgwrap .tg{display:none}
.tgwrap input.sr-only:focus-visible + .tg{outline:2px solid var(--pine);outline-offset:1px}
