/* CRM v02: shared design tokens and real application views. Colors inherit the selected document theme. */
.bo-shell.crm-v02-shell[data-theme] {
    --q-dark-bg:var(--q-bg);
    --q-dark-card:var(--q-surface);
    --q-dark-card-2:var(--q-surface-2);
    --q-dark-line:var(--q-line);
    --q-dark-ink:var(--q-ink);
    --q-dark-muted:var(--q-muted);
    --q-indigo:var(--q-brand);
    --q-lime:var(--q-ok);
    --bo-bg:var(--q-bg);
    --bo-panel:var(--q-surface);
    --bo-panel-2:var(--q-surface-2);
    --bo-line:var(--q-line);
    --bo-ink:var(--q-ink);
    --bo-muted:var(--q-muted);
    --bo-brand:var(--q-brand);
    --bo-lime:var(--q-ok);
    --bo-amber:var(--q-warn);
    --bo-accent:var(--q-brand-text);
    --bo-accent-soft:var(--q-indigo-soft);
    --bo-hover:var(--q-surface-raised);
    --bo-success:var(--q-ok);
    --bo-danger:var(--q-bad);
    --bo-warning:var(--q-warn);
    --bo-trial:var(--q-brand-text);
    --bo-info:var(--q-info);
    --bo-review:var(--q-warn);
    background:var(--q-bg);
    color:var(--q-ink);
    font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
    grid-template-columns:248px minmax(0,1fr);
    color-scheme:inherit
}

.crm-v02-shell .bo-sidebar {
    background:var(--q-surface);
    border-right:1px solid var(--q-line);
    padding:20px 14px;
    height:100dvh
}

.crm-v02-shell .bo-brand {
    padding:2px 8px 22px;
    gap:10px
}

.crm-v02-shell .bo-brand strong {
    font-size:17px;
    font-weight:800;
    letter-spacing:-.01em
}

.crm-v02-shell .bo-brand img {
    width:34px;
    height:34px
}

.crm-v02-shell .bo-brand small {
    font-size:10.5px;
    color:var(--q-muted);
    letter-spacing:.12em
}

.crm-v02-shell .bo-nav {
    gap:4px
}

.crm-v02-shell .bo-nav-link {
    font-size:14px;
    font-weight:650;
    min-height:44px;
    padding:6px 12px;
    border:0;
    border-radius:10px;
    color:var(--q-muted)
}

.crm-v02-shell .bo-nav-link.active {
    background:var(--q-brand);
    color:var(--q-on-brand)
}

.crm-v02-shell .bo-nav-link.active::before {
    display:none
}

.crm-v02-shell .bo-sidebar-foot {
    border:1px solid var(--q-line);
    background:var(--q-surface);
    border-radius:12px;
    padding:12px;
    gap:10px;
    font-size:13px
}

.crm-v02-shell .bo-sidebar-foot small {
    color:var(--q-muted)
}

.crm-v02-shell .bo-topbar {
    height:64px;
    min-height:64px;
    padding:0 clamp(24px,2vw,40px);
    background:color-mix(in srgb, var(--q-bg) 92.157%, transparent);
    border-bottom:1px solid var(--q-line);
    backdrop-filter:blur(8px)
}

.crm-v02-shell .bo-topbar-kicker {
    color:var(--q-ok);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em
}

.crm-v02-shell .bo-main {
    min-width:0;
    background:var(--q-bg)
}

.crm-v02-shell .bo-content {
    padding:26px clamp(24px,2vw,40px) 40px;
    max-width:none;
    width:100%;
    background:var(--q-bg)
}

.crm-v02-shell .bo-page {
    max-width:none;
    margin:0;
    padding:0
}

.crm-v02-shell .bo-operator strong {
    color:var(--q-ink)
}

.crm-v02-shell .bo-avatar {
    background:color-mix(in srgb, var(--q-brand) 16.078%, transparent);
    color:var(--q-brand-text)
}

.crm-v02-shell .bo-nav-badge {
    background:color-mix(in srgb, var(--q-bad) 12.157%, transparent);
    color:var(--q-bad)
}

.crm-v02-shell .bo-page-heading h1 {
    font-size:34px;
    line-height:1.15;
    letter-spacing:-.025em;
    color:var(--q-ink)
}

.crm-v02-shell .bo-page-heading p {
    color:var(--q-muted)
}

