/* ---------- база знаний: дополнения к общему стилю ---------- */
.searchbox{position:relative;margin:4px 0 18px}
.searchbox .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.searchbox input{padding-left:44px!important;min-height:52px!important;border-radius:14px!important;font-size:17px!important;background:var(--panel);box-shadow:var(--shadow);border-color:transparent!important}
.searchbox input:focus{border-color:var(--pine)!important}
.searchbox .clr{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;color:var(--muted);font-size:22px;cursor:pointer}
.hello{font:600 22px/1.25 var(--serif);margin:6px 0 4px}
@media (min-width:960px){.hello{font-size:26px}}

.erows{background:var(--panel);border-radius:var(--r);box-shadow:var(--shadow);padding:0 16px}
.erow{display:flex;gap:10px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--rule);color:inherit}
.erow:last-child{border-bottom:0}
.erow .w{flex:1;min-width:0}
.erow .t{display:block;font-weight:600;line-height:1.35}
.erow .x{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-2);font-size:14.5px;line-height:1.45;margin-top:2px}
.erow .tg{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.erow .chev{flex:none;color:var(--faint);margin-top:2px}
a.erow:hover .t{color:var(--pine)}
.erow .sec{display:block;font-size:12.5px;color:var(--muted);margin-bottom:1px}
.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--c,var(--ink-2));background:var(--cb,var(--sunk))}
.tag.green{--c:var(--green);--cb:var(--green-soft)} .tag.blue{--c:var(--blue);--cb:var(--blue-soft)} .tag.pine{--c:var(--pine);--cb:var(--pine-soft)}
.tag.grey{--c:var(--muted);--cb:var(--sunk)} .tag.bronze{--c:var(--bronze);--cb:var(--bronze-soft)} .tag.amber{--c:var(--amber);--cb:var(--amber-soft)} .tag.red{--c:var(--red);--cb:var(--red-soft)}
.tag.line{background:transparent;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--muted)}

.subgrp{margin-top:22px}
.subgrp>summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:10px;cursor:pointer;padding:2px 2px 10px;font-weight:650;font-size:16px}
.subgrp>summary::-webkit-details-marker{display:none}
.subgrp>summary .n{color:var(--muted);font-weight:500;font-size:14px}
.subgrp>summary::after{content:"";width:9px;height:9px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);margin:0 4px 3px auto;transition:transform .15s;flex:none}
.subgrp[open]>summary::after{transform:rotate(-135deg);margin-bottom:-2px}
.subgrp>summary .lbl{flex:1;min-width:0}

.crumb{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:13.5px;color:var(--muted);margin:2px 0 8px}
.crumb a{color:var(--pine)}
.etitle{font:600 25px/1.25 var(--serif);letter-spacing:-.005em;margin:0 0 10px}
@media (min-width:960px){.etitle{font-size:30px}}
.ebody{font-size:17px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.ebody a{text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:3px}
.ebody a.tel{white-space:nowrap}
.fields{margin:14px 0 0;padding:0;border-top:1px solid var(--rule)}
.fields>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--rule)}
.fields>div:last-child{border-bottom:0}
.fields dt{color:var(--muted);font-size:14.5px;flex:0 1 48%}
.fields dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;flex:0 1 52%;word-break:break-word}
.callout{margin-top:14px;padding:11px 14px;border-radius:12px;background:var(--amber-soft);color:#5E4511;font-size:15px;line-height:1.45}
.callout b{display:block;font-size:12.5px;text-transform:none;color:var(--amber);margin-bottom:2px}
.meta{display:grid;gap:4px;font-size:13.5px;color:var(--muted);margin-top:14px}
.meta b{color:var(--ink-2);font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}

.acts{display:grid;gap:8px;margin-top:14px}
@media (min-width:700px){.acts{grid-template-columns:1fr 1fr}}
.acts .btn{justify-content:flex-start}
.acts .btn.pri{justify-content:center}
.acts .full{grid-column:1/-1}

.cheat{display:grid;gap:8px}
@media (min-width:700px){.cheat{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.cheat{grid-template-columns:1fr 1fr 1fr}}
.cheat a{display:block;background:var(--panel);border-radius:var(--r);box-shadow:var(--shadow);padding:13px 15px;color:inherit;min-width:0}
.cheat a b{display:block;font-size:13px;color:var(--muted);font-weight:600;margin-bottom:3px}
.cheat a span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.45;font-weight:500}
.cheat a:hover b{color:var(--pine)}

.alerts{display:grid;gap:8px;margin-bottom:6px}
.alert{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--cb);color:var(--ink);border-left:4px solid var(--c)}
.alert .w{flex:1;min-width:0;font-size:15px}
.alert b{font-variant-numeric:tabular-nums}
.alert .ic{color:var(--c)}

.secs a{display:flex;align-items:center;gap:12px}
.secs .num{flex:none;min-width:34px;text-align:right;color:var(--muted);font-size:14px}

