/* Linkelia v1.2.4 - Compatibilité déploiement par dossier de version et continuité serveur */
:root {
    --bg-app: #F6F8FB;
    --bg-surface: #FFFFFF;
    --bg-muted: #F1F4F8;
    --border-soft: #D9E1EA;
    --border-strong: #C4CEDA;
    --text-main: #0F172A;
    --text-secondary: #475569;
    --text-muted: #64748B;
    --text-inverse: #FFFFFF;
    --brand: #2F5BFF;
    --brand-hover: #2448D8;
    --brand-soft: #EEF3FF;
    --accent: #157A72;
    --accent-soft: #E8F7F4;
    --brand-primary: #2F5BFF;
    --brand-primary-soft: #EEF3FF;
    --surface-subtle: #F1F4F8;
    --surface-0: #FFFFFF;
    --surface-secondary: #F8FBFF;
    --text-primary: #0F172A;
    --accent-secondary: #157A72;
    --success: #15803D;
    --warning: #B45309;
    --danger: #B42318;
    --info: #2563EB;
    --radius-field: 10px;
    --radius-card: 14px;
    --radius-panel: 16px;
    --shadow-soft: 0 6px 18px rgba(15, 23, 42, 0.05);
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-7: 32px;
    --sidebar-width: 246px;
    --font-stack: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    font-family: var(--font-stack);
    background: var(--bg-app);
    color: var(--text-main);
    font-size: 14px;
    line-height: 20px;
}

a { color: inherit; text-decoration: none; }

body { min-height: 100vh; }

img { max-width: 100%; display: block; }

code {
    background: var(--bg-muted);
    padding: 2px 6px;
    border-radius: 8px;
    border: 1px solid var(--border-soft);
}

.app-shell {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    width: var(--sidebar-width);
    flex-shrink: 0;
    background: var(--bg-surface);
    border-right: 1px solid var(--border-soft);
    display: flex;
    flex-direction: column;
    padding: 14px;
    gap: var(--space-3);
    position: sticky;
    top: 0;
    height: 100vh;
}

.brand {
    padding: var(--space-2) var(--space-1);
}

.brand-logo {
    width: 152px;
    height: auto;
}

.nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.nav-group {
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,251,.98));
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.nav-group[open],
.nav-group.is-active {
    background: var(--bg-muted);
}

.nav-group summary {
    list-style: none;
}

.nav-group summary::-webkit-details-marker {
    display: none;
}

.nav-group-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 9px 11px;
    cursor: pointer;
    color: var(--text-secondary);
    font-weight: 600;
    transition: .15s ease;
}

.nav-group-summary:hover {
    background: rgba(47, 91, 255, 0.06);
    color: var(--brand);
}

.nav-group-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.nav-group-chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .15s ease;
    margin-right: 2px;
}

.nav-group[open] .nav-group-chevron,
.nav-group.is-open .nav-group-chevron {
    transform: rotate(225deg);
}

.nav-subnav {
    display: grid;
    gap: 3px;
    padding: 0 7px 7px 7px;
}

.nav-link {
    border-radius: 10px;
    padding: 10px 12px;
    color: var(--text-secondary);
    font-weight: 500;
    transition: .15s ease;
}

.nav-link-sub {
    padding: 8px 12px;
    font-size: 13px;
    line-height: 18px;
    position: relative;
}

.nav-link:hover,
.nav-link.active {
    background: var(--brand-soft);
    color: var(--brand);
}

.nav-roadmap {
    margin: 2px 8px 8px;
    padding: 7px 9px;
    border-radius: 10px;
    background: rgba(47, 91, 255, 0.06);
    color: var(--text-muted);
    font-size: 11px;
    line-height: 15px;
}

.sidebar-bottom {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.user-card {
    border: 1px solid var(--border-soft);
    background: var(--bg-muted);
    border-radius: 14px;
    padding: var(--space-3);
}

.user-card-title {
    font-weight: 600;
    color: var(--text-main);
}

.user-card-meta {
    font-size: 12px;
    line-height: 16px;
    color: var(--text-muted);
    margin-top: 2px;
}

.main-content {
    flex: 1;
    padding: 18px;
    min-width: 0;
}

.main-content-guest {
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-3);
}

.content-header h1 {
    margin: 0;
    font-size: 19px;
    line-height: 28px;
    font-weight: 600;
}

.content-header p {
    margin: 4px 0 0;
}

.header-actions {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.panel {
    background: var(--bg-surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-panel);
    padding: 12px 14px;
    box-shadow: var(--shadow-soft);
}

.panel + .panel { margin-top: var(--space-4); }

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.panel h2, .panel h1 {
    margin: 0;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}

.muted {
    color: var(--text-muted);
}

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.kpi-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    padding: var(--space-4);
    box-shadow: var(--shadow-soft);
}

.kpi-label {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 16px;
    margin-bottom: var(--space-2);
}

.kpi-value {
    font-size: 22px;
    line-height: 28px;
    font-weight: 600;
}

.grid-two {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: var(--space-4);
}

.table-wrapper {
    width: 100%;
    overflow: auto;
}

.table {
    width: 100%;
    border-collapse: collapse;
}

.table th {
    text-align: left;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-muted);
    font-weight: 600;
    border-bottom: 1px solid var(--border-soft);
    background: var(--bg-muted);
}

.table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--border-soft);
    vertical-align: top;
}

.table.compact td {
    padding: 9px 12px;
}

.empty-state {
    text-align: center;
    color: var(--text-muted);
    padding: 28px 12px !important;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
}

.form-grid.two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-field label {
    font-size: 13px;
    line-height: 18px;
    color: var(--text-secondary);
    font-weight: 500;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="date"],
input[type="number"],
select,
textarea {
    width: 100%;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-field);
    padding: 10px 12px;
    background: var(--bg-surface);
    color: var(--text-main);
    outline: none;
    min-height: 42px;
}

textarea {
    min-height: 116px;
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 4px rgba(47, 91, 255, 0.12);
}

.checkbox-field {
    justify-content: end;
}

.checkbox-field label {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    font-weight: 500;
}

.form-actions {
    display: flex;
    gap: var(--space-2);
    align-items: center;
}

.col-span-2 {
    grid-column: 1 / -1;
}

.button {
    border: 1px solid transparent;
    border-radius: 10px;
    min-height: 40px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    line-height: 18px;
    transition: .15s ease;
    background: var(--bg-surface);
}

.button:hover {
    transform: translateY(-1px);
}

.button-primary {
    background: var(--brand);
    color: var(--text-inverse);
}

.button-primary:hover {
    background: var(--brand-hover);
}

.button-secondary {
    background: var(--bg-surface);
    color: var(--text-secondary);
    border-color: var(--border-strong);
}

.button-secondary:hover {
    border-color: var(--brand);
    color: var(--brand);
}

.button-danger {
    background: rgba(180, 35, 24, 0.08);
    color: var(--danger);
    border-color: rgba(180, 35, 24, 0.18);
}

.button-small {
    min-height: 34px;
    padding: 0 10px;
    font-size: 12px;
    line-height: 16px;
}

.button-block {
    width: 100%;
}

.flash-stack {
    display: grid;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.flash {
    border-radius: 12px;
    padding: 11px 14px;
    border: 1px solid var(--border-soft);
    font-size: 13px;
    line-height: 18px;
}

.flash-success { background: rgba(21, 128, 61, 0.08); color: var(--success); border-color: rgba(21, 128, 61, 0.18); }
.flash-warning { background: rgba(180, 83, 9, 0.08); color: var(--warning); border-color: rgba(180, 83, 9, 0.18); }
.flash-danger { background: rgba(180, 35, 24, 0.08); color: var(--danger); border-color: rgba(180, 35, 24, 0.18); }
.flash-info { background: rgba(37, 99, 235, 0.08); color: var(--info); border-color: rgba(37, 99, 235, 0.18); }

.status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
}

.status-badge.info {
    background: var(--brand-soft);
    color: var(--brand);
}

.activity-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--space-3);
}

.activity-list li {
    border: 1px solid var(--border-soft);
    background: var(--bg-muted);
    border-radius: 12px;
    padding: var(--space-3);
}

.activity-title {
    font-weight: 500;
    color: var(--text-main);
}

.activity-meta {
    margin-top: 4px;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-muted);
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

.detail-item {
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    padding: 12px;
    background: var(--bg-muted);
}

.detail-label {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 4px;
}

.detail-value {
    color: var(--text-main);
    font-weight: 500;
    word-break: break-word;
}

.toolbar {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.toolbar input[type="search"] {
    max-width: 360px;
}

.guest-body {
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FF 100%);
}

.guest-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-5);
}

.guest-wrapper-wide .guest-card {
    max-width: 760px;
}

.guest-card {
    width: 100%;
    max-width: 460px;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--border-soft);
    border-radius: 18px;
    padding: 28px;
    box-shadow: var(--shadow-soft);
}

.guest-card h1 {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 28px;
    font-weight: 600;
}

.guest-logo {
    width: 168px;
    margin-bottom: 20px;
}

@media (max-width: 1200px) {
    .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid-two { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
    .app-shell { flex-direction: column; }
    .sidebar {
        position: static;
        width: 100%;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--border-soft);
    }
    .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .form-grid.two-columns,
    .detail-grid {
        grid-template-columns: 1fr;
    }
    .content-header {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .main-content { padding: var(--space-4); }
    .kpi-grid { grid-template-columns: 1fr; }
    .toolbar {
        flex-direction: column;
    }
    .toolbar input[type="search"] { max-width: none; }
    .guest-card { padding: 22px; }
}


.code-block {
    margin-top: 16px;
    border: 1px solid #D9E1EA;
    background: #F8FAFC;
    border-radius: 14px;
    padding: 16px;
    overflow: auto;
}

.code-block pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 12px;
    line-height: 1.5;
}

.toolbar {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin-bottom: var(--space-3);
}

.toolbar-split {
    align-items: center;
    justify-content: space-between;
}

.toolbar-group {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    flex-wrap: wrap;
}

.toolbar-group-end {
    margin-left: auto;
}

.table-enhanced {
    table-layout: fixed;
    min-width: 100%;
}

.table th {
    position: relative;
    white-space: nowrap;
    overflow: visible;
}

.table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-actions-column {
    width: 110px;
}

.table-head-cell {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 26px;
    padding-right: 10px;
}

.table-head-label {
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-head-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.table-head-button {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .15s ease;
}

.table-head-button:hover {
    background: var(--bg-surface);
    border-color: var(--border-soft);
}

.table-icon {
    width: 14px;
    height: 14px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px;
}

.table-icon-sort {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3v10'/%3E%3Cpath d='M2.5 5.5L5 3l2.5 2.5'/%3E%3Cpath d='M11 13V3'/%3E%3Cpath d='M8.5 10.5 11 13l2.5-2.5'/%3E%3C/svg%3E");
}

.table-icon-filter {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h12l-4.5 5v4l-3-1.75V8L2 3Z'/%3E%3C/svg%3E");
}

.table th.is-sorted .table-head-button-sort,
.table th.is-filtered .table-head-button-filter {
    background: var(--brand-soft);
    border-color: rgba(47, 91, 255, 0.18);
}

.table th.is-sorted .table-icon-sort,
.table th.is-filtered .table-icon-filter {
    filter: saturate(1.2);
}

.table th.is-sorted-desc .table-icon-sort {
    transform: rotate(180deg);
}

.table-column-resizer {
    position: absolute;
    top: -2px;
    right: -4px;
    width: 12px;
    height: calc(100% + 4px);
    cursor: col-resize;
}

.table-column-resizer::after {
    content: '';
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 5px;
    width: 2px;
    border-radius: 2px;
    background: rgba(100, 116, 139, 0.22);
}

.table-filter-popover {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 260px;
    z-index: 120;
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: var(--bg-surface);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
    padding: 14px;
    display: grid;
    gap: 10px;
}

.table-filter-title {
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    color: var(--text-main);
}

.table-filter-field {
    display: grid;
    gap: 6px;
}

.table-filter-field label {
    font-size: 12px;
    line-height: 16px;
    color: var(--text-muted);
}

.table-filter-field input,
.table-filter-field select {
    min-height: 38px;
}

.table-filter-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.content-header-compact {
    margin-bottom: 10px;
}

.content-header-compact h1 {
    font-size: 20px;
    line-height: 24px;
}

.panel-compact {
    padding: 12px;
}

.toolbar-single-line {
    align-items: center;
}

.toolbar-grow {
    flex: 1;
}

.toolbar-single-line input[type="search"] {
    min-width: 240px;
    flex: 0 1 340px;
}

.build-meta {
    margin-top: 8px;
    font-size: 11px;
    line-height: 14px;
    color: var(--text-muted);
}

.nav-section-label-spaced {
    margin-top: 4px;
}

@media (max-width: 1024px) {
    .kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .grid-two {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .app-shell {
        display: block;
    }

    .sidebar {
        position: static;
        width: 100%;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--border-soft);
    }

    .main-content {
        padding: 14px;
    }

    .toolbar-single-line {
        align-items: stretch;
    }

    .toolbar-grow {
        width: 100%;
    }

    .toolbar-single-line input[type="search"] {
        min-width: 0;
        flex: 1 1 100%;
    }

    .content-header,
    .toolbar-split,
    .toolbar-group-end {
        margin-left: 0;
    }

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


/* Public website layer - V1.0.7 */
.body-mode-public {
    background: linear-gradient(180deg, #F6F8FB 0%, #FFFFFF 44%, #EEF3FF 100%);
}

.public-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.public-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.public-main {
    flex: 1;
}

.public-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(246, 248, 251, 0.92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(217, 225, 234, 0.9);
}

.public-header-row {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.public-brand-logo,
.public-footer-logo {
    width: 156px;
    height: auto;
}

.public-nav {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,0.82);
    border: 1px solid var(--border-soft);
}

.public-nav-link {
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    color: var(--text-secondary);
    font-weight: 500;
}

.public-nav-link:hover,
.public-nav-link.active {
    background: var(--brand-soft);
    color: var(--brand);
}

.public-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.public-flash-wrap {
    padding-top: 18px;
}

.public-hero,
.public-page-hero {
    padding: 36px 0 18px;
}

.public-hero-grid,
.public-split-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 20px;
    align-items: stretch;
}

.public-eyebrow,
.public-card-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    margin-bottom: 12px;
}

.public-title,
.public-page-title {
    margin: 0;
    font-size: 34px;
    line-height: 40px;
    letter-spacing: -0.03em;
    font-weight: 700;
    max-width: 800px;
}

.public-intro,
.public-page-intro,
.public-section-head p,
.public-footer-text,
.public-notice {
    color: var(--text-secondary);
}

.public-intro,
.public-page-intro {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 24px;
    max-width: 760px;
}

.public-hero-note,
.public-footer-meta,
.guest-links-inline {
    margin-top: 14px;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-muted);
}