.crm-v02-shell .bo-card {
    background:var(--q-surface);
    border:1px solid var(--q-line);
    border-radius:12px;
    box-shadow:none
}

.crm-v02-shell .bo-card h2,.crm-v02-shell .bo-card h3 {
    color:var(--q-ink)
}

.crm-v02-shell .bo-card td,.crm-v02-shell .bo-card th {
    border-color:var(--q-line)
}

.crm-v02-shell .bo-primary {
    background:var(--q-brand);
    color:var(--q-on-brand);
    border-color:var(--q-brand);
    border-radius:10px
}

.crm-v02-shell .bo-account-modal {
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    border-radius:0;
    width:min(850px,94vw);
    max-width:94vw;
    max-height:100dvh;
    overflow:auto;
    background:var(--q-surface);
    border-left:1px solid var(--q-line)
}

.crm-v02-shell .bo-account-modal .bo-modal-header {
    position:sticky;
    top:0;
    z-index:3;
    background:var(--q-surface);
    border-bottom:1px solid var(--q-line)
}

.crm-v02-shell .bo-modal,.crm-v02-shell .movement-modal {
    background:var(--q-surface);
    color:var(--q-ink);
    border-color:var(--q-line)
}

.crm-v02-shell .bo-account-hero {
    background:var(--q-surface-2);
    border-color:var(--q-line)
}

.crm-v02-shell .bo-detail-grid>article {
    background:var(--q-surface);
    border-color:var(--q-line)
}

.crm-v02-shell .account-commercial {
    display:grid;
    gap:16px
}

.crm-v02-shell .account-commercial>section {
    padding:20px;
    border:1px solid var(--q-line);
    border-radius:12px;
    background:var(--q-surface)
}

.crm-v02-shell input,.crm-v02-shell select,.crm-v02-shell textarea {
    color:var(--q-ink);
    background:var(--q-surface-2);
    border:1px solid var(--q-line);
    border-radius:8px;
    min-height:34px;
    padding:6px 10px
}

.crm-v02-shell input[type=checkbox] {
    min-height:18px;
    accent-color:var(--q-ok)
}

.crm-v02-shell input:focus-visible,.crm-v02-shell select:focus-visible {
    outline:2px solid var(--q-brand-text);
    outline-offset:2px
}

.crm-v02-shell .bo-role-note {
    background:var(--q-surface-2);
    border-color:var(--q-line)
}

.v2-workspace {
    color:var(--q-ink);
    min-width:0;
    font-size:14px;
    line-height:1.45
}

.v2-workspace * {
    box-sizing:border-box
}

.v2-page-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px
}

.v2-page-head h1 {
    font-size:28px;
    line-height:1.15;
    margin:6px 0 8px;
    font-weight:800;
    letter-spacing:-.035em
}

.v2-page-head p {
    color:var(--q-muted);
    margin:0;
    font-size:14.5px
}

.v2-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}

.v2-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:38px;
    padding:0 15px;
    border:1px solid var(--q-line);
    border-radius:10px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
    background:var(--q-surface-2);
    color:var(--q-ink)
}

.v2-btn:hover {
    background:var(--q-surface-raised)
}

.v2-btn.primary {
    background:var(--q-brand);
    border-color:var(--q-brand);
    color:var(--q-on-brand)
}

.v2-btn.primary:hover {
    background:color-mix(in srgb, var(--q-brand) 85%, var(--q-on-brand))
}

.v2-btn.ghost {
    background:transparent;
    color:var(--q-muted)
}

.v2-btn.sm {
    min-height:28px;
    font-size:11px;
    padding:3px 10px;
    border-radius:7px
}

.v2-btn:disabled {
    opacity:.4;
    cursor:default
}

.v2-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:0 0 18px
}

.v2-stat {
    background:linear-gradient(140deg,var(--q-surface-2),var(--q-surface));
    border:1px solid var(--q-line);
    border-radius:16px;
    padding:22px 18px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    text-align:left;
    cursor:pointer;
    min-height:142px;
    color:var(--q-ink)
}

.v2-stat:hover,.v2-stat.selected {
    border-color:var(--q-brand);
    box-shadow:0 8px 25px color-mix(in srgb, var(--q-brand) 8.235%, transparent)
}

.v2-stat>span {
    color:var(--q-muted);
    font-size:12px;
    font-weight:650
}