.diff{display:grid;gap:14px}
.diff .f>b{display:block;font-size:13px;color:var(--muted);font-weight:600;margin-bottom:6px}
.diff .was,.diff .now{padding:9px 12px;border-radius:10px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.diff .was{background:var(--red-soft);color:#6A2414}
.diff .now{background:var(--green-soft);color:#24472F;margin-top:6px}
.diff .was:before{content:"Было";display:block;font-size:11.5px;font-weight:700;opacity:.7;margin-bottom:2px}
.diff .now:before{content:"Стало";display:block;font-size:11.5px;font-weight:700;opacity:.7;margin-bottom:2px}
.diff .new:before{content:"Новое"}
.diff .empty-v{opacity:.6;font-style:italic}

.vrow{padding:13px 0;border-bottom:1px solid var(--rule)}
.vrow:last-child{border-bottom:0}
.vrow summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:flex-start}
.vrow summary::-webkit-details-marker{display:none}
.vrow .v{flex:none;min-width:38px;height:26px;border-radius:8px;background:var(--sunk);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--ink-2)}
.vrow[open] .v{background:var(--pine);color:#fff}
.vrow .w{flex:1;min-width:0}
.vrow .in{padding:12px 0 2px}

.perm{display:grid;gap:0}
.perm>div{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}
.perm>div:last-child{border-bottom:0}
.perm .w{flex:1;min-width:0;font-size:15px;line-height:1.3}
.perm .w small{display:block;color:var(--muted);font-size:12.5px}
.perm select{flex:0 0 172px;min-height:42px;font-size:15px;padding:8px 30px 8px 10px}
.perm select.ov{border-color:var(--bronze);background-color:var(--bronze-soft)}
@media (max-width:380px){.perm select{flex-basis:142px;font-size:14px}}

.statusbox{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--r);background:var(--cb);border-left:4px solid var(--c);margin-bottom:12px}
.statusbox .w{flex:1;min-width:0}
.statusbox b{display:block;font-size:16px}
.statusbox span{display:block;font-size:13.5px;color:var(--ink-2)}
.toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--rule);cursor:pointer}
.toggle:last-child{border-bottom:0}
.toggle .w{flex:1;font-size:15px}
.toggle .w small{display:block;color:var(--muted);font-size:13px}
.sw{appearance:none;-webkit-appearance:none;flex:none;width:48px;height:28px;border-radius:14px;background:var(--rule-2);position:relative;cursor:pointer;transition:background .15s;margin:0}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .15s}
.sw:checked{background:var(--pine)}
.sw:checked::after{left:23px}

.fedit{display:grid;gap:8px;margin-bottom:8px}
.fedit .fe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 46px;gap:6px}
.fedit .fe button{border:1px solid var(--rule-2);border-radius:var(--r-s);background:var(--panel);cursor:pointer;color:var(--muted);font-size:20px}
@media (max-width:520px){.fedit .fe{grid-template-columns:minmax(0,1fr) 46px}.fedit .fe input:nth-child(2){grid-column:1}.fedit .fe button{grid-row:1/span 2;grid-column:2}}
.sticky-save{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:15;padding:10px 0;background:linear-gradient(transparent,var(--bg) 30%)}
@media (min-width:960px){.sticky-save{bottom:0}}
.fieldbox{background:var(--panel);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 16px 4px;margin-bottom:12px}
.fieldbox h3{font-size:15px;font-weight:650;margin:0 0 12px}

.kinds{font-size:12.5px;font-weight:700;color:var(--c);text-transform:none}
.note-row{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--rule);color:inherit}
.note-row:last-child{border-bottom:0}
.note-row.unread .t{font-weight:650}
.note-row .d{flex:none;width:8px;height:8px;border-radius:50%;margin-top:8px;background:transparent}
.note-row.unread .d{background:var(--pine)}
.legend-list{display:grid;gap:10px}
.legend-list>div{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.legend-list .tag{flex:none;margin-top:2px}
mark{background:#F6E7B8;color:inherit;border-radius:3px;padding:0 1px}
.side .logo{display:block}
.side .kbname{text-align:center;font-size:12.5px;color:var(--muted);margin:-10px 0 14px;letter-spacing:.02em}
.recent{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 18px}
.pwd{font:600 30px/1.1 var(--serif);letter-spacing:.08em;text-align:center;padding:16px;background:#fff;border-radius:12px;border:1px solid var(--rule-2);user-select:all;font-variant-numeric:tabular-nums}
.locked{max-width:420px;margin:12vh auto 0;text-align:center}
.locked .logo{width:170px;margin:0 auto 24px}
.photos.big .ph{width:calc(50% - 4px);height:auto;aspect-ratio:4/3}
@media (min-width:700px){.photos.big .ph{width:180px}}

.demo-bar select{flex:1 1 180px;min-width:0;max-width:100%}
.main{min-width:0;overflow-wrap:anywhere}
.top h1{min-width:0}
@media (max-width:560px){
  .perm>div{flex-wrap:wrap;gap:6px}
  .perm .w{flex:1 1 100%}
  .perm select{flex:1 1 100%}
}

.side nav .kbext{width:15px!important;height:15px!important;margin-left:auto}
