/* === УВЕДОМЛЕНИЯ === */
.sys-feed{display:flex;flex-direction:column;gap:12px;padding-bottom:85px}
#sysList{transition:opacity .18s ease}
.sys-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:14px;border:1px dashed var(--border-heavy);border-radius:16px}
.sys-msg{position:relative;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--border-light);backdrop-filter:var(--pill-blur);-webkit-backdrop-filter:var(--pill-blur);animation:slideIn .3s ease;transition:border-color .2s ease,background .2s ease,transform .2s ease;contain:paint}
.sys-msg:hover{border-color:var(--border-heavy);background:var(--surface-hover);transform:translateY(-1px)}
.sys-msg.personal{border-left:3px solid var(--border-heavy)}
.sys-msg.extend{border-left:3px solid var(--tag-stable-color)}
.sys-msg.set_exp{border-left:3px solid var(--tag-beta-color)}
.sys-msg.broadcast,.sys-msg.ticket_reply{border-left:3px solid var(--tag-beta-color)}
.sys-msg.schedule{border-left:3px solid var(--tag-beta-color)}
.sys-msg.expiry{border-left:3px solid var(--tag-preview-color)}
.sys-msg.ban{border-left:3px solid #c62828}
.sys-msg.unban{border-left:3px solid #2e7d32}
[data-theme="light"] .sys-msg.ban{border-left:3px solid #b71c1c}
[data-theme="light"] .sys-msg.unban{border-left:3px solid #1b5e20}
/* v5: цвет по категории (тип сообщения, выбранный админом при отправке).
   Правила идут ПОСЛЕ цветовых правил типов — при равной специфичности
   позднее правило перекрывает раннее, поэтому cat-* побеждает .sys-msg.broadcast и т.п. */
.sys-msg.cat-green{border-left:3px solid var(--tag-stable-color)}
.sys-msg.cat-yellow{border-left:3px solid var(--tag-beta-color)}
.sys-msg.cat-red{border-left:3px solid #c62828}
.sys-msg.cat-white{border-left:3px solid var(--border-heavy)}
[data-theme="light"] .sys-msg.cat-red{border-left:3px solid #b71c1c}
.sys-msg-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.sys-msg-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}
.sys-msg-time{font-size:10px;color:var(--text-faint)}
.sys-msg-text{font-size:14px;line-height:1.55;color:var(--text);word-break:break-word;white-space:pre-wrap;margin-top:8px}
.sys-msg-img{margin-top:10px;border-radius:12px;max-width:100%;cursor:zoom-in;border:1px solid var(--border-light)}
.sys-msg .sys-msg-img,.sys-msg .sys-album-grid{backdrop-filter:none;-webkit-backdrop-filter:none}
.sys-album-grid{display:grid;gap:4px;margin-top:10px;border-radius:12px;overflow:hidden}
.sys-album-grid img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.sys-album-grid.count-1{grid-template-columns:1fr}
.sys-album-grid.count-1 img{max-height:340px;object-fit:contain;background:var(--surface-active)}
.sys-album-grid.count-2{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
.sys-album-grid.count-3{grid-template-columns:2fr 1fr;grid-auto-rows:150px}
.sys-album-grid.count-4{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
.sys-album-grid.count-many{grid-template-columns:repeat(3,1fr);grid-auto-rows:120px}
#sysList.sys-select-mode .sys-msg{cursor:pointer;padding-right:40px}
#sysList.sys-select-mode .sys-msg::after{content:'';position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-heavy);background:transparent;transition:.2s;z-index:2}
#sysList.sys-select-mode .sys-msg.selected{border-color:var(--tag-stable-color);background:var(--tag-stable-bg)}
#sysList.sys-select-mode .sys-msg.selected::after{content:'✓';display:flex;align-items:center;justify-content:center;background:var(--tag-stable-color);border-color:var(--tag-stable-color);color:#000;font-size:13px;font-weight:800}
#sysList.sys-select-mode .sys-msg-img,#sysList.sys-select-mode .sys-album-grid img{cursor:pointer}
.sys-load-more-btn{display:block;width:100%;margin:2px 0 6px;padding:13px 18px;border-radius:14px;border:1px solid var(--pill-border);background:var(--pill-bg);backdrop-filter:var(--pill-blur);-webkit-backdrop-filter:var(--pill-blur);color:var(--text);font-family:'Inter',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:var(--pill-edge),var(--pill-shadow)}
.sys-load-more-btn:hover{background:var(--text);color:var(--bg);box-shadow:0 0 14px var(--glow-soft);transform:translateY(-1px)}
.sys-load-more-btn:active{transform:scale(.97)}
.sys-load-more-btn .sys-remaining{opacity:.55;font-weight:400;font-size:12px;margin-left:6px}
.sys-collapse-btn{display:block;width:100%;margin:6px 0 2px;padding:11px 18px;border-radius:14px;border:1px solid var(--border-light);background:var(--surface);color:var(--text-muted);font-family:'Inter',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;backdrop-filter:var(--pill-blur);-webkit-backdrop-filter:var(--pill-blur)}
.sys-collapse-btn:hover{background:var(--text);color:var(--bg);box-shadow:0 0 14px var(--glow-soft)}
.sys-collapse-btn:active{transform:scale(.97)}
.sys-top-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;position:sticky;top:72px;z-index:20;padding:4px 18px 2px 18px;background:var(--pill-bg);backdrop-filter:var(--pill-blur);-webkit-backdrop-filter:var(--pill-blur);border:1px solid var(--pill-border);border-radius:38px;box-shadow:var(--pill-edge),var(--pill-shadow);transition:border-color .2s ease,box-shadow .3s ease,background .3s ease}
.sys-top-row.is-stuck{border-color:var(--border-heavy);box-shadow:var(--pill-edge),var(--pill-shadow),0 8px 24px rgba(0,0,0,.35)}
[data-theme="light"] .sys-top-row{background:var(--pill-bg);border-color:var(--pill-border)}
[data-theme="light"] .sys-top-row.is-stuck{border-color:var(--border-heavy);box-shadow:var(--pill-edge),var(--pill-shadow),0 8px 24px rgba(0,0,0,.12)}
.sys-top-title{font-size:18px;font-weight:700}
.sys-top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.sys-archive-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid var(--pill-border);background:var(--pill-bg);color:var(--text);cursor:pointer;backdrop-filter:var(--pill-blur);-webkit-backdrop-filter:var(--pill-blur);box-shadow:var(--pill-edge),var(--pill-shadow);transition:all .25s ease;flex-shrink:0}
.sys-archive-btn svg{width:18px;height:18px;stroke:currentColor;fill:none}
.sys-archive-btn:hover{background:var(--text);color:var(--bg)}
.sys-archive-btn:disabled{opacity:.4;cursor:not-allowed}
.sys-archive-btn:disabled:hover{background:var(--pill-bg);color:var(--text)}
.sys-archive-btn.active{background:var(--text);color:var(--bg)}
.sys-archive-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(255,69,58,.4)}
.sys-timer-chip{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:8px;background:var(--tag-beta-bg);color:var(--tag-beta-color);border:1px solid var(--tag-beta-border);font-size:10px;font-weight:700;white-space:nowrap}
.sys-menu-wrap{position:relative}
.sys-more-menu{position:absolute;top:calc(100% + 10px);right:0;display:none;flex-direction:column;gap:4px;min-width:210px;background:rgba(16,16,18,.96);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-heavy);border-radius:14px;padding:8px;z-index:99999;box-shadow:0 8px 24px rgba(0,0,0,.4)}
[data-theme="light"] .sys-more-menu{background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.sys-more-menu.active{display:flex;animation:menuDrop .18s ease}
.sys-more-menu.open-up{animation:menuDropUp .18s ease}
.sys-more-item{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:9px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);font-family:'Inter',sans-serif;transition:.2s;text-align:left}
.sys-more-item:hover{background:var(--surface-hover)}
.sys-more-menu .sys-more-item{background:rgba(255,255,255,.06)}
.sys-more-menu .sys-more-item:hover{background:rgba(255,255,255,.12)}
[data-theme="light"] .sys-more-menu .sys-more-item{background:rgba(0,0,0,.04)}
[data-theme="light"] .sys-more-menu .sys-more-item:hover{background:rgba(0,0,0,.08)}
.sys-more-item.active,.sys-more-item.active:hover{background:var(--text)!important;color:var(--bg)!important;border-color:var(--text)!important}
.sys-more-item.active[data-filter="all"] .sys-filter-dot{border-color:var(--bg)!important}
.sys-more-item.active[data-filter="white"] .sys-filter-dot{background:var(--bg)!important;border-color:var(--bg)!important}
.sys-more-sep{height:1px;background:var(--border-light);margin:4px 2px}
.sys-more-label{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);padding:2px 4px}
.sys-filter-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
/* === РАССЫЛКА (админ) === */
.broadcast-user-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:.2s;font-size:14px}
.broadcast-user-item:hover{background:var(--surface-hover)}
.broadcast-user-item.selected{background:var(--tag-stable-bg);border:1px solid var(--tag-stable-border)}
.broadcast-user-item input[type="checkbox"]{width:18px;height:18px;cursor:pointer;flex-shrink:0}
.broadcast-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.broadcast-user-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.broadcast-user-meta{font-size:11px;color:var(--text-muted)}
.broadcast-user-status{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:600;flex-shrink:0}
.broadcast-user-status.active{background:var(--tag-stable-bg);color:var(--tag-stable-color);border:1px solid var(--tag-stable-border)}
.broadcast-user-status.expiring{background:var(--tag-beta-bg);color:var(--tag-beta-color);border:1px solid var(--tag-beta-border)}
.broadcast-user-status.expired{background:var(--tag-preview-bg);color:var(--tag-preview-color);border:1px solid var(--tag-preview-border)}
#broadcastFilter option{background:#161618;color:#fff;padding:10px 12px}
#broadcastFilter option:hover{background:#232326}
#broadcastFilter option:checked{background:#2c2c30}
[data-theme="light"] #broadcastFilter option{background:#fff;color:#1a1a1a}
[data-theme="light"] #broadcastFilter option:hover{background:#f0f0f0}
[data-theme="light"] #broadcastFilter option:checked{background:#e8e8e8}
/* === ПРОЧЕЕ === */
body.impersonating .fade-top{top:117px}
body.impersonating .cabinet{padding-top:160px}
body.impersonating .login-screen{padding-top:42px}
.card .link-box,.rating-field,.ping-list li,.preview-item{backdrop-filter:none;-webkit-backdrop-filter:none}

/* === DYNAMIC ISLAND: плашка уведомлений впитывается в навбар === */
#sysTopSentinel{height:1px;margin-bottom:-1px;pointer-events:none;visibility:hidden}
.sys-top-row{min-height:70px;transform-origin:50% 0;will-change:transform,opacity;transition:border-color .2s ease,box-shadow .3s ease,background .3s ease,transform .5s cubic-bezier(.32,.72,.28,1),opacity .34s ease}
.sys-top-row.sys-absorbed{transform:translateY(-52px) scale(.88);opacity:0;pointer-events:none;border-color:transparent;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}

.nav-sys-slot{display:none;align-items:center;min-width:0}
.nav-left.nav-sys-mode .nav-sys-slot{display:flex}
.nav-left.nav-sys-mode .nav-sys-slot>*{animation:navSysIn .45s cubic-bezier(.32,.72,.28,1) both}
.nav-left.nav-sys-mode .nav-sys-actions-slot>*:nth-child(2){animation-delay:.04s}

/* тексты лежат друг на друге: кросс-фейд на месте, без горизонтального сдвига */
.nav-title-wrap{position:relative;display:flex;align-items:center}
.nav-left.nav-sys-mode .nav-sys-title-slot{position:static;display:flex;align-items:center}

/* кнопки плавно раскрываются вправо */
.nav-left.nav-sys-mode .nav-sys-actions-slot{animation:navActionsIn .55s cubic-bezier(.32,.72,.28,1) both}
/* FIX: бейдж не обрезается overflow:hidden во время анимации dynamic island */
.nav-sys-actions-slot{padding:16px 8px;margin:-16px -8px;}

/* moon.space растворяется на месте — его ширина остаётся, поэтому ничего не дёргается */
.logo-text{display:inline-block;max-width:240px;white-space:nowrap;overflow:hidden;transition:color .5s ease,opacity .28s ease,transform .42s cubic-bezier(.32,.72,.28,1)}
.nav-left.nav-sys-mode .logo-text{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;opacity:0;transform:translateY(-8px) scale(.96)}

.nav-cabinet-btn{overflow:hidden;transition:all .3s ease,width .42s cubic-bezier(.32,.72,.28,1),padding .42s cubic-bezier(.32,.72,.28,1),border-width .42s ease,opacity .28s ease}
.nav-left.nav-sys-mode .nav-cabinet-btn{width:0;padding:0;border-width:0;opacity:0;transform:scale(.4);pointer-events:none;box-shadow:none;margin-left:-6px}