.v2-stat>strong {
    font-size:42px;
    line-height:1;
    letter-spacing:-.035em;
    font-weight:800;
    font-variant-numeric:tabular-nums
}

.v2-stat small {
    font-size:12px;
    color:var(--q-muted)
}

.v2-stat.lime>strong {
    color:var(--q-ok)
}

.v2-stat.amber>strong {
    color:var(--q-warn)
}

.v2-stat.blue>strong {
    color:var(--q-info)
}

.v2-stat.red>strong {
    color:var(--q-bad)
}

.v2-stat.violet>strong {
    color:var(--q-brand-text)
}

.v2-period {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin:0 0 20px;
    color:var(--q-muted);
    font-size:12px
}

.v2-period label {
    display:flex;
    align-items:center;
    gap:8px
}

.v2-updated {
    margin-left:auto;
    color:var(--q-muted)
}

.v2-metrics {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:20px 0
}

.v2-card {
    padding:20px;
    background:var(--q-surface);
    border:1px solid var(--q-line);
    border-radius:12px;
    min-width:0
}

.v2-card>header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:16px
}

.v2-card h2 {
    font-size:16px;
    margin:0;
    font-weight:750
}

.v2-card header p {
    font-size:12px;
    color:var(--q-muted);
    margin:6px 0 0
}

.v2-card header>span,.v2-card>span {
    color:var(--q-muted);
    font-size:12px
}

.v2-metrics .v2-card>strong {
    display:block;
    font-size:32px;
    letter-spacing:-.025em;
    margin:8px 0;
    font-weight:800
}

.v2-metrics .v2-card>small {
    color:var(--q-muted);
    font-size:12px
}

.v2-overview-grid {
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
    gap:18px;
    margin-bottom:18px
}

.v2-chart {
    width:100%;
    height:auto;
    max-height:260px;
    overflow:visible
}

.v2-chart text {
    fill:var(--q-muted);
    font-size:11px
}

.v2-note {
    color:var(--q-muted);
    font-size:12px;
    line-height:1.5
}

.v2-legend {
    color:var(--q-ok)!important
}

.v2-status-line {
    background:transparent;
    border:0;
    border-bottom:1px solid var(--q-line);
    padding:12px 0;
    width:100%;
    display:grid;
    grid-template-columns:1fr 30px 70px;
    align-items:center;
    gap:12px;
    text-align:left;
    cursor:pointer;
    color:var(--q-ink)
}

.v2-status-line progress {
    width:70px;
    height:5px;
    accent-color:var(--q-brand)
}

.v2-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:750;
    line-height:1.2;
    white-space:nowrap;
    background:var(--q-surface-raised);
    color:var(--q-brand-text);
    width:fit-content
}

.v2-pill:before {
    content:"";
    width:6px;
    height:6px;
    background:currentColor;
    border-radius:100%
}

.v2-pill.lime {
    background:color-mix(in srgb, var(--q-ok) 8.235%, transparent);
    color:var(--q-ok)
}

.v2-pill.amber {
    background:color-mix(in srgb, var(--q-warn) 8.627%, transparent);
    color:var(--q-warn)
}

.v2-pill.blue {
    background:color-mix(in srgb, var(--q-info) 8.627%, transparent);
    color:var(--q-info)
}

.v2-pill.red {
    background:color-mix(in srgb, var(--q-bad) 8.627%, transparent);
    color:var(--q-bad)
}

.v2-attention {
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px;
    width:100%;
    padding:13px 0;
    border:0;
    border-bottom:1px solid var(--q-line);
    background:transparent;
    color:var(--q-ink);
    text-align:left;
    cursor:pointer
}

.v2-attention span {
    font-size:12px;
    color:var(--q-muted);
    grid-column:1
}

.v2-attention b {
    grid-column:2;
    grid-row:1/3;
    align-self:center;
    font-size:12px;
    color:var(--q-brand-text)
}

.v2-search {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px
}

.v2-search input {
    flex:0 1 470px;
    min-width:140px;
    min-height:38px
}

.v2-search>span {
    margin-left:auto;
    color:var(--q-muted);
    font-size:12px
}

.v2-filters {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin:12px 0 18px
}

.v2-filters select {
    border-radius:999px;
    font-size:12px;
    max-width:220px;
    min-height:30px
}

.v2-filters .ghost {
    margin-left:auto;
    font-size:12px
}

