/* ── Единый стиль иконок (outline, как на /security и в Telegram) ── */

svg.ico,
.btn-icon svg,
.search-bar svg,
.ds-search svg,
.message-action-btn svg,
.read-status svg,
.file-icon svg,
.drawer-menu-item > svg,
.menu-item-arrow svg {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Спрайт: viewBox должен совпадать с symbol (24×24) */
svg.ico {
    overflow: visible;
}

svg.ico use,
.btn-icon svg use,
.search-bar svg use,
.message-action-btn svg use {
    color: inherit;
}

/* Цветные иконки в меню (как на странице безопасности) */
.ico-box {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ico-box.green  { background: rgba(34, 197, 94, 0.15);  color: #4ade80; }
.ico-box.blue   { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
.ico-box.red    { background: rgba(239, 68, 68, 0.15);  color: #f87171; }
.ico-box.orange { background: rgba(249, 115, 22, 0.15); color: #fb923c; }
.ico-box.purple { background: rgba(139, 92, 246, 0.15); color: #a78bfa; }
.ico-box.accent { background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--accent); }

[data-theme="light"] .ico-box.green  { color: #16a34a; }
[data-theme="light"] .ico-box.blue   { color: #2563eb; }
[data-theme="light"] .ico-box.red    { color: #dc2626; }
[data-theme="light"] .ico-box.orange { color: #ea580c; }
[data-theme="light"] .ico-box.purple { color: #7c3aed; }

.drawer-menu-item {
    gap: 14px !important;
}

.drawer-menu-item .ico-box svg {
    opacity: 1;
}

.drawer-menu-item > svg:not(.ico-box svg) {
    opacity: 0.85;
}

/* Анимация загрузки */
svg.ico.spinning,
.spinning svg.ico {
    animation: ico-spin 0.9s linear infinite;
}

@keyframes ico-spin {
    to { transform: rotate(360deg); }
}
