/*
 * cabinet_v2.css — стили нового кабинета и auth.
 * Все правила scoped через body[data-cabinet="v2"].
 * Подключается только на v2-страницах через wrapper-шаблон.
 */

/* ───────── FONTS (self-hosted, как на сайте — см. template/new/css.css) ───────── */
@font-face { font-family:'Rubik'; font-style:normal; font-weight:400; font-display:swap; src:url(../assets/fonts/rubik-400n-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:400; font-display:swap; src:url(../assets/fonts/rubik-400n-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:500; font-display:swap; src:url(../assets/fonts/rubik-500n-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:500; font-display:swap; src:url(../assets/fonts/rubik-500n-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:600; font-display:swap; src:url(../assets/fonts/rubik-600n-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:600; font-display:swap; src:url(../assets/fonts/rubik-600n-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:700; font-display:swap; src:url(../assets/fonts/rubik-700n-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Rubik'; font-style:normal; font-weight:700; font-display:swap; src:url(../assets/fonts/rubik-700n-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'PT Sans'; font-style:normal; font-weight:400; font-display:swap; src:url(../assets/fonts/pt-sans-400n-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'PT Sans'; font-style:normal; font-weight:400; font-display:swap; src:url(../assets/fonts/pt-sans-400n-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'PT Sans'; font-style:normal; font-weight:700; font-display:swap; src:url(../assets/fonts/pt-sans-700n-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'PT Sans'; font-style:normal; font-weight:700; font-display:swap; src:url(../assets/fonts/pt-sans-700n-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ───────── TOKENS ───────── */
body[data-cabinet="v2"] {
    /* Type — токены сайта (template/new/css.css :root) */
    --c2-font-sans: 'PT Sans', 'Segoe UI', Arial, sans-serif;
    --c2-font-heading: 'Rubik', 'Segoe UI', Arial, sans-serif;
    --c2-fs-12: 12px;
    --c2-fs-14: 14px;
    --c2-fs-16: 16px;
    --c2-fs-20: 20px;
    --c2-fs-24: 24px;
    --c2-fs-30: 30px;
    --c2-fs-36: 36px;
    --c2-fs-48: 48px;
    --c2-fw-regular: 400;
    --c2-fw-medium: 500;
    --c2-fw-semibold: 600;
    --c2-fw-bold: 700;
    --c2-lh-body: 1.5;
    --c2-lh-tight: 1.25;

    /* Neutrals — серые сайта (имена slate сохранены, значения = палитра сайта) */
    --c2-slate-50:  #f8f9fa;
    --c2-slate-100: #f6f7f8;
    --c2-slate-200: #e9ecef;
    --c2-slate-300: #dee2e6;
    --c2-slate-400: #c2c8ce;
    --c2-slate-500: #6c757d;
    --c2-slate-600: #555e66;
    --c2-slate-700: #2a4b5a;
    --c2-slate-800: #0e5164;
    --c2-slate-900: #212529;
    --c2-slate-950: #054456;

    /* Accent — бренд-бирюза сайта (#009688), для ссылок/фокуса/вторичных */
    --c2-accent-50:  #e0f2f1;
    --c2-accent-100: #b2dfdb;
    --c2-accent-300: #4db6ac;
    --c2-accent-500: #009688;
    --c2-accent-600: #00897b;
    --c2-accent-700: #00796b;
    --c2-accent-800: #00695c;

    /* Semantic */
    --c2-success: #16a34a;
    --c2-warning: #d97706;
    --c2-warning-bg: #fff7ed;
    --c2-danger:  #dc2626;
    --c2-info:    #2563eb;

    /* Semantic surfaces — подложки/текст для flash-сообщений (derived via color-mix). */
    --c2-danger-bg:   color-mix(in oklch, var(--c2-danger) 8%, #fff);
    --c2-danger-line: color-mix(in oklch, var(--c2-danger) 24%, #fff);
    --c2-danger-fg:   color-mix(in oklch, var(--c2-danger) 80%, #000);
    --c2-success-bg:   color-mix(in oklch, var(--c2-success) 9%, #fff);
    --c2-success-line: color-mix(in oklch, var(--c2-success) 26%, #fff);
    --c2-success-fg:   color-mix(in oklch, var(--c2-success) 72%, #000);
    --c2-info-bg:   color-mix(in oklch, var(--c2-info) 8%, #fff);
    --c2-info-line: color-mix(in oklch, var(--c2-info) 24%, #fff);
    --c2-info-fg:   color-mix(in oklch, var(--c2-info) 78%, #000);
    --c2-warning-line: color-mix(in oklch, var(--c2-warning) 26%, #fff);
    --c2-warning-fg:   color-mix(in oklch, var(--c2-warning) 78%, #000);

    /* Surfaces */
    --c2-bg:        var(--c2-slate-50);
    --c2-bg-card:   #ffffff;
    --c2-text:      var(--c2-slate-900);
    --c2-text-muted:var(--c2-slate-500);
    --c2-border:    var(--c2-slate-200);

    /* Space — base 4 */
    --c2-s-1: 4px;
    --c2-s-2: 8px;
    --c2-s-3: 12px;
    --c2-s-4: 16px;
    --c2-s-5: 24px;
    --c2-s-6: 32px;
    --c2-s-7: 48px;
    --c2-s-8: 64px;
    --c2-s-9: 96px;

    /* Radii */
    --c2-r-sm: 6px;
    --c2-r-md: 8px;
    --c2-r-lg: 12px;
    --c2-r-xl: 16px;
    --c2-r-full: 9999px;

    /* Shadows */
    --c2-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);
    --c2-shadow-md: 0 4px 12px rgba(15, 23, 42, .06);
    --c2-shadow-lg: 0 12px 32px rgba(15, 23, 42, .08);

    /* Motion */
    --c2-ease: cubic-bezier(.2, .8, .2, 1);
    --c2-ease-emp: cubic-bezier(.16, 1, .3, 1);
    --c2-d-micro: 150ms;
    --c2-d-base:  200ms;
    --c2-d-slow:  300ms;

    /* Layout */
    --c2-btn-min-h: 44px;
}

/* ───────── RESET (scoped) ───────── */
body[data-cabinet="v2"] {
    margin: 0;
    font-family: var(--c2-font-sans);
    font-size: var(--c2-fs-16);
    line-height: var(--c2-lh-body);
    color: var(--c2-text);
    background: var(--c2-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body[data-cabinet="v2"] *,
body[data-cabinet="v2"] *::before,
body[data-cabinet="v2"] *::after {
    box-sizing: border-box;
}
body[data-cabinet="v2"] h1,
body[data-cabinet="v2"] h2,
body[data-cabinet="v2"] h3,
body[data-cabinet="v2"] h4 {
    margin: 0 0 var(--c2-s-3);
    font-family: var(--c2-font-heading);
    font-weight: var(--c2-fw-semibold);
    line-height: var(--c2-lh-tight);
    letter-spacing: -.01em;
}
body[data-cabinet="v2"] h1 { font-size: var(--c2-fs-30); }
body[data-cabinet="v2"] h2 { font-size: var(--c2-fs-24); }
body[data-cabinet="v2"] h3 { font-size: var(--c2-fs-20); }
body[data-cabinet="v2"] h4 { font-size: var(--c2-fs-16); }
body[data-cabinet="v2"] p { margin: 0 0 var(--c2-s-3); }
body[data-cabinet="v2"] a { color: var(--c2-accent-700); text-decoration: none; }
body[data-cabinet="v2"] a:hover { text-decoration: underline; }

/* ───────── LAYOUT ─────────
   Каркас 3.0: шапка сайта (.c2-shell) + контент (.c2-content--hub).
   Сами правила .c2-shell*/.c2-back/.c2-content--hub — в конце файла.
   Здесь остаются только общие .c2-content и .c2-page-header. */
body[data-cabinet="v2"] .c2-content {
    width: 100%;
}
body[data-cabinet="v2"] .c2-page-header {
    margin-bottom: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-page-header__title {
    font-size: var(--c2-fs-30);
    margin-bottom: var(--c2-s-1);
}

/* ───────── CARD ───────── */
body[data-cabinet="v2"] .c2-card {
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    padding: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-card__title {
    margin: 0 0 var(--c2-s-2);
    font-size: var(--c2-fs-16);
    font-weight: var(--c2-fw-semibold);
}
body[data-cabinet="v2"] .c2-card__body { font-size: var(--c2-fs-14); color: var(--c2-text-muted); }
body[data-cabinet="v2"] .c2-card + .c2-card { margin-top: var(--c2-s-4); }

/* ───────── FORM ───────── */
body[data-cabinet="v2"] .c2-field {
    display: flex;
    flex-direction: column;
    gap: var(--c2-s-2);
    margin-bottom: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-field__label {
    font-size: var(--c2-fs-14);
    font-weight: var(--c2-fw-medium);
    color: var(--c2-slate-700);
}
body[data-cabinet="v2"] .c2-input {
    width: 100%;
    padding: 10px var(--c2-s-3);
    font: inherit;
    font-size: var(--c2-fs-14);
    color: var(--c2-text);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-slate-300);
    border-radius: var(--c2-r-md);
    transition: border-color var(--c2-d-micro) var(--c2-ease), box-shadow var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-input:hover { border-color: var(--c2-slate-400); }
body[data-cabinet="v2"] .c2-input:focus {
    outline: none;
    border-color: var(--c2-accent-600);
    box-shadow: 0 0 0 3px rgba(13, 148, 136, .15);
}
body[data-cabinet="v2"] .c2-input[aria-invalid="true"] { border-color: var(--c2-danger); }
body[data-cabinet="v2"] .c2-input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(220, 38, 38, .15); }
body[data-cabinet="v2"] .c2-field__helper { font-size: var(--c2-fs-12); color: var(--c2-text-muted); }
body[data-cabinet="v2"] .c2-field__error  { margin-top: var(--c2-s-1); font-size: var(--c2-fs-12); color: var(--c2-danger); }
body[data-cabinet="v2"] .c2-field--password .c2-input { padding-right: 48px; }
body[data-cabinet="v2"] .c2-field__input-wrap {
    position: relative;
    display: block;
}
body[data-cabinet="v2"] .c2-field__toggle {
    position: absolute;
    right: 4px;
    bottom: 4px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--c2-text-muted);
    cursor: pointer;
    border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-field__toggle:hover { background: var(--c2-slate-100); }
body[data-cabinet="v2"] .c2-field__toggle:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}
body[data-cabinet="v2"] .c2-field__toggle-icon--hide,
body[data-cabinet="v2"] .c2-field__toggle[aria-pressed="true"] .c2-field__toggle-icon--show {
    display: none;
}
body[data-cabinet="v2"] .c2-field__toggle[aria-pressed="true"] .c2-field__toggle-icon--hide {
    display: inline-block;
}

/* ───────── BUTTON ───────── */
body[data-cabinet="v2"] .c2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--c2-s-2);
    padding: 10px var(--c2-s-4);
    font: inherit;
    font-size: var(--c2-fs-14);
    font-weight: var(--c2-fw-medium);
    line-height: 1;
    color: var(--c2-slate-900);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-slate-300);
    border-radius: var(--c2-r-md);
    cursor: pointer;
    transition: background var(--c2-d-micro) var(--c2-ease),
                border-color var(--c2-d-micro) var(--c2-ease),
                transform var(--c2-d-micro) var(--c2-ease);
    min-height: var(--c2-btn-min-h);
    text-decoration: none;
}
body[data-cabinet="v2"] .c2-btn:hover { background: var(--c2-slate-50); border-color: var(--c2-slate-400); text-decoration: none; }
body[data-cabinet="v2"] .c2-btn:active { transform: scale(.97); }
body[data-cabinet="v2"] .c2-btn:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}
body[data-cabinet="v2"] .c2-btn[disabled],
body[data-cabinet="v2"] .c2-btn[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
}
body[data-cabinet="v2"] .c2-btn--primary {
    color: #ffffff;
    background: var(--c2-accent-700);
    border-color: var(--c2-accent-700);
}
body[data-cabinet="v2"] .c2-btn--primary:hover {
    background: var(--c2-accent-800);
    border-color: var(--c2-accent-800);
}
body[data-cabinet="v2"] .c2-btn--ghost {
    background: transparent;
    border-color: transparent;
    color: var(--c2-slate-700);
}
body[data-cabinet="v2"] .c2-btn--ghost:hover { background: var(--c2-slate-100); }
body[data-cabinet="v2"] .c2-btn--danger {
    color: #ffffff;
    background: var(--c2-danger);
    border-color: var(--c2-danger);
}
body[data-cabinet="v2"] .c2-btn--danger:hover {
    background: #b91c1c;
    border-color: #b91c1c;
}
body[data-cabinet="v2"] .c2-btn--block { width: 100%; }

/* ───────── BADGE ───────── */
body[data-cabinet="v2"] .c2-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: var(--c2-fs-12);
    font-weight: var(--c2-fw-medium);
    background: var(--c2-slate-100);
    color: var(--c2-slate-700);
    border-radius: var(--c2-r-full);
}
body[data-cabinet="v2"] .c2-badge--soon { background: var(--c2-warning-bg); color: var(--c2-warning); }

/* ───────── SECTION (для группировки в Security и Профиле) ───────── */
body[data-cabinet="v2"] .c2-section { margin-bottom: var(--c2-s-6); }
body[data-cabinet="v2"] .c2-section__title {
    margin: 0 0 var(--c2-s-3);
    font-size: var(--c2-fs-12);
    font-weight: var(--c2-fw-medium);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--c2-text-muted);
}

/* ───────── UTILS ───────── */
body[data-cabinet="v2"] .c2-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
body[data-cabinet="v2"] .c2-sr-only--focusable:focus,
body[data-cabinet="v2"] .c2-sr-only--focusable:focus-visible {
    position: fixed;
    top: var(--c2-s-2);
    left: var(--c2-s-2);
    width: auto;
    height: auto;
    padding: var(--c2-s-2) var(--c2-s-4);
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    background: var(--c2-bg-card);
    border: 2px solid var(--c2-accent-600);
    border-radius: var(--c2-r-md);
    color: var(--c2-text);
    text-decoration: none;
    z-index: 100;
}
body[data-cabinet="v2"] .c2-stack > * + * { margin-top: var(--c2-s-4); }

/* ───────── AUTH WRAPPER ───────── */
body[data-cabinet="v2"].c2-auth {
    background: var(--c2-slate-50);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}
body[data-cabinet="v2"] .c2-auth__top {
    padding: var(--c2-s-5) var(--c2-s-5) 0;
    text-align: center;
}
body[data-cabinet="v2"] .c2-auth__logo {
    display: inline-block;
    line-height: 0;
    color: var(--c2-slate-900);
    text-decoration: none;
    transition: opacity var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-auth__logo img {
    height: 36px;
    width: auto;
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    body[data-cabinet="v2"] .c2-auth__logo:hover {
        opacity: .85;
    }
}
body[data-cabinet="v2"] .c2-auth__main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--c2-s-6) var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-auth__card {
    width: 100%;
    max-width: 440px;
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    padding: var(--c2-s-6);
    box-shadow: var(--c2-shadow-sm);
}
body[data-cabinet="v2"] .c2-auth__title {
    font-size: var(--c2-fs-24);
    margin: 0 0 var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-auth__subtitle {
    color: var(--c2-text-muted);
    margin: 0 0 var(--c2-s-5);
    font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-auth__footer {
    padding: var(--c2-s-5);
    text-align: center;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-12);
}
body[data-cabinet="v2"] .c2-auth__alt-link {
    margin-top: var(--c2-s-5);
    text-align: center;
    font-size: var(--c2-fs-14);
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-auth__alt-link a {
    color: var(--c2-accent-700);
    font-weight: var(--c2-fw-medium);
    transition: color var(--c2-d-micro) var(--c2-ease);
}
@media (hover: hover) and (pointer: fine) {
    body[data-cabinet="v2"] .c2-auth__alt-link a:hover {
        color: var(--c2-accent-600);
    }
}
body[data-cabinet="v2"] .c2-auth__logo:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 4px;
    border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-auth__alt-link a:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-auth__forgot {
    display: block;
    margin-top: var(--c2-s-1);
    text-align: right;
    font-size: var(--c2-fs-12);
    color: var(--c2-text-muted);
    transition: color var(--c2-d-micro) var(--c2-ease);
}
@media (hover: hover) and (pointer: fine) {
    body[data-cabinet="v2"] .c2-auth__forgot:hover {
        color: var(--c2-slate-700);
    }
}
body[data-cabinet="v2"] .c2-auth__forgot:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    border-radius: var(--c2-r-sm);
}

/* ───────── AUTH DIVIDER ("или") ───────── */
body[data-cabinet="v2"] .c2-auth__divider {
    display: flex;
    align-items: center;
    gap: var(--c2-s-3);
    margin: var(--c2-s-5) 0;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-12);
    text-transform: uppercase;
    letter-spacing: .08em;
}
body[data-cabinet="v2"] .c2-auth__divider::before,
body[data-cabinet="v2"] .c2-auth__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--c2-border);
}

/* ───────── AUTH SOCIAL (placeholders for future feature flags) ───────── */
body[data-cabinet="v2"] .c2-auth__social {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    gap: var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-auth__social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--c2-s-2);
    min-height: var(--c2-btn-min-h);
    padding: 10px var(--c2-s-3);
    font-size: var(--c2-fs-14);
    color: var(--c2-slate-700);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-slate-200);
    border-radius: var(--c2-r-md);
    text-decoration: none;
    transition: background var(--c2-d-micro) var(--c2-ease-emp),
                border-color var(--c2-d-micro) var(--c2-ease-emp),
                transform var(--c2-d-micro) var(--c2-ease-emp);
}
@media (hover: hover) and (pointer: fine) {
    body[data-cabinet="v2"] .c2-auth__social-btn:hover {
        background: var(--c2-slate-50);
        border-color: var(--c2-slate-300);
    }
}
body[data-cabinet="v2"] .c2-auth__social-btn:active {
    transform: scale(.97);
}
body[data-cabinet="v2"] .c2-auth__social-btn:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}
body[data-cabinet="v2"] .c2-auth__social-btn[aria-disabled="true"] {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ───────── AUTH TABS (Email | Phone) ───────── */
body[data-cabinet="v2"] .c2-auth__tabs {
    display: flex;
    gap: 0;
    margin: 0 0 var(--c2-s-5);
    background: var(--c2-slate-100);
    border-radius: var(--c2-r-md);
    padding: var(--c2-s-1);
}
body[data-cabinet="v2"] .c2-auth__tab {
    flex: 1;
    padding: 10px var(--c2-s-3);
    font-size: var(--c2-fs-14);
    font-weight: var(--c2-fw-medium);
    text-align: center;
    color: var(--c2-text-muted);
    background: transparent;
    border: none;
    border-radius: var(--c2-r-sm);
    cursor: pointer;
    transition: color var(--c2-d-base) var(--c2-ease),
                background var(--c2-d-base) var(--c2-ease),
                box-shadow var(--c2-d-base) var(--c2-ease),
                transform var(--c2-d-micro) var(--c2-ease-emp);
}
body[data-cabinet="v2"] .c2-auth__tab[aria-selected="true"] {
    color: var(--c2-slate-900);
    background: var(--c2-bg-card);
    box-shadow: var(--c2-shadow-sm);
}
body[data-cabinet="v2"] .c2-auth__tab:active {
    transform: scale(.97);
}
body[data-cabinet="v2"] .c2-auth__tab:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}
body[data-cabinet="v2"] .c2-auth__tab[aria-disabled="true"] {
    opacity: .4;
    cursor: not-allowed;
}

/* ───────── DASHBOARD HEADER ───────── */
body[data-cabinet="v2"] .c2-dash-header {
    margin-bottom: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-dash-header__title {
    font-size: var(--c2-fs-30);
    font-weight: var(--c2-fw-semibold);
    line-height: var(--c2-lh-tight);
    letter-spacing: -.01em;
    margin: 0 0 var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-dash-header__subtitle {
    margin: 0;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}

/* ───────── DASHBOARD BANNER ───────── */
body[data-cabinet="v2"] .c2-dash-banner {
    display: flex;
    align-items: center;
    gap: var(--c2-s-4);
    padding: var(--c2-s-4) var(--c2-s-5);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    margin-bottom: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-dash-banner--info {
    background: var(--c2-accent-50);
    border-color: var(--c2-accent-100);
}
body[data-cabinet="v2"] .c2-dash-banner__body {
    flex: 1;
    min-width: 0;
}
body[data-cabinet="v2"] .c2-dash-banner__title {
    margin: 0 0 2px;
    font-size: var(--c2-fs-16);
    font-weight: var(--c2-fw-medium);
    color: var(--c2-text);
}
body[data-cabinet="v2"] .c2-dash-banner__sub {
    margin: 0;
    font-size: var(--c2-fs-14);
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-dash-banner__action {
    flex: 0 0 auto;
}
@media (max-width: 639px) {
    body[data-cabinet="v2"] .c2-dash-banner {
        flex-direction: column;
        align-items: stretch;
    }
    body[data-cabinet="v2"] .c2-dash-banner__action .c2-btn {
        width: 100%;
    }
}

/* ───────── DASHBOARD GRID ───────── */
body[data-cabinet="v2"] .c2-dash-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--c2-s-4);
    margin-bottom: var(--c2-s-6);
}
@media (max-width: 639px) {
    body[data-cabinet="v2"] .c2-dash-grid {
        grid-template-columns: 1fr;
    }
}

/* ───────── DASHBOARD HERO ───────── */
body[data-cabinet="v2"] .c2-dash-hero {
    padding: var(--c2-s-7) var(--c2-s-5);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-xl);
    text-align: center;
    margin-bottom: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-dash-hero__title {
    font-size: var(--c2-fs-24);
    font-weight: var(--c2-fw-semibold);
    letter-spacing: -.01em;
    margin: 0 0 var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-dash-hero__sub {
    margin: 0 auto var(--c2-s-5);
    max-width: 50ch;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}

/* ───────── PARTNER CARD ───────── */
body[data-cabinet="v2"] .c2-partner-card {
    position: relative;
    padding: var(--c2-s-5);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    overflow: hidden;
}
body[data-cabinet="v2"] .c2-partner-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--c2-accent-600);
}
body[data-cabinet="v2"] .c2-partner-card__title {
    margin: 0 0 var(--c2-s-1);
    font-size: var(--c2-fs-16);
    font-weight: var(--c2-fw-semibold);
}
body[data-cabinet="v2"] .c2-partner-card__sub {
    margin: 0;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-partner-card__action {
    margin-top: var(--c2-s-3);
}

/* ───────── AGENCY WIDGET ───────── */
body[data-cabinet="v2"] .c2-agency-widget {
    padding: var(--c2-s-5);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
}
body[data-cabinet="v2"] .c2-agency-widget__head {
    margin: 0 0 var(--c2-s-2);
    font-size: var(--c2-fs-16);
    font-weight: var(--c2-fw-semibold);
    display: flex;
    align-items: center;
    gap: var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-agency-widget__meta {
    margin: 0 0 var(--c2-s-4);
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-agency-widget__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--c2-s-2);
}
@media (max-width: 639px) {
    body[data-cabinet="v2"] .c2-agency-widget__actions .c2-btn {
        flex: 1 1 100%;
    }
}

/* ───────── PROFILE HEADER ───────── */
body[data-cabinet="v2"] .c2-profile-header {
    margin-bottom: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-profile-header__title {
    font-size: var(--c2-fs-30);
    font-weight: var(--c2-fw-semibold);
    line-height: var(--c2-lh-tight);
    letter-spacing: -.01em;
    margin: 0 0 var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-profile-header__subtitle {
    margin: 0;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}

/* ───────── PROFILE LAYOUT ───────── */
body[data-cabinet="v2"] .c2-profile-form {
    margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-profile-layout {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--c2-s-4);
}
@media (max-width: 767px) {
    body[data-cabinet="v2"] .c2-profile-layout {
        grid-template-columns: 1fr;
        gap: var(--c2-s-5);
    }
    body[data-cabinet="v2"] .c2-profile-layout .c2-avatar-block {
        align-items: center;
    }
    body[data-cabinet="v2"] .c2-form-row {
        grid-template-columns: 1fr;
    }
}

/* ───────── AVATAR ───────── */
body[data-cabinet="v2"] .c2-avatar-block {
    display: flex;
    flex-direction: column;
    gap: var(--c2-s-3);
    align-items: flex-start;
}
body[data-cabinet="v2"] .c2-avatar {
    width: 96px;
    height: 96px;
    border-radius: var(--c2-r-full);
    overflow: hidden;
    background: var(--c2-slate-100);
    display: flex;
    align-items: center;
    justify-content: center;
}
body[data-cabinet="v2"] .c2-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body[data-cabinet="v2"] .c2-avatar--placeholder {
    background: var(--c2-accent-100);
}
body[data-cabinet="v2"] .c2-avatar__initials {
    font-size: var(--c2-fs-24);
    font-weight: var(--c2-fw-semibold);
    color: var(--c2-accent-700);
    letter-spacing: -.01em;
}
body[data-cabinet="v2"] .c2-avatar-block__actions {
    display: flex;
    flex-direction: column;
    gap: var(--c2-s-2);
    align-items: stretch;
    width: 100%;
    max-width: 160px;
}
body[data-cabinet="v2"] .c2-avatar-block__hint {
    margin: 0;
    font-size: var(--c2-fs-12);
    color: var(--c2-text-muted);
    text-align: left;
}
@media (max-width: 767px) {
    body[data-cabinet="v2"] .c2-avatar-block__hint {
        text-align: center;
    }
}

/* ───────── PROFILE FIELDS ───────── */
body[data-cabinet="v2"] .c2-profile-fields {
    min-width: 0;
}
body[data-cabinet="v2"] .c2-profile-fields .c2-btn[type="submit"] {
    margin-top: var(--c2-s-3);
}
@media (max-width: 767px) {
    body[data-cabinet="v2"] .c2-profile-fields .c2-btn[type="submit"] {
        width: 100%;
    }
}

/* ───────── PROFILE SECURITY LINK ───────── */
body[data-cabinet="v2"] .c2-profile-security-link {
    display: inline-flex;
    align-items: center;
    gap: var(--c2-s-2);
    padding-top: var(--c2-s-5);
    margin-top: var(--c2-s-6);
    border-top: 1px solid var(--c2-border);
    color: var(--c2-accent-700);
    font-size: var(--c2-fs-14);
    font-weight: var(--c2-fw-medium);
    text-decoration: none;
    transition: color var(--c2-d-micro) var(--c2-ease);
    width: 100%;
}
body[data-cabinet="v2"] .c2-profile-security-link:hover {
    color: var(--c2-accent-800);
    text-decoration: none;
}
body[data-cabinet="v2"] .c2-profile-security-link:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}

/* ───────── LISTINGS HEADER ───────── */
body[data-cabinet="v2"] .c2-listings-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--c2-s-4);
    margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-listings-header__title {
    margin: 0;
    font-size: var(--c2-fs-30);
    font-weight: var(--c2-fw-semibold);
    line-height: var(--c2-lh-tight);
    letter-spacing: -.01em;
}

/* ───────── LISTINGS TABS ───────── */
body[data-cabinet="v2"] .c2-listings-tabs {
    display: flex;
    gap: var(--c2-s-3);
    border-bottom: 1px solid var(--c2-border);
    margin-bottom: var(--c2-s-5);
    overflow-x: auto;
}
body[data-cabinet="v2"] .c2-listings-tab {
    padding: var(--c2-s-3) 0;
    border-bottom: 2px solid transparent;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
    font-weight: var(--c2-fw-medium);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--c2-d-micro) var(--c2-ease),
                border-color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-listings-tab:hover {
    color: var(--c2-text);
    text-decoration: none;
}
body[data-cabinet="v2"] .c2-listings-tab[aria-current="page"] {
    color: var(--c2-text);
    border-bottom-color: var(--c2-accent-600);
}
body[data-cabinet="v2"] .c2-listings-tab:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-listings-tab__count {
    margin-left: var(--c2-s-1);
    font-size: var(--c2-fs-12);
    color: var(--c2-text-muted);
}

/* ───────── LISTINGS CARDS ───────── */
body[data-cabinet="v2"] .c2-listings-cards {
    display: flex;
    flex-direction: column;
    gap: var(--c2-s-3);
    padding: 0;
    margin: 0 0 var(--c2-s-5);
    list-style: none;
}
body[data-cabinet="v2"] .c2-listing-card {
    display: flex;
    gap: var(--c2-s-4);
    padding: var(--c2-s-4);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    transition: background var(--c2-d-micro) var(--c2-ease),
                border-color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-listing-card:hover {
    background: var(--c2-slate-50);
    border-color: var(--c2-slate-300);
}
body[data-cabinet="v2"] .c2-listing-card__thumb {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    background: var(--c2-slate-100);
    border-radius: var(--c2-r-md);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c2-slate-400);
}
body[data-cabinet="v2"] .c2-listing-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body[data-cabinet="v2"] .c2-listing-card__body {
    flex: 1;
    min-width: 0;
}
body[data-cabinet="v2"] .c2-listing-card__title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--c2-s-3);
    margin-bottom: var(--c2-s-1);
}
body[data-cabinet="v2"] .c2-listing-card__title {
    margin: 0;
    font-size: var(--c2-fs-16);
    font-weight: var(--c2-fw-semibold);
    line-height: var(--c2-lh-tight);
    color: var(--c2-text);
}
body[data-cabinet="v2"] .c2-listing-card__meta {
    margin: 0 0 var(--c2-s-3);
    font-size: var(--c2-fs-14);
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-listing-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--c2-s-3);
    flex-wrap: wrap;
}
body[data-cabinet="v2"] .c2-listing-card__metrics {
    margin: 0;
    font-size: var(--c2-fs-12);
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-listing-card__actions {
    display: flex;
    gap: var(--c2-s-2);
}

/* ───────── LISTING BADGES ───────── */
body[data-cabinet="v2"] .c2-badge--active {
    background: var(--c2-accent-50);
    color: var(--c2-accent-700);
}
body[data-cabinet="v2"] .c2-badge--pending {
    background: #fef3c7;
    color: #92400e;
}
body[data-cabinet="v2"] .c2-badge--suspended {
    background: var(--c2-slate-100);
    color: var(--c2-slate-700);
}

/* ───────── BTN DISABLED ───────── */
body[data-cabinet="v2"] .c2-btn--disabled,
body[data-cabinet="v2"] .c2-btn[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
}

/* ───────── LISTINGS EMPTY FILTER ───────── */
body[data-cabinet="v2"] .c2-listings-empty-filter {
    padding: var(--c2-s-7) var(--c2-s-5);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    text-align: center;
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-listings-empty-filter p {
    margin: 0 0 var(--c2-s-3);
}
body[data-cabinet="v2"] .c2-listings-empty-filter a {
    color: var(--c2-accent-700);
    font-weight: var(--c2-fw-medium);
}
body[data-cabinet="v2"] .c2-listings-empty-filter a:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    border-radius: var(--c2-r-sm);
}

/* ───────── PAGINATION ───────── */
body[data-cabinet="v2"] .c2-pagination {
    display: flex;
    justify-content: center;
    gap: var(--c2-s-2);
    margin: var(--c2-s-6) 0;
}
body[data-cabinet="v2"] .c2-pagination__link,
body[data-cabinet="v2"] .c2-pagination__current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 var(--c2-s-3);
    font-size: var(--c2-fs-14);
    color: var(--c2-text);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-md);
    text-decoration: none;
    transition: background var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-pagination__link:hover {
    background: var(--c2-slate-50);
    text-decoration: none;
}
body[data-cabinet="v2"] .c2-pagination__link:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}
body[data-cabinet="v2"] .c2-pagination__current {
    background: var(--c2-accent-600);
    color: #ffffff;
    border-color: var(--c2-accent-600);
    cursor: default;
}
body[data-cabinet="v2"] .c2-pagination__link[aria-disabled="true"] {
    opacity: .4;
    pointer-events: none;
}

/* ───────── RESPONSIVE ───────── */
@media (max-width: 767px) {
    body[data-cabinet="v2"] .c2-listings-header {
        flex-direction: column;
        align-items: stretch;
    }
    body[data-cabinet="v2"] .c2-listings-header__cta {
        width: 100%;
    }
    body[data-cabinet="v2"] .c2-listing-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    body[data-cabinet="v2"] .c2-listing-card__thumb {
        width: 96px;
        height: 96px;
        flex: 0 0 96px;
    }
    body[data-cabinet="v2"] .c2-listing-card__title-row {
        flex-direction: column;
        align-items: center;
    }
    body[data-cabinet="v2"] .c2-listing-card__footer {
        flex-direction: column;
        align-items: stretch;
    }
    body[data-cabinet="v2"] .c2-listing-card__actions {
        flex-direction: column;
    }
    body[data-cabinet="v2"] .c2-listing-card__actions .c2-btn {
        width: 100%;
    }
}

/* ───────── PASSWORD STRENGTH ───────── */
body[data-cabinet="v2"] .c2-strength {
    display: flex;
    gap: 4px;
    margin-top: var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-strength__bar {
    flex: 1;
    height: 3px;
    background: var(--c2-slate-200);
    border-radius: 2px;
    transition: background var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-strength[data-c2-strength="1"] .c2-strength__bar:nth-child(1) {
    background: #ef4444;
}
body[data-cabinet="v2"] .c2-strength[data-c2-strength="2"] .c2-strength__bar:nth-child(-n+2) {
    background: #f59e0b;
}
body[data-cabinet="v2"] .c2-strength[data-c2-strength="3"] .c2-strength__bar {
    background: #10b981;
}

/* ───────── CHECKBOX ───────── */
body[data-cabinet="v2"] .c2-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--c2-s-2);
    margin-bottom: var(--c2-s-4);
    font-size: var(--c2-fs-14);
    color: var(--c2-text);
    cursor: pointer;
    line-height: 1.5;
}
body[data-cabinet="v2"] .c2-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--c2-accent-700);
    cursor: pointer;
}
body[data-cabinet="v2"] .c2-checkbox input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-checkbox__text a {
    color: var(--c2-accent-700);
    text-decoration: underline;
    text-underline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
    body[data-cabinet="v2"] .c2-checkbox__text a:hover {
        color: var(--c2-accent-800);
    }
}
body[data-cabinet="v2"] .c2-checkbox__text a:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    border-radius: var(--c2-r-sm);
}

/* ───────── EDIT PAGE ───────── */
body[data-cabinet="v2"] .c2-edit {
    max-width: 720px;
}
body[data-cabinet="v2"] .c2-edit-section {
    margin-bottom: var(--c2-s-7);
}
body[data-cabinet="v2"] .c2-edit-section:last-of-type {
    margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-edit-section__title {
    margin: 0 0 var(--c2-s-4);
    font-size: var(--c2-fs-12);
    font-weight: var(--c2-fw-medium);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-edit-section__body {
    display: flex;
    flex-direction: column;
    gap: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-edit-actions {
    position: sticky;
    bottom: 0;
    z-index: 10;
    display: flex;
    justify-content: flex-end;
    gap: var(--c2-s-3);
    padding: var(--c2-s-4) 0;
    margin-top: var(--c2-s-6);
    background: color-mix(in srgb, var(--c2-bg-card) 92%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid var(--c2-border);
}
@media (max-width: 767px) {
    body[data-cabinet="v2"] .c2-edit-actions {
        flex-direction: column-reverse;
    }
    body[data-cabinet="v2"] .c2-edit-actions .c2-btn,
    body[data-cabinet="v2"] .c2-edit-actions button[type="submit"] {
        width: 100%;
    }
}

/* ───────── GALLERY ───────── */
body[data-cabinet="v2"] .c2-gallery__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--c2-s-3);
}
body[data-cabinet="v2"] .c2-gallery__item {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: var(--c2-r-md);
    overflow: hidden;
    border: 1px solid var(--c2-border);
    background: var(--c2-slate-100);
    cursor: grab;
    transition: transform var(--c2-d-micro) var(--c2-ease),
                box-shadow var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body[data-cabinet="v2"] .c2-gallery__item--cover {
    box-shadow: 0 0 0 2px var(--c2-accent-600);
}
body[data-cabinet="v2"] .c2-gallery__item--loading {
    opacity: .5;
    pointer-events: none;
}
body[data-cabinet="v2"] .c2-gallery__badge {
    position: absolute;
    top: var(--c2-s-2);
    left: var(--c2-s-2);
    padding: 2px var(--c2-s-2);
    background: var(--c2-accent-700);
    color: #fff;
    font-size: var(--c2-fs-12);
    font-weight: var(--c2-fw-medium);
    border-radius: var(--c2-r-sm);
    pointer-events: none;
}
body[data-cabinet="v2"] .c2-gallery__delete {
    position: absolute;
    top: var(--c2-s-2);
    right: var(--c2-s-2);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(15, 23, 42, .65);
    color: #fff;
    border: none;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--c2-d-micro) var(--c2-ease),
                background var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-gallery__delete:hover {
    background: var(--c2-danger);
}
body[data-cabinet="v2"] .c2-gallery__delete:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
    opacity: 1;
}
body[data-cabinet="v2"] .c2-gallery__item:hover .c2-gallery__delete,
body[data-cabinet="v2"] .c2-gallery__item:focus-within .c2-gallery__delete {
    opacity: 1;
}
@media (hover: none) {
    body[data-cabinet="v2"] .c2-gallery__delete { opacity: 1; }
}
body[data-cabinet="v2"] .c2-gallery__count {
    font-weight: var(--c2-fw-regular);
    color: var(--c2-text-muted);
    margin-left: var(--c2-s-2);
    text-transform: none;
    letter-spacing: 0;
    font-size: var(--c2-fs-12);
}
body[data-cabinet="v2"] .c2-gallery__actions {
    margin-top: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-gallery__upload-btn {
    cursor: pointer;
}
body[data-cabinet="v2"] .c2-gallery__upload-btn[aria-disabled="true"] {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
}
body[data-cabinet="v2"] .c2-gallery__empty {
    grid-column: 1 / -1;
    padding: var(--c2-s-6);
    text-align: center;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
    border: 1px dashed var(--c2-slate-300);
    border-radius: var(--c2-r-md);
}
/* SortableJS состояния */
body[data-cabinet="v2"] .c2-gallery__item.sortable-chosen {
    cursor: grabbing;
    transform: scale(.96);
}
body[data-cabinet="v2"] .c2-gallery__item.sortable-ghost {
    opacity: .3;
}

/* ───────── EDIT WIZARD STEP INDICATOR (Wave 5b.4.1) ───────── */
body[data-cabinet="v2"] .c2-edit-wizard-step {
    margin: calc(var(--c2-s-3) * -1) 0 var(--c2-s-5);
    font-size: var(--c2-fs-12);
    font-weight: var(--c2-fw-medium);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--c2-accent-700);
}

/* ───────── CREATE PICKER (Wave 5b.4 stage 1) ───────── */
body[data-cabinet="v2"] .c2-create-picker {
    max-width: 720px;
    margin: 0 auto;
}
body[data-cabinet="v2"] .c2-create-picker__title {
    font-size: var(--c2-fs-30);
    margin-bottom: var(--c2-s-2);
    line-height: var(--c2-lh-tight);
}
body[data-cabinet="v2"] .c2-create-picker__sub {
    color: var(--c2-text-muted);
    margin-bottom: var(--c2-s-6);
    font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-create-picker__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-create-picker__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--c2-s-3);
    min-height: 160px;
    padding: var(--c2-s-6) var(--c2-s-4);
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    text-decoration: none;
    color: var(--c2-text);
    transition: border-color var(--c2-d-micro) var(--c2-ease),
                transform var(--c2-d-micro) var(--c2-ease),
                box-shadow var(--c2-d-micro) var(--c2-ease);
}
@media (hover: hover) and (pointer: fine) {
    body[data-cabinet="v2"] .c2-create-picker__card:hover {
        border-color: var(--c2-accent-600);
        transform: translateY(-2px);
        box-shadow: var(--c2-shadow-sm);
        text-decoration: none;
    }
}
body[data-cabinet="v2"] .c2-create-picker__card:focus-visible {
    outline: 2px solid var(--c2-accent-600);
    outline-offset: 2px;
}
body[data-cabinet="v2"] .c2-create-picker__icon {
    color: var(--c2-accent-700);
    display: inline-flex;
}
body[data-cabinet="v2"] .c2-create-picker__icon svg {
    width: 48px;
    height: 48px;
}
body[data-cabinet="v2"] .c2-create-picker__name {
    font-size: var(--c2-fs-16);
    font-weight: var(--c2-fw-medium);
    text-align: center;
}
body[data-cabinet="v2"] .c2-create-picker__back {
    margin-top: var(--c2-s-6);
    text-align: center;
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}

/* ───────── A11Y MOTION GUARD ───────── */
@media (prefers-reduced-motion: reduce) {
    body[data-cabinet="v2"] *,
    body[data-cabinet="v2"] *::before,
    body[data-cabinet="v2"] *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* ───────── CREATE WIZARD ───────── */
body[data-cabinet="v2"] .c2-wizard {
    max-width: 600px;
    margin: 0 auto;
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    box-shadow: var(--c2-shadow-md);
    padding: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-wizard__progress {
    height: 4px;
    background: var(--c2-slate-200);
    border-radius: var(--c2-r-full);
    overflow: hidden;
    margin-bottom: var(--c2-s-3);
}
body[data-cabinet="v2"] .c2-wizard__bar {
    display: block;
    height: 100%;
    width: 0;
    background: var(--c2-accent-600);
    border-radius: var(--c2-r-full);
    transition: width var(--c2-d-base) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-wizard__counter {
    margin: 0 0 var(--c2-s-5);
    font-size: var(--c2-fs-14);
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-wizard__title {
    font-size: var(--c2-fs-24);
    margin: 0 0 var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-wizard__map {
    height: 280px;
    border: 1px dashed var(--c2-border);
    border-radius: var(--c2-r-md);
    margin-top: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-wizard__nav {
    display: flex;
    gap: var(--c2-s-3);
    justify-content: flex-end;
    margin-top: var(--c2-s-6);
    padding-top: var(--c2-s-5);
    border-top: 1px solid var(--c2-border);
}
/* Fallback без JS: data-c2-step не скрыты (hidden управляется только JS),
   nav-кнопки back/next прячутся, остаётся submit. */
body[data-cabinet="v2"] .c2-wizard:not([data-wizard-ready]) [data-c2-wizard-back],
body[data-cabinet="v2"] .c2-wizard:not([data-wizard-ready]) [data-c2-wizard-next] {
    display: none;
}
body[data-cabinet="v2"] .c2-wizard:not([data-wizard-ready]) [data-c2-wizard-submit] {
    display: inline-block !important;
}

/* ───────── STATISTICS ───────── */
body[data-cabinet="v2"] .c2-stats__listing {
    margin: 0 0 var(--c2-s-5);
    color: var(--c2-text-muted);
    font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-stats-periods {
    display: flex;
    flex-wrap: wrap;
    gap: var(--c2-s-2);
    margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-stats-chip {
    padding: 6px 12px;
    border-radius: var(--c2-r-full);
    border: 1px solid var(--c2-border);
    background: var(--c2-bg-card);
    color: var(--c2-text);
    font-size: var(--c2-fs-14);
    text-decoration: none;
}
body[data-cabinet="v2"] .c2-stats-chip:hover { background: var(--c2-slate-100); text-decoration: none; }
body[data-cabinet="v2"] .c2-stats-chip--active {
    background: var(--c2-accent-600);
    border-color: var(--c2-accent-600);
    color: #ffffff;
}
body[data-cabinet="v2"] .c2-stats-range { margin-bottom: var(--c2-s-5); }
body[data-cabinet="v2"] .c2-stats-range__form { display: flex; align-items: center; gap: var(--c2-s-2); flex-wrap: wrap; }
body[data-cabinet="v2"] .c2-stats-range__dash { color: var(--c2-text-muted); }
body[data-cabinet="v2"] .c2-stats-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--c2-s-3);
    margin-bottom: var(--c2-s-6);
}
body[data-cabinet="v2"] .c2-stats-card {
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    padding: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-stats-card__value {
    font-family: var(--c2-font-heading);
    font-size: var(--c2-fs-30);
    font-weight: var(--c2-fw-bold);
    color: var(--c2-text);
    line-height: 1.1;
}
body[data-cabinet="v2"] .c2-stats-card__label {
    margin-top: var(--c2-s-1);
    font-size: var(--c2-fs-14);
    color: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-stats-chart {
    background: var(--c2-bg-card);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg);
    padding: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-stats-chart__title {
    font-weight: var(--c2-fw-semibold);
    margin-bottom: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-stats-chart__svg {
    width: 100%;
    height: auto;
    overflow: visible;
}
body[data-cabinet="v2"] .c2-stats-chart__xlabel {
    font-size: 11px;
    fill: var(--c2-text-muted);
}
body[data-cabinet="v2"] .c2-stats-empty {
    padding: var(--c2-s-6);
    text-align: center;
    color: var(--c2-text-muted);
    background: var(--c2-bg-card);
    border: 1px dashed var(--c2-border);
    border-radius: var(--c2-r-lg);
}

/* ============================================================
   Realtor claim wizard (user_realtor)
   ============================================================ */
body[data-cabinet="v2"] .c2-claim { max-width: 560px; }

/* Появление шага: быстрый ease-out, без spring-овершута на критическом пути */
@keyframes c2-step-in {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}
body[data-cabinet="v2"] [data-c2-claim-step] {
    animation: c2-step-in var(--c2-d-base) var(--c2-ease-emp) both;
}

body[data-cabinet="v2"] .c2-claim__suggest {
    display: flex; gap: var(--c2-s-4); align-items: flex-start;
    border: 1px solid var(--c2-accent-100);
    background: linear-gradient(180deg, var(--c2-accent-50), var(--c2-bg-card) 70%);
    margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-claim__suggest-icon {
    width: 40px; height: 40px; flex: 0 0 auto; color: var(--c2-accent-600);
}
body[data-cabinet="v2"] .c2-claim__suggest-icon svg { width: 100%; height: 100%; }
body[data-cabinet="v2"] .c2-claim__suggest-title {
    font: var(--c2-fw-semibold) var(--c2-fs-16)/var(--c2-lh-tight) var(--c2-font-heading);
    margin: 0 0 var(--c2-s-1);
}
body[data-cabinet="v2"] .c2-claim__suggest-sub {
    color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: 0 0 var(--c2-s-3);
}

body[data-cabinet="v2"] .c2-claim__search { display: flex; gap: var(--c2-s-2); position: relative; }
body[data-cabinet="v2"] .c2-claim__search-icon {
    position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; color: var(--c2-text-muted); pointer-events: none;
}
body[data-cabinet="v2"] .c2-claim__search-icon svg { width: 100%; height: 100%; }
body[data-cabinet="v2"] .c2-claim__search-input { padding-left: 38px; flex: 1; }

body[data-cabinet="v2"] .c2-claim__empty {
    color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: var(--c2-s-4) 0 0;
}
body[data-cabinet="v2"] .c2-claim__results { list-style: none; margin: var(--c2-s-4) 0 0; padding: 0; }
body[data-cabinet="v2"] .c2-claim__result {
    display: flex; align-items: center; gap: var(--c2-s-3);
    padding: var(--c2-s-3) 0; border-top: 1px solid var(--c2-border);
}
body[data-cabinet="v2"] .c2-claim__result-avatar {
    width: 40px; height: 40px; flex: 0 0 auto; border-radius: var(--c2-r-full);
    overflow: hidden; background: var(--c2-slate-100); color: var(--c2-slate-400);
    display: flex; align-items: center; justify-content: center;
}
body[data-cabinet="v2"] .c2-claim__result-avatar img { width: 100%; height: 100%; object-fit: cover; }
body[data-cabinet="v2"] .c2-claim__result-avatar svg { width: 22px; height: 22px; }
body[data-cabinet="v2"] .c2-claim__result-avatar--lg { width: 56px; height: 56px; }
body[data-cabinet="v2"] .c2-claim__result-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
body[data-cabinet="v2"] .c2-claim__result-name { font-weight: var(--c2-fw-medium); }
body[data-cabinet="v2"] .c2-claim__result-meta {
    color: var(--c2-text-muted); font-size: var(--c2-fs-12);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body[data-cabinet="v2"] .c2-claim__result-taken {
    color: var(--c2-text-muted); font-size: var(--c2-fs-12);
}

body[data-cabinet="v2"] .c2-claim__person { display: flex; gap: var(--c2-s-3); align-items: center; margin-bottom: var(--c2-s-4); }
body[data-cabinet="v2"] .c2-claim__person-name { font-weight: var(--c2-fw-semibold); margin: 0; }
body[data-cabinet="v2"] .c2-claim__person-meta { color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: 0; }
body[data-cabinet="v2"] .c2-claim__how {
    display: flex; gap: var(--c2-s-2); align-items: flex-start;
    font-size: var(--c2-fs-14); color: var(--c2-text); margin: 0 0 var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-claim__how-icon { width: 18px; height: 18px; flex: 0 0 auto; color: var(--c2-accent-600); margin-top: 2px; }
body[data-cabinet="v2"] .c2-claim__how-icon svg { width: 100%; height: 100%; }
body[data-cabinet="v2"] .c2-claim__actions { display: flex; gap: var(--c2-s-2); }

body[data-cabinet="v2"] .c2-claim__noaccess { margin-top: var(--c2-s-4); font-size: var(--c2-fs-14); }
body[data-cabinet="v2"] .c2-claim__noaccess summary {
    color: var(--c2-text-muted); cursor: pointer;
    transition: color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-claim__noaccess summary:hover { color: var(--c2-text); }
body[data-cabinet="v2"] .c2-claim__noaccess summary:focus-visible {
    outline: 2px solid var(--c2-accent-600); outline-offset: 2px; border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-claim__noaccess form { display: grid; gap: var(--c2-s-2); margin-top: var(--c2-s-3); }

/* --- Код-инпут: 6 ячеек --- */
body[data-cabinet="v2"] .c2-code { display: grid; gap: var(--c2-s-3); }
body[data-cabinet="v2"] .c2-code__cells { display: flex; gap: var(--c2-s-2); }
body[data-cabinet="v2"] .c2-code__cell {
    width: 46px; min-width: 0; flex: 0 1 46px; height: 56px; text-align: center;
    font: var(--c2-fw-semibold) var(--c2-fs-24)/1 var(--c2-font-heading);
    border: 1.5px solid var(--c2-border); border-radius: var(--c2-r-md);
    background: var(--c2-bg-card); color: var(--c2-text);
    transition: border-color var(--c2-d-micro) var(--c2-ease),
                box-shadow var(--c2-d-micro) var(--c2-ease),
                transform var(--c2-d-micro) var(--c2-ease);
    caret-color: var(--c2-accent-500);
}
body[data-cabinet="v2"] .c2-code__cell:focus {
    outline: none; border-color: var(--c2-accent-500);
    box-shadow: 0 0 0 3px var(--c2-accent-50);
}
body[data-cabinet="v2"] .c2-code__cell.is-filled { border-color: var(--c2-slate-400); transform: scale(1.02); }

@keyframes c2-code-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-5px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-3px); }
    80% { transform: translateX(3px); }
}
body[data-cabinet="v2"] .c2-code.is-shake .c2-code__cells { animation: c2-code-shake 240ms var(--c2-ease); }
body[data-cabinet="v2"] .c2-code.is-shake .c2-code__cell { border-color: var(--c2-danger); }

@media (max-width: 420px) {
    body[data-cabinet="v2"] .c2-code__cells { gap: var(--c2-s-1); }
    body[data-cabinet="v2"] .c2-code__cell { height: 52px; font-size: var(--c2-fs-20); flex-basis: 36px; }
}

body[data-cabinet="v2"] .c2-claim__resend {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: var(--c2-s-4); gap: var(--c2-s-3);
}
body[data-cabinet="v2"] .c2-claim__cancel {
    background: none; border: 0; padding: 0; cursor: pointer;
    color: var(--c2-text-muted); font-size: var(--c2-fs-12);
    text-decoration: underline; text-underline-offset: 3px;
    transition: color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-claim__cancel:hover { color: var(--c2-danger); }
body[data-cabinet="v2"] .c2-claim__cancel:active { transform: scale(.97); }
body[data-cabinet="v2"] .c2-claim__cancel:focus-visible {
    outline: 2px solid var(--c2-accent-600); outline-offset: 2px; border-radius: var(--c2-r-sm);
}

body[data-cabinet="v2"] .c2-claim__waiting { display: flex; gap: var(--c2-s-4); align-items: flex-start; }
body[data-cabinet="v2"] .c2-claim__waiting-icon { width: 32px; height: 32px; color: var(--c2-warning); flex: 0 0 auto; }
body[data-cabinet="v2"] .c2-claim__waiting-icon svg { width: 100%; height: 100%; }
body[data-cabinet="v2"] .c2-claim__waiting-head { font-weight: var(--c2-fw-semibold); margin: 0 0 var(--c2-s-1); }
body[data-cabinet="v2"] .c2-claim__waiting-sub { color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: 0; }

@media (prefers-reduced-motion: reduce) {
    body[data-cabinet="v2"] [data-c2-claim-step],
    body[data-cabinet="v2"] .c2-code.is-shake .c2-code__cells { animation: none; }
}

/* --- Realtor editor --- */
body[data-cabinet="v2"] .c2-realtor-editor { max-width: 720px; }
body[data-cabinet="v2"] .c2-realtor-editor__head {
    display: flex; align-items: baseline; justify-content: space-between; gap: var(--c2-s-3);
}
body[data-cabinet="v2"] .c2-realtor-editor__view {
    font-size: var(--c2-fs-14); color: var(--c2-accent-600); text-decoration: none;
    transition: color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-realtor-editor__view:hover { color: var(--c2-accent-700); }
body[data-cabinet="v2"] .c2-realtor-editor__view:active { transform: scale(.97); }
body[data-cabinet="v2"] .c2-realtor-editor__view:focus-visible {
    outline: 2px solid var(--c2-accent-600); outline-offset: 2px; border-radius: var(--c2-r-sm);
}
body[data-cabinet="v2"] .c2-realtor-editor__identity {
    display: flex; gap: var(--c2-s-3); align-items: flex-start; margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-realtor-editor__readonly {
    color: var(--c2-text-muted); font-size: var(--c2-fs-12); margin: var(--c2-s-1) 0 0;
}

body[data-cabinet="v2"] .c2-claim__done { display: flex; gap: var(--c2-s-3); align-items: flex-start;
    border: 1px solid var(--c2-accent-100); }
body[data-cabinet="v2"] .c2-claim__done-icon {
    width: 28px; height: 28px; flex: 0 0 auto; color: #fff;
    background: var(--c2-success); border-radius: var(--c2-r-full);
    display: flex; align-items: center; justify-content: center;
    animation: c2-done-pop 360ms var(--c2-ease-emp) both;
}
body[data-cabinet="v2"] .c2-claim__done-icon svg { width: 16px; height: 16px; }
@keyframes c2-done-pop {
    0% { transform: scale(.4); opacity: 0; }
    70% { transform: scale(1.08); }
    100% { transform: scale(1); opacity: 1; }
}
body[data-cabinet="v2"] .c2-claim__done-head { font-weight: var(--c2-fw-semibold); margin: 0 0 var(--c2-s-1); }
body[data-cabinet="v2"] .c2-claim__done-sub { color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: 0; }
@media (prefers-reduced-motion: reduce) {
    body[data-cabinet="v2"] .c2-claim__done-icon { animation: none; }
}

/* --- Certificates manager --- */
body[data-cabinet="v2"] .c2-certs__list { list-style: none; margin: 0 0 var(--c2-s-4); padding: 0; }
body[data-cabinet="v2"] .c2-certs__item {
    display: flex; align-items: center; gap: var(--c2-s-3);
    padding: var(--c2-s-3) 0; border-top: 1px solid var(--c2-border);
}
body[data-cabinet="v2"] .c2-certs__item:first-child { border-top: 0; }
body[data-cabinet="v2"] .c2-certs__grip {
    cursor: grab; color: var(--c2-slate-400); letter-spacing: -2px;
    user-select: none; font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-certs__item.sortable-ghost { opacity: .4; }
body[data-cabinet="v2"] .c2-certs__preview {
    width: 64px; height: 48px; flex: 0 0 auto; border-radius: var(--c2-r-sm);
    overflow: hidden; background: var(--c2-slate-100); display: flex;
    align-items: center; justify-content: center; text-decoration: none;
}
body[data-cabinet="v2"] .c2-certs__preview img { width: 100%; height: 100%; object-fit: cover; }
body[data-cabinet="v2"] .c2-certs__preview--pdf {
    font: var(--c2-fw-bold) var(--c2-fs-12)/1 var(--c2-font-heading);
    color: var(--c2-slate-600); border: 1px solid var(--c2-border);
}
body[data-cabinet="v2"] .c2-certs__title { flex: 1; }
body[data-cabinet="v2"] .c2-certs__delete {
    flex: 0 0 auto; width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    background: none; border: 0; cursor: pointer; color: var(--c2-slate-400);
    font-size: var(--c2-fs-20); line-height: 1;
    border-radius: var(--c2-r-sm);
    transition: color var(--c2-d-micro) var(--c2-ease), background var(--c2-d-micro) var(--c2-ease),
                transform var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-certs__delete:hover { color: var(--c2-danger); background: var(--c2-slate-100); }
body[data-cabinet="v2"] .c2-certs__delete:active { transform: scale(.9); }
body[data-cabinet="v2"] .c2-certs__delete:focus-visible {
    outline: 2px solid var(--c2-accent-600); outline-offset: 2px; color: var(--c2-danger);
}
body[data-cabinet="v2"] .c2-certs__add { display: inline-flex; cursor: pointer; }
body[data-cabinet="v2"] .c2-certs__add.is-busy { opacity: .6; pointer-events: none; }
body[data-cabinet="v2"] .c2-certs__error { color: var(--c2-danger); font-size: var(--c2-fs-14); margin: var(--c2-s-3) 0 0; }

/* ============================================================
   Cabinet 3.0 shell: шапка сайта + возврат в хаб
   ============================================================ */
body[data-cabinet="v2"] .c2-shell {
    background: var(--c2-bg-card);
    border-bottom: 1px solid var(--c2-border);
    position: sticky; top: 0; z-index: 50;
}
body[data-cabinet="v2"] .c2-shell__in {
    max-width: 1080px; margin: 0 auto;
    display: flex; align-items: center; gap: var(--c2-s-4);
    padding: var(--c2-s-3) var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-shell__logo { display: flex; align-items: center; flex: 0 0 auto; }
body[data-cabinet="v2"] .c2-shell__logo-img { height: 36px; width: auto; display: block; }
body[data-cabinet="v2"] .c2-shell__nav { display: flex; gap: var(--c2-s-4); }
body[data-cabinet="v2"] .c2-shell__pill {
    padding: 6px 14px; border-radius: var(--c2-r-full);
    font: var(--c2-fw-medium) var(--c2-fs-14)/1.2 var(--c2-font-sans);
    color: var(--c2-slate-800); background: var(--c2-slate-100);
    text-decoration: none;
    transition: background var(--c2-d-micro) var(--c2-ease), color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-shell__pill:hover { background: var(--c2-accent-50); color: var(--c2-accent-700); text-decoration: none; }
body[data-cabinet="v2"] .c2-shell__pill:active { transform: scale(.97); }
body[data-cabinet="v2"] .c2-shell__right { margin-left: auto; display: flex; align-items: center; gap: var(--c2-s-3); }
body[data-cabinet="v2"] .c2-shell__avatar {
    width: 36px; height: 36px; border-radius: var(--c2-r-full);
    background: var(--c2-accent-50); color: var(--c2-accent-700);
    display: flex; align-items: center; justify-content: center;
    font: var(--c2-fw-bold) var(--c2-fs-12)/1 var(--c2-font-heading);
    transition: box-shadow var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-shell__user:hover .c2-shell__avatar { box-shadow: 0 0 0 3px var(--c2-accent-100); }
body[data-cabinet="v2"] .c2-shell__logout { color: var(--c2-slate-500); display: flex; }
body[data-cabinet="v2"] .c2-shell__logout svg { width: 18px; height: 18px; }
body[data-cabinet="v2"] .c2-shell__logout:hover { color: var(--c2-danger); }

body[data-cabinet="v2"] .c2-content--hub { max-width: 1080px; margin: 0 auto; padding: var(--c2-s-5) var(--c2-s-4) var(--c2-s-8); }

body[data-cabinet="v2"] .c2-back {
    display: inline-flex; align-items: center; gap: var(--c2-s-1);
    /* tap target ≥44px: 14px padding both sides over 16px line; offset so visual position holds */
    padding: 14px var(--c2-s-2) 14px 0;
    margin: -14px 0 calc(var(--c2-s-4) - 14px);
    font: var(--c2-fw-semibold) var(--c2-fs-14)/1 var(--c2-font-sans);
    color: var(--c2-accent-700); text-decoration: none;
    transition: color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-back svg { width: 16px; height: 16px; }
body[data-cabinet="v2"] .c2-back:hover { color: var(--c2-accent-800); text-decoration: none; }
body[data-cabinet="v2"] .c2-back:focus-visible { outline: 2px solid var(--c2-accent-500); outline-offset: 2px; border-radius: var(--c2-r-sm); }

@media (max-width: 767px) {
    body[data-cabinet="v2"] .c2-shell__nav { display: none; }
    body[data-cabinet="v2"] .c2-shell__logo-img { height: 30px; }
}

/* --- Hub: приветствие, плитки, баннер --- */
body[data-cabinet="v2"] .c2-hub-head { margin-bottom: var(--c2-s-5); }
body[data-cabinet="v2"] .c2-hub-head__title {
    font: var(--c2-fw-semibold) var(--c2-fs-30)/var(--c2-lh-tight) var(--c2-font-heading);
    color: var(--c2-text); margin: 0 0 var(--c2-s-2);
}
body[data-cabinet="v2"] .c2-hub-head__sub { color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: 0; }

body[data-cabinet="v2"] .c2-hub-tiles {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: var(--c2-s-4);
}
body[data-cabinet="v2"] .c2-hub-tile {
    position: relative; display: block; text-decoration: none;
    background: var(--c2-bg-card); border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg); padding: var(--c2-s-5) var(--c2-s-4);
    transition: transform var(--c2-d-base) var(--c2-ease-emp),
                box-shadow var(--c2-d-base) var(--c2-ease-emp),
                border-color var(--c2-d-base) var(--c2-ease);
}
@media (hover: hover) {
    body[data-cabinet="v2"] .c2-hub-tile:hover {
        transform: translateY(-2px); box-shadow: var(--c2-shadow-md);
        border-color: var(--c2-accent-100);
    }
}
body[data-cabinet="v2"] .c2-hub-tile:active { transform: scale(.97); }
body[data-cabinet="v2"] .c2-hub-tile:focus-visible { outline: 2px solid var(--c2-accent-500); outline-offset: 2px; }
body[data-cabinet="v2"] .c2-hub-tile__icon {
    width: 40px; height: 40px; border-radius: var(--c2-r-md);
    background: var(--c2-accent-50); color: var(--c2-accent-700);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: var(--c2-s-3);
}
body[data-cabinet="v2"] .c2-hub-tile__icon svg { width: 20px; height: 20px; }
body[data-cabinet="v2"] .c2-hub-tile__title {
    display: block; font: var(--c2-fw-semibold) var(--c2-fs-16)/var(--c2-lh-tight) var(--c2-font-heading);
    color: var(--c2-text); margin-bottom: var(--c2-s-1);
}
body[data-cabinet="v2"] .c2-hub-tile__sub { display: block; color: var(--c2-text-muted); font-size: var(--c2-fs-12); }
body[data-cabinet="v2"] .c2-hub-tile__soon {
    position: absolute; top: var(--c2-s-3); right: var(--c2-s-3);
    background: var(--c2-warning-bg); color: var(--c2-warning);
    font: var(--c2-fw-semibold) var(--c2-fs-12)/1 var(--c2-font-sans);
    border-radius: var(--c2-r-full); padding: 4px 10px;
}

body[data-cabinet="v2"] .c2-hub-banner {
    display: flex; align-items: center; gap: var(--c2-s-3);
    margin-top: var(--c2-s-5); padding: var(--c2-s-4) var(--c2-s-5);
    border: 1px solid var(--c2-accent-100); border-radius: var(--c2-r-lg);
    background: linear-gradient(135deg, var(--c2-accent-50), var(--c2-bg-card) 60%);
}
body[data-cabinet="v2"] .c2-hub-banner__icon { width: 24px; height: 24px; color: var(--c2-accent-700); flex: 0 0 auto; }
body[data-cabinet="v2"] .c2-hub-banner__icon svg { width: 100%; height: 100%; }
body[data-cabinet="v2"] .c2-hub-banner__text { flex: 1; font-size: var(--c2-fs-14); color: var(--c2-slate-800); }
@media (max-width: 640px) {
    body[data-cabinet="v2"] .c2-hub-banner { flex-wrap: wrap; }
    body[data-cabinet="v2"] .c2-hub-banner .c2-btn { flex: 1 0 100%; text-align: center; }
}

/* --- Objects page --- */
body[data-cabinet="v2"] .c2-obj-tabs {
    display: inline-flex; gap: 3px; padding: 3px;
    max-width: 100%;
    background: var(--c2-bg-card); border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-full); margin-bottom: var(--c2-s-5);
}
body[data-cabinet="v2"] .c2-obj-tab {
    border: 0; background: none; cursor: pointer; white-space: nowrap;
    padding: 7px 16px; border-radius: var(--c2-r-full);
    font: var(--c2-fw-medium) var(--c2-fs-14)/1.2 var(--c2-font-sans);
    color: var(--c2-text-muted);
    transition: background var(--c2-d-micro) var(--c2-ease), color var(--c2-d-micro) var(--c2-ease);
}
@media (hover: hover) {
    body[data-cabinet="v2"] .c2-obj-tab:not(.is-active):hover { background: var(--c2-slate-100); color: var(--c2-text); }
}
body[data-cabinet="v2"] .c2-obj-tab.is-active { background: var(--c2-accent-500); color: #fff; font-weight: var(--c2-fw-semibold); }
body[data-cabinet="v2"] .c2-obj-tab:active { transform: scale(.97); }
body[data-cabinet="v2"] .c2-obj-tab:focus-visible { outline: 2px solid var(--c2-accent-500); outline-offset: 2px; }

body[data-cabinet="v2"] .c2-obj-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--c2-s-4);
}
@media (max-width: 480px) {
    body[data-cabinet="v2"] .c2-obj-grid { grid-template-columns: 1fr; }
}
body[data-cabinet="v2"] .c2-obj {
    background: var(--c2-bg-card); border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-lg); overflow: hidden;
    transition: box-shadow var(--c2-d-base) var(--c2-ease-emp);
}
@media (hover: hover) {
    body[data-cabinet="v2"] .c2-obj:hover { box-shadow: var(--c2-shadow-md); }
}
body[data-cabinet="v2"] .c2-obj__media {
    position: relative; display: flex; align-items: center; justify-content: center;
    aspect-ratio: 4 / 3; background: var(--c2-slate-100); color: var(--c2-slate-400);
}
body[data-cabinet="v2"] .c2-obj__img { width: 100%; height: 100%; object-fit: cover; }
body[data-cabinet="v2"] .c2-obj__placeholder svg { width: 28px; height: 28px; }
body[data-cabinet="v2"] .c2-obj__badge {
    position: absolute; top: var(--c2-s-2); left: var(--c2-s-2);
    background: var(--c2-slate-800); color: #fff;
    font: var(--c2-fw-semibold) var(--c2-fs-12)/1 var(--c2-font-sans);
    border-radius: var(--c2-r-full); padding: 4px 10px;
}
body[data-cabinet="v2"] .c2-obj--sold .c2-obj__img { filter: grayscale(.4); }
body[data-cabinet="v2"] .c2-obj__body { padding: var(--c2-s-3) var(--c2-s-4) var(--c2-s-4); }
body[data-cabinet="v2"] .c2-obj__price {
    font: var(--c2-fw-bold) var(--c2-fs-16)/1.3 var(--c2-font-heading);
    color: var(--c2-text); margin: 0 0 var(--c2-s-1);
}
body[data-cabinet="v2"] .c2-obj__price span { font: var(--c2-fw-regular) var(--c2-fs-12)/1 var(--c2-font-sans); color: var(--c2-text-muted); margin-left: var(--c2-s-2); }
body[data-cabinet="v2"] .c2-obj__title {
    display: block; color: var(--c2-text); text-decoration: none;
    font-size: var(--c2-fs-14); font-weight: var(--c2-fw-medium); margin-bottom: var(--c2-s-1);
}
body[data-cabinet="v2"] .c2-obj__title:hover { color: var(--c2-accent-700); }
body[data-cabinet="v2"] .c2-obj__addr { color: var(--c2-text-muted); font-size: var(--c2-fs-12); margin: 0; }
body[data-cabinet="v2"] .c2-obj__sold-at { color: var(--c2-text-muted); font-size: var(--c2-fs-12); margin: var(--c2-s-1) 0 0; }
body[data-cabinet="v2"] .c2-obj__unfav-form { margin-top: var(--c2-s-2); }
body[data-cabinet="v2"] .c2-obj__unfav {
    background: none; border: 0; padding: 0; cursor: pointer;
    color: var(--c2-text-muted); font-size: var(--c2-fs-12);
    text-decoration: underline; text-underline-offset: 3px;
    transition: color var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-obj__unfav:hover { color: var(--c2-danger); }

body[data-cabinet="v2"] .c2-obj-empty {
    display: flex; flex-direction: column; align-items: center; gap: var(--c2-s-3);
    padding: var(--c2-s-8) var(--c2-s-4); text-align: center;
    color: var(--c2-text-muted); font-size: var(--c2-fs-14);
}
body[data-cabinet="v2"] .c2-obj-empty svg { width: 32px; height: 32px; color: var(--c2-slate-400); }
body[data-cabinet="v2"] .c2-obj-empty p { margin: 0; max-width: 380px; }

/* --- Stub «скоро» --- */
body[data-cabinet="v2"] .c2-stub {
    display: flex; flex-direction: column; align-items: center; gap: var(--c2-s-3);
    padding: var(--c2-s-9) var(--c2-s-4); text-align: center;
}
body[data-cabinet="v2"] .c2-stub__icon {
    width: 56px; height: 56px; border-radius: var(--c2-r-full);
    background: var(--c2-accent-50); color: var(--c2-accent-700);
    display: flex; align-items: center; justify-content: center;
}
body[data-cabinet="v2"] .c2-stub__icon svg { width: 28px; height: 28px; }
body[data-cabinet="v2"] .c2-stub__title {
    font: var(--c2-fw-semibold) var(--c2-fs-24)/var(--c2-lh-tight) var(--c2-font-heading);
    color: var(--c2-text); margin: 0;
}
body[data-cabinet="v2"] .c2-stub__text { color: var(--c2-text-muted); font-size: var(--c2-fs-14); margin: 0 0 var(--c2-s-2); max-width: 440px; }

/* --- Specialization chips --- */
body[data-cabinet="v2"] .c2-spec-chips { display: flex; flex-wrap: wrap; gap: var(--c2-s-2); }
body[data-cabinet="v2"] .c2-spec-chip { cursor: pointer; }
body[data-cabinet="v2"] .c2-spec-chip input { position: absolute; opacity: 0; pointer-events: none; }
body[data-cabinet="v2"] .c2-spec-chip span {
    display: inline-block; padding: 7px 14px;
    border: 1.5px solid var(--c2-border); border-radius: var(--c2-r-full);
    font-size: var(--c2-fs-14); color: var(--c2-slate-600);
    transition: all var(--c2-d-micro) var(--c2-ease);
}
body[data-cabinet="v2"] .c2-spec-chip input:checked + span {
    border-color: var(--c2-accent-500); background: var(--c2-accent-50);
    color: var(--c2-accent-700); font-weight: var(--c2-fw-medium);
}
body[data-cabinet="v2"] .c2-spec-chip input:focus-visible + span { outline: 2px solid var(--c2-accent-500); outline-offset: 2px; }
body[data-cabinet="v2"] .c2-spec-chip:active span { transform: scale(.97); }

/* ───────── FLASH-СООБЩЕНИЯ (.alert из blocks/message.tpl) ─────────
   Плоская панель: полный тонкий бордер + лёгкая подложка + иконка статуса.
   Без боковых акцент-полос. Текст — затемнённый оттенок самого цвета. */
body[data-cabinet="v2"] #messages { margin-bottom: var(--c2-s-4); }

body[data-cabinet="v2"] .alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: var(--c2-s-3) var(--c2-s-4);
    border: 1px solid var(--c2-border);
    border-radius: var(--c2-r-md);
    background: var(--c2-bg-card);
    color: var(--c2-text);
    font-family: var(--c2-font-sans);
    font-size: var(--c2-fs-14);
    line-height: 1.45;
    animation: c2-alert-in 240ms cubic-bezier(0.23, 1, 0.32, 1) both;
}
body[data-cabinet="v2"] .alert + .alert { margin-top: var(--c2-s-2); }
body[data-cabinet="v2"] .alert br:last-child { display: none; }

/* Иконка статуса — Lucide через mask, цвет = currentColor алерта.
   Только для типизированных алертов (иначе пустой mask дал бы сплошной квадрат). */
body[data-cabinet="v2"] .alert-error::before,
body[data-cabinet="v2"] .alert-success::before,
body[data-cabinet="v2"] .alert-info::before,
body[data-cabinet="v2"] .alert-warning::before {
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    background-color: currentColor;
    -webkit-mask: var(--c2-alert-icon) center / 20px 20px no-repeat;
    mask: var(--c2-alert-icon) center / 20px 20px no-repeat;
}

body[data-cabinet="v2"] .alert-error {
    color: var(--c2-danger-fg); background: var(--c2-danger-bg); border-color: var(--c2-danger-line);
    --c2-alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
}
body[data-cabinet="v2"] .alert-success {
    color: var(--c2-success-fg); background: var(--c2-success-bg); border-color: var(--c2-success-line);
    --c2-alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}
body[data-cabinet="v2"] .alert-info {
    color: var(--c2-info-fg); background: var(--c2-info-bg); border-color: var(--c2-info-line);
    --c2-alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
}
body[data-cabinet="v2"] .alert-warning {
    color: var(--c2-warning-fg); background: var(--c2-warning-bg); border-color: var(--c2-warning-line);
    --c2-alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

@keyframes c2-alert-in {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Слот видимого виджета SmartCaptcha — отступы сверху/снизу в формах. */
body[data-cabinet="v2"] .smartcaptcha-slot:not(:empty) { margin: var(--c2-s-4) 0; }

@media (prefers-reduced-motion: reduce) {
    body[data-cabinet="v2"] .alert { animation: c2-alert-fade 200ms ease both; }
    @keyframes c2-alert-fade { from { opacity: 0; } to { opacity: 1; } }
}