.v2-table-wrap {
    overflow:auto;
    background:var(--q-surface);
    border:1px solid var(--q-line);
    border-radius:12px;
    min-width:0
}

.v2-table-wrap table {
    width:100%;
    border-collapse:collapse;
    font-size:12px
}

.v2-table-wrap th {
    padding:16px 12px;
    text-align:left;
    background:var(--q-surface-2);
    color:var(--q-muted);
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:10px;
    font-weight:800;
    border-bottom:1px solid var(--q-line)
}

.v2-table-wrap td {
    padding:18px 12px;
    vertical-align:middle;
    border-bottom:1px solid var(--q-line);
    color:var(--q-ink)
}

.v2-table-wrap td strong {
    display:block;
    font-weight:700
}

.v2-table-wrap td small {
    display:block;
    margin-top:5px;
    color:var(--q-muted);
    line-height:1.45;
    font-size:11px
}

.v2-table-wrap tbody tr:hover {
    background:color-mix(in srgb, var(--q-surface-2) 40%, transparent)
}

.v2-customers {
    min-width:1050px
}

.v2-person {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:140px
}

.v2-person small {
    max-width:140px;
    overflow-wrap:anywhere
}

.v2-avatar {
    width:32px;
    height:32px;
    border-radius:50%;
    background:color-mix(in srgb, var(--q-brand) 16.078%, transparent);
    color:var(--q-brand-text);
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:800;
    flex:none
}

.v2-coach-dot {
    display:inline-block;
    width:8px;
    height:8px;
    background:color-mix(in srgb, var(--q-brand-text) 75%, var(--q-bad));
    border-radius:50%;
    margin-right:6px
}

.v2-telegram {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border:1px solid var(--q-muted);
    border-radius:6px;
    color:var(--q-muted)
}

.v2-telegram.on {
    background:var(--q-ok);
    color:var(--q-on-success);
    border-color:var(--q-ok)
}

.v2-access-on {
    color:var(--q-ok)!important
}

.v2-access-off {
    color:var(--q-bad)!important
}

.v2-note-cell {
    max-width:160px;
    min-width:110px;
    color:var(--q-muted)!important;
    font-size:11px
}

.v2-row-actions {
    width:145px
}

.v2-row-actions .v2-btn {
    width:100%;
    margin:2px 0
}

.v2-pagination {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-top:15px;
    font-size:12px;
    color:var(--q-muted)
}

.v2-pagination label {
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap
}

.v2-pagination select {
    width:auto;
    min-height:30px;
    padding:4px 8px
}

.v2-pagination>span {
    margin-right:auto
}

.v2-empty {
    padding:22px;
    color:var(--q-muted);
    font-size:13px
}

.v2-alert {
    border:1px solid var(--q-bad);
    color:var(--q-bad);
    background:color-mix(in srgb, var(--q-bad) 6.275%, transparent);
    padding:16px;
    border-radius:12px;
    margin-bottom:16px
}

@media(min-width:1650px) {
    .v2-stats {
        grid-template-columns:repeat(7,minmax(0,1fr))
    }

    .v2-stat {
        padding:22px 18px
    }

    .v2-stat>strong {
        font-size:40px
    }

}

@media(max-width:1100px) {
    .bo-shell.crm-v02-shell[data-theme] {
        grid-template-columns:210px minmax(0,1fr)
    }

    .v2-overview-grid {
        grid-template-columns:1fr
    }

    .v2-stat {
        padding:16px 12px;
        min-height:125px
    }

    .v2-stat>strong {
        font-size:34px
    }

    .v2-page-head h1 {
        font-size:28px
    }

}

