/* ==========================================================================
   Wave Media — لوحة التحكم
   الخط: Alexandria (مستضاف على السيرفر — SIL Open Font License)
   الوضع الفاتح/الداكن: بيتبع الجهاز، أو اختيار المستخدم من الزرار (data-theme)
   ========================================================================== */
@font-face { font-family: 'Alexandria'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('../fonts/alexandria-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Alexandria'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('../fonts/alexandria-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 {
    color-scheme: light;
    --brand-indigo: #3724BB;
    --brand-blue: #2F62EA;
    --brand-sky: #0796FE;
    --brand-grad: linear-gradient(135deg, #3724BB 0%, #2F62EA 55%, #0796FE 100%);
    --ink: #14123F;
    --ink-2: #221F5C;
    --tide: #2F62EA;
    --tide-hover: #2453CF;
    --btn: #2F62EA; --btn-hover: #2453CF;
    --tide-soft: #EAF0FE;
    --foam: #F5F6F8;
    --card: #FFFFFF;
    --line: #E3E6EC;
    --text: #15171F;
    --text-2: #5F6573;
    --ok: #1E7F52;  --ok-soft: #E3F3EA;
    --warn: #A66A0E; --warn-soft: #FBF1DE;
    --danger: #C8323F; --danger-soft: #FBE8EA;
    --muted-soft: #EEF0F3;
    --radius-s: 6px; --radius-m: 8px;
    --font: "Alexandria", "Segoe UI", Tahoma, sans-serif;
}
:root[data-theme="dark"] {
        color-scheme: dark;
        --ink: #0D0F17; --ink-2: #1A1D29;
        --tide: #7C9DFF; --tide-hover: #94AFFF; --btn: #3563E9; --btn-hover: #4471F0; --tide-soft: #1B2440;
        --foam: #0F1117; --card: #171A23; --line: #272B37;
        --text: #E7E9EE; --text-2: #9AA0AE;
        --ok: #4CC38A; --ok-soft: #142A20;
        --warn: #E2A84B; --warn-soft: #2E2414;
        --danger: #F07482; --danger-soft: #34181D;
        --muted-soft: #20232E;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --ink: #0D0F17; --ink-2: #1A1D29;
        --tide: #7C9DFF; --tide-hover: #94AFFF; --btn: #3563E9; --btn-hover: #4471F0; --tide-soft: #1B2440;
        --foam: #0F1117; --card: #171A23; --line: #272B37;
        --text: #E7E9EE; --text-2: #9AA0AE;
        --ok: #4CC38A; --ok-soft: #142A20;
        --warn: #E2A84B; --warn-soft: #2E2414;
        --danger: #F07482; --danger-soft: #34181D;
        --muted-soft: #20232E;
    }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 14px/1.7 var(--font); color: var(--text); background: var(--foam); }
a { color: var(--tide); text-decoration: none; }
a:hover { text-decoration: underline; }
code { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .85em; background: var(--muted-soft); padding: 1px 6px; border-radius: 4px; direction: ltr; unicode-bidi: isolate; }
h1, h2, h3 { margin: 0; line-height: 1.3; }
:focus-visible { outline: 2px solid var(--tide); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; inset-inline-start: 1rem; top: -3rem; background: var(--card); padding: .5rem 1rem; z-index: 50; }
.skip:focus { top: 1rem; }
.icon { width: 18px; height: 18px; flex: none; }
.muted { color: var(--text-2); } .small { font-size: 13px; }
.tone-ok { color: var(--ok); } .tone-warn { color: var(--warn); } .tone-danger { color: var(--danger); }
.nowrap { white-space: nowrap; } .num { font-variant-numeric: tabular-nums; }
.strong { font-weight: 600; color: var(--text); }
.upper { text-transform: uppercase; }
[dir="ltr"] { unicode-bidi: isolate; }
.ltr-cell { text-align: right; }

/* ── Layout ─────────────────────────────────────────────────────────────── */
.app { display: grid; grid-template-columns: 248px 1fr; min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; background: var(--ink); color: #CDD3F5; display: flex; flex-direction: column; padding: 20px 14px 0; }
.brand { display: flex; align-items: center; gap: 10px; padding: 4px 8px 22px; }
.brand img { height: 34px; width: auto; }
.brand__tag { font-size: 12px; color: #A9B8FF; border: 1px solid #2E2A80; border-radius: 99px; padding: 0 9px; }
.nav { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.nav__group { margin: 18px 10px 6px; font-size: 12px; color: #8088C2; font-weight: 600; }
.nav__link { display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: var(--radius-s); color: #CDD3F5; font-weight: 500; }
.nav__link:hover { background: var(--ink-2); color: #fff; text-decoration: none; }
.nav__link.is-active { background: rgb(255 255 255 / .08); color: #fff; box-shadow: inset -3px 0 0 var(--brand-sky); }
.sidebar__wave { display: block; width: calc(100% + 28px); margin: 24px -14px 0; height: 52px; fill: var(--ink-2); }
.sidebar__wave path { fill: url(#sbgrad); opacity: .55; }

.shell { min-width: 0; display: flex; flex-direction: column; }
.topbar { display: flex; align-items: center; gap: 14px; padding: 14px 28px; background: var(--card); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.topbar__title { font-size: 20px; font-weight: 700; flex: 1; }
.topbar .topbar__menu { display: none; }
.topbar__user { display: flex; align-items: center; gap: 10px; }
.topbar__who { display: flex; flex-direction: column; line-height: 1.25; }
.topbar__who small { color: var(--text-2); font-size: 12px; }
.topbar form { margin: 0; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--tide-soft); color: var(--tide); display: grid; place-items: center; font-weight: 700; }
.main { padding: 24px 28px 48px; display: flex; flex-direction: column; gap: 20px; max-width: 1400px; width: 100%; }

/* ── Building blocks ───────────────────────────────────────────────────── */
.panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 18px 20px; min-width: 0; }
.panel--flush { padding: 0; overflow: hidden; }
.panel__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.panel__head h2 { font-size: 16px; font-weight: 600; }
.panel__sub { font-size: 14px; margin: 18px 0 8px; color: var(--text-2); font-weight: 600; }
.link { font-size: 14px; }
.grid { display: grid; gap: 20px; }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }

/* المستويات الأربعة — العنصر المميز للوحة: شريط متصل بدل كروت منفصلة */
.tiers { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); overflow: hidden; }
.tier { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 18px 22px 16px; color: var(--text); border-inline-start: 1px solid var(--line); }
.tier:first-child { border-inline-start: 0; }
a.tier:hover { background: var(--tide-soft); text-decoration: none; }
.tier::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 3px; background: var(--tide); opacity: calc(.3 + var(--lvl, 0) * .23); }
.tier:nth-child(1) { --lvl: 3; } .tier:nth-child(2) { --lvl: 2; } .tier:nth-child(3) { --lvl: 1; } .tier:nth-child(4) { --lvl: 0; }
.tier__level { font-size: 12px; color: var(--text-2); }
.tier__head { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.tier__head .icon { color: var(--tide); }
.tier__num { font-size: 34px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.tier__meta { font-size: 13px; color: var(--text-2); display: flex; align-items: center; gap: 6px; }
.tier__meta .dot:last-of-type { margin-inline-start: 8px; }
.tier__month { font-size: 12px; color: var(--ok); }
.dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.dot--ok { background: var(--ok); } .dot--danger { background: var(--danger); }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stat { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 14px 18px; display: flex; flex-direction: column; color: var(--text); }
a.stat:hover { border-color: var(--tide); text-decoration: none; }
.stat span { color: var(--text-2); font-size: 13px; }
.stat strong { font-size: 26px; font-variant-numeric: tabular-nums; }
.stat .stat__small { font-size: 16px; padding: 6px 0; }
.stat small { color: var(--text-2); font-size: 12px; }

.kv { margin: 0; display: grid; gap: 2px; }
.kv > div { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 0; border-bottom: 1px dashed var(--line); }
.kv > div:last-child { border-bottom: 0; }
.kv dt { color: var(--text-2); }
.kv dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.kv--stack dd { font-weight: 500; text-align: left; }

.list { list-style: none; margin: 0; padding: 0; }
.list li { display: flex; justify-content: space-between; padding: 6px 0; }
.rank { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rank li { display: grid; grid-template-columns: minmax(0, 1.4fr) 1fr auto; gap: 10px; align-items: center; font-size: 14px; }
.rank li a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.rank__bar { height: 6px; background: var(--muted-soft); border-radius: 99px; overflow: hidden; }
.rank__bar i { display: block; height: 100%; width: 0; background: var(--tide); border-radius: inherit; }
.rank__num { font-variant-numeric: tabular-nums; font-weight: 600; }

/* ── Chart ─────────────────────────────────────────────────────────────── */
.chart { margin: 0; }
.chart svg { width: 100%; height: auto; display: block; }
.chart__grid { stroke: var(--line); stroke-dasharray: 3 4; }
.chart__axis { fill: var(--text-2); font-size: 10px; font-family: var(--font); }
.fill-ok { fill: var(--tide); } .fill-danger { fill: var(--danger); } .fill-accent { fill: var(--brand-indigo); }

.chart__legend { display: flex; gap: 16px; font-size: 13px; color: var(--text-2); margin-top: 6px; }
.chart__legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-inline-end: 6px; vertical-align: middle; }
.chart__legend i.fill-ok { background: var(--tide); } .chart__legend i.fill-danger { background: var(--danger); } .chart__legend i.fill-accent { background: var(--brand-indigo); }

/* ── Tables ────────────────────────────────────────────────────────────── */
.table-wrap { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th { text-align: start; font-weight: 600; color: var(--text-2); font-size: 13px; padding: 11px 16px; background: var(--foam); border-bottom: 1px solid var(--line); white-space: nowrap; }
.table td { padding: 11px 16px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table tbody tr:hover { background: color-mix(in srgb, var(--tide-soft) 45%, transparent); }
.table tbody tr:last-child td { border-bottom: 0; }
.sub { display: block; color: var(--text-2); font-size: 12px; }
.clamp { max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.device { font-size: 12px; color: var(--text-2); white-space: nowrap; }
.badge { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 99px; white-space: nowrap; }
.badge--ok { background: var(--ok-soft); color: var(--ok); }
.badge--warn { background: var(--warn-soft); color: var(--warn); }
.badge--danger { background: var(--danger-soft); color: var(--danger); }
.badge--muted { background: var(--muted-soft); color: var(--text-2); }
.empty { padding: 28px 20px; text-align: center; color: var(--text-2); margin: 0; }
.changes summary { cursor: pointer; color: var(--tide); font-size: 13px; }
.changes dl { margin: 6px 0 0; font-size: 12px; }
.changes dl div { display: flex; gap: 8px; padding: 2px 0; }
.changes dt { color: var(--text-2); min-width: 90px; }
.changes dd { margin: 0; }
.changes del { color: var(--danger); } .changes ins { color: var(--ok); text-decoration: none; }

.row-actions { display: flex; gap: 4px; justify-content: flex-end; }
.row-actions form { margin: 0; }
.icon-btn { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: var(--radius-s); border: 1px solid transparent; background: transparent; color: var(--text-2); cursor: pointer; }
.icon-btn:hover { background: var(--muted-soft); color: var(--text); text-decoration: none; }
.icon-btn--warn:hover { color: var(--warn); background: var(--warn-soft); }
.icon-btn--ok:hover { color: var(--ok); background: var(--ok-soft); }
.icon-btn--danger:hover { color: var(--danger); background: var(--danger-soft); }

.pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--text-2); flex-wrap: wrap; }
.panel--flush .empty + .pager { border-top: 1px solid var(--line); }
.pager__links { display: flex; gap: 4px; }
.pager__links a { min-width: 32px; padding: 4px 10px; text-align: center; border: 1px solid var(--line); border-radius: var(--radius-s); color: var(--text); }
.pager__links a[aria-current] { background: var(--brand-blue); border-color: var(--brand-blue); color: #fff; }

/* ── Toolbar & filters ─────────────────────────────────────────────────── */
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.toolbar__actions { display: flex; gap: 8px; }
.crumbs { display: flex; align-items: center; gap: 8px; color: var(--text-2); }
.filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.filters--panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 12px; }
.search { position: relative; display: flex; align-items: center; }
.search .icon { position: absolute; inset-inline-start: 10px; color: var(--text-2); pointer-events: none; }
.search input { padding-inline-start: 34px; min-width: 240px; }
.date { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-2); }
.input--short { width: 150px; }

/* ── Forms ─────────────────────────────────────────────────────────────── */
input, select, textarea { font: inherit; color: var(--text); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-s); padding: 8px 11px; min-height: 40px; width: 100%; }
.filters input, .filters select { width: auto; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--tide); box-shadow: 0 0 0 3px var(--tide-soft); }
textarea { resize: vertical; }
.form { display: flex; flex-direction: column; gap: 8px; }
.form__section { border: 0; margin: 0 0 8px; padding: 0 0 18px; border-bottom: 1px solid var(--line); min-width: 0; }
.form__section legend { font-weight: 700; font-size: 15px; padding: 0; margin-bottom: 14px; }
.form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.field { display: flex; flex-direction: column; gap: 5px; }
.field--wide { grid-column: 1 / -1; }
.field label { font-size: 14px; font-weight: 500; }
.req { color: var(--danger); }
.field__hint { margin: 0; font-size: 12px; color: var(--text-2); }
.field__error { margin: 0; font-size: 12px; color: var(--danger); font-weight: 500; }
.field--error input, .field--error select, .field--error textarea { border-color: var(--danger); }
.form__actions { display: flex; gap: 10px; padding-top: 6px; }
.checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.check { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-s); cursor: pointer; }
.check:has(input:checked) { border-color: var(--tide); background: var(--tide-soft); }
.check input { width: 16px; height: 16px; min-height: 0; accent-color: var(--tide); }
.pass { position: relative; }
.pass input { padding-inline-end: 64px; }
.pass__toggle { position: absolute; inset-inline-end: 6px; top: 50%; translate: 0 -50%; border: 0; background: none; color: var(--tide); font: inherit; font-size: 13px; cursor: pointer; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-weight: 600; font-size: 14px; padding: 9px 18px; min-height: 40px; border-radius: var(--radius-s); border: 1px solid transparent; cursor: pointer; white-space: nowrap; }
.btn:hover { text-decoration: none; }
.btn--primary { background: var(--btn); color: #fff; }
.btn--primary:hover { background: var(--btn-hover); }

.btn--ghost { background: var(--card); color: var(--text); border-color: var(--line); }
.btn--ghost:hover { border-color: var(--tide); color: var(--tide); }
.btn--block { width: 100%; }

.alert { padding: 11px 16px; border-radius: var(--radius-s); font-weight: 500; border-inline-start: 4px solid; }
.alert--ok { background: var(--ok-soft); color: var(--ok); }
.alert--danger { background: var(--danger-soft); color: var(--danger); }
.alert--warn { background: var(--warn-soft); color: var(--warn); }

/* ── Auth ──────────────────────────────────────────────────────────────── */
.auth { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: url("../img/pattern.svg") center / cover no-repeat, var(--brand-grad); position: relative; overflow: hidden; }
.auth__panel { position: relative; z-index: 1; width: 100%; max-width: 420px; background: var(--card); border-radius: 10px; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.auth__panel--wide { max-width: 560px; }
.auth__logo { height: 52px; width: auto; align-self: flex-start; margin-bottom: 6px; }
[data-theme="dark"] .auth__logo { content: url("../img/logo-white.svg"); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .auth__logo { content: url("../img/logo-white.svg"); } }
.auth__title { font-size: 22px; }
.auth__lead { margin: 0; color: var(--text-2); }
.auth__switch { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; margin: 6px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.auth__tagline { position: absolute; bottom: 20px; inset-inline: 0; text-align: center; color: rgb(255 255 255 / .75); font-size: 12px; letter-spacing: .35em; direction: ltr; }
.portals { display: grid; gap: 10px; }
.portal { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-s); color: var(--text); }
.portal:hover { border-color: var(--tide); background: var(--tide-soft); text-decoration: none; }
.portal span { color: var(--text-2); font-size: 13px; }
.portal__logout { margin: 0; }
.error__code { font-size: 64px; font-weight: 700; margin: 0; line-height: 1; color: var(--tide); }

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .grid--3 { grid-template-columns: 1fr 1fr; }
    .grid--2, .grid--2-1 { grid-template-columns: 1fr; }
    .tiers, .stats { grid-template-columns: repeat(2, 1fr); }
    .tier:nth-child(3) { border-inline-start: 0; }
    .tier:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 820px) {
    .app { grid-template-columns: 1fr; }
    .sidebar { position: fixed; inset-block: 0; inset-inline-start: 0; width: 260px; z-index: 30; translate: 100% 0; transition: translate .2s ease; }
    .sidebar.is-open { translate: 0 0; box-shadow: 0 0 0 100vmax rgb(0 0 0 / .4); }
    .topbar { padding: 12px 16px; }
    .topbar .topbar__menu { display: inline-grid; }
    .topbar__who { display: none; }
    .main { padding: 16px 16px 40px; }
    .grid--3, .form__grid { grid-template-columns: 1fr; }
    .search input { min-width: 0; }
}
@media (max-width: 520px) {
    .tiers, .stats { grid-template-columns: 1fr; }
    .tier { border-inline-start: 0; border-top: 1px solid var(--line); }
    .tier:first-child { border-top: 0; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ── باقات السوشيال (كروت) ─────────────────────────────────────────────── */
.plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.plan-card { background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--brand-blue); border-radius: var(--radius-m); padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.plan-card.is-off { border-top-color: var(--line); opacity: .75; }
.plan-card__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.plan-card__head h2 { font-size: 17px; }
.plan-card__price { margin: 0; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.plan-card__price small { font-size: 13px; color: var(--text-2); font-weight: 500; }
.chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.chips li { font-size: 12px; padding: 2px 10px; border-radius: 99px; background: var(--tide-soft); color: var(--tide); font-weight: 600; }
.plan-card__quota { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid var(--line); border-radius: var(--radius-s); }
.plan-card__quota div { text-align: center; padding: 8px 4px; }
.plan-card__quota div + div { border-inline-start: 1px solid var(--line); }
.plan-card__quota dt { font-size: 12px; color: var(--text-2); }
.plan-card__quota dd { margin: 0; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.plan-card__ads { margin: 0; font-size: 13px; font-weight: 500; }
.plan-card__foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); }
.badge--accent { background: var(--tide-soft); color: var(--tide); }
.form__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 14px; }
.check--inline { display: inline-flex; }
@media (max-width: 820px) { .form__grid--3 { grid-template-columns: 1fr; } }

/* ── تكوين الباكدج من الخدمات ──────────────────────────────────────────── */
.group-head { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 16px 10px; border-bottom: 1px solid var(--line); }
.group-head h2 { font-size: 16px; }
.picker__group { margin-bottom: 14px; }
.picker__title { font-size: 13px; color: var(--text-2); font-weight: 600; margin: 12px 0 6px; }
.picker__row { display: grid; grid-template-columns: minmax(0, 1fr) auto 130px; gap: 12px; align-items: center; padding: 7px 12px; border: 1px solid var(--line); border-radius: var(--radius-s); margin-bottom: 6px; cursor: text; }
.picker__row.is-on { border-color: var(--brand-blue); background: var(--tide-soft); }
.picker__row.is-off .picker__name { color: var(--text-2); }
.picker__price { font-size: 13px; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.picker__qty { display: flex; align-items: center; gap: 6px; }
.picker__qty input { min-height: 34px; padding: 4px 8px; text-align: center; }
.picker__qty small { color: var(--text-2); font-size: 12px; min-width: 34px; }
.picker__total { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-s); overflow: hidden; margin-top: 10px; position: sticky; bottom: 0; }
.picker__total div { background: var(--card); padding: 10px 14px; display: flex; flex-direction: column; }
.picker__total span { font-size: 12px; color: var(--text-2); }
.picker__total strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.picker__total [data-saving].is-loss { color: var(--danger); }
.picker__total [data-saving].is-gain { color: var(--ok); }
.bundle-items { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-s); }
.bundle-items li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 12px; font-size: 14px; }
.bundle-items li + li { border-top: 1px solid var(--line); }
.bundle-items b { white-space: nowrap; color: var(--tide); font-weight: 700; }
.plan-card__money { display: flex; flex-direction: column; gap: 2px; }
.plan-card__save { margin: 0; font-size: 13px; color: var(--ok); }
.plan-card__save s { color: var(--text-2); }
.plan-card__foot { display: flex; justify-content: space-between; align-items: center; }
@media (max-width: 640px) {
    .picker__row { grid-template-columns: 1fr 110px; }
    .picker__price { grid-column: 1; grid-row: 2; }
    .picker__qty { grid-row: 1 / span 2; grid-column: 2; }
}

/* ── صفحة التثبيت ──────────────────────────────────────────────────────── */
.install-adv { border: 1px solid var(--line); border-radius: var(--radius-s); padding: 10px 14px; }
.install-adv summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.install-adv[open] summary { margin-bottom: 12px; }
.install-h { font-size: 15px; margin-top: 6px; }
.install-list { margin: 0; padding-inline-start: 20px; color: var(--danger); }
.auth pre { background: var(--muted-soft); padding: 10px 14px; border-radius: var(--radius-s); }

/* ── تبويبات نوع الحساب في الدخول ── */
.tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; background: var(--muted-soft); padding: 4px; border-radius: var(--radius-s); }
.tabs__item { text-align: center; padding: 7px 4px; border-radius: 5px; color: var(--text-2); font-weight: 600; font-size: 14px; }
.tabs__item:hover { text-decoration: none; color: var(--text); }
.tabs__item.is-active { background: var(--card); color: var(--text); box-shadow: 0 0 0 1px var(--line); }

/* ── الاشتراكات والاستهلاك ─────────────────────────────────────────────── */
.stats--3 { grid-template-columns: repeat(3, 1fr); }
.form__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kind-pick { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.kind-box[hidden] { display: none; }
.sub-head { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.sub-head p { margin: 2px 0; }
.sub-head__title { font-size: 20px; margin: 4px 0; }
.sub-money { display: flex; gap: 10px; margin: 0; }
.sub-money div { background: var(--foam); border: 1px solid var(--line); border-radius: var(--radius-s); padding: 10px 16px; min-width: 120px; }
.sub-money dt { font-size: 12px; color: var(--text-2); }
.sub-money dd { margin: 0; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sub-money small { font-size: 11px; color: var(--text-2); }
.usage { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 14px; }
.usage__row { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; font-size: 14px; flex-wrap: wrap; }
.usage__row b { font-size: 17px; color: var(--tide); }
.bar { display: block; height: 10px; background: var(--muted-soft); border-radius: 99px; overflow: hidden; }
.bar i { display: block; height: 100%; width: 0; background: var(--tide); border-radius: inherit; }
.bar--done i { background: var(--ok); }
.bar--sm { display: inline-block; width: 70px; height: 6px; vertical-align: middle; margin-inline-end: 6px; }
.inline-form { border-top: 1px solid var(--line); padding-top: 4px; margin-top: 10px; }
.pay-list { list-style: none; margin: 10px 0 0; padding: 0; }
.pay-list li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--line); }
.pay-list li:last-child { border-bottom: 0; }
.kv--row { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 12px; }
.kv--row > div { border: 0; flex-direction: column; padding: 0; }
.notice { border-color: var(--warn); background: var(--warn-soft); }
.panel form + form { margin-top: 8px; }
@media (max-width: 1100px) { .form__grid--4 { grid-template-columns: 1fr 1fr; } .stats--3 { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .form__grid--4 { grid-template-columns: 1fr; } .sub-money { width: 100%; } .sub-money div { flex: 1; min-width: 0; } }

/* ── طلبات الحذف / المهام / الحضور ── */
.tabs--inline { display: inline-grid; grid-auto-flow: column; grid-template-columns: none; align-self: flex-start; }
.tabs--inline .tabs__item { padding: 7px 16px; }
.request .panel__head h2 { font-size: 15px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.request p { margin: 6px 0; }
.request__reply { background: var(--foam); border-radius: var(--radius-s); padding: 8px 12px; }
.request__form { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.request__form input { flex: 1; min-width: 200px; }
.nav__count { margin-inline-start: auto; background: var(--danger); color: #fff; border-radius: 99px; font-size: 11px; padding: 0 7px; line-height: 18px; }
.shift { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.shift__live { font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; }
.dot--live { width: 8px; height: 8px; border-radius: 50%; background: var(--ok); display: inline-block; vertical-align: middle; margin-inline-end: 4px; }
.task { border: 1px solid var(--line); border-inline-start: 4px solid var(--line); border-radius: var(--radius-s); padding: 12px 14px; display: grid; gap: 6px; background: var(--card); }
.task--high { border-inline-start-color: var(--danger); }
.task--normal { border-inline-start-color: var(--brand-blue); }
.task--low { border-inline-start-color: var(--line); }
.task__head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.task__title { font-weight: 700; font-size: 15px; margin: 0; }
.task__meta { font-size: 12px; color: var(--text-2); }
.task form { display: flex; gap: 8px; flex-wrap: wrap; }
.task form input[type=text] { flex: 1; min-width: 180px; }
.tasks { display: grid; gap: 10px; }
.errlog { background: var(--foam); padding: 12px; border-radius: var(--radius-s); font-size: 12px; white-space: pre-wrap; word-break: break-all; text-align: left; max-height: 70vh; overflow: auto; }


/* ── الفوتر + زرار الوضع الفاتح/الداكن ── */
.site-footer { margin-top: auto; padding: 18px 28px; border-top: 1px solid var(--line); font-size: 12px; color: var(--text-2); display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.site-footer a { color: var(--text); font-weight: 600; letter-spacing: .02em; }
.auth .site-footer { position: absolute; bottom: 0; inset-inline: 0; border: 0; color: rgb(255 255 255 / .75); justify-content: center; }
.auth .site-footer a { color: #fff; }
.theme-toggle .icon-sun { display: none; }
[data-theme="dark"] .theme-toggle .icon-sun { display: block; }
[data-theme="dark"] .theme-toggle .icon-moon { display: none; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .theme-toggle .icon-sun { display: block; }
    :root:not([data-theme="light"]) .theme-toggle .icon-moon { display: none; }
}
.auth .theme-toggle { position: absolute; top: 16px; inset-inline-start: 16px; color: #fff; background: rgb(255 255 255 / .12); }
.shell { min-height: 100vh; }
h1, h2, h3, .topbar__title, .stat strong, .tier__num { letter-spacing: -.01em; }
[data-theme="dark"] .auth { background: url("../img/pattern.svg") center / cover no-repeat, linear-gradient(135deg, #17134A 0%, #0D0F17 100%); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .auth { background: url("../img/pattern.svg") center / cover no-repeat, linear-gradient(135deg, #17134A 0%, #0D0F17 100%); } }
.auth .site-footer { gap: 18px; }
form.inline { display: inline-flex; gap: 6px; vertical-align: middle; }
.payroll .panel__head h2 small { font-weight: 400; font-size: 12px; }
.payroll__forms { display: grid; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.payroll .request__form input[type=text] { min-width: 120px; }
@media print {
    .sidebar, .topbar, .toolbar button, .site-footer, .filters { display: none !important; }
    .app { display: block; } .main { padding: 0; } .panel, .stat { break-inside: avoid; border-color: #ccc; }
}
.panel--flush > .request__form { padding: 12px 16px; margin: 0; border-top: 1px solid var(--line); }

/* ── الإشعارات ── */
.bell { position: relative; }
.bell__btn { position: relative; }
.bell__count { position: absolute; top: 2px; inset-inline-end: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: var(--danger); color: #fff; font-size: 10px; font-weight: 700; line-height: 17px; text-align: center; }
.bell__panel { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; width: 360px; max-width: calc(100vw - 24px); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); box-shadow: 0 12px 32px rgb(0 0 0 / .14); z-index: 40; overflow: hidden; }
.bell__head { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--line); font-size: 13px; }
.bell__item { display: grid; gap: 2px; padding: 10px 14px; border-bottom: 1px solid var(--line); color: var(--text); border-inline-start: 3px solid transparent; }
.bell__item:hover { background: var(--foam); text-decoration: none; }
.bell__item.is-new { background: var(--tide-soft); }
.bell__title { font-weight: 600; font-size: 13px; }
.bell__body, .bell__time { font-size: 12px; color: var(--text-2); }
.lvl-warn { border-inline-start-color: var(--warn) !important; }
.lvl-danger { border-inline-start-color: var(--danger) !important; }
.lvl-ok { border-inline-start-color: var(--ok) !important; }
.notif-list { list-style: none; margin: 0; padding: 0; }
.notif-list li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); border-inline-start: 3px solid transparent; }
.notif-list li.is-new { background: var(--tide-soft); }
.notif-list a { display: grid; gap: 2px; color: var(--text); flex: 1; }
.notif-list a:hover { text-decoration: none; }
.notif-list__title { font-weight: 600; }
.notif-list__body { font-size: 13px; color: var(--text-2); }
.notif-list__time { font-size: 12px; color: var(--text-2); white-space: nowrap; }
@media (max-width: 820px) { .bell__panel { position: fixed; top: 60px; inset-inline: 12px; width: auto; } }
.attach label { cursor: pointer; }
.offers { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* ── مواعيد التصوير (أسبوع) ── */
.grid--cal { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
.week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.week__day { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); min-height: 260px; padding: 6px; display: flex; flex-direction: column; gap: 6px; }
.week__day.is-today { border-color: var(--tide); }
.week__day header { display: flex; justify-content: space-between; font-size: 12px; padding: 2px 4px 6px; border-bottom: 1px solid var(--line); }
.week__day header span { color: var(--text-2); }
.slot { border-radius: var(--radius-s); padding: 6px 8px; background: var(--tide-soft); border-inline-start: 3px solid var(--tide); font-size: 12px; display: grid; gap: 2px; }
.slot p { margin: 0; }
.slot--done { background: var(--ok-soft); border-color: var(--ok); }
.slot--cancelled, .slot--no_show { background: var(--muted-soft); border-color: var(--line); opacity: .75; }
.slot__time { font-weight: 700; font-variant-numeric: tabular-nums; }
.slot__title { font-weight: 600; font-size: 13px; }
.slot__meta { color: var(--text-2); }
.slot__actions { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.btn--xs { min-height: 26px; padding: 2px 8px; font-size: 11px; }
@media (max-width: 1600px) { .grid--cal { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .week { grid-template-columns: 1fr; } .week__day { min-height: 0; } }
.chart__svg { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.rank li > span:first-child { display: grid; }

/* ── لوحة تسليم الشغل ── */
.board { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; align-items: start; }
.board__col { background: var(--muted-soft); border-radius: var(--radius-m); padding: 8px; display: grid; gap: 8px; min-height: 120px; }
.board__col header { font-weight: 700; font-size: 13px; padding: 4px; border-bottom: 3px solid var(--line); }
.board__col--editing header { border-color: var(--tide); }
.board__col--review header { border-color: var(--warn); }
.board__col--revision header { border-color: var(--danger); }
.board__col--delivered header { border-color: var(--ok); }
.dcard { display: grid; gap: 3px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-s); padding: 8px 10px; color: var(--text); }
.dcard:hover { border-color: var(--tide); text-decoration: none; }
.dcard.is-late { border-inline-start: 3px solid var(--danger); }
.dcard__title { font-weight: 600; font-size: 13px; }
.dcard__meta { font-size: 11px; color: var(--text-2); }
.timeline { margin: 0; padding-inline-start: 18px; display: grid; gap: 10px; }
.timeline p { margin: 2px 0 0; }
@media (max-width: 1100px) { .board { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .board { grid-template-columns: 1fr; } }
.dgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.dgrid > div { display: grid; gap: 4px; align-content: start; }
.client-review { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.client-review form { margin: 0; }
.renew-box { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.checks--sm { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.checks--sm .check { padding: 6px 8px; font-size: 12px; }

/* ── صفحة الأسعار العامة ── */
.pub { background: var(--foam); min-height: 100vh; display: flex; flex-direction: column; }
.pub__hero { position: relative; background: url("../img/pattern.svg") center / cover no-repeat, var(--brand-grad); color: #fff; text-align: center; padding: 48px 20px 40px; display: grid; justify-items: center; gap: 14px; }
.pub__hero img { height: 56px; width: auto; }
.pub__hero h1 { font-size: 30px; }
.pub__cta { background: #fff; color: #14123F; }
.pub__hero .theme-toggle { position: absolute; top: 14px; inset-inline-start: 14px; color: #fff; background: rgb(255 255 255 / .12); }
.pub__main { max-width: 1100px; width: 100%; margin: 0 auto; padding: 24px 16px 40px; display: grid; gap: 16px; }
.pub__h2 { font-size: 22px; margin: 18px 0 0; }
.pub__offers { display: grid; gap: 8px; }
.pub__offer { background: var(--ok-soft); color: var(--ok); border-radius: var(--radius-m); padding: 12px 16px; font-size: 15px; }
.pub__offer span { color: var(--text-2); font-size: 13px; }
.pub__cats, .pub__branches { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.pub__note { text-align: center; }
.plan-card h3 { font-size: 17px; margin: 0; }
.qr { width: 260px; max-width: 100%; margin: 10px auto; background: #fff; padding: 8px; border-radius: 6px; }
.qr svg { width: 100%; height: auto; display: block; }
@media print { .qr-box { border: 0; } .qr-box .form__actions, .qr-box .alert { display: none; } }
.inst-box { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 10px 12px; border: 1px dashed var(--line); border-radius: var(--radius-s); margin: 8px 0; }
.input--xs { min-height: 26px; padding: 2px 6px; font-size: 11px; width: auto; }

/* ── شاشة الفرع ── */
.tv { background: #0B0D17; color: #E7E9EE; min-height: 100vh; padding: 24px 32px; font-size: 20px; }
.tv__head { display: flex; align-items: center; gap: 24px; border-bottom: 2px solid #272B37; padding-bottom: 16px; }
.tv__head h1 { font-size: 32px; flex: 1; }
.tv__clock { font-size: 36px; font-weight: 700; margin: 0; direction: ltr; }
.tv__clock small { font-size: 16px; color: #9AA0AE; display: block; text-align: left; }
.tv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 20px; }
.tv h2 { font-size: 22px; color: #7C9DFF; margin: 0 0 12px; }
.tv__row { display: flex; gap: 18px; align-items: center; padding: 12px 16px; background: #171A23; border-radius: 8px; margin-bottom: 10px; border-inline-start: 5px solid #272B37; }
.tv__row small { display: block; color: #9AA0AE; font-size: 16px; }
.tv__row.is-now { border-color: #4CC38A; background: #142A20; }
.tv__row.is-done { opacity: .5; }
.tv__row.is-late { border-color: #F07482; }
.tv__time { font-weight: 700; min-width: 170px; font-variant-numeric: tabular-nums; color: #E7E9EE; }
.tv__empty { color: #9AA0AE; }
.tv__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tv__chips span { background: #1A2440; padding: 6px 12px; border-radius: 99px; font-size: 16px; }
@media (max-width: 900px) { .tv__grid { grid-template-columns: 1fr; } }
.cash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.cash-card { border: 1px solid var(--line); border-radius: var(--radius-m); padding: 14px; display: grid; gap: 6px; }
.cash-card.is-done { background: var(--foam); }
.cash-card p { margin: 0; }
.heat { border-collapse: separate; border-spacing: 3px; font-size: 12px; width: 100%; }
.heat th { color: var(--text-2); font-weight: 600; padding: 2px 4px; white-space: nowrap; }
.heat__c { text-align: center; height: 30px; border-radius: 4px; background: var(--muted-soft); color: #fff; font-weight: 700; }
.heat__c--1 { background: color-mix(in srgb, var(--tide) 30%, var(--muted-soft)); }
.heat__c--2 { background: color-mix(in srgb, var(--tide) 55%, var(--muted-soft)); }
.heat__c--3 { background: color-mix(in srgb, var(--tide) 80%, var(--muted-soft)); }
.heat__c--4 { background: var(--tide); }
.cash-card { align-content: start; }
/* لون الحالة يغلب على «strong» */
.strong.tone-ok { color: var(--ok); } .strong.tone-warn { color: var(--warn); } .strong.tone-danger { color: var(--danger); }

/* ── الدليل والإصدارات ── */
.onboard { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-color: var(--tide); background: var(--tide-soft); }
.onboard h2 { font-size: 18px; margin-bottom: 4px; }
.onboard p { margin: 0 0 8px; }
.onboard__actions { display: flex; gap: 8px; }
.onboard__actions form { margin: 0; }
.onboard__bar { max-width: 360px; margin: 6px 0 4px; }
.hero-help h2 { font-size: 20px; margin-bottom: 6px; }
.flow { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; counter-reset: lvl; }
.flow li { border: 1px solid var(--line); border-top: 3px solid var(--tide); border-radius: var(--radius-s); padding: 12px; display: grid; gap: 4px; }
.flow li::before { counter-increment: lvl; content: "المستوى " counter(lvl); font-size: 11px; color: var(--text-2); }
.flow b { font-size: 16px; }
.flow span { font-size: 13px; color: var(--text-2); }
.checklist { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
.checklist li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-s); }
.checklist li a { flex: 1; color: var(--text); font-weight: 600; }
.checklist li.is-done a { color: var(--text-2); text-decoration: line-through; }
.checklist__mark { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--muted-soft); font-size: 12px; font-weight: 700; flex: none; }
.checklist li.is-done .checklist__mark { background: var(--ok); color: #fff; }
.steps, .guide { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.steps li { padding: 8px 0; border-bottom: 1px dashed var(--line); }
.guide li { display: flex; gap: 14px; align-items: flex-start; }
.guide p { margin: 2px 0 0; }
.guide__n { width: 32px; height: 32px; border-radius: 50%; background: var(--tide); color: #fff; display: grid; place-items: center; font-weight: 700; flex: none; }
.center { text-align: center; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.feature { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 14px 16px; display: grid; gap: 4px; color: var(--text); }
.feature:hover { border-color: var(--tide); text-decoration: none; }
.feature strong { font-size: 15px; }
.feature span { font-size: 13px; color: var(--text-2); }
.releases { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.releases > li { border-inline-start: 3px solid var(--line); padding: 4px 16px 4px 0; padding-inline-start: 16px; }
.releases > li.is-new { border-color: var(--tide); }
.releases__head { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.releases__v { font-weight: 700; color: var(--tide); direction: ltr; }
.releases ul { margin: 8px 0 0; padding-inline-start: 18px; display: grid; gap: 4px; color: var(--text-2); font-size: 14px; }
@media (max-width: 900px) { .flow { grid-template-columns: 1fr 1fr; } }