.guest-links-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.public-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.public-hero-panel,
.public-card,
.public-notice,
.public-article-block {
    background: rgba(255,255,255,0.96);
    border: 1px solid var(--border-soft);
    box-shadow: var(--shadow-soft);
    border-radius: 18px;
}

.public-hero-panel,
.public-card,
.public-article-block {
    padding: 20px;
}

.public-notice {
    padding: 12px 14px;
    margin-top: 16px;
}

.public-stat-grid,
.public-card-grid {
    display: grid;
    gap: 12px;
}

.public-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-card-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-stat-card {
    background: var(--bg-muted);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
    padding: 16px;
}

.public-stat-label,
.public-footer-title {
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-muted);
}

.public-stat-value {
    margin-top: 8px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
}

.public-stat-meta {
    margin-top: 6px;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 19px;
}

.public-section {
    padding: 14px 0 22px;
}

.public-section-tight {
    padding-top: 8px;
}

.public-section-alt {
    padding-bottom: 40px;
}

.public-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.public-section-head h2,
.public-card h2,
.public-card h3,
.public-article-block h2 {
    margin: 0;
}

.public-card h3,
.public-article-block h2 {
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}

.public-card p,
.public-article-block p,
.public-list li {
    color: var(--text-secondary);
}

.public-card-highlight {
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F7FF 100%);
}

.public-list {
    margin: 12px 0 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
}

.public-page-hero .narrow,
.public-section .narrow {
    width: min(820px, calc(100% - 40px));
}

.public-article-block + .public-article-block {
    margin-top: 14px;
}

.contact-grid {
    align-items: start;
}

.public-stack-card {
    display: grid;
    gap: 20px;
}

.public-footer {
    border-top: 1px solid var(--border-soft);
    background: rgba(255,255,255,0.88);
    margin-top: 24px;
}

.public-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, 0.8fr);
    gap: 20px;
    padding: 24px 0 30px;
}

.public-footer-link {
    display: block;
    margin-top: 8px;
    color: var(--text-secondary);
}

.public-footer-link:hover {
    color: var(--brand);
}

@media (max-width: 1080px) {
    .public-header-row,
    .public-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .public-hero-grid,
    .public-split-grid,
    .public-footer-grid {
        grid-template-columns: 1fr;
    }

    .public-card-grid-3,
    .public-stat-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .public-container {
        width: min(100% - 24px, 1180px);
    }

    .public-nav {
        width: 100%;
        justify-content: flex-start;
        overflow: auto;
    }

    .public-header-actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .public-title,
    .public-page-title {
        font-size: 28px;
        line-height: 34px;
    }

    .public-card-grid-3,
    .public-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* V1.0.7 overrides */
.sidebar-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
    z-index: 59;
}

.app-mobile-topbar {
    display: none;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.app-mobile-topbar-title {
    min-width: 0;
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    color: var(--text-main);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-toggle {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--border-soft);
    background: var(--bg-surface);
    color: var(--text-main);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-soft);
}

.sidebar-toggle-lines,
.sidebar-toggle-lines::before,
.sidebar-toggle-lines::after {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    content: '';
    transition: transform .18s ease, opacity .18s ease;
}

.sidebar-toggle-lines {
    position: relative;
}

.sidebar-toggle-lines::before {
    position: absolute;
    top: -5px;
    left: 0;
}

.sidebar-toggle-lines::after {
    position: absolute;
    top: 5px;
    left: 0;
}

body.sidebar-open {
    overflow: hidden;
}

body.sidebar-open .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
}

body.sidebar-open .sidebar-toggle-lines {
    background: transparent;
}

body.sidebar-open .sidebar-toggle-lines::before {
    transform: translateY(5px) rotate(45deg);
}

body.sidebar-open .sidebar-toggle-lines::after {
    transform: translateY(-5px) rotate(-45deg);
}

.brand {
    padding: 4px 2px 2px;
}

.brand-logo {
    width: 144px;
}

.sidebar {
    padding: 12px;
    gap: 10px;
}

.nav {
    gap: 6px;
}

.nav-link {
    padding: 9px 11px;
}

.nav-group-summary {
    padding: 9px 11px;
}

.nav-subnav {
    gap: 3px;
    padding: 0 7px 7px 7px;
}

.user-card {
    padding: 10px 12px;
}

.main-content {
    padding: 14px;
}

.content-header {
    margin-bottom: 8px;
}

.content-header h1 {
    font-size: 19px;
    line-height: 24px;
}

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

.panel {
    padding: 14px;
}

.panel-header {
    margin-bottom: 10px;
}

.kpi-grid {
    gap: 10px;
    margin-bottom: 10px;
}

.kpi-card {
    padding: 12px;
}

.kpi-value {
    font-size: 22px;
    line-height: 28px;
}

.grid-two {
    gap: 10px;
}

.activity-list li {
    padding: 10px 0;
}

.toolbar {
    gap: 6px;
    margin-bottom: 10px;
}

.toolbar-single-line {
    gap: 6px;
}

.toolbar-group {
    gap: 6px;
}

.toolbar-group.toolbar-grow {
    display: grid;
    grid-template-columns: auto auto minmax(200px, 1fr) auto auto auto;
    align-items: center;
    width: 100%;
}

.toolbar input[type="search"] {
    min-height: 36px;
}

.button {
    min-height: 36px;
    padding: 0 12px;
}

.button-small {
    min-height: 30px;
    padding: 0 10px;
}

.table-wrapper {
    overflow: auto;
}

.table th,
.table td {
    padding-top: 9px;
    padding-bottom: 9px;
}

.table-actions-column {
    width: 100px;
}

.muted {
    margin: 0;
}

.public-stat-grid {
    gap: 10px;
}

.public-stat-card,
.public-card,
.public-notice {
    border-radius: 14px;
}

.public-card-grid.public-card-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-tag-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.public-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--bg-muted);
    border: 1px solid var(--border-soft);
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
}

.public-tag.is-active {
    background: var(--brand-soft);
    color: var(--brand);
    border-color: rgba(47, 91, 255, 0.18);
}

.public-note-box {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: var(--bg-surface);
    color: var(--text-secondary);
}

.module-scope-card {
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px dashed var(--border-soft);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(238,243,255,.85), rgba(255,255,255,.98));
}

.module-scope-title {
    margin: 0 0 4px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
}

.module-scope-text {
    margin: 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 17px;
}