@media(max-width:760px) {
    .bo-shell.crm-v02-shell[data-theme] {
        display:block
    }

    .crm-v02-shell .bo-sidebar {
        position:relative;
        width:100%;
        height:auto;
        padding:12px
    }

    .crm-v02-shell .bo-nav {
        display:flex;
        overflow:auto
    }

    .crm-v02-shell .bo-brand {
        padding-bottom:10px
    }

    .crm-v02-shell .bo-nav-link {
        white-space:nowrap
    }

    .crm-v02-shell .bo-sidebar-foot {
        display:none
    }

    .crm-v02-shell .bo-content {
        padding:18px 14px
    }

    .v2-page-head {
        align-items:flex-start;
        flex-direction:column
    }

    .v2-stats {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .v2-metrics {
        grid-template-columns:1fr
    }

    .v2-updated {
        margin-left:0
    }

    .v2-period {
        gap:8px
    }

    .v2-search {
        flex-wrap:wrap
    }

    .v2-search>span {
        width:100%
    }

    .crm-v02-shell .bo-topbar {
        padding:0 14px
    }

    .crm-v02-shell .bo-operator-copy {
        display:none
    }

}

.v2-profile-status {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:18px;
    font-size:12px
}

.v2-profile-tabs {
    display:flex;
    gap:16px;
    overflow:auto;
    border-bottom:1px solid var(--q-line);
    margin:0 0 20px
}

.v2-profile-tabs button {
    border:0;
    border-bottom:2px solid transparent;
    background:none;
    color:var(--q-muted);
    padding:12px 0;
    font:inherit;
    font-size:13px;
    cursor:pointer;
    white-space:nowrap
}

.v2-profile-tabs button.active {
    color:var(--q-ink);
    border-bottom-color:var(--q-ok);
    font-weight:750
}

.v2-profile-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 24px
}

.v2-profile-grid dt {
    font-size:11px;
    color:var(--q-muted);
    margin-bottom:5px
}

.v2-profile-grid dd {
    font-size:13px;
    margin:0;
    font-weight:650
}

.v2-profile-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:22px 0
}

.v2-profile-actions .v2-btn {
    font-size:12px
}

.v2-profile-note,.v2-refund {
    background:var(--q-surface-2);
    border:1px solid var(--q-line);
    border-radius:10px;
    padding:14px;
    margin:12px 0
}

.v2-profile-note h4 {
    margin:0
}

.v2-profile-note p,.v2-refund p {
    font-size:13px;
    line-height:1.6
}

.v2-profile-note small,.v2-refund small {
    color:var(--q-muted);
    font-size:11px;
    display:block;
    margin-top:5px
}

.v2-profile-money {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:18px
}

.v2-profile-money>div {
    background:var(--q-surface-2);
    border:1px solid var(--q-line);
    border-radius:10px;
    padding:12px
}

.v2-profile-money span {
    font-size:11px;
    color:var(--q-muted);
    display:block;
    margin-bottom:7px
}

.v2-profile-money strong {
    font-size:19px
}

.v2-field {
    display:flex;
    flex-direction:column;
    gap:7px;
    margin:14px 0;
    color:var(--q-muted);
    font-size:12px
}

.v2-field textarea {
    width:100%;
    resize:vertical
}

.v2-command {
    padding:18px;
    margin:18px 0;
    background:var(--q-surface-2);
    border:1px solid var(--q-brand);
    border-radius:12px
}

.v2-command header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}

.v2-command h3 {
    margin:0;
    font-size:16px
}

.v2-command p {
    font-size:13px;
    color:var(--q-muted);
    line-height:1.6
}

.v2-form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}

.v2-contact {
    display:flex;
    align-items:center;
    gap:12px;
    margin:20px 0;
    font-size:12px
}

.v2-open-decisions {
    font-size:12px;
    color:var(--q-muted);
    padding-top:20px;
    border-top:1px solid var(--q-line);
    margin-top:22px
}

.v2-open-decisions li {
    margin:8px 0
}

.crm-v02-shell .bo-summary-strip {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    border:0;
    background:transparent;
    padding:0;
    margin-bottom:22px
}

.crm-v02-shell .bo-summary-strip>div {
    background:var(--q-surface);
    border:1px solid var(--q-line);
    border-radius:12px;
    padding:18px
}

.crm-v02-shell .bo-summary-strip strong {
    font-size:28px;
    color:var(--q-ok)
}

.crm-v02-shell .bo-summary-strip span {
    font-size:12px;
    color:var(--q-muted)
}

.crm-v02-shell .bo-table-wrap th {
    background:var(--q-surface-2);
    color:var(--q-muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.07em
}

.crm-v02-shell .bo-table-wrap td {
    font-size:12px;
    padding:16px 12px
}

.crm-v02-shell .bo-table-wrap td small {
    color:var(--q-muted)
}

.crm-v02-shell .bo-modal-footer {
    background:var(--q-surface);
    border-top:1px solid var(--q-line)
}

.crm-v02-shell .bo-toolbar {
    background:transparent;
    border:0
}

.crm-v02-shell .bo-kpi-grid>article {
    background:var(--q-surface);
    border-color:var(--q-line)
}

/* Host-specific selectors also override the retained scoped layout styles. */
.bo-shell.crm-v02-shell[data-theme] .bo-sidebar  {
    background:var(--q-surface);
    width:auto;
}

.bo-shell.crm-v02-shell[data-theme] .bo-brand strong  {
    font-size:17px;
    font-weight:800;
}

.bo-shell.crm-v02-shell[data-theme] .bo-nav-link  {
    font-size:13px;
    font-weight:650;
}

.bo-shell.crm-v02-shell[data-theme] .bo-nav-link.active  {
    background:var(--q-brand);
    color:var(--q-on-brand);
    border-color:var(--q-brand);
}

.bo-shell.crm-v02-shell[data-theme] .bo-nav-link.active::before  {
    display:none;
}

.bo-shell.crm-v02-shell[data-theme] .bo-topbar  {
    background:color-mix(in srgb, var(--q-bg) 92.157%, transparent);
}

.bo-shell.crm-v02-shell[data-theme] .bo-topbar-kicker  {
    color:var(--q-ok);
}

.v2-nav-utility  {
    border-top:1px solid var(--q-line);
    margin-top:12px;
    padding-top:12px;
}

.v2-period-payments,.v2-compensation-history  {
    margin-bottom:18px;
}

.v2-compensation-history summary,.v2-account-operations>summary  {
    cursor:pointer;
    font-weight:700;
    font-size:13px;
}

.v2-profile  {
    padding:24px;
    background:var(--q-surface);
    color:var(--q-ink);
}

.v2-account-operations  {
    padding:20px 24px;
    border-top:1px solid var(--q-line);
}

.v2-account-operations>summary  {
    color:var(--q-muted);
    padding-bottom:14px;
}

.v2-account-operations>h3 {
    color:var(--q-ink);
    font-size:15px;
    margin:0 0 16px
}

.bo-shell.crm-v02-shell[data-theme] .bo-summary-strip  {
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.bo-shell.crm-v02-shell[data-theme] .contracts-heading h2  {
    font-size:34px;
    font-weight:800;
    letter-spacing:-.025em;
}

.bo-shell.crm-v02-shell[data-theme] .contracts-table-wrap th  {
    background:var(--q-surface-2);
    text-transform:uppercase;
    font-size:10px;
    letter-spacing:.07em;
}

.bo-shell.crm-v02-shell[data-theme] .contracts-metrics strong  {
    font-size:28px;
    color:var(--q-ok);
}

@media(min-width:1200px)  {
    .is-coach .v2-stats  {
        grid-template-columns:repeat(7,minmax(0,1fr));
        gap:10px;
    }

    .is-coach .v2-stat  {
        padding:18px 12px;
    }

    .is-coach .v2-stat small  {
        font-size:10px;
    }

}

@media(max-width:760px)  {
    .bo-shell.crm-v02-shell[data-theme] .bo-summary-strip  {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .v2-profile  {
        padding:18px 14px;
    }

    .v2-profile-grid,.v2-form-row  {
        grid-template-columns:1fr;
    }

    .v2-profile-money  {
        grid-template-columns:1fr;
    }

    .v2-nav-utility  {
        border:0;
        padding:0;
        margin:0;
    }

}

.v2-profile h3.v2-profile-plan { font-size:22px; font-weight:750; margin:0 0 14px; }
.v2-profile h4 { font-size:14px; font-weight:700; margin:0 0 8px; }
.v2-profile summary:focus-visible,.v2-btn:focus-visible { outline:2px solid var(--q-ok); outline-offset:3px; }
.v2-invite-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.v2-invite-metrics strong { display:block; font-size:32px; color:var(--q-ok); margin-top:10px; }
.v2-invite-chart { margin-bottom:20px; }
@media(max-width:760px) { .v2-invite-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .crm-v02-shell .bo-summary-strip strong { font-size:19px; overflow-wrap:anywhere; } }
.v2-loss-analysis { margin:0 0 18px; }
.v2-loss-analysis .v2-invite-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:760px) { .v2-loss-analysis .v2-invite-metrics { grid-template-columns:1fr; } }

/* Canonical assembled shell: final shared base + HF layout. */
.bo-shell.crm-v02-shell[data-theme] .bo-nav-link{font-size:14px;gap:12px;border:1px solid transparent;min-height:44px}
.bo-shell.crm-v02-shell[data-theme] .bo-nav-link svg{width:19px;height:19px;flex:none;stroke-width:1.8}
.bo-shell.crm-v02-shell[data-theme] .bo-sidebar-foot{border-radius:16px;display:flex;align-items:center;margin-top:auto}
.bo-shell.crm-v02-shell[data-theme] .bo-sidebar-foot strong{font-size:13px;font-weight:750}
.bo-shell.crm-v02-shell[data-theme] .bo-sidebar-foot small{font-size:11.5px}
.bo-shell.crm-v02-shell[data-theme] .bo-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb, var(--q-brand) 20%, transparent);color:var(--q-brand-text);font-weight:800;font-size:12.5px;flex:none}
.bo-shell.crm-v02-shell[data-theme] .bo-operator{display:flex;align-items:center;gap:14px}
.bo-shell.crm-v02-shell[data-theme] .bo-identity{display:flex;align-items:center;gap:10px;border:1px solid var(--q-line);border-radius:999px;padding:5px 12px 5px 6px;background:var(--q-surface)}
.bo-shell.crm-v02-shell[data-theme] .bo-operator-copy strong{font-size:13px;font-weight:750}
.bo-shell.crm-v02-shell[data-theme] .bo-operator-copy small{font-size:11.5px}
.bo-shell.crm-v02-shell[data-theme] .bo-reserved{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb, var(--q-ok) 12%, transparent);color:var(--q-ok);font-size:12px;font-weight:750;padding:4px 9px;border-radius:999px;white-space:nowrap}
.bo-shell.crm-v02-shell[data-theme] .bo-reserved i{width:6px;height:6px;border-radius:50%;background:currentColor}
.bo-shell.crm-v02-shell[data-theme] .bo-signout{background:var(--q-surface-2);border:1px solid var(--q-line);color:var(--q-ink);border-radius:8px;min-height:32px;padding:0 11px;font-size:13px;font-weight:700}
@media(max-width:1100px){.bo-shell.crm-v02-shell[data-theme]{display:grid;grid-template-columns:76px minmax(0,1fr)}.bo-shell.crm-v02-shell[data-theme] .bo-sidebar{position:sticky;top:0;height:100dvh;padding:20px 14px}.bo-shell.crm-v02-shell[data-theme] .bo-nav{display:grid;overflow:visible;padding:0}.bo-shell.crm-v02-shell[data-theme] .bo-nav-link{flex:none}.bo-shell.crm-v02-shell[data-theme] .bo-nav-link>span,.bo-shell.crm-v02-shell[data-theme] .bo-brand>span,.bo-shell.crm-v02-shell[data-theme] .bo-sidebar-foot>div{display:none}.bo-shell.crm-v02-shell[data-theme] .bo-sidebar-foot{display:flex}.bo-shell.crm-v02-shell[data-theme] .bo-brand{padding:2px 8px 22px}.bo-shell.crm-v02-shell[data-theme] .bo-content{padding:20px 20px 32px}.bo-shell.crm-v02-shell[data-theme] .bo-topbar{position:sticky;padding:0 20px}}
@media(max-width:720px){.bo-shell.crm-v02-shell[data-theme]{grid-template-columns:minmax(0,1fr)}.bo-shell.crm-v02-shell[data-theme] .bo-sidebar{display:none}.bo-shell.crm-v02-shell[data-theme] .bo-content{padding:20px 16px 32px}.bo-shell.crm-v02-shell[data-theme] .bo-topbar{padding:0 16px}.bo-shell.crm-v02-shell[data-theme] .bo-operator-copy{display:none}.bo-shell.crm-v02-shell[data-theme] .bo-reserved{display:none}}
/* Canonical back-office wordmark from issue639. */
.crm-v02-shell .bo-brand-mark{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb, var(--q-brand) 85%, var(--q-on-brand)),var(--q-brand-dark));color:var(--q-on-brand);font-size:14px;font-weight:900;box-shadow:0 10px 30px color-mix(in srgb, var(--q-brand) 40%, transparent)}
@media(max-width:1100px){.crm-reference-accounts{--gutter:20px}}
@media(max-width:720px){.crm-reference-accounts{--gutter:16px}}