@media (max-width: 1080px) {
    .toolbar-group.toolbar-grow {
        grid-template-columns: auto auto minmax(180px, 1fr) auto auto;
    }
    .toolbar-group.toolbar-grow [data-table-clear-filters-target] {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .public-card-grid.public-card-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .app-mobile-topbar {
        display: flex;
    }

    .app-shell {
        display: block;
    }

    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        width: min(88vw, 320px);
        max-width: 320px;
        height: 100vh;
        z-index: 60;
        border-right: 1px solid var(--border-soft);
        border-bottom: 0;
        transform: translateX(-104%);
        transition: transform .18s ease;
        overflow: auto;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    .main-content {
        padding: 12px;
    }

    .toolbar-group.toolbar-grow {
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
    }

    .toolbar-group.toolbar-grow > * {
        width: 100%;
    }

    .toolbar-group.toolbar-grow input[type="search"] {
        grid-column: 1 / -1;
    }

    .toolbar-group.toolbar-grow button[type="submit"] {
        grid-column: span 2;
    }

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

@media (max-width: 640px) {
    .panel {
        padding: 12px;
    }

    .content-header {
        margin-bottom: 6px;
    }

    .header-actions {
        width: 100%;
    }

    .header-actions .button {
        flex: 1 1 auto;
    }

    .toolbar-group.toolbar-grow {
        grid-template-columns: 1fr;
    }

    .toolbar-group.toolbar-grow button[type="submit"] {
        grid-column: auto;
    }

    .public-card-grid.public-card-grid-4,
    .public-card-grid.public-card-grid-3 {
        grid-template-columns: 1fr;
    }

    .kpi-grid {
        grid-template-columns: 1fr;
    }
}

.module-tag-grid {
    margin-top: 10px;
}

@media (max-width: 920px) {
    .nav-roadmap {
        font-size: 10px;
        line-height: 14px;
    }
}


/* V1.1.0 overrides */
:root {
    --sidebar-width: 232px;
    --sidebar-collapsed-width: 76px;
}

.sidebar-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.brand {
    padding: 2px;
}

.brand-logo-icon {
    width: 34px;
    height: 34px;
}

.sidebar-desktop-toggle {
    width: 34px;
    height: 34px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    background: var(--bg-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-secondary);
    transition: .15s ease;
}

.sidebar-desktop-toggle:hover {
    background: var(--brand-soft);
    color: var(--brand);
}

.sidebar-desktop-toggle-lines,
.sidebar-desktop-toggle-lines::before,
.sidebar-desktop-toggle-lines::after {
    display: block;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    position: relative;
    transition: .15s ease;
}

.sidebar-desktop-toggle-lines::before,
.sidebar-desktop-toggle-lines::after {
    content: '';
    position: absolute;
    left: 0;
}

.sidebar-desktop-toggle-lines::before { top: -5px; }
.sidebar-desktop-toggle-lines::after { top: 5px; }

.nav-link-primary {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-link-icon,
.nav-group-icon,
.user-card-badge {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .02em;
    background: var(--brand-soft);
    color: var(--brand);
    border: 1px solid rgba(47, 91, 255, 0.10);
}

.nav-group-summary {
    position: relative;
}

.nav-group-label {
    flex: 1;
    gap: 0;
}

.nav-subnav {
    padding: 0 6px 6px 6px;
}

.nav-link-sub {
    padding-left: 12px;
}

.nav-roadmap,
.module-scope-card,
.module-scope-title,
.module-scope-text {
    display: none !important;
}

.user-card-compact {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
}

.user-card-build {
    font-size: 11px;
    line-height: 15px;
    color: var(--text-muted);
}

.button-logout {
    padding-top: 9px;
    padding-bottom: 9px;
}

.content-header-inline-actions {
    align-items: center;
}

.toolbar-header-inline {
    margin-left: auto;
}

.toolbar-header-inline .toolbar-group {
    justify-content: flex-end;
    gap: 8px;
}

.panel-table-only {
    padding-top: 8px;
}

.dashboard-tags-panel {
    margin-bottom: 10px;
}

.public-tag-grid.compact {
    gap: 8px;
}

/* Desktop collapsed sidebar */
@media (min-width: 921px) {
    body.sidebar-collapsed .sidebar {
        width: var(--sidebar-collapsed-width);
        padding: 12px 10px;
        overflow: visible;
    }

    body.sidebar-collapsed .main-content {
        padding-left: 16px;
    }

    body.sidebar-collapsed .sidebar-topbar {
        justify-content: center;
        position: relative;
    }

    body.sidebar-collapsed .sidebar-desktop-toggle {
        position: absolute;
        right: -14px;
        top: 0;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
        background: var(--bg-surface);
        z-index: 40;
    }

    body.sidebar-collapsed .nav-link-text,
    body.sidebar-collapsed .nav-group-label,
    body.sidebar-collapsed .nav-group-chevron,
    body.sidebar-collapsed .user-card-build,
    body.sidebar-collapsed .button-logout {
        display: none;
    }

    body.sidebar-collapsed .nav-link-primary,
    body.sidebar-collapsed .nav-group-summary,
    body.sidebar-collapsed .user-card-compact {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    body.sidebar-collapsed .nav-link-primary,
    body.sidebar-collapsed .nav-group-summary {
        min-height: 46px;
    }

    body.sidebar-collapsed .nav-link-icon,
    body.sidebar-collapsed .nav-group-icon,
    body.sidebar-collapsed .user-card-badge {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 12px;
    }

    body.sidebar-collapsed .nav-group {
        position: relative;
        overflow: visible;
        background: transparent;
        box-shadow: none;
        border-color: transparent;
    }

    body.sidebar-collapsed .nav-group.is-active,
    body.sidebar-collapsed .nav-group[open] {
        background: transparent;
    }

    body.sidebar-collapsed .nav-subnav {
        display: none;
        position: absolute;
        left: calc(100% + 10px);
        top: 0;
        width: 220px;
        padding: 8px;
        border: 1px solid var(--border-soft);
        background: var(--bg-surface);
        border-radius: 14px;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14);
        z-index: 60;
    }

    body.sidebar-collapsed .nav-group:hover .nav-subnav,
    body.sidebar-collapsed .nav-group:focus-within .nav-subnav {
        display: grid;
    }

    body.sidebar-collapsed .nav-group:hover .nav-group-label::after,
    body.sidebar-collapsed .nav-group:focus-within .nav-group-label::after {
        display: none;
    }

    body.sidebar-collapsed .nav-link-sub {
        display: block;
        padding: 9px 10px;
        font-size: 13px;
        line-height: 18px;
    }

    body.sidebar-collapsed .sidebar-bottom {
        gap: 10px;
    }

    body.sidebar-collapsed .user-card-compact {
        padding: 8px 0;
        background: transparent;
        border: 0;
    }

}

@media (max-width: 920px) {
    .sidebar-desktop-toggle {
        display: none;
    }

    .content-header-inline-actions {
        align-items: start;
    }
}

.toolbar-header-inline { margin-bottom: 0; }
.toolbar-header-inline .toolbar-group { width: auto; }
.content-header-inline-actions h1 { margin-right: 10px; }

/* V1.1.2 Messagerie */
.header-actions-inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.button-sm, .button-small { padding: 7px 10px; font-size: 12px; line-height: 16px; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:2px 8px; font-size:11px; line-height:15px; margin-left:6px; background:var(--bg-muted); color:var(--text-secondary); }
.status-pill-success { background:#e8f7f0; color:var(--success); }
.status-pill-danger { background:#fdecec; color:var(--danger); }
.status-pill-info { background:var(--brand-soft); color:var(--brand); }
.status-pill-warning { background:#fff4e5; color:var(--warning); }
.status-pill-muted { background:var(--bg-muted); color:var(--text-muted); }
.row-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.favorite-toggle { border:0; background:none; font-size:18px; line-height:1; cursor:pointer; color:#c3c9d4; }
.favorite-toggle.is-on { color: var(--warning); }
.mailbox-test-message { margin-top:8px; max-width:320px; }
.checkbox-row { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.mail-preset-box { border:1px solid var(--border-soft); }

.mail-app {
  display:grid;
  grid-template-columns: 240px minmax(320px, 440px) minmax(0, 1fr);
  gap:16px;
  min-height: calc(100vh - 180px);
}
.mail-sidebar, .mail-list, .mail-preview, .mail-compose-main, .mail-compose-side { min-width:0; }
.mail-sidebar { padding:14px; }
.mail-sidebar-title { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); margin-bottom:8px; font-weight:700; }
.mailbox-block { margin-bottom:10px; }
.mail-folder-link { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:10px; color:var(--text-secondary); font-size:13px; }
.mail-folder-link:hover, .mail-folder-link.active { background:var(--brand-soft); color:var(--brand); }
.mail-folder-sub { padding-left:18px; font-size:12px; }
.mail-list { padding:0; overflow:hidden; }
.mail-search-row { display:flex; gap:8px; padding:12px; border-bottom:1px solid var(--border-soft); }
.mail-search-input { flex:1; min-width:0; border:1px solid var(--border-soft); border-radius:10px; padding:10px 12px; }
.mail-list-items { display:flex; flex-direction:column; max-height: calc(100vh - 260px); overflow:auto; }
.mail-list-item { display:block; padding:12px 14px; border-bottom:1px solid var(--border-soft); }
.mail-list-item:hover, .mail-list-item.active { background:#f7faff; }
.mail-list-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.mail-list-meta { margin-top:4px; display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:var(--text-muted); }
.mail-list-preview { margin-top:6px; color:var(--text-secondary); font-size:12px; line-height:17px; }
.mail-date { font-size:11px; color:var(--text-muted); white-space:nowrap; }
.mail-preview { padding:18px; overflow:auto; }
.mail-preview-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom:1px solid var(--border-soft); padding-bottom:12px; }
.mail-preview-header h2 { margin:0; font-size:22px; line-height:28px; }
.mail-meta-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; margin:14px 0 18px; }
.mail-preview-body { border:1px solid var(--border-soft); border-radius:12px; padding:16px; background:#fff; }
.mail-preview-body pre { margin:0; white-space:pre-wrap; font-family:var(--font-stack); }
.mail-empty { padding:18px; color:var(--text-muted); }

.mail-compose-layout { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:16px; }
.mail-compose-main, .mail-compose-side { padding:16px; }
.mail-compose-row { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.mail-compose-row.two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mail-compose-row label { font-size:12px; color:var(--text-muted); font-weight:600; }
.mail-compose-row input, .mail-compose-row select, .mail-compose-row textarea, .form-field input, .form-field select, .form-field textarea { width:100%; border:1px solid var(--border-soft); border-radius:10px; padding:10px 12px; font:inherit; background:#fff; }
.mail-compose-row textarea { resize:vertical; min-height:130px; }
.form-actions-vertical { display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.email-settings-grid { max-width:1100px; }
.panel-mailboxes { padding:0; overflow:hidden; }
.panel-mailboxes .table-wrap { padding:0; }
.panel-mailboxes table { width:100%; border-collapse:collapse; }
.panel-mailboxes th, .panel-mailboxes td { padding:12px 14px; border-bottom:1px solid var(--border-soft); vertical-align:top; text-align:left; }

@media (max-width: 1120px) {
  .mail-app { grid-template-columns: 1fr; }
  .mail-list-items { max-height:none; }
  .mail-compose-layout { grid-template-columns:1fr; }
}

/* V1.1.3 Messagerie IMAP */
.mail-app-pro { grid-template-columns: 280px minmax(320px, 420px) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.mail-sidebar-pro { padding: 12px; display:flex; flex-direction:column; gap:4px; }
.mail-compose-button { width:100%; justify-content:center; margin-bottom:8px; }
.mail-folder-link-summary { display:flex; align-items:center; justify-content:space-between; }
.mail-count-pack { display:flex; align-items:center; gap:8px; }
.mail-unread-badge { min-width:20px; height:20px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--brand-primary-soft); color:var(--brand-primary); font-size:11px; font-weight:700; padding:0 6px; }
.mail-folder-count { font-size:11px; color:var(--text-muted); }
.mail-pill-favorite { color:var(--warning-700, #B45309); font-size:12px; }
.mailbox-block-pro { margin-bottom:8px; }
.mailbox-root { font-weight:700; }
.mail-list-pro { display:flex; flex-direction:column; min-height: calc(100vh - 190px); }
.mail-toolbar { padding:12px 14px 10px; border-bottom:1px solid var(--border-soft); }
.mail-search-row-pro { display:flex; gap:8px; }
.mail-search-row-pro .mail-search-input { flex:1; }
.mail-list-headline { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; border-bottom:1px solid var(--border-soft); font-size:13px; }
.mail-list-item-pro { display:flex; gap:12px; align-items:flex-start; }
.mail-list-item-pro.is-unread { background: #f9fbff; }
.mail-list-avatar { width:36px; height:36px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--surface-subtle); color:var(--brand-primary); font-weight:700; flex:0 0 auto; }
.mail-list-content { min-width:0; flex:1; }
.mail-counterparty { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mailbox-chip { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border-soft); border-radius:999px; padding:2px 8px; font-size:11px; color:var(--text-secondary); background:#fff; }
.mail-preview-pro { display:flex; flex-direction:column; min-height: calc(100vh - 190px); }
.mail-preview-header-pro { padding-bottom:14px; }
.mail-subject-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mail-meta-grid-pro { margin-top:12px; display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; font-size:13px; }
.mail-preview-actions { flex-wrap:wrap; justify-content:flex-end; }
.mail-preview-body-pro { margin-top:14px; flex:1; overflow:auto; background:#fff; }
.mail-preview-body-pro pre { margin:0; white-space:pre-wrap; font-family:var(--font-stack); line-height:1.45; }
.row-actions-wrap { flex-wrap:wrap; }
@media (max-width: 1180px) {
  .mail-app-pro { grid-template-columns: 250px minmax(280px, 360px) minmax(0, 1fr); }
}
@media (max-width: 980px) {
  .mail-app-pro { grid-template-columns: 1fr; }
  .mail-list-pro, .mail-preview-pro { min-height: auto; }
}

/* V1.1.4 Messagerie auto-relève et volets redimensionnables */
:root {
  --mail-nav-width: 290px;
  --mail-list-width: 390px;
}
.mail-sync-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  margin-bottom:14px;
}
.mail-sync-bar-main { display:flex; flex-direction:column; gap:2px; }
.mail-sync-bar-form { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.checkbox-inline { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); }
.checkbox-inline input { margin:0; }
.mail-sync-status { font-size:12px; color:var(--text-muted); }
.mail-app-pro {
  grid-template-columns: minmax(220px, var(--mail-nav-width)) 8px minmax(300px, var(--mail-list-width)) 8px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}
.mail-sidebar-pro,
.mail-list-pro,
.mail-preview-pro { border-radius: 14px; }
.mail-sidebar-pro { padding: 10px; display:flex; flex-direction:column; gap:4px; overflow:auto; }
.mail-sidebar-header-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.mail-sidebar-title-spaced { margin-top:18px; }
.mail-pane-resizer {
  position: relative;
  cursor: col-resize;
  background: transparent;
}
.mail-pane-resizer::before {
  content: '';
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: var(--border-soft);
}
.mail-pane-resizer:hover::before { background: var(--brand-primary); }
.mail-nav-collapsed { grid-template-columns: 0 0 minmax(300px, var(--mail-list-width)) 8px minmax(0, 1fr); }
.mail-nav-collapsed .mail-sidebar-pro,
.mail-nav-collapsed .mail-pane-resizer[data-mail-resizer="nav"] { display:none; }
.mail-toolbar-pro { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.mail-list-pro { display:flex; flex-direction:column; min-height: calc(100vh - 238px); border-left: 0; }
.mail-preview-pro { display:flex; flex-direction:column; min-height: calc(100vh - 238px); border-left: 0; }
.mail-search-row-pro { flex:1; }
.mail-list-items { max-height: none; flex:1; }
.mail-list-item-pro { padding: 11px 14px; }
.mail-list-avatar { width:34px; height:34px; border-radius:10px; }
.mail-preview-header-pro { padding-bottom:12px; }
.mail-preview-body-pro { margin-top:12px; min-width:0; overflow:auto; }
.mail-body-frame { width:100%; min-height:620px; border:0; background:#fff; border-radius:12px; }
.mail-folder-link { padding:7px 10px; }
.mail-folder-sub { padding-left: 18px; }
@media (max-width: 1180px) {
  .mail-sync-bar { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 980px) {
  .mail-app-pro { grid-template-columns: 1fr; gap: 12px; }
  .mail-pane-resizer { display:none; }
  .mail-nav-collapsed .mail-sidebar-pro { display:flex; }
  .mail-sync-bar-form { width:100%; }
  .mail-sync-bar-form select,
  .mail-sync-bar-form .button { width:100%; }
  .mail-toolbar-pro { flex-direction:column; align-items:stretch; }
  .mail-list-pro, .mail-preview-pro { min-height:auto; }
}


.mail-detail-layout { display:grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 320px); gap:14px; min-height:100%; align-items:start; }
.mail-detail-main { min-width:0; display:flex; flex-direction:column; }
.mail-context-pane { display:flex; flex-direction:column; gap:12px; min-width:0; }
.mail-context-card { border:1px solid var(--border-soft); border-radius:12px; background:#fff; padding:12px; }
.mail-section-title { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); margin-bottom:10px; font-weight:700; }
.mail-context-group { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.mail-context-group:last-child { margin-bottom:0; }
.mail-context-group-title { font-size:13px; font-weight:700; color:var(--text-primary); }
.mail-context-link { display:flex; flex-direction:column; gap:2px; padding:10px; border:1px solid var(--border-soft); border-radius:10px; text-decoration:none; color:var(--text-primary); background:var(--surface-0,#fff); }
.mail-context-link:hover { border-color:var(--brand-primary); background:var(--surface-secondary,#f8fbff); }
.mail-attachments-panel { margin-top:12px; border:1px solid var(--border-soft); border-radius:12px; background:#fff; padding:12px; }
.mail-attachments-list { display:flex; flex-wrap:wrap; gap:10px; }
.mail-attachment-item { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:220px; border:1px solid var(--border-soft); border-radius:10px; padding:10px 12px; text-decoration:none; color:var(--text-primary); }
.mail-attachment-item:hover { border-color:var(--brand-primary); background:var(--surface-secondary,#f8fbff); }
.mail-attachment-name { font-weight:600; }
.mail-attachment-meta { color:var(--text-muted); font-size:12px; white-space:nowrap; }
.mail-sync-log-list { display:flex; flex-direction:column; gap:8px; }
.mail-sync-log-item { border:1px solid var(--border-soft); border-radius:10px; padding:10px; background:#fff; }
.mail-sync-log-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:4px; }
.mail-related-list { display:flex; flex-direction:column; gap:10px; }
.mail-related-item { display:flex; flex-direction:column; gap:3px; border:1px solid var(--border-soft); border-radius:12px; padding:12px; text-decoration:none; color:var(--text-primary); background:#fff; }
.mail-related-item:hover { border-color:var(--brand-primary); background:var(--surface-secondary,#f8fbff); }
@media (max-width: 1320px) {
  .mail-detail-layout { grid-template-columns: 1fr; }
}

.mail-header-compact { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.mail-header-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mail-sync-inline-form { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.input-inline-select { min-width:90px; }
.mail-sidebar-header-row-tight { justify-content:space-between; margin-bottom:10px; }
.mail-sidebar-current { font-size:14px; }
.mailbox-block-head { display:flex; align-items:center; gap:6px; }
.mailbox-root { flex:1; }
.mailbox-toggle { border:0; background:transparent; color:var(--text-muted); cursor:pointer; width:28px; height:28px; border-radius:8px; }
.mailbox-toggle:hover { background:var(--surface-secondary,#f8fbff); color:var(--text-primary); }
.mailbox-block.is-open .mailbox-toggle { transform:rotate(0deg); }
.mailbox-block:not(.is-open) .mailbox-toggle { transform:rotate(-90deg); }
.mailbox-folder-list[hidden] { display:none !important; }
.mail-toolbar-single-line { padding-bottom:8px; }
.mail-toolbar-single-line .mail-search-row-pro { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mail-toolbar-count { margin-left:auto; font-size:12px; color:var(--text-muted); white-space:nowrap; }
.mail-context-pane .mail-context-card + .mail-context-card { margin-top:0; }
.mail-open-external { color:var(--text-muted); font-weight:400; }
.mail-context-link strong { display:flex; align-items:center; gap:6px; }
@media (max-width: 1180px) {
  .mail-header-tools { width:100%; }
  .mail-sync-inline-form { width:100%; }
}
@media (max-width: 980px) {
  .mail-header-compact, .mail-header-tools, .mail-sync-inline-form, .mail-toolbar-single-line .mail-search-row-pro { align-items:stretch; }
  .mail-sync-inline-form .button, .mail-sync-inline-form select, .mail-header-tools > form, .mail-header-tools > a, .mail-toolbar-single-line .button, .mail-toolbar-single-line .mail-search-input { width:100%; }
  .mail-toolbar-count { margin-left:0; }
}

/* V1.1.8 overrides */
.guest-wrapper,
.guest-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.flash-stack {
    gap: 8px;
    margin-bottom: 10px;
}
.flash {
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 18px;
}

.panel-mailboxes th,
.panel-mailboxes td {
    padding: 10px 12px;
}
.mailbox-identity {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
.mailbox-inline-stack {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mailbox-status-line {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.mailbox-status-line .muted {
    margin: 0;
}
.mailbox-test-message {
    margin-top: 4px;
    max-width: 360px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mail-header-compact {
    align-items: center;
}
.mail-header-tools,
.mail-sync-inline-form,
.mail-toolbar-single-line .mail-search-row-pro {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}
.mail-header-tools {
    overflow-x: auto;
    padding-bottom: 2px;
}
.mail-sync-inline-form select.input-inline-select {
    width: 90px;
    min-width: 90px;
}
.mail-sync-status {
    white-space: nowrap;
}
.mail-toolbar-count {
    margin-left: auto;
    white-space: nowrap;
    font-size: 12px;
    color: var(--text-muted);
}
.mail-search-row-pro {
    width: 100%;
}
.mail-search-input {
    flex: 1 1 auto;
    min-width: 0;
}
.mail-pane-collapse {
    white-space: nowrap;
}
.mail-list-item-pro {
    border-left: 3px solid transparent;
}
.mail-list-item-pro.is-unread {
    background: #f3f7ff;
    border-left-color: var(--brand-primary);
}
.mail-list-item-pro.is-unread strong,
.mail-list-item-pro.is-unread .mail-counterparty,
.mail-list-item-pro.is-unread .mail-date {
    font-weight: 700;
    color: var(--text-main);
}
.mail-list-preview {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mail-detail-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    align-items: start;
}
.mail-preview-header-pro {
    gap: 12px;
}
.mail-meta-grid-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mail-context-card {
    position: sticky;
    top: 12px;
}
.mail-body-frame {
    min-height: 560px;
}

@media (max-width: 1480px) {
    .mail-detail-layout {
        grid-template-columns: 1fr;
    }
    .mail-context-card {
        position: static;
    }
}

@media (max-width: 1180px) {
    .mail-header-tools,
    .mail-sync-inline-form,
    .mail-toolbar-single-line .mail-search-row-pro {
        flex-wrap: wrap;
    }
    .mail-toolbar-count {
        margin-left: 0;
    }
}

@media (max-width: 760px) {
    .mail-meta-grid-pro {
        grid-template-columns: 1fr;
    }
}

/* V1.1.9 overrides */
.guest-card-auth {
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
}
.guest-card-auth-centered {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}
.guest-card-auth .guest-logo {
    width: 168px;
    margin: 0 auto 4px;
}
.guest-card-auth h1,
.guest-card-auth .muted,
.guest-card-auth .guest-links-inline {
    text-align: center;
}
.guest-card-auth .guest-links-inline {
    justify-content: center;
}
.guest-card-auth .form-grid {
    gap: 14px;
}
.guest-card-auth .button-block {
    width: 100%;
}

.mailbox-form-compact {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 14px;
    align-items: start;
}
.mailbox-form-panel {
    min-width: 0;
}
.mailbox-form-panel-main {
    grid-column: 1 / 2;
}
.mailbox-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.mailbox-grid-two textarea,
.mailbox-grid-two input,
.mailbox-grid-two select {
    min-width: 0;
}
.mailbox-preset-inline {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 12px;
}
.mailbox-options-grid {
    margin-bottom: 6px;
}
.form-field-inline-checks {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.mailbox-status-summary {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.mailbox-form-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
}
.panel-header-tight {
    margin-bottom: 10px;
}

.mail-header-compact-v119 {
    margin-bottom: 10px;
}
.mail-header-tools-v119 {
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
}
.mail-sync-inline-form-v119 {
    gap: 8px;
    flex-wrap: nowrap;
}
.mail-app-v119 {
    --mail-nav-width: 280px;
    --mail-list-width: 460px;
}
.mail-toolbar-v119 {
    padding: 10px 12px 8px;
}
.mail-search-row-pro-v119 {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.input-inline-select-wide {
    min-width: 132px;
}
.mail-list-headline-v119 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
}
.mail-bulk-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.mail-list-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: stretch;
    border-bottom: 1px solid var(--border-soft);
    background: #fff;
}
.mail-list-row.active {
    background: #f7faff;
}
.mail-list-row.is-unread {
    background: #f3f7ff;
}
.mail-list-select {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 16px;
}
.mail-list-item-pro {
    border-left: 0;
    padding-left: 10px;
}
.mail-list-unread-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: transparent;
    margin-top: 5px;
    flex: 0 0 auto;
}
.mail-list-item-pro.is-unread .mail-list-unread-dot {
    background: var(--brand);
    box-shadow: 0 0 0 4px rgba(47, 91, 255, 0.12);
}
.mail-list-identity-block {
    min-width: 0;
}
.mail-list-identity {
    font-size: 13px;
    line-height: 17px;
    color: var(--text-main);
    font-weight: 700;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mail-list-date-block {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.mail-attachment-flag {
    font-size: 13px;
    line-height: 1;
}
.mail-preview-heading-stack {
    min-width: 0;
    flex: 1;
}
.mail-meta-grid-v119 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 14px;
    margin-top: 12px;
}
.mail-meta-grid-v119 div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.mail-meta-grid-v119 span {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}
.mail-context-pane {
    gap: 10px;
}
.mail-context-card-sortable {
    cursor: grab;
}
.mail-context-card-sortable.is-dragging {
    opacity: .55;
}
.mail-context-group-title {
    margin-bottom: 8px;
}
.mail-context-link span {
    color: var(--text-secondary);
}

@media (max-width: 1280px) {
    .mailbox-form-compact {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .mail-header-tools-v119,
    .mail-sync-inline-form-v119 {
        flex-wrap: wrap;
    }
    .mailbox-grid-two,
    .mailbox-status-summary,
    .mail-meta-grid-v119 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .mailbox-grid-two,
    .mailbox-status-summary,
    .mail-meta-grid-v119 {
        grid-template-columns: 1fr;
    }
    .mail-search-row-pro-v119,
    .mail-header-tools-v119,
    .mail-sync-inline-form-v119,
    .mail-list-headline-v119,
    .mail-bulk-actions {
        flex-wrap: wrap;
    }
    .mail-list-row {
        grid-template-columns: 28px minmax(0, 1fr);
    }
}

/* V1.1.10 overrides */
.guest-card-auth-v1110 {
    max-width: 560px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
}
.guest-brand-lockup-centered {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.guest-title-block {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.guest-auth-form {
    width: 100%;
}
.guest-links-inline-v1110 {
    width: 100%;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

.mailbox-form-v1110 {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 14px;
    align-items: stretch;
}
.mailbox-form-v1110 .mailbox-form-panel {
    height: 100%;
}
.mailbox-form-v1110 .panel-header-tight h2 {
    font-size: 16px;
    line-height: 22px;
}
.mailbox-form-v1110 .form-field label {
    margin-bottom: 4px;
}
.mailbox-form-v1110 .form-field input,
.mailbox-form-v1110 .form-field select,
.mailbox-form-v1110 .form-field textarea {
    padding: 9px 11px;
}
.mailbox-form-v1110 .mailbox-grid-two-v1110 {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mailbox-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}
.mailbox-chip-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border-soft);
    background: #fff;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-secondary);
}
.mailbox-chip-toggle input {
    margin: 0;
}
.mailbox-access-users {
    margin-top: 10px;
}
.mailbox-user-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mailbox-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    padding: 7px 10px;
    background: #fff;
    font-size: 12px;
    line-height: 16px;
}
.mailbox-user-chip input { margin: 0; }
.mailbox-status-summary-v1110 {
    grid-template-columns: 1fr;
    gap: 8px;
}

.mail-header-tools-v119,
.mail-sync-inline-form-v119,
.mail-search-row-pro-v119 {
    flex-wrap: nowrap;
    align-items: center;
}
.mail-sync-inline-form-v119 .input-inline-select,
.mail-sync-inline-form-v119 .button,
.mail-search-row-pro-v119 .input-inline-select,
.mail-search-row-pro-v119 .button {
    height: 38px;
}
.mail-search-row-pro-v119 .mail-search-input {
    min-width: 180px;
}
.mail-app-v119 {
    --mail-nav-width: 272px;
    --mail-list-width: 430px;
    --mail-context-width: 300px;
}
.mail-app-v119.mail-context-collapsed {
    grid-template-columns: minmax(220px, var(--mail-nav-width)) 8px minmax(300px, var(--mail-list-width)) 8px minmax(0,1fr) 0 0;
}
.mail-app-v119 .mail-detail-layout {
    grid-template-columns: minmax(0, 1fr) 8px minmax(240px, var(--mail-context-width));
    gap: 0;
}
.mail-app-v119.mail-context-collapsed .mail-context-pane,
.mail-app-v119.mail-context-collapsed .mail-pane-resizer[data-mail-resizer="context"] {
    display: none;
}
.mail-context-pane {
    min-width: 0;
    padding-left: 12px;
}
.mail-context-pane-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}
.mail-context-pane-head strong {
    font-size: 13px;
}
.mail-pane-resizer[data-mail-resizer="context"] {
    margin-left: 12px;
}
.mail-list-headline-v119 {
    padding: 8px 12px;
}
.checkbox-inline-compact span {
    font-size: 12px;
}
.mail-bulk-actions .input-inline-select-wide {
    min-width: 170px;
}
.mail-list-row {
    min-height: 76px;
}
.mail-list-item-pro {
    padding-right: 12px;
}
.mail-list-top strong {
    display: block;
    font-size: 15px;
    line-height: 20px;
    margin-top: 1px;
}
.mail-list-item-pro.is-unread strong,
.mail-list-item-pro.is-unread .mail-list-identity {
    color: #0f172a;
}
.mail-list-identity {
    color: #475569;
    font-weight: 600;
    margin-bottom: 1px;
}
.mail-preview-header-pro {
    padding-bottom: 10px;
}
.mail-meta-grid-v119 {
    grid-template-columns: repeat(3, minmax(0,1fr));
}
.mail-preview-actions {
    align-items: center;
}
.mailbox-folder-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.panel-mailboxes .data-table td,
.panel-mailboxes .data-table th {
    white-space: normal;
}
.mailbox-inline-stack,
.mailbox-status-line {
    gap: 4px;
}
.mailbox-test-message {
    line-height: 1.35;
}
@media (max-width: 1360px) {
    .mailbox-form-v1110 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1100px) {
    .mail-app-v119 .mail-detail-layout {
        grid-template-columns: 1fr;
    }
    .mail-pane-resizer[data-mail-resizer="context"] {
        display: none;
    }
    .mail-context-pane {
        padding-left: 0;
        margin-top: 12px;
    }
}
@media (max-width: 980px) {
    .mail-header-tools-v119,
    .mail-sync-inline-form-v119,
    .mail-search-row-pro-v119 {
        flex-wrap: wrap;
    }
    .mail-app-v119 {
        --mail-list-width: 100%;
    }
}

/* V1.1.11 overrides */
.body-mode-compose_popup {
    background: #f6f8fb;
}
.compose-popup-shell {
    min-height: 100vh;
    padding: 18px;
}
.guest-card-auth-v1111 {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
}
.guest-brand-lockup-v1111,
.guest-title-block-v1111,
.guest-auth-form-v1111,
.guest-links-inline-v1111 {
    width: 100%;
}
.guest-logo-auth-v1111 {
    width: 170px;
    margin: 0 auto 6px;
    display: block;
}
.guest-title-block-v1111 h1 {
    margin-bottom: 2px;
}
.guest-links-inline-v1111 {
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

.mailbox-form-v1111 {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}
.mailbox-form-v1111 .mailbox-form-panel {
    height: 100%;
}
.mailbox-form-v1111 .panel-header-tight h2 { font-size: 16px; }
.mailbox-form-v1111 .form-field label { margin-bottom: 4px; }
.mailbox-form-v1111 .form-field input,
.mailbox-form-v1111 .form-field select,
.mailbox-form-v1111 .form-field textarea { padding: 9px 11px; }
.mailbox-form-v1111 .mailbox-grid-two-v1111 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mailbox-preset-inline-v1111 {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: end;
}
.mailbox-chip-grid-v1111,
.mailbox-chip-grid-v1111-rights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}
.mailbox-chip-toggle {
    min-height: 38px;
}
.mailbox-access-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 12px;
}
.mailbox-access-block {
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: #f8fbff;
    padding: 12px;
}
.mailbox-access-title {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}
.mailbox-role-picker,
.mailbox-user-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mailbox-role-members-preview {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mailbox-role-members-card {
    border: 1px solid var(--border-soft);
    background: #fff;
    border-radius: 12px;
    padding: 10px;
}
.mailbox-role-members-card.is-hidden { display:none; }
.mailbox-role-members-list {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}
.mailbox-role-member-pill {
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    background:#eef3ff;
    color:#2448d8;
    font-size:12px;
    line-height:16px;
}
.mailbox-status-summary-v1111 {
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}
.mailbox-inline-stack { display:flex; flex-direction:column; gap:4px; }

.mail-compose-window {
    display:flex;
    flex-direction:column;
    gap:12px;
}
.mail-compose-window.is-popup {
    max-width: 1280px;
    margin: 0 auto;
}
.mail-compose-window-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:#fff;
    border:1px solid var(--border-soft);
    border-radius:16px;
    padding:14px 16px;
    box-shadow: var(--shadow-soft);
}
.mail-compose-layout-v1111 {
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:14px;
}
.mail-compose-main-v1111,
.mail-compose-side-v1111 {
    padding: 16px;
}
.mail-compose-grid-v1111 {
    display:grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap:10px;
}
.mail-compose-advanced {
    margin-top: 12px;
    border-top: 1px solid var(--border-soft);
    padding-top: 12px;
}
.mail-compose-advanced summary {
    cursor:pointer;
    font-weight:600;
    color:var(--text-secondary);
    margin-bottom:8px;
}
.mail-toolbar-count {
    white-space: nowrap;
}
@media (max-width: 1400px) {
    .mailbox-form-v1111 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1180px) {
    .mail-compose-layout-v1111 {
        grid-template-columns:1fr;
    }
    .mail-compose-grid-v1111 {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 900px) {
    .mailbox-access-layout,
    .mailbox-status-summary-v1111,
    .mail-compose-grid-v1111 {
        grid-template-columns:1fr;
    }
}


/* V1.1.12 public homepage overhaul */
.public-card-grid.public-card-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-home-hero {
    position: relative;
    padding: 40px 0 28px;
    overflow: clip;
}

.public-home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 18%, rgba(47, 91, 255, 0.10), transparent 28%),
        radial-gradient(circle at 84% 22%, rgba(21, 122, 114, 0.10), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(238,243,255,0) 100%);
    pointer-events: none;
}

.public-home-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 28px;
    align-items: center;
}

.public-home-title {
    max-width: 760px;
}

.public-home-intro {
    max-width: 720px;
}

.public-home-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.public-home-trust-item,
.public-home-check {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(47,91,255,0.18);
    background: rgba(255,255,255,0.82);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 18px;
    font-weight: 500;
}

.public-home-stage {
    position: relative;
    min-height: 520px;
}

.public-home-stage-glow {
    position: absolute;
    inset: 8% 10% auto auto;
    width: 340px;
    height: 340px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(47,91,255,0.16), transparent 70%);
    filter: blur(12px);
}

.public-home-stage-card {
    position: absolute;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 22px 60px rgba(15,23,42,0.10);
    border-radius: 24px;
}

.public-home-stage-card.primary {
    inset: 0 40px 120px 0;
    padding: 18px;
}

.public-home-stage-card.secondary {
    right: 0;
    bottom: 40px;
    width: 320px;
    padding: 18px;
}

.public-home-stage-card.tertiary {
    left: 40px;
    bottom: 0;
    width: 260px;
    padding: 18px;
    background: linear-gradient(180deg, #0F172A 0%, #172554 100%);
    color: #fff;
    border-color: rgba(255,255,255,0.08);
}

.public-home-window-bar {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

.public-home-window-bar span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #c4ceda;
}

.public-home-window-bar span:first-child { background: #94a3b8; }
.public-home-window-bar span:nth-child(2) { background: #8ab4ff; }
.public-home-window-bar span:nth-child(3) { background: #7dd3c7; }

.public-home-window-title {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.public-home-pipeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.public-home-pipeline-col {
    background: var(--bg-muted);
    border: 1px solid var(--border-soft);
    border-radius: 18px;
    padding: 14px;
}

.public-home-pipeline-head,
.public-home-stage-kicker {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-muted);
}

.public-home-chip {
    margin-top: 10px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(47, 91, 255, 0.08);
    color: var(--brand);
    font-weight: 600;
    font-size: 13px;
}

.public-home-mini-card {
    margin-top: 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--border-soft);
    padding: 12px;
    color: var(--text-secondary);
    min-height: 74px;
}

.public-home-stage-subtitle {
    margin-top: 10px;
    color: var(--text-secondary);
}

.public-home-mail-list {
    margin-top: 16px;
    display: grid;
    gap: 10px;
}

.public-home-mail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: var(--bg-muted);
    border: 1px solid var(--border-soft);
}

.public-home-mail-row.unread {
    background: rgba(47, 91, 255, 0.08);
    border-color: rgba(47, 91, 255, 0.18);
}

.public-home-score {
    font-size: 34px;
    line-height: 40px;
    font-weight: 700;
    margin-bottom: 8px;
}

.public-home-stage-card.tertiary p {
    color: rgba(255,255,255,0.84);
    margin: 0;
}

.public-brand-card h3,
.public-offer-card h3,
.public-home-proof-card h2 {
    text-align: left;
}

.public-home-proof-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 20px;
}

.public-home-proof-card.highlight {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
}

.public-home-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.public-offer-card {
    display: grid;
    gap: 14px;
}

.public-offer-card.featured {
    background: linear-gradient(180deg, #0f172a 0%, #172554 100%);
    color: #fff;
    border-color: rgba(255,255,255,0.08);
}

.public-offer-card.featured p,
.public-offer-card.featured .public-card-kicker {
    color: rgba(255,255,255,0.84);
    background: rgba(255,255,255,0.10);
}

.public-home-contact {
    padding-bottom: 42px;
}

.public-home-contact-copy {
    display: grid;
    align-content: start;
    gap: 16px;
}

.public-home-contact-points {
    display: grid;
    gap: 10px;
    color: var(--text-secondary);
}

.public-home-contact-points code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    background: var(--bg-muted);
    padding: 2px 6px;
    border-radius: 8px;
}

@media (max-width: 1200px) {
    .public-card-grid.public-card-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    .public-home-hero-grid,
    .public-home-proof-grid {
        grid-template-columns: 1fr;
    }

    .public-home-stage {
        min-height: 560px;
    }
}

@media (max-width: 820px) {
    .public-home-stage {
        min-height: auto;
        display: grid;
        gap: 14px;
    }

    .public-home-stage-card,
    .public-home-stage-card.primary,
    .public-home-stage-card.secondary,
    .public-home-stage-card.tertiary {
        position: relative;
        inset: auto;
        width: auto;
    }

    .public-home-pipeline {
        grid-template-columns: 1fr;
    }

    .public-home-check-grid,
    .public-card-grid.public-card-grid-4 {
        grid-template-columns: 1fr;
    }
}

/* V1.1.13 public homepage redesign */
.home13-hero {
    position: relative;
    padding: 44px 0 28px;
    overflow: clip;
}

.home13-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 16%, rgba(47,91,255,0.16), transparent 26%),
        radial-gradient(circle at 88% 14%, rgba(21,122,114,0.14), transparent 22%),
        radial-gradient(circle at 76% 74%, rgba(47,91,255,0.10), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(238,243,255,0) 100%);
    pointer-events: none;
}

.home13-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
    gap: 34px;
    align-items: center;
}

.home13-copy {
    display: grid;
    align-content: start;
    gap: 18px;
}

.home13-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(47,91,255,0.14);
    color: var(--brand);
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home13-title {
    margin: 0;
    font-size: clamp(40px, 4.8vw, 62px);
    line-height: 1.02;
    letter-spacing: -0.045em;
    font-weight: 800;
    max-width: 780px;
}

.home13-intro {
    margin: 0;
    max-width: 760px;
    color: var(--text-secondary);
    font-size: 18px;
    line-height: 29px;
}

.home13-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.home13-button-primary,
.home13-button-secondary {
    min-height: 48px;
    padding: 0 20px;
    font-weight: 700;
}

.home13-proof-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.home13-proof-strip span,
.home13-brand-chip {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(15,23,42,0.08);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    box-shadow: 0 8px 30px rgba(15,23,42,0.05);
}

.home13-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home13-stat-card {
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 50px rgba(15,23,42,0.08);
}

.home13-stat-card.accent {
    background: linear-gradient(180deg, #0f172a 0%, #172554 100%);
    border-color: rgba(255,255,255,0.08);
}

.home13-stat-label {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-muted);
}

.home13-stat-card.accent .home13-stat-label,
.home13-stat-card.accent p {
    color: rgba(255,255,255,0.82);
}

.home13-stat-value {
    margin-top: 8px;
    font-size: 28px;
    line-height: 32px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.home13-stat-card.accent .home13-stat-value {
    color: #fff;
}

.home13-stat-card p {
    margin: 10px 0 0;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.home13-stage {
    position: relative;
    min-height: 660px;
}

.home13-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(14px);
    pointer-events: none;
}

.home13-orb-a {
    top: 16px;
    left: 12px;
    width: 220px;
    height: 220px;
    background: rgba(47,91,255,0.18);
}

.home13-orb-b {
    top: 80px;
    right: 24px;
    width: 180px;
    height: 180px;
    background: rgba(21,122,114,0.16);
}

.home13-orb-c {
    bottom: 24px;
    left: 120px;
    width: 240px;
    height: 240px;
    background: rgba(47,91,255,0.10);
}

.home13-stage-panel,
.home13-floating-card,
.home13-market-card,
.home13-platform-card,
.home13-reason-card,
.home13-cta-card,
.home13-contact-copy,
.home13-contact-form {
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 20px 60px rgba(15,23,42,0.09);
}

.home13-stage-panel {
    position: absolute;
    inset: 46px 24px 124px 0;
    border-radius: 28px;
    padding: 20px;
}

.home13-window-bar {
    display: flex;
    gap: 7px;
    margin-bottom: 14px;
}

.home13-window-bar span {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #c4ceda;
}

.home13-window-bar span:first-child { background: #94a3b8; }
.home13-window-bar span:nth-child(2) { background: #8ab4ff; }
.home13-window-bar span:nth-child(3) { background: #7dd3c7; }

.home13-stage-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 16px;
}

.home13-stage-label,
.home13-floating-label,
.home13-platform-card-head,
.home13-market-kicker {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-muted);
}

.home13-stage-title {
    margin-top: 6px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
}

.home13-stage-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 700;
}

.home13-stage-columns {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr 0.9fr;
    gap: 14px;
}

.home13-stage-column {
    min-height: 364px;
    padding: 16px;
    border-radius: 22px;
    background: var(--bg-muted);
    border: 1px solid var(--border-soft);
}

.home13-stage-column.accent {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
}

.home13-stage-column.support {
    background: linear-gradient(180deg, #ffffff 0%, #effbf8 100%);
}

.home13-stage-column-head {
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.home13-stage-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin-top: 14px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 700;
}

.home13-stage-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.home13-stage-list div {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--border-soft);
}

.home13-stage-list strong {
    font-size: 18px;
    line-height: 22px;
}

.home13-stage-list span,
.home13-mail-preview span,
.home13-floating-card p,
.home13-market-card p,
.home13-platform-copy p,
.home13-reason-card p,
.home13-contact-points,
.home13-contact-copy p {
    color: var(--text-secondary);
}

.home13-mail-preview {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(47,91,255,0.12);
    margin-top: 12px;
}

.home13-mail-preview.unread {
    background: linear-gradient(180deg, rgba(47,91,255,0.10) 0%, rgba(255,255,255,0.96) 100%);
    border-color: rgba(47,91,255,0.18);
}

.home13-stage-ticket-grid {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.home13-stage-ticket {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(21,122,114,0.12);
    font-weight: 600;
}

.home13-stage-ticket .dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
}

.home13-stage-ticket .dot.blue { background: var(--brand); }
.home13-stage-ticket .dot.green { background: #157a72; }
.home13-stage-ticket .dot.amber { background: #d5a35f; }

.home13-floating-card {
    position: absolute;
    border-radius: 24px;
    padding: 18px;
}

.home13-floating-card.demo-card {
    right: 0;
    bottom: 108px;
    width: 310px;
}

.home13-floating-card.compare-card {
    left: 36px;
    bottom: 0;
    width: 260px;
}

.home13-floating-card h3 {
    margin: 8px 0 8px;
    font-size: 20px;
    line-height: 24px;
}

.home13-compare-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.home13-compare-stack span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(15,23,42,0.06);
    color: var(--text-secondary);
    font-weight: 600;
}

.home13-brand-band-section {
    padding-top: 0;
}

.home13-brand-band {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    padding: 6px 0 10px;
}

.home13-benchmark-section,
.home13-platform-section,
.home13-reasons-section,
.home13-cta-section,
.home13-contact-section {
    padding-top: 18px;
    padding-bottom: 24px;
}

.home13-section-head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
}

.home13-section-head.split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 24px;
    align-items: end;
}

.home13-section-head h2,
.home13-platform-copy h2,
.home13-cta-card h2,
.home13-contact-copy h2,
.home13-contact-form h2 {
    margin: 0;
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.05;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.home13-market-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.home13-market-card {
    padding: 22px;
    border-radius: 22px;
    min-height: 250px;
}

.home13-market-card h3 {
    margin: 10px 0 10px;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.03em;
}

.home13-market-card.hubspot {
    background: linear-gradient(180deg, #fff 0%, #fff6ef 100%);
}
.home13-market-card.salesforce {
    background: linear-gradient(180deg, #fff 0%, #eef4ff 100%);
}
.home13-market-card.bitrix {
    background: linear-gradient(180deg, #fff 0%, #effaf8 100%);
}
.home13-market-card.zoho {
    background: linear-gradient(180deg, #fff 0%, #f6f3ff 100%);
}

.home13-platform-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.92fr);
    gap: 26px;
    align-items: stretch;
}

.home13-platform-copy {
    display: grid;
    align-content: start;
    gap: 16px;
}

.home13-module-stack {
    display: grid;
    gap: 10px;
}

.home13-module-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 16px;
    align-items: center;
    min-height: 64px;
    padding: 0 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 14px 36px rgba(15,23,42,0.06);
}

.home13-module-row span {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 700;
}

.home13-module-row strong {
    font-size: 16px;
    line-height: 22px;
}

.home13-platform-visual {
    display: grid;
    gap: 14px;
}

.home13-platform-card {
    border-radius: 24px;
    padding: 20px;
}

.home13-platform-card.top {
    background: linear-gradient(180deg, #0f172a 0%, #172554 100%);
    color: #fff;
}

.home13-platform-card.top p {
    color: rgba(255,255,255,0.82);
}

.home13-platform-kpi {
    font-size: 44px;
    line-height: 46px;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.home13-platform-card.middle ul {
    margin: 14px 0 0;
    padding-left: 18px;
    display: grid;
    gap: 10px;
    color: var(--text-secondary);
}

.home13-roadmap-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.home13-roadmap-line span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 700;
}

.home13-reasons-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home13-reason-card {
    border-radius: 22px;
    padding: 22px;
    min-height: 220px;
}

.home13-reason-number {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 800;
    font-size: 18px;
}

.home13-reason-card h3 {
    margin: 18px 0 10px;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.03em;
}

.home13-cta-card {
    border-radius: 28px;
    padding: 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    background: linear-gradient(135deg, #0f172a 0%, #172554 65%, #2f5bff 100%);
    color: #fff;
}

.home13-cta-card .public-eyebrow {
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.14);
}

.home13-cta-card p {
    color: rgba(255,255,255,0.82);
}

.home13-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.home13-cta-buttons .button-secondary {
    background: rgba(255,255,255,0.10);
    color: #fff;
    border-color: rgba(255,255,255,0.18);
}

.home13-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 18px;
    align-items: stretch;
}

.home13-contact-copy,
.home13-contact-form {
    border-radius: 26px;
    padding: 24px;
}

.home13-contact-points {
    display: grid;
    gap: 10px;
}

.home13-contact-points code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    background: var(--bg-muted);
    padding: 2px 6px;
    border-radius: 8px;
}

.home13-demo-form textarea {
    min-height: 176px;
}

@media (max-width: 1260px) {
    .home13-market-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home13-stage {
        min-height: 720px;
    }

    .home13-stage-panel {
        inset: 46px 10px 144px 0;
    }
}

@media (max-width: 1120px) {
    .home13-hero-grid,
    .home13-platform-grid,
    .home13-contact-grid,
    .home13-section-head.split,
    .home13-cta-card {
        grid-template-columns: 1fr;
    }

    .home13-stage {
        min-height: auto;
        display: grid;
        gap: 16px;
    }

    .home13-stage-panel,
    .home13-floating-card {
        position: relative;
        inset: auto;
        width: auto;
    }

    .home13-cta-buttons {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .home13-title {
        font-size: 42px;
        line-height: 1.04;
    }

    .home13-stage-columns,
    .home13-reasons-grid,
    .home13-stat-grid {
        grid-template-columns: 1fr;
    }

    .home13-module-row {
        grid-template-columns: 1fr;
        padding: 16px 18px;
    }
}

@media (max-width: 760px) {
    .home13-hero {
        padding-top: 28px;
    }

    .home13-title,
    .home13-section-head h2,
    .home13-platform-copy h2,
    .home13-cta-card h2,
    .home13-contact-copy h2,
    .home13-contact-form h2 {
        font-size: 32px;
        line-height: 1.06;
    }

    .home13-intro {
        font-size: 16px;
        line-height: 25px;
    }

    .home13-market-grid {
        grid-template-columns: 1fr;
    }

    .home13-contact-copy,
    .home13-contact-form,
    .home13-stage-panel,
    .home13-market-card,
    .home13-reason-card,
    .home13-cta-card,
    .home13-platform-card,
    .home13-stat-card {
        padding: 18px;
    }
}

/* V1.1.14 public homepage polish */
.home13-platform-section {
    position: relative;
}

.home13-platform-shell {
    display: grid;
    gap: 22px;
}

.home13-platform-intro {
    display: grid;
    gap: 14px;
    max-width: 980px;
}

.home13-platform-intro h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 0.98;
    letter-spacing: -0.05em;
    max-width: 980px;
}

.home13-platform-intro p {
    margin: 0;
    max-width: 880px;
    font-size: 18px;
    line-height: 28px;
    color: var(--text-secondary);
}

.home13-unify-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
}

.home13-unify-card {
    grid-column: span 4;
    display: grid;
    gap: 10px;
    min-height: 184px;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 56px rgba(15,23,42,0.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.home13-unify-card:hover,
.home13-side-card:hover,
.home13-contact-benefits article:hover,
.home13-contact-form-wrap:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 64px rgba(15,23,42,0.12);
}

.home13-unify-card.primary {
    grid-column: span 6;
    background: linear-gradient(135deg, #0f172a 0%, #172554 55%, #2f5bff 100%);
    border-color: rgba(255,255,255,0.08);
    color: #fff;
}

.home13-unify-card.accent {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
}

.home13-unify-kicker,
.home13-unify-label,
.home13-side-title {
    font-size: 12px;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    color: var(--text-muted);
}

.home13-unify-card.primary .home13-unify-kicker,
.home13-unify-card.primary p,
.home13-unify-card.primary .home13-unify-chips span {
    color: rgba(255,255,255,0.86);
}

.home13-unify-card h3,
.home13-unify-card strong {
    margin: 0;
    font-size: 28px;
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.home13-unify-card strong {
    font-size: 23px;
}

.home13-unify-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 24px;
}

.home13-unify-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

.home13-unify-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.14);
    font-weight: 700;
}

.home13-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.62fr);
    gap: 18px;
    align-items: stretch;
}

.home13-workspace-panel {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: 30px;
    background: linear-gradient(135deg, #0b1638 0%, #12275f 48%, #2048b6 100%);
    color: #fff;
    box-shadow: 0 26px 72px rgba(15,23,42,0.18);
}

.home13-workspace-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(255,255,255,0.18), transparent 18%),
        radial-gradient(circle at 84% 24%, rgba(125,211,199,0.18), transparent 20%),
        radial-gradient(circle at 68% 82%, rgba(47,91,255,0.24), transparent 22%);
    pointer-events: none;
}

.home13-workspace-top,
.home13-workspace-columns {
    position: relative;
    z-index: 1;
}

.home13-workspace-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    margin-bottom: 20px;
}

.home13-workspace-kicker {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(255,255,255,0.70);
}

.home13-workspace-top h3 {
    margin: 8px 0 0;
    font-size: 34px;
    line-height: 0.98;
    letter-spacing: -0.05em;
    max-width: 620px;
}

.home13-workspace-badge {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}

.home13-workspace-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home13-workspace-column {
    display: grid;
    gap: 10px;
    padding: 16px;
    border-radius: 22px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.10);
    backdrop-filter: blur(6px);
}

.home13-workspace-column.accent {
    background: rgba(238,243,255,0.14);
}

.home13-workspace-column.support {
    background: rgba(232,247,244,0.12);
}

.home13-workspace-head {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(255,255,255,0.72);
}

.home13-workspace-box,
.home13-workspace-mail {
    display: grid;
    gap: 4px;
    min-height: 68px;
    align-content: center;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,0.92);
    color: var(--text-primary);
    border: 1px solid rgba(255,255,255,0.16);
}

.home13-workspace-box.strong {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
    font-weight: 800;
}

.home13-workspace-mail.unread {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
    box-shadow: inset 0 0 0 1px rgba(47,91,255,0.14);
}

.home13-workspace-mail strong,
.home13-workspace-box strong {
    font-size: 16px;
    line-height: 20px;
}

.home13-workspace-mail span {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 19px;
}

.home13-workspace-side {
    display: grid;
    gap: 14px;
}

.home13-side-card {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 56px rgba(15,23,42,0.08);
}

.home13-side-card.dark {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
}

.home13-side-card ul {
    margin: 14px 0 0;
    padding-left: 18px;
    display: grid;
    gap: 10px;
    color: var(--text-secondary);
}

.home13-roadmap-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.home13-roadmap-grid span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 16px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 700;
}

.home13-contact-shell {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: 18px;
    align-items: stretch;
}

.home13-contact-showcase {
    display: grid;
    gap: 16px;
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, #f7fbff 0%, #eef3ff 100%);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 56px rgba(15,23,42,0.08);
}

.home13-contact-showcase h2 {
    margin: 0;
    font-size: clamp(30px, 3.4vw, 42px);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.home13-contact-showcase p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 25px;
}

.home13-contact-benefits {
    display: grid;
    gap: 12px;
}

.home13-contact-benefits article {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 14px 36px rgba(15,23,42,0.06);
    transition: transform .22s ease, box-shadow .22s ease;
}

.home13-contact-benefits strong {
    font-size: 15px;
    line-height: 20px;
}

.home13-contact-benefits span {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.home13-contact-benefits code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    background: #fff;
    padding: 2px 6px;
    border-radius: 8px;
}

.home13-contact-steps {
    display: grid;
    gap: 10px;
    margin-top: auto;
}

.home13-contact-steps div {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 16px;
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(217,225,234,0.96);
}

.home13-contact-steps span {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 800;
}

.home13-contact-form-wrap {
    display: grid;
    align-content: start;
    gap: 18px;
    border-radius: 28px;
    padding: 24px;
}

.home13-form-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
}

.home13-form-head h2 {
    margin: 8px 0 0;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

.home13-form-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.home13-form-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 700;
    border: 1px solid rgba(47,91,255,0.12);
}

.home13-demo-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.home13-demo-form-grid .col-span-2 {
    grid-column: 1 / -1;
}

.home13-demo-form-grid textarea {
    min-height: 174px;
    resize: vertical;
}

.home13-contact-consent {
    padding-top: 4px;
}

.home13-contact-actions {
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 1260px) {
    .home13-unify-card {
        grid-column: span 6;
    }

    .home13-unify-card.primary {
        grid-column: span 12;
    }
}

@media (max-width: 1120px) {
    .home13-workspace-grid,
    .home13-contact-shell,
    .home13-form-head {
        grid-template-columns: 1fr;
    }

    .home13-form-tags {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .home13-unify-grid,
    .home13-demo-form-grid,
    .home13-workspace-columns {
        grid-template-columns: 1fr;
    }

    .home13-unify-card,
    .home13-unify-card.primary {
        grid-column: 1 / -1;
    }

    .home13-workspace-top,
    .home13-contact-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 760px) {
    .home13-platform-intro h2,
    .home13-contact-showcase h2,
    .home13-form-head h2 {
        font-size: 30px;
        line-height: 1.05;
    }

    .home13-workspace-top h3 {
        font-size: 28px;
    }

    .home13-contact-showcase,
    .home13-contact-form-wrap,
    .home13-side-card,
    .home13-unify-card,
    .home13-workspace-panel {
        padding: 18px;
    }
}


/* V1.1.15 public homepage and cookie polish */
.home13-hero {
    padding: 34px 0 18px;
}

.home13-hero-grid {
    gap: 26px;
    align-items: start;
}

.home13-copy {
    gap: 14px;
    padding-top: 6px;
}

.home13-title {
    font-size: clamp(30px, 4.1vw, 54px);
    line-height: 0.98;
    letter-spacing: -0.055em;
    max-width: 820px;
}

.home13-intro {
    max-width: 780px;
    font-size: 17px;
    line-height: 28px;
}

.home13-stage {
    min-height: 520px;
}

.home13-stage-panel {
    inset: 18px 0 26px 0;
    padding: 18px;
    border-radius: 26px;
}

.home13-stage-title {
    font-size: 18px;
    line-height: 22px;
}

.home13-stage-columns {
    gap: 12px;
}

.home13-stage-column {
    min-height: 312px;
    padding: 14px;
}

.home13-stage-list.compact,
.home13-stage-ticket-grid.compact {
    gap: 10px;
}

.home13-platform-section,
.home13-contact-section,
.home13-benchmark-section,
.home13-reasons-section,
.home13-cta-section {
    padding-top: 12px;
    padding-bottom: 18px;
}

.home13-platform-intro {
    max-width: 900px;
    margin-bottom: 6px;
}

.home13-platform-intro h2 {
    font-size: clamp(26px, 3.5vw, 50px);
    line-height: 1.02;
    letter-spacing: -0.05em;
    max-width: 980px;
}

.home13-platform-intro p {
    max-width: 860px;
    font-size: 16px;
    line-height: 26px;
}

.home13-unify-grid {
    gap: 14px;
}

.home13-unify-card {
    padding: 18px 20px;
    border-radius: 22px;
}

.home13-unify-card strong {
    font-size: 16px;
    line-height: 21px;
}

.home13-unify-card p {
    font-size: 14px;
    line-height: 22px;
}

.home13-workspace-grid {
    align-items: start;
}

.home13-workspace-panel {
    padding: 20px;
    border-radius: 28px;
}

.home13-workspace-top h3 {
    font-size: clamp(24px, 2.5vw, 38px);
    line-height: 1.01;
    max-width: 700px;
}

.home13-workspace-column {
    gap: 10px;
    padding: 14px;
}

.home13-workspace-box,
.home13-workspace-mail,
.home13-workspace-box.strong {
    color: #23324b;
}

.home13-workspace-box {
    min-height: 58px;
    padding: 12px 14px;
    font-weight: 700;
}

.home13-workspace-box.strong {
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
}

.home13-workspace-mail {
    min-height: 64px;
    padding: 12px 14px;
}

.home13-workspace-mail strong,
.home13-workspace-box strong {
    color: #18263d;
}

.home13-workspace-mail span,
.home13-workspace-box span {
    color: #51627d;
}

.home13-side-card {
    padding: 18px 20px;
}

.home13-contact-shell {
    grid-template-columns: minmax(300px, 0.74fr) minmax(0, 1.26fr);
    gap: 16px;
    align-items: start;
}

.home13-contact-showcase,
.home13-contact-form-wrap {
    padding: 20px;
    border-radius: 26px;
}

.home13-contact-showcase h2 {
    font-size: clamp(24px, 2.9vw, 38px);
    line-height: 1.03;
}

.home13-contact-showcase p {
    font-size: 15px;
    line-height: 24px;
}

.home13-contact-benefits article {
    padding: 14px 16px;
}

.home13-contact-form-wrap {
    align-self: start;
}

.home13-form-head {
    gap: 14px;
    align-items: center;
}

.home13-form-head h2 {
    font-size: clamp(24px, 2.8vw, 36px);
    line-height: 1.03;
}

.home13-form-tags {
    max-width: 280px;
}

.home13-form-tags span {
    min-height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 13px;
}

.home13-demo-form-grid {
    gap: 12px;
}

.home13-demo-form-grid textarea {
    min-height: 132px;
}

.home13-contact-consent {
    padding-top: 0;
    background: rgba(47,91,255,0.04);
    border: 1px solid rgba(47,91,255,0.08);
    border-radius: 18px;
    padding: 12px 14px;
}

.home13-contact-consent label {
    align-items: flex-start;
    line-height: 1.5;
}

.home13-contact-consent input[type="checkbox"] {
    margin-top: 3px;
}

.home13-contact-actions {
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.public-footer {
    padding-top: 20px;
}

.cookie-consent-hidden { display: none !important; }

.cookie-consent {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    width: min(940px, calc(100vw - 28px));
    z-index: 1200;
}

.cookie-consent-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 24px;
    background: rgba(255,255,255,0.98);
    border: 1px solid rgba(217,225,234,0.98);
    box-shadow: 0 26px 70px rgba(15,23,42,0.18);
}

.cookie-consent-copy h3,
.cookie-preferences-head h3 {
    margin: 6px 0 0;
    font-size: 24px;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.cookie-consent-copy p {
    margin: 10px 0 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 23px;
    max-width: 620px;
}

.cookie-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.cookie-btn {
    min-height: 44px;
    min-width: 148px;
}

.cookie-consent-link {
    grid-column: 1 / -1;
    color: var(--text-secondary);
    font-size: 14px;
}

.cookie-consent-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cookie-preferences {
    position: fixed;
    inset: 0;
    z-index: 1300;
}

.cookie-preferences-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,0.34);
    backdrop-filter: blur(4px);
}

.cookie-preferences-card {
    position: relative;
    width: min(780px, calc(100vw - 28px));
    margin: 70px auto 0;
    padding: 22px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(217,225,234,0.98);
    box-shadow: 0 30px 80px rgba(15,23,42,0.22);
}

.cookie-preferences-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
}

.cookie-close {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--border-soft);
    background: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.cookie-preferences-grid {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.cookie-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid rgba(217,225,234,0.96);
}

.cookie-option strong {
    display: block;
    font-size: 16px;
}

.cookie-option p {
    margin: 6px 0 0;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.cookie-switch {
    position: relative;
    display: inline-flex;
    width: 58px;
    height: 34px;
}

.cookie-switch input { position: absolute; opacity: 0; pointer-events: none; }
.cookie-switch span {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #d9e1ea;
    transition: .2s ease;
}
.cookie-switch span::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(15,23,42,0.14);
    transition: .2s ease;
}
.cookie-switch input:checked + span {
    background: var(--brand);
}
.cookie-switch input:checked + span::after {
    transform: translateX(24px);
}
.cookie-switch.disabled { opacity: .65; }
.cookie-preferences-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}
.cookie-manage {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1190;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(47,91,255,0.12);
    background: rgba(255,255,255,0.96);
    box-shadow: 0 16px 38px rgba(15,23,42,0.12);
    color: var(--brand);
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 1120px) {
    .home13-contact-shell,
    .home13-form-head,
    .cookie-consent-card {
        grid-template-columns: 1fr;
    }

    .cookie-consent-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .home13-title { font-size: 34px; line-height: 1.03; }
    .home13-platform-intro h2,
    .home13-workspace-top h3,
    .home13-form-head h2,
    .home13-contact-showcase h2 { font-size: 28px; line-height: 1.05; }
    .home13-contact-shell,
    .home13-hero-grid { gap: 18px; }
    .home13-stage { min-height: auto; }
    .home13-stage-panel { position: relative; inset: auto; }
    .cookie-consent { bottom: 12px; width: min(100vw - 16px, 940px); }
    .cookie-preferences-card { margin-top: 18px; padding: 18px; }
    .cookie-option { grid-template-columns: 1fr; }
    .cookie-manage { right: 12px; bottom: 12px; }
}


/* V1.1.16 public homepage refinement */
.home13-title {
    font-size: clamp(50px, 5.4vw, 88px);
    line-height: 0.94;
    max-width: 860px;
}

.home13-platform-intro.centered {
    max-width: 980px;
}

.home13-platform-intro.centered h2 {
    max-width: 920px;
    font-size: clamp(30px, 3.7vw, 52px);
    line-height: 1.02;
}

.home13-platform-intro.centered p {
    max-width: 820px;
    font-size: 17px;
    line-height: 27px;
}

.home13-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
    gap: 18px;
    align-items: stretch;
}

.home13-overview-card {
    display: grid;
    gap: 14px;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 56px rgba(15,23,42,0.08);
}

.home13-overview-card.main {
    background: linear-gradient(135deg, #0f1f4a 0%, #2042a4 100%);
    color: #fff;
    border-color: rgba(255,255,255,0.08);
}

.home13-overview-kicker {
    font-size: 12px;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    color: var(--text-muted);
}

.home13-overview-card.main .home13-overview-kicker,
.home13-overview-card.main p,
.home13-overview-card.main li {
    color: rgba(255,255,255,0.86);
}

.home13-overview-card h3 {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.home13-overview-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home13-overview-card ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 12px;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 23px;
}

.home13-unify-grid.refined {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.home13-unify-grid.refined .home13-unify-card.compact {
    grid-column: span 4;
    min-height: 0;
    gap: 12px;
    padding: 22px 22px 20px;
    border-radius: 24px;
}

.home13-unify-grid.refined .home13-unify-card.compact strong {
    font-size: 22px;
    line-height: 1.06;
}

.home13-unify-grid.refined .home13-unify-card.compact p {
    font-size: 15px;
    line-height: 24px;
}

.home13-contact-showcase h2 {
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.04;
}

.home13-contact-form-wrap {
    padding: 22px;
}

.home13-form-head h2 {
    font-size: clamp(26px, 2.5vw, 34px);
    max-width: 720px;
}

.home13-demo-form-grid {
    gap: 12px;
}

.home13-demo-form-grid textarea {
    min-height: 138px;
}

.home13-contact-actions {
    padding-top: 4px;
}

.home13-contact-actions .button {
    min-height: 46px;
}

@media (max-width: 1180px) {
    .home13-overview-grid {
        grid-template-columns: 1fr;
    }
    .home13-unify-grid.refined .home13-unify-card.compact {
        grid-column: span 6;
    }
}

@media (max-width: 780px) {
    .home13-title {
        font-size: clamp(40px, 13vw, 64px);
    }
    .home13-unify-grid.refined .home13-unify-card.compact {
        grid-column: 1 / -1;
    }
}

/* ===== Home v1.1.17 ===== */
.home17-hero {
    position: relative;
    padding: 40px 0 24px;
    overflow: clip;
}

.home17-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 8% 10%, rgba(47,91,255,0.12), transparent 26%),
        radial-gradient(circle at 88% 16%, rgba(21,122,114,0.12), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.65) 0%, rgba(238,243,255,0) 100%);
    pointer-events: none;
}

.home17-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    gap: 28px;
    align-items: center;
}

.home17-copy {
    display: grid;
    gap: 16px;
    align-content: start;
}

.home17-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(47,91,255,0.16);
    background: rgba(255,255,255,0.92);
    color: var(--brand);
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home17-title {
    margin: 0;
    max-width: 660px;
    font-size: clamp(36px, 4.2vw, 58px);
    line-height: 1.03;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.home17-intro {
    margin: 0;
    max-width: 620px;
    color: var(--text-secondary);
    font-size: 18px;
    line-height: 30px;
}

.home17-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.home17-actions .button {
    min-height: 48px;
    padding: 0 20px;
}

.home17-proof-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.home17-proof-strip span,
.home17-value-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,0.08);
    background: rgba(255,255,255,0.94);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    box-shadow: 0 10px 28px rgba(15,23,42,0.05);
}

.home17-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.75fr);
    gap: 18px;
    align-items: stretch;
}

.home17-stage-card,
.home17-side-card,
.home17-value-card,
.home17-principle-card,
.home17-cta-card,
.home17-contact-copy,
.home17-contact-form-wrap {
    border-radius: 28px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 50px rgba(15,23,42,0.08);
}

.home17-stage-main {
    padding: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #eef3ff 100%);
}

.home17-stage-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.home17-stage-label,
.home17-side-kicker,
.home17-value-kicker {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-muted);
}

.home17-stage-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-size: 13px;
    font-weight: 700;
}

.home17-stage-main h2 {
    margin: 0 0 18px;
    font-size: 28px;
    line-height: 34px;
    letter-spacing: -0.03em;
}

.home17-stage-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home17-stage-col {
    display: grid;
    gap: 14px;
    padding: 16px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(217,225,234,0.96);
}

.home17-stage-col.accent {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%);
}

.home17-stage-col.support {
    background: linear-gradient(180deg, #ffffff 0%, #eefaf7 100%);
}

.home17-stage-col-title {
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-muted);
}

.home17-stage-col ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 24px;
}

.home17-side-grid {
    display: grid;
    gap: 18px;
}

.home17-side-card {
    padding: 20px;
    display: grid;
    gap: 10px;
}

.home17-side-card.soft {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.home17-side-card strong {
    font-size: 21px;
    line-height: 27px;
    letter-spacing: -0.02em;
}

.home17-side-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 24px;
}

.home17-value-section,
.home17-principles-section,
.home17-cta-section,
.home17-contact-section {
    padding-top: 20px;
}

.home17-section-head.centered {
    text-align: center;
    max-width: 920px;
    margin: 0 auto 22px;
}

.home17-section-head h2,
.home17-platform-intro h2,
.home17-contact-copy h2,
.home17-form-head h2,
.home17-cta-card h2 {
    margin: 10px 0 0;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.home17-section-head p,
.home17-contact-copy p,
.home17-cta-card p {
    margin: 14px 0 0;
    color: var(--text-secondary);
    font-size: 17px;
    line-height: 29px;
}

.home17-value-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.home17-value-card {
    grid-column: span 4;
    padding: 22px;
    display: grid;
    gap: 12px;
}

.home17-value-card.featured {
    grid-column: span 8;
    background: linear-gradient(135deg, #0f1b46 0%, #2f5bff 100%);
    border-color: rgba(255,255,255,0.08);
    color: #fff;
}

.home17-value-card.featured .home17-value-kicker,
.home17-value-card.featured p {
    color: rgba(255,255,255,0.82);
}

.home17-value-card h3 {
    margin: 0;
    font-size: 30px;
    line-height: 36px;
    letter-spacing: -0.03em;
}

.home17-value-card:not(.featured) h3 {
    font-size: 24px;
    line-height: 30px;
}

.home17-value-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home17-value-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.home17-value-card.featured .home17-value-tags span {
    border-color: rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.10);
    color: #fff;
    box-shadow: none;
}

.home17-principles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home17-principle-card {
    padding: 22px;
    display: grid;
    gap: 10px;
}

.home17-principle-number {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 800;
}

.home17-principle-card h3 {
    margin: 0;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -0.02em;
}

.home17-principle-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home17-cta-card {
    padding: 24px 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
}

.home17-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.home17-contact-shell {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
    gap: 20px;
    align-items: start;
}

.home17-contact-copy {
    padding: 26px;
    display: grid;
    gap: 16px;
}

.home17-contact-points {
    display: grid;
    gap: 12px;
}

.home17-contact-points article {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(217,225,234,0.96);
    background: rgba(246,248,251,0.9);
}

.home17-contact-points strong {
    font-size: 17px;
    line-height: 22px;
}

.home17-contact-points span {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.home17-contact-form-wrap {
    padding: 24px;
}

.home17-form-head {
    margin-bottom: 16px;
}

.home17-demo-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.home17-demo-form-grid textarea {
    min-height: 180px;
}

.home17-contact-consent label {
    font-size: 14px;
    line-height: 22px;
}

.home17-contact-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

@media (max-width: 1180px) {
    .home17-hero-grid,
    .home17-contact-shell,
    .home17-cta-card {
        grid-template-columns: 1fr;
    }

    .home17-stage {
        grid-template-columns: 1fr;
    }

    .home17-value-card.featured,
    .home17-value-card {
        grid-column: span 12;
    }

    .home17-principles-grid {
        grid-template-columns: 1fr;
    }

    .home17-cta-buttons {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .home17-stage-columns,
    .home17-demo-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .home17-hero {
        padding-top: 24px;
    }

    .home17-title {
        font-size: 32px;
        line-height: 1.06;
    }

    .home17-intro {
        font-size: 16px;
        line-height: 26px;
    }

    .home17-stage-main,
    .home17-side-card,
    .home17-value-card,
    .home17-principle-card,
    .home17-cta-card,
    .home17-contact-copy,
    .home17-contact-form-wrap {
        padding: 18px;
        border-radius: 22px;
    }

    .home17-stage-main h2,
    .home17-value-card h3,
    .home17-value-card:not(.featured) h3,
    .home17-principle-card h3 {
        font-size: 22px;
        line-height: 28px;
    }

    .home17-contact-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ===== Home v1.1.18 ===== */
.home18-hero {
    position: relative;
    padding: 34px 0 22px;
    overflow: clip;
}

.home18-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 8%, rgba(47,91,255,0.10), transparent 24%),
        radial-gradient(circle at 90% 16%, rgba(21,122,114,0.08), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(242,246,252,0.74) 100%);
    pointer-events: none;
}

.home18-hero-grid,
.home18-contact-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 28px;
    align-items: start;
}

.home18-copy,
.home18-contact-copy {
    display: grid;
    gap: 16px;
    align-content: start;
}

.home18-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(47,91,255,0.14);
    background: rgba(255,255,255,0.94);
    color: var(--brand);
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home18-title {
    margin: 0;
    max-width: 640px;
    font-size: clamp(28px, 3.2vw, 52px);
    line-height: 1.02;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.home18-intro {
    margin: 0;
    max-width: 610px;
    color: var(--text-secondary);
    font-size: 17px;
    line-height: 29px;
}

.home18-actions,
.home18-cta-buttons,
.home18-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.home18-actions .button,
.home18-cta-buttons .button,
.home18-contact-actions .button {
    min-height: 46px;
    padding: 0 18px;
}

.home18-proof-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.home18-proof-list span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,0.08);
    background: rgba(255,255,255,0.94);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    box-shadow: 0 10px 28px rgba(15,23,42,0.05);
}

.home18-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(240px, 0.82fr);
    gap: 18px;
    align-items: stretch;
}

.home18-stage-main,
.home18-side-card,
.home18-value-card,
.home18-principle-card,
.home18-cta-card,
.home18-contact-copy,
.home18-contact-form-wrap {
    border-radius: 28px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(217,225,234,0.96);
    box-shadow: 0 18px 50px rgba(15,23,42,0.08);
}

.home18-stage-main {
    padding: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f2f6ff 100%);
}

.home18-stage-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.home18-stage-label,
.home18-side-kicker,
.home18-value-kicker {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-muted);
}

.home18-stage-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-size: 13px;
    font-weight: 700;
}

.home18-stage-main h2 {
    margin: 0;
    font-size: 34px;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.home18-stage-main > p {
    margin: 12px 0 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home18-stage-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home18-stage-tile {
    display: grid;
    gap: 10px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(217,225,234,0.96);
    background: #ffffff;
}

.home18-stage-tile.accent {
    background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
}

.home18-stage-tile.support {
    background: linear-gradient(180deg, #ffffff 0%, #f4fbf9 100%);
}

.home18-stage-tile-kicker {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.home18-stage-tile strong {
    font-size: 22px;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.home18-stage-tile span {
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 24px;
}

.home18-side-grid {
    display: grid;
    gap: 18px;
}

.home18-side-card {
    padding: 20px;
    display: grid;
    gap: 10px;
}

.home18-side-card.emphasis {
    background: linear-gradient(135deg, #0f1b46 0%, #2f5bff 100%);
    border-color: rgba(255,255,255,0.08);
    color: #ffffff;
}

.home18-side-card.emphasis .home18-side-kicker,
.home18-side-card.emphasis p {
    color: rgba(255,255,255,0.82);
}

.home18-side-card strong {
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -0.03em;
}

.home18-side-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 24px;
}

.home18-value-section,
.home18-principles-section,
.home18-cta-section,
.home18-contact-section {
    padding-top: 18px;
}

.home18-section-head.centered {
    text-align: center;
    max-width: 920px;
    margin: 0 auto 20px;
}

.home18-section-head h2,
.home18-contact-copy h2,
.home18-form-head h2,
.home18-cta-card h2 {
    margin: 10px 0 0;
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.14;
    letter-spacing: -0.03em;
}

.home18-section-head p,
.home18-contact-copy p,
.home18-cta-card p {
    margin: 12px 0 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home18-value-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.home18-value-card {
    grid-column: span 4;
    padding: 22px;
    display: grid;
    gap: 12px;
}

.home18-value-card.featured {
    grid-column: span 8;
    background: linear-gradient(135deg, #0f1b46 0%, #2f5bff 100%);
    border-color: rgba(255,255,255,0.08);
    color: #fff;
}

.home18-value-card.featured .home18-value-kicker,
.home18-value-card.featured p {
    color: rgba(255,255,255,0.82);
}

.home18-value-card h3 {
    margin: 0;
    font-size: 28px;
    line-height: 34px;
    letter-spacing: -0.03em;
}

.home18-value-card:not(.featured) h3 {
    font-size: 23px;
    line-height: 30px;
}

.home18-value-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home18-principles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home18-principle-card {
    padding: 22px;
    display: grid;
    gap: 10px;
}

.home18-principle-number {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-weight: 800;
}

.home18-principle-card h3 {
    margin: 0;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -0.02em;
}

.home18-principle-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 26px;
}

.home18-cta-card {
    padding: 24px 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
}

.home18-contact-copy {
    padding: 26px;
}

.home18-contact-points {
    display: grid;
    gap: 12px;
}

.home18-contact-points article {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(217,225,234,0.96);
    background: rgba(246,248,251,0.9);
}

.home18-contact-points strong {
    font-size: 17px;
    line-height: 22px;
}

.home18-contact-points span {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.home18-contact-form-wrap {
    padding: 24px;
}

.home18-form-head {
    margin-bottom: 16px;
}

.home18-demo-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.home18-demo-form-grid textarea {
    min-height: 160px;
}

.home18-contact-consent label {
    font-size: 14px;
    line-height: 22px;
}

.public-footer-build {
    display: inline-flex;
    margin-top: 14px;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 16px;
}

@media (max-width: 1180px) {
    .home18-hero-grid,
    .home18-contact-shell,
    .home18-cta-card,
    .home18-stage {
        grid-template-columns: 1fr;
    }

    .home18-value-card.featured,
    .home18-value-card {
        grid-column: span 12;
    }

    .home18-principles-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .home18-stage-grid,
    .home18-demo-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .home18-hero {
        padding-top: 24px;
    }

    .home18-title {
        font-size: 34px;
        line-height: 1.05;
    }

    .home18-intro {
        font-size: 16px;
        line-height: 26px;
    }

    .home18-stage-main,
    .home18-side-card,
    .home18-value-card,
    .home18-principle-card,
    .home18-cta-card,
    .home18-contact-copy,
    .home18-contact-form-wrap {
        padding: 18px;
        border-radius: 22px;
    }

    .home18-stage-main h2,
    .home18-value-card h3,
    .home18-value-card:not(.featured) h3,
    .home18-principle-card h3 {
        font-size: 22px;
        line-height: 28px;
    }
}

/* V1.1.19 – accueil public refinements */
.home19-hero-grid {
    align-items: center;
    gap: 26px;
}

.home19-copy {
    gap: 18px;
}

.home19-title {
    max-width: 700px;
    font-size: clamp(24px, 2.9vw, 42px);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.home19-intro {
    max-width: 640px;
    font-size: 16px;
    line-height: 28px;
}

.home19-actions {
    margin-top: 2px;
}

.home19-microgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 720px;
}

.home19-microgrid article {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(217,225,234,0.96);
    background: rgba(255,255,255,0.92);
    box-shadow: 0 12px 28px rgba(15,23,42,0.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home19-microgrid article:hover {
    transform: translateY(-2px);
    border-color: rgba(47,91,255,0.20);
    box-shadow: 0 18px 36px rgba(15,23,42,0.07);
}

.home19-microgrid strong {
    font-size: 15px;
    line-height: 20px;
}

.home19-microgrid span {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.home19-stage-wrap {
    grid-template-columns: minmax(0, 1.05fr) minmax(250px, 0.95fr);
    gap: 18px;
    align-items: stretch;
}

.home19-stage-main {
    padding: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
}

.home19-stage-top {
    margin-bottom: 14px;
}

.home19-stage-main h2 {
    margin: 0;
    max-width: 700px;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

.home19-stage-main > p {
    margin: 12px 0 0;
    max-width: 690px;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 25px;
}

.home19-stage-list {
    margin-top: 18px;
    display: grid;
    gap: 12px;
}

.home19-stage-row {
    display: grid;
    gap: 8px;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(217,225,234,0.96);
    background: rgba(255,255,255,0.96);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home19-stage-row:hover {
    transform: translateY(-2px);
    border-color: rgba(47,91,255,0.16);
    box-shadow: 0 16px 32px rgba(15,23,42,0.06);
}

.home19-stage-row.accent {
    background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
}

.home19-stage-row.support {
    background: linear-gradient(180deg, #ffffff 0%, #f4fbf9 100%);
}

.home19-stage-row-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
}

.home19-stage-row-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,91,255,0.08);
    color: var(--brand);
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.home19-stage-row.support .home19-stage-row-tag {
    background: rgba(21,122,114,0.10);
    color: var(--accent-secondary);
}

.home19-stage-row strong {
    font-size: 20px;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.home19-stage-row p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 24px;
}

.home19-side-grid {
    gap: 16px;
}

.home19-side-card {
    min-height: 0;
}

.home19-value-section {
    padding-top: 26px;
}

.home19-section-head {
    max-width: 900px;
    margin-bottom: 18px;
}

.home19-value-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.home19-value-lead {
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(217,225,234,0.96);
    background: linear-gradient(135deg, #0f1b46 0%, #2f5bff 100%);
    color: #fff;
    box-shadow: 0 18px 50px rgba(15,23,42,0.08);
}

.home19-value-lead .home18-value-kicker,
.home19-value-lead p {
    color: rgba(255,255,255,0.82);
}

.home19-value-lead h3 {
    margin: 10px 0 0;
    font-size: clamp(24px, 2.1vw, 34px);
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.home19-value-lead p {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 27px;
}

.home19-value-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.home19-value-card {
    grid-column: auto;
    padding: 22px;
}

.home19-value-card h3 {
    font-size: 21px !important;
    line-height: 28px !important;
}

.home19-contact-shell {
    align-items: stretch;
}

.home19-contact-copy,
.home19-contact-form-wrap {
    min-height: 100%;
}

.home19-contact-points article {
    padding: 15px 16px;
    background: rgba(246,248,251,0.96);
}

.home19-form-head {
    margin-bottom: 14px;
}

.home19-demo-form-grid {
    align-items: start;
}

.home19-demo-form-grid textarea {
    min-height: 138px;
}

.home19-contact-consent-wrap {
    padding-top: 2px;
}

.home19-consent-card {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(217,225,234,0.96);
    background: rgba(246,248,251,0.96);
    font-size: 14px;
    line-height: 22px;
    color: var(--text-secondary);
}

.home19-consent-card input {
    margin: 2px 0 0;
    width: 18px;
    height: 18px;
    accent-color: var(--brand);
}

.home19-contact-actions {
    justify-content: space-between;
}

@media (max-width: 1180px) {
    .home19-value-layout,
    .home19-stage-wrap,
    .home19-contact-shell {
        grid-template-columns: 1fr;
    }

    .home19-value-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .home19-microgrid,
    .home19-value-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .home19-title {
        font-size: 34px;
        line-height: 1.03;
    }

    .home19-stage-main,
    .home19-value-lead,
    .home19-value-card,
    .home19-contact-copy,
    .home19-contact-form-wrap {
        padding: 18px;
        border-radius: 22px;
    }

    .home19-stage-row-head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .home19-stage-row-tag {
        width: fit-content;
    }

    .home19-contact-actions {
        justify-content: flex-start;
    }
}

/* V1.1.20 – accueil public reflow */
.home20-hero {
    padding: 76px 0 34px;
    background:
        radial-gradient(circle at top left, rgba(47,91,255,0.08), transparent 34%),
        radial-gradient(circle at top right, rgba(21,122,114,0.07), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, #f4f7fb 100%);
}

.home20-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 34px;
    align-items: center;
}

.home20-copy {
    display: grid;
    gap: 18px;
}

.home20-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(191,208,223,0.92);
    background: rgba(255,255,255,0.88);
    color: var(--brand);
    font-size: 13px;
    line-height: 18px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.home20-title {
    margin: 0;
    max-width: 720px;
    font-size: clamp(30px, 4.2vw, 56px);
    line-height: 1.01;
    letter-spacing: -0.05em;
}

.home20-intro {
    margin: 0;
    max-width: 660px;
    color: var(--text-secondary);
    font-size: 17px;
    line-height: 29px;
}

.home20-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.home20-keypoints {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 760px;
}

.home20-keypoints article {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(255,255,255,0.9);
    box-shadow: 0 14px 36px rgba(15,23,42,0.05);
}

.home20-keypoints strong {
    font-size: 16px;
    line-height: 22px;
}

.home20-keypoints span {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 23px;
}

.home20-stage {
    min-width: 0;
}

.home20-stage-shell {
    display: grid;
    gap: 18px;
    padding: 28px;
    border-radius: 34px;
    border: 1px solid rgba(191,208,223,0.92);
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(246,248,251,0.98) 100%);
    box-shadow: 0 22px 56px rgba(15,23,42,0.08);
}

.home20-stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.home20-stage-label,
.home20-stage-badge {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home20-stage-label {
    color: var(--text-secondary);
    background: rgba(255,255,255,0.88);
    border: 1px solid rgba(217,225,234,0.92);
}

.home20-stage-badge {
    color: var(--brand);
    background: rgba(47,91,255,0.08);
    border: 1px solid rgba(47,91,255,0.14);
}

.home20-stage-shell h2 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(22px, 2.3vw, 34px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.home20-stage-shell > p {
    margin: 0;
    max-width: 760px;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 28px;
}

.home20-stage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.home20-stage-card {
    display: grid;
    gap: 10px;
    min-height: 0;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(255,255,255,0.92);
}

.home20-stage-card.crm {
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(246,248,251,0.96) 100%);
}

.home20-stage-card.mail {
    background: linear-gradient(180deg, rgba(248,250,255,0.98) 0%, rgba(240,244,255,0.98) 100%);
}

.home20-stage-card.support {
    background: linear-gradient(180deg, rgba(248,252,250,0.98) 0%, rgba(238,247,244,0.98) 100%);
}

.home20-stage-card.dark {
    background: linear-gradient(135deg, #152654 0%, #2f5bff 100%);
    border-color: rgba(47,91,255,0.14);
    color: #fff;
}

.home20-stage-card.dark p,
.home20-stage-card.dark .home20-stage-card-kicker {
    color: rgba(255,255,255,0.84);
}

.home20-stage-card-kicker,
.home20-value-kicker {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 18px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.home20-stage-card strong {
    font-size: 22px;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.home20-stage-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 25px;
}

.home20-value-section {
    padding-top: 18px;
}

.home20-section-head {
    max-width: 980px;
    margin: 0 auto 20px;
}

.home20-section-head h2 {
    margin: 8px 0 0;
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.14;
    letter-spacing: -0.03em;
}

.home20-section-head p {
    margin: 12px auto 0;
    max-width: 860px;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 27px;
}

.home20-value-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    max-width: 1120px;
    margin: 0 auto;
}

.home20-value-card {
    transition: transform .18s ease, box-shadow .18s ease;
    display: grid;
    gap: 12px;
    min-height: 100%;
    padding: 24px;
    border-radius: 24px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(255,255,255,0.96);
    box-shadow: 0 14px 36px rgba(15,23,42,0.04);
    align-content: start;
}

.home20-value-card.featured {
    grid-column: auto;
    background: linear-gradient(135deg, #15306c 0%, #2f5bff 100%);
    color: #fff;
    box-shadow: 0 22px 52px rgba(15,23,42,0.10);
}

.home20-value-card.featured .home20-value-kicker,
.home20-value-card.featured p {
    color: rgba(255,255,255,0.84);
}

.home20-value-card h3 {
    margin: 0;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.home20-value-card:not(.featured) h3 {
    font-size: 18px;
}

.home20-value-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 25px;
}

.home20-value-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(15,23,42,0.07);
    transition: transform .18s ease, box-shadow .18s ease;
}

.home20-value-card.featured h3 {
    max-width: 24ch;
}

.home20-contact-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 24px;
    align-items: stretch;
}

.home20-contact-copy,
.home20-contact-form-wrap {
    min-height: 100%;
    padding: 30px;
}

.home20-contact-copy {
    display: grid;
    gap: 16px;
}

.home20-contact-copy h2,
.home20-form-head h2 {
    margin: 0;
    font-size: clamp(22px, 2.3vw, 34px);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.home20-contact-copy p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 28px;
}

.home20-contact-points {
    display: grid;
    gap: 14px;
}

.home20-contact-points article {
    display: grid;
    gap: 6px;
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(246,248,251,0.92);
}

.home20-contact-points strong {
    font-size: 15px;
    line-height: 21px;
}

.home20-contact-points span {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 23px;
}

.home20-form-head {
    margin-bottom: 16px;
}

.home20-demo-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
    align-items: start;
}

.home20-demo-form-grid textarea {
    min-height: 168px;
}

.home20-contact-consent-wrap {
    padding-top: 4px;
}

.home20-consent-card {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(246,248,251,0.96);
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 22px;
}

.home20-consent-card input {
    margin: 2px 0 0;
    width: 18px;
    height: 18px;
    accent-color: var(--brand);
}

.home20-contact-actions {
    justify-content: space-between;
}

@media (max-width: 1220px) {
    .home20-hero-grid,
    .home20-contact-shell {
        grid-template-columns: 1fr;
    }

    .home20-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home20-value-card.featured {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .home20-keypoints,
    .home20-stage-grid,
    .home20-value-grid,
    .home20-demo-form-grid {
        grid-template-columns: 1fr;
    }

    .home20-value-card.featured {
        grid-column: auto;
    }
}

@media (max-width: 720px) {
    .home20-hero {
        padding: 44px 0 22px;
    }

    .home20-title {
        font-size: 34px;
        line-height: 1.04;
    }

    .home20-stage-shell,
    .home20-contact-copy,
    .home20-contact-form-wrap,
    .home20-value-card {
        padding: 20px;
        border-radius: 22px;
    }

    .home20-stage-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .home20-contact-actions {
        justify-content: flex-start;
    }
}


/* V1.1.21 – public contact page refinement */
.contact21-hero {
    padding-top: 46px;
    padding-bottom: 10px;
}

.contact21-hero-inner {
    display: grid;
    justify-items: center;
    text-align: center;
}

.contact21-hero-inner .public-page-title {
    max-width: 920px;
    font-size: clamp(34px, 4.2vw, 58px);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.contact21-hero-inner .public-page-intro {
    max-width: 860px;
    font-size: 18px;
    line-height: 31px;
}

.contact21-section {
    padding-top: 10px;
}

.contact21-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: stretch;
}

.contact21-copy,
.contact21-form-card {
    min-height: 100%;
    padding: 30px;
}

.contact21-copy {
    display: grid;
    gap: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,248,251,0.96) 100%);
}

.contact21-copy h2,
.contact21-form-head h2 {
    margin: 0;
    font-size: clamp(30px, 3vw, 50px);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.contact21-copy p,
.contact21-form-head p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 28px;
}

.contact21-points {
    display: grid;
    gap: 14px;
}

.contact21-points article {
    display: grid;
    gap: 6px;
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(255,255,255,0.88);
}

.contact21-points strong {
    font-size: 16px;
    line-height: 22px;
}

.contact21-points span,
.contact21-note {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 24px;
}

.contact21-note {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(217,225,234,0.94);
    background: rgba(47,91,255,0.05);
}

.contact21-form-card {
    background: rgba(255,255,255,0.98);
}

.contact21-form-head {
    margin-bottom: 18px;
    display: grid;
    gap: 10px;
}

.contact21-form-grid {
    align-items: start;
}

.contact21-form-grid textarea {
    min-height: 180px;
}

.contact21-consent-wrap {
    padding-top: 6px;
}

.contact21-consent-card {
    grid-template-columns: 24px 1fr;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(246,248,251,0.98);
}

.contact21-consent-card input {
    margin-top: 1px;
}

.contact21-actions {
    justify-content: space-between;
}

@media (max-width: 1180px) {
    .contact21-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .contact21-copy,
    .contact21-form-card {
        padding: 22px;
    }

    .contact21-hero-inner .public-page-title,
    .contact21-copy h2,
    .contact21-form-head h2 {
        font-size: clamp(28px, 9vw, 40px);
    }
}

.field-help {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-muted, #64748b);
}

.selection-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.selection-card {
  display: grid;
  gap: 4px;
  border: 1px solid var(--border-color, #d9e1ea);
  border-radius: 12px;
  background: #fff;
  padding: 10px 12px;
  cursor: pointer;
}

.selection-card input {
  margin: 0 0 2px 0;
}

.selection-card-title {
  font-weight: 700;
  color: var(--text-color, #0f172a);
}

.selection-card-meta {
  font-size: 12px;
  color: var(--text-muted, #64748b);
}

.selection-card-empty {
  border: 1px dashed var(--border-color, #d9e1ea);
  border-radius: 12px;
  padding: 12px;
  color: var(--text-muted, #64748b);
  background: #fff;
}

.dashboard-architecture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.dashboard-architecture-card {
  border: 1px solid var(--border-color, #d9e1ea);
  border-radius: 16px;
  background: #fff;
  padding: 14px 16px;
}

.dashboard-architecture-card h2 {
  margin: 0 0 8px;
  font-size: 16px;
}

.dashboard-architecture-card p,
.dashboard-architecture-card li {
  font-size: 13px;
  line-height: 1.45;
}

.dashboard-architecture-card ul {
  margin: 8px 0 0 18px;
}

.role-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--border-color, #d9e1ea);
  background: var(--surface-subtle, #f8fafc);
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .dashboard-architecture-grid {
    grid-template-columns: 1fr;
  }
}

.workspace-switcher-form{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:12px;
}
.workspace-switcher-label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--text-muted,#64748b);
    font-weight:700;
}
.workspace-switcher-select,
.toolbar-select{
    width:100%;
    border:1px solid var(--line-color,#d9e1ea);
    border-radius:10px;
    background:#fff;
    color:var(--text-primary,#0f172a);
    padding:9px 10px;
    font:inherit;
}
.toolbar-context{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:9px 10px;
    border:1px solid var(--line-color,#d9e1ea);
    border-radius:10px;
    background:#fff;
    color:var(--text-secondary,#475569);
    white-space:nowrap;
}
.table-subtext{
    margin-top:4px;
    font-size:12px;
    color:var(--text-muted,#64748b);
}
.table-muted-action{
    display:inline-block;
    font-size:12px;
    color:var(--text-muted,#64748b);
    border:1px solid var(--line-color,#d9e1ea);
    border-radius:999px;
    padding:4px 8px;
    background:#fff;
}
