@import url('/assets/app.css');

.topbar {
    gap: 18px;
}

.topbar-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
}

.topbar-user {
    display: grid;
    gap: 2px;
    min-width: 220px;
}

.topbar-user strong {
    font-size: 0.95rem;
}

.topbar-user span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.82rem;
}

.button--small {
    padding: 10px 14px;
    min-height: 42px;
}

.topbar-badge {
    display: inline-flex;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: white;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
}

.chip--success {
    background: #ebfff3;
    color: #1f6d45;
}

.chip--muted {
    background: #f2f5fb;
    color: #596c91;
}

.workspace-search--readonly input {
    background: white;
}

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

.filter-actions {
    align-items: center;
}

.upload-input {
    background: white !important;
}

.import-note,
.helper-text {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.55;
}

.detail-actions {
    margin: 0 22px 22px;
}

.team-table__head--wide,
.team-table__row--wide {
    grid-template-columns: 1.05fr 1fr 0.9fr 0.85fr 1.2fr 0.75fr 0.85fr 0.75fr auto;
}

.entity-list--compact {
    margin-top: 0;
    padding-bottom: 8px;
}

.entity-row--stacked {
    grid-template-columns: minmax(0, 1fr) auto;
}

.inline-link {
    color: var(--accent-strong);
    font-weight: 700;
}

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

.toggle-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: #f8fafe;
}

.toggle-card input {
    margin-top: 4px;
}

.toggle-card strong,
.toggle-card span {
    display: block;
}

.toggle-card span {
    margin-top: 4px;
    color: var(--text-soft);
    line-height: 1.5;
}

.law-selector {
    display: grid;
    gap: 14px;
}

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

.panel-header--compact {
    margin-bottom: 0;
}

.panel-header {
    padding-top: 18px;
    padding-bottom: 14px;
}

.panel-header h2 {
    line-height: 1.2;
}

.helper-text--panel {
    padding: 0 22px;
}

.support-panel > .helper-text {
    padding: 0 22px;
}

.field-hint {
    display: block;
    color: var(--text-soft);
    font-size: 0.8rem;
    line-height: 1.45;
}

.detail-table--compact div {
    grid-template-columns: 210px minmax(0, 1fr);
}

.auth-body {
    background:
        radial-gradient(circle at top left, rgba(103, 213, 255, 0.22), transparent 26%),
        radial-gradient(circle at bottom right, rgba(106, 156, 255, 0.2), transparent 28%),
        var(--bg);
}

.auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 18px;
    gap: 18px;
}

.auth-card {
    width: min(100%, 760px);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(217, 226, 241, 0.9);
    border-radius: 28px;
    box-shadow: var(--shadow);
    padding: 30px;
    display: grid;
    gap: 22px;
}

.auth-brand {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.auth-form {
    padding: 0;
}

.auth-submit {
    min-width: 180px;
}

.landing-body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at top left, rgba(103, 213, 255, 0.18), transparent 24%),
        radial-gradient(circle at top right, rgba(106, 156, 255, 0.18), transparent 22%),
        linear-gradient(180deg, #eef3fb 0%, #f8fbff 100%);
}

.landing-alert-wrap {
    max-width: 1240px;
    margin: 24px auto 0;
    padding: 0 20px;
}

.landing-shell {
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px 20px 72px;
    display: grid;
    gap: 28px;
}

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

.brand-block--landing {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(217, 226, 241, 0.9);
    border-radius: 22px;
    padding: 14px 18px;
    box-shadow: var(--shadow);
}

.landing-topbar__actions {
    display: flex;
    gap: 12px;
}

.landing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.9fr);
    gap: 22px;
    align-items: start;
}

.landing-hero__copy,
.landing-hero__card {
    min-width: 0;
}

.landing-hero__copy {
    padding: 34px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(217, 226, 241, 0.9);
    box-shadow: var(--shadow);
    display: grid;
    gap: 22px;
}

.landing-hero__copy h1 {
    margin: 0;
    font-size: clamp(2.5rem, 5vw, 4.4rem);
    line-height: 0.98;
    color: var(--text-strong);
}

.landing-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

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

.landing-section {
    display: grid;
}

.landing-copy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.landing-copy-grid p {
    margin: 0;
    line-height: 1.7;
    color: var(--text-soft);
}

@media (max-width: 1360px) {
    .filter-grid,
    .toggle-grid,
    .landing-kpis,
    .law-selector__grid,
    .team-table__head--wide,
    .team-table__row--wide {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 1080px) {
    .topbar-meta {
        padding-top: 0;
    }

    .topbar-user {
        min-width: 0;
    }

    .filter-grid,
    .toggle-grid,
    .landing-kpis,
    .landing-copy-grid,
    .law-selector__grid,
    .team-table__head--wide,
    .team-table__row--wide,
    .auth-brand,
    .entity-row--stacked {
        grid-template-columns: 1fr;
    }

    .landing-topbar,
    .landing-hero {
        grid-template-columns: 1fr;
        display: grid;
    }

    .detail-actions {
        margin-inline: 14px;
    }
}

.page-shell {
    padding: 18px 20px 24px;
    gap: 18px;
}

.topbar {
    gap: 0;
    min-height: 56px;
}

.cabinet-head,
.tp-page-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    border: 1px solid rgba(217, 226, 241, 0.9);
    border-radius: 20px;
    background: #f7f9fd;
}

.cabinet-head h1,
.tp-page-title h1 {
    margin: 0;
    font-size: 1.9rem;
    line-height: 1.05;
}

.cabinet-head p,
.tp-page-title p {
    margin: 10px 0 0;
    max-width: 76ch;
    color: var(--text-soft);
    line-height: 1.55;
}

.cabinet-head__stats,
.tp-page-title__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 10px;
    min-width: min(100%, 420px);
}

.cabinet-head__stat,
.tp-page-title__stat {
    padding: 14px 16px;
    border-radius: 16px;
    background: white;
    border: 1px solid var(--line);
}

.cabinet-head__stat span,
.tp-page-title__stat span {
    display: block;
    color: var(--text-soft);
    font-size: 0.82rem;
}

.cabinet-head__stat strong,
.tp-page-title__stat strong {
    display: block;
    margin-top: 8px;
    font-size: 1.35rem;
}

.tp-workspace {
    display: grid;
    grid-template-columns: 410px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.tp-pane {
    border-radius: 18px;
    overflow: hidden;
}

.tp-pane__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid #edf2fb;
}

.tp-pane__header h2 {
    margin: 0;
    font-size: 1.1rem;
}

.tp-pane__header p {
    margin: 6px 0 0;
    color: var(--text-soft);
    line-height: 1.45;
}

.tp-pane__chips,
.tp-detail__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tp-filters {
    padding: 14px 18px 18px;
    border-bottom: 1px solid #edf2fb;
    display: grid;
    gap: 12px;
    background: #fbfcff;
}

.tp-search input {
    width: 100%;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: white;
    padding: 0 14px;
}

.tp-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tp-filter-actions {
    display: flex;
    gap: 10px;
}

.tp-sync-panel,
.tp-sync-log {
    margin: 0 18px 16px;
    padding: 14px 16px;
    border: 1px solid #edf2fb;
    border-radius: 14px;
    background: #fbfcff;
}

.tp-sync-panel__head,
.tp-sync-log__head,
.tp-sync-log__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.tp-sync-panel__head span,
.tp-sync-log__head span,
.tp-sync-log__row span {
    color: var(--text-soft);
    font-size: 0.84rem;
}

.tp-sync-panel__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-top: 12px;
}

.tp-sync-log {
    display: grid;
    gap: 10px;
}

.tp-sync-log__row {
    padding-top: 10px;
    border-top: 1px solid #edf2fb;
}

.tp-sync-log__row:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.tp-sync-log__row > div {
    display: grid;
    gap: 4px;
}

.tp-list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 18px;
    color: var(--text-soft);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #edf2fb;
}

.tender-list--tp {
    gap: 0;
    padding: 0;
}

.tp-tender {
    position: relative;
    display: block;
    padding: 0;
    border-bottom: 1px solid #edf2fb;
    background: white;
}

.tp-tender:hover,
.tp-tender.is-selected {
    background: #f8fbff;
}

.tp-tender__stripe {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--card-color, #4a88f5);
}

.tp-tender__body {
    padding: 14px 16px 14px 18px;
    display: grid;
    gap: 8px;
}

.tp-tender__topline,
.tp-tender__meta,
.tp-tender__bottomline,
.tp-detail__micro {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
}

.tp-tender__topline,
.tp-tender__meta,
.tp-detail__micro,
.tp-detail__header p {
    color: var(--text-soft);
    font-size: 0.83rem;
}

.tp-tender__law {
    font-weight: 700;
    color: #395b9f;
}

.tp-tender__body strong {
    font-size: 0.96rem;
    line-height: 1.35;
}

.tp-tender__bottomline {
    justify-content: space-between;
}

.tp-tender__bottomline strong {
    color: #243450;
    font-size: 0.92rem;
}

.tp-detail__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--line);
}

.tp-detail__header h2 {
    margin: 8px 0 0;
    font-size: 1.35rem;
    line-height: 1.25;
}

.tp-detail__header p {
    margin: 8px 0 0;
}

.tp-detail__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 22px;
    border-bottom: 1px solid var(--line);
}

.tp-detail__section {
    padding: 18px 22px 0;
}

.tp-detail__section-title {
    margin-bottom: 12px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #50698f;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.detail-table--wide div {
    grid-template-columns: 180px minmax(0, 1fr);
}

.tp-detail__note {
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #f9fbff;
    line-height: 1.6;
    color: var(--text);
}

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

.tp-detail__actions {
    display: grid;
    grid-template-columns: 1.3fr 0.8fr;
    gap: 14px;
    padding: 18px 22px 22px;
}

.support-panel--compact {
    padding: 18px;
    box-shadow: none;
}

.support-panel--danger {
    border-color: #f0d2d2;
    background: #fffaf9;
}

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

.form-stack--compact {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #edf2fb;
}

@media (max-width: 1360px) {
    .cabinet-head__stats,
    .tp-page-title__stats,
    .support-grid--three {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 1080px) {
    .cabinet-head,
    .tp-page-title,
    .tp-workspace,
    .tp-detail__summary,
    .tp-detail__actions,
    .cabinet-head__stats,
    .tp-page-title__stats,
    .tp-filter-grid,
    .support-grid--three {
        grid-template-columns: 1fr;
    }

    .tp-pane__header,
    .tp-detail__header,
    .tp-filter-actions,
    .tp-sync-panel__head,
    .tp-sync-log__head,
    .tp-sync-log__row {
        flex-direction: column;
        align-items: stretch;
    }

    .tp-sync-panel__body {
        grid-template-columns: 1fr;
    }
}

.tp-list-head--grid,
.tp-tender__bottomline--grid,
.tp-detail-strip,
.tp-team-table__head,
.tp-team-table__row {
    display: grid;
    gap: 12px;
}

.tp-list-head--grid {
    grid-template-columns: minmax(0, 1.8fr) 124px 120px 110px;
}

.tp-list-head--grid span:nth-child(n + 2) {
    text-align: right;
}

.tp-tender__bottomline--grid {
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
}

.tp-tender__bottomline--grid em {
    font-style: normal;
    color: #d94d42;
    font-weight: 700;
    text-align: right;
}

.tp-detail-strip {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding: 10px 22px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fd;
}

.tp-detail-strip span {
    display: block;
    color: var(--text-soft);
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tp-detail-strip strong {
    display: block;
    margin-top: 4px;
    font-size: 0.9rem;
}

.analytics-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.analytics-search-row input {
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: white;
    padding: 0 14px;
}

.analytics-tender-hit {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.analytics-tender-hit strong {
    display: block;
    font-size: 1rem;
}

.analytics-tender-hit p {
    margin: 8px 0 0;
    color: var(--text-soft);
}

.analytics-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.analytics-module {
    min-height: 220px;
    padding: 22px;
    border: 1px solid var(--line);
    background: white;
    display: grid;
    align-content: start;
    gap: 12px;
}

.analytics-module__badge {
    display: inline-flex;
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eef4ff;
    color: #335da8;
    font-weight: 700;
}

.analytics-module h2 {
    margin: 0;
    font-size: 1.2rem;
}

.analytics-module p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.55;
}

.tp-team-table {
    display: grid;
}

.tp-team-table__head,
.tp-team-table__row {
    grid-template-columns: 1.4fr 0.9fr 1fr 1.1fr 0.7fr 0.75fr auto;
    align-items: center;
}

.tp-team-table__head {
    padding: 12px 22px;
    color: var(--text-soft);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--line);
}

.tp-team-table__row {
    padding: 14px 22px;
    border-bottom: 1px solid #edf2fb;
}

.tp-team-user {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.tp-team-user strong,
.tp-team-user span {
    display: block;
}

.tp-team-user span {
    color: var(--text-soft);
    font-size: 0.84rem;
}

.tp-team-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e8ebff;
    color: #5750d1;
    font-weight: 800;
}

.integration-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 0 22px 18px;
}

.integration-overview__metric {
    display: grid;
    gap: 8px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f8fbff;
}

.integration-overview__metric span,
.integration-overview__metric small {
    color: var(--text-soft);
}

.integration-overview__metric strong {
    font-size: 1.5rem;
    line-height: 1;
}

.integration-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 0 22px 20px;
}

.integration-guide-card {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #f8fbff;
}

.integration-guide-card h3 {
    margin: 0;
    font-size: 1rem;
}

.integration-guide-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.55;
}

.check-list--plain {
    padding: 0;
}

.integration-category {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fbfcff;
}

.integration-category + .integration-category {
    margin-top: 16px;
}

.integration-category__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.integration-category__head h3 {
    margin: 0;
}

.integration-category__head p {
    margin: 6px 0 0;
    color: var(--text-soft);
}

.integration-list {
    display: grid;
    gap: 12px;
}

.integration-card {
    border: 1px solid var(--line);
    background: white;
}

.integration-card__summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
}

.integration-card__summary::-webkit-details-marker {
    display: none;
}

.integration-card__title strong,
.integration-card__title span {
    display: block;
}

.integration-card__title span {
    margin-top: 4px;
    color: var(--text-soft);
    font-size: 0.84rem;
    line-height: 1.55;
}

.integration-card__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.integration-card__body {
    display: grid;
    gap: 16px;
    padding: 0 18px 18px;
    border-top: 1px solid #edf2fb;
}

.integration-passport {
    display: grid;
    gap: 14px;
    padding-top: 14px;
}

.integration-passport__meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.integration-passport__meta div {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f8fbff;
}

.integration-passport__meta span {
    color: var(--text-soft);
    font-size: 0.82rem;
}

.integration-passport__meta strong {
    line-height: 1.35;
}

.integration-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.integration-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.integration-callout {
    display: grid;
    gap: 8px;
    padding: 16px 18px;
    border-radius: 16px;
    background: #f5f8ff;
    border: 1px solid #dce6fb;
}

.integration-callout strong,
.integration-callout p {
    margin: 0;
}

.integration-callout p {
    color: var(--text-soft);
    line-height: 1.55;
}

.integration-callout--muted {
    background: #fbfcff;
    border-color: #e3eaf8;
}

.integration-toggle-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 14px;
}

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

.integration-form-grid--legacy-hidden {
    display: none;
}

.integration-required {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #dce6fb;
    border-radius: 18px;
    background: linear-gradient(180deg, #fbfdff 0%, #f6f9ff 100%);
}

.integration-required__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.integration-required__head h4,
.integration-required__head p {
    margin: 0;
}

.integration-required__head p {
    margin-top: 5px;
    color: var(--text-soft);
    line-height: 1.45;
}

.integration-form-grid--runtime,
.integration-form-grid--credentials,
.integration-form-grid--limits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.integration-mode-note {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid #d8e3f7;
    border-radius: 16px;
    background: white;
    color: var(--text);
}

.integration-mode-note strong {
    color: var(--text);
}

.integration-mode-note span {
    color: var(--text-soft);
    line-height: 1.55;
}

.integration-mode-note--success {
    border-color: #c9eadb;
    background: #f3fff8;
}

.integration-technical-profile {
    border: 1px dashed #c9d7ef;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
}

.integration-technical-profile summary {
    cursor: pointer;
    padding: 13px 16px;
    color: var(--blue);
    font-weight: 800;
}

.integration-technical-profile .integration-form-grid {
    padding: 0 16px 16px;
}

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

.tp-platform-card {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fbfcff;
    border-radius: 18px;
}

.tp-platform-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.company-empty {
    padding: 64px 22px;
    border: 1px solid var(--line);
    background: white;
    text-align: center;
}

.company-empty__icon {
    width: 120px;
    height: 120px;
    margin: 0 auto 18px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #eef4ff;
    color: #325aa3;
    font-size: 1.4rem;
    font-weight: 800;
}

.company-empty h2 {
    margin: 0;
}

.company-empty p {
    max-width: 54ch;
    margin: 14px auto 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.company-empty__form {
    display: inline-grid;
    grid-template-columns: minmax(260px, 360px) auto;
    gap: 12px;
    margin-top: 24px;
}

.company-empty__form input {
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 0 14px;
}

.calendar-shell {
    display: grid;
    gap: 16px;
}

.calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.calendar-toolbar__nav {
    display: flex;
    align-items: center;
    gap: 12px;
}

.calendar-grid {
    display: grid;
    grid-template-columns: 72px repeat(7, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--line);
    background: white;
}

.calendar-grid__hours,
.calendar-day {
    display: grid;
    grid-template-rows: 54px repeat(24, minmax(42px, 1fr));
}

.calendar-grid__head,
.calendar-day__head {
    padding: 12px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fd;
}

.calendar-grid__hour {
    padding: 8px 10px;
    border-bottom: 1px solid #edf2fb;
    color: var(--text-soft);
    font-size: 0.82rem;
}

.calendar-day {
    border-left: 1px solid var(--line);
}

.calendar-day.is-today .calendar-day__head {
    background: #eef4ff;
}

.calendar-day__head strong,
.calendar-day__head span {
    display: block;
}

.calendar-day__head span {
    margin-top: 4px;
    color: var(--text-soft);
}

.calendar-day__body {
    position: relative;
    display: grid;
    grid-template-rows: repeat(24, minmax(42px, 1fr));
}

.calendar-day__slot {
    border-bottom: 1px solid #edf2fb;
}

.calendar-event {
    position: absolute;
    left: 8px;
    right: 8px;
    top: calc((var(--event-row) - 1) * 42px + 6px);
    min-height: 56px;
    padding: 8px 10px;
    border-left: 4px solid var(--event-color, #4a88f5);
    background: #fffef2;
    box-shadow: 0 6px 14px rgba(32, 44, 76, 0.08);
}

.calendar-event span,
.calendar-event strong,
.calendar-event em {
    display: block;
}

.calendar-event span,
.calendar-event em {
    font-size: 0.78rem;
}

.calendar-event em {
    margin-top: 6px;
    font-style: normal;
    color: var(--text-soft);
}

.help-contact-grid,
.faq-grid {
    display: grid;
    gap: 16px;
}

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

.help-contact-card,
.faq-card {
    padding: 24px;
    border: 1px solid var(--line);
    background: white;
}

.help-contact-card h2,
.faq-card h3 {
    margin: 0;
}

.help-contact-card p,
.faq-card p {
    margin: 12px 0 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.help-contact-card .button {
    margin-top: 16px;
}

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

@media (max-width: 1360px) {
    .analytics-module-grid,
    .tp-platform-grid,
    .integration-overview,
    .integration-passport__meta,
    .integration-form-grid,
    .faq-grid {
        grid-template-columns: 1fr 1fr;
    }

    .tp-detail-strip,
    .tp-team-table__head,
    .tp-team-table__row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    .tp-list-head--grid,
    .tp-tender__bottomline--grid,
    .tp-detail-strip,
    .analytics-search-row,
    .analytics-module-grid,
    .tp-platform-grid,
    .company-empty__form,
    .help-contact-grid,
    .faq-grid,
    .integration-overview,
    .integration-guide-grid,
    .integration-toggle-row,
    .integration-passport__meta,
    .integration-form-grid,
    .tp-team-table__head,
    .tp-team-table__row {
        grid-template-columns: 1fr;
    }

    .calendar-toolbar,
    .integration-category__head,
    .integration-card__summary,
    .integration-toolbar,
    .analytics-tender-hit {
        flex-direction: column;
        align-items: stretch;
    }

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

    .calendar-grid__hours {
        display: none;
    }

    .calendar-day {
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .calendar-event {
        position: static;
        margin: 6px 8px;
    }
}

/* Tenderplan-like flattening */

:root {
    --bg: #eef3fb;
    --surface: #ffffff;
    --surface-muted: #f6f8fd;
    --sidebar: #2a4275;
    --sidebar-strong: #223867;
    --line: #d6e0ee;
    --text: #243552;
    --text-soft: #6c7d99;
    --accent: #3f84ef;
    --accent-strong: #356fd1;
    --radius: 12px;
    --shadow: none;
}

html,
body {
    background: var(--bg);
    color: var(--text);
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}

.app-shell {
    grid-template-columns: 216px 1fr;
}

.sidebar {
    gap: 0;
    padding: 0;
    background: linear-gradient(180deg, var(--sidebar) 0%, var(--sidebar-strong) 100%);
    border-right: 1px solid rgba(20, 31, 58, 0.28);
}

.brand-block,
.sidebar-alert {
    padding-inline: 14px;
}

.brand-block {
    min-height: 74px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 0.95rem;
}

.brand-name {
    font-size: 1.05rem;
    line-height: 1.05;
}

.brand-caption {
    max-width: 120px;
    font-size: 0.74rem;
    line-height: 1.2;
}

.sidebar-alert {
    min-height: 48px;
    padding-block: 12px;
    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.9rem;
    font-weight: 600;
}

.status-dot {
    width: 9px;
    height: 9px;
    box-shadow: 0 0 0 4px rgba(120, 231, 163, 0.14);
}

.sidebar-section,
.sidebar-nav {
    padding-inline: 0;
}

.sidebar-section {
    padding-top: 14px;
}

.sidebar-title {
    margin: 0;
    padding: 0 14px 8px;
    font-size: 0.95rem;
    line-height: 1.2;
}

.sidebar-link,
.sidebar-label,
.sidebar-nav-link {
    padding: 8px 14px;
    border-radius: 0;
    font-size: 0.96rem;
    line-height: 1.25;
}

.sidebar-link strong,
.sidebar-label strong {
    font-size: 0.95rem;
}

.sidebar-link--action {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
}

.sidebar-link.is-active,
.sidebar-nav-link.is-current {
    background: rgba(255, 255, 255, 0.08);
}

.sidebar-nav {
    gap: 2px;
    padding-top: 12px;
}

.main-shell {
    background: #edf2f8;
}

.topbar {
    min-height: 68px;
    flex-direction: row;
    background: #30487c;
    border-bottom: 1px solid rgba(31, 49, 87, 0.25);
}

.topbar-nav {
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, auto);
    overflow-x: auto;
}

.topbar-link {
    min-height: 68px;
    padding: 14px 18px;
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.topbar-link.is-current {
    background: rgba(255, 255, 255, 0.98);
    color: #30497d;
    box-shadow: inset 0 0 0 1px #c7d5e8;
}

.topbar-meta {
    gap: 12px;
    padding: 8px 14px;
}

.topbar-company {
    min-width: 0;
    padding: 0;
    place-items: center end;
    font-size: 0.94rem;
}

.topbar-user {
    min-width: 190px;
    gap: 1px;
}

.topbar-user strong {
    font-size: 0.95rem;
}

.topbar-user span {
    font-size: 0.8rem;
}

.topbar-badge {
    padding: 3px 10px;
    font-size: 0.7rem;
}

.page-shell {
    gap: 14px;
    padding: 14px 18px 18px;
}

.page-alert {
    padding: 11px 14px;
    border-radius: 10px;
}

.pane,
.support-panel,
.catalog-panel,
.page-header,
.team-panel,
.hero-strip {
    border-radius: 14px;
    box-shadow: none;
}

.cabinet-head {
    display: none;
}

.tp-page-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 396px;
    align-items: stretch;
    gap: 18px;
    padding: 18px 20px;
    border-radius: 14px;
    background: #f6f9fe;
}

.tp-page-title h1 {
    font-size: 1.2rem;
    line-height: 1.15;
}

.tp-page-title p {
    margin-top: 8px;
    max-width: 58ch;
    color: #7586a1;
    font-size: 0.92rem;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tp-page-title__stats {
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tp-page-title__stat {
    padding: 14px 16px;
    border-radius: 14px;
}

.tp-page-title__stat span {
    font-size: 0.8rem;
}

.tp-page-title__stat strong {
    margin-top: 8px;
    font-size: 1.15rem;
}

.panel-header,
.pane-toolbar,
.detail-heading,
.catalog-toolbar,
.page-header {
    padding-top: 14px;
    padding-bottom: 12px;
}

.panel-header {
    padding-inline: 18px;
    border-bottom: 1px solid #e7edf7;
}

.panel-header h2 {
    font-size: 1rem;
    line-height: 1.2;
}

.support-panel > .helper-text,
.helper-text--panel,
.check-list,
.signal-list,
.entity-list,
.form-stack {
    padding-inline: 18px;
}

.form-stack {
    padding-top: 14px;
    padding-bottom: 18px;
    gap: 12px;
}

.field {
    gap: 7px;
}

.field span {
    font-size: 0.84rem;
    font-weight: 600;
}

.field input,
.field select,
.field textarea,
.tp-search input,
.analytics-search-row input,
.company-empty__form input {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #ffffff;
}

.field textarea {
    min-height: 100px;
}

.button {
    border-radius: 10px;
    padding: 10px 14px;
}

.button--ghost {
    background: #fff;
}

.chip {
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.77rem;
}

.tp-workspace {
    grid-template-columns: 410px minmax(0, 1fr);
    gap: 14px;
}

.tp-pane {
    border-radius: 14px;
}

.tp-pane__header {
    padding: 12px 14px 10px;
}

.tp-pane__header h2 {
    font-size: 1rem;
}

.tp-pane__header p {
    margin-top: 4px;
    font-size: 0.82rem;
}

.tp-workspace .tp-pane__chips {
    display: none;
}

.tp-workspace .tp-pane__header p {
    display: none;
}

.tp-filters {
    gap: 8px;
    padding: 10px 14px 12px;
    background: #fbfcff;
}

.tp-filter-grid {
    gap: 8px;
}

.tp-filter-actions {
    gap: 8px;
}

.tp-sync-panel,
.tp-sync-log {
    margin: 0 14px 12px;
    padding: 10px 12px;
    border-radius: 10px;
}

.tp-sync-panel__head strong,
.tp-sync-log__head strong {
    font-size: 0.9rem;
}

.tp-list-head {
    padding: 8px 14px;
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    background: #f7f9fd;
}

.tp-list-head--grid span:first-child {
    opacity: 0;
}

.tp-list-head--grid {
    grid-template-columns: minmax(0, 1.6fr) 112px 104px 96px;
}

.tp-tender {
    border-bottom: 1px solid #e7edf7;
}

.tp-tender__stripe {
    width: 3px;
}

.tp-tender__body {
    padding: 12px 14px 12px 16px;
    gap: 6px;
}

.tp-tender__topline,
.tp-tender__meta,
.tp-tender__bottomline,
.tp-detail__micro {
    gap: 6px 10px;
}

.tp-tender__topline,
.tp-tender__meta,
.tp-tender__bottomline {
    font-size: 0.8rem;
}

.tp-tender__body strong {
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.35;
}

.tp-tender__bottomline--grid {
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.tp-tender__bottomline strong {
    font-size: 0.86rem;
}

.tp-tender__bottomline--grid em {
    font-size: 0.8rem;
}

.tp-detail-strip {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    padding: 8px 16px;
    background: #ffffff;
}

.tp-detail-strip span {
    font-size: 0.7rem;
}

.tp-detail-strip strong {
    margin-top: 3px;
    font-size: 0.84rem;
    line-height: 1.35;
}

.tp-detail__micro,
.tp-detail__chips {
    display: none;
}

.tp-detail__header {
    padding: 10px 16px 8px;
}

.tp-detail__header h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.tp-detail__header p {
    margin-top: 6px;
    font-size: 0.82rem;
    color: var(--text-soft);
}

.tp-detail__summary {
    padding: 0 16px;
}

.summary-block {
    padding: 12px 0;
}

.summary-block span {
    font-size: 0.82rem;
}

.summary-block strong {
    margin-top: 6px;
    font-size: 1.05rem;
}

.summary-block + .summary-block {
    padding-left: 16px;
}

.tp-detail__section {
    padding: 0 16px;
}

.tp-detail__section-title {
    margin: 0 -16px 0;
    padding: 9px 16px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #eef2f8;
    color: #5a7398;
    font-size: 0.84rem;
    letter-spacing: 0;
    text-transform: none;
}

.detail-table--wide div {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
}

.detail-table dt,
.detail-table dd {
    font-size: 0.9rem;
    line-height: 1.4;
}

.tp-detail__note {
    padding: 12px 0 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    line-height: 1.55;
}

.document-list--compact {
    gap: 0;
    padding-bottom: 10px;
}

.document-list--compact li {
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid #edf2fb;
    border-radius: 0;
    background: transparent;
}

.tp-detail__actions {
    grid-template-columns: 1.2fr 0.8fr;
    gap: 12px;
    padding: 12px 16px 16px;
}

.support-panel--compact {
    padding-bottom: 12px;
}

.support-grid {
    gap: 14px;
}

.support-grid--three {
    align-items: start;
}

.check-list li,
.signal-item,
.mini-table__row,
.coverage-row {
    padding: 12px 14px;
    border-radius: 10px;
}

.entity-list {
    margin-top: 12px;
    gap: 8px;
}

.entity-row {
    padding: 10px 12px;
    border-radius: 10px;
}

.tp-team-table__head,
.tp-team-table__row {
    grid-template-columns: 1.55fr 0.95fr 1.15fr 1.2fr 0.85fr 0.85fr 112px;
    gap: 12px;
}

.tp-team-table__head {
    padding: 10px 18px;
    background: #fff;
    color: #7c8ca6;
    font-size: 0.72rem;
}

.tp-team-table__row {
    padding: 12px 18px;
    min-height: 78px;
}

.tp-team-table__row > * {
    min-width: 0;
    line-height: 1.35;
}

.tp-team-user {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
}

.tp-team-avatar {
    width: 42px;
    height: 42px;
    font-size: 1rem;
}

.integration-overview,
.integration-guide-grid {
    padding-inline: 18px;
}

.integration-overview__metric,
.integration-guide-card,
.integration-category,
.integration-card,
.tp-platform-card {
    border-radius: 10px;
}

.integration-category {
    padding: 14px;
}

.integration-card__summary {
    padding: 12px 14px;
}

.integration-card__body {
    padding: 0 14px 14px;
}

.integration-passport__meta div {
    padding: 12px 14px;
    border-radius: 10px;
}

.tp-platform-grid {
    gap: 12px;
}

.tp-platform-card {
    padding: 14px;
    background: #fbfcff;
}

.company-empty {
    padding: 56px 18px;
}

.company-empty__icon {
    width: 96px;
    height: 96px;
}

.calendar-toolbar,
.integration-category__head,
.integration-card__summary,
.integration-toolbar,
.analytics-tender-hit,
.tp-sync-panel__head,
.tp-sync-log__head,
.tp-sync-log__row {
    align-items: flex-start;
}

@media (max-width: 1360px) {
    .tp-page-title {
        grid-template-columns: 1fr;
    }

    .tp-detail-strip,
    .tp-team-table__head,
    .tp-team-table__row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    .app-shell {
        grid-template-columns: 1fr;
    }

    .page-shell,
    .topbar-meta {
        padding-inline: 12px;
    }

    .tp-workspace,
    .tp-detail__summary,
    .tp-detail__actions,
    .tp-page-title__stats,
    .tp-filter-grid,
    .tp-list-head--grid,
    .tp-tender__bottomline--grid,
    .tp-detail-strip,
    .tp-team-table__head,
    .tp-team-table__row {
        grid-template-columns: 1fr;
    }

    .topbar-link {
        min-height: 56px;
    }
}

.settings-tabs {
    display: flex;
    gap: 10px;
    margin: 0 0 16px;
    padding: 0 2px;
}

.settings-tab {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #d7dfef;
    border-radius: 12px;
    background: #f4f7fc;
    color: #4e6488;
    font-weight: 600;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.settings-tab:hover {
    background: #eef3fb;
    border-color: #c8d3ea;
}

.settings-tab.is-active {
    background: #fff;
    border-color: #bac9e7;
    color: #23385e;
    box-shadow: 0 6px 18px rgba(28, 47, 86, 0.08);
}

.settings-tab-scope--general .settings-platform-only,
.settings-tab-scope--platforms .settings-general-only {
    display: none !important;
}

.settings-key-stack {
    display: grid;
    gap: 14px;
}

.settings-key-card {
    border: 1px solid #e3eaf6;
    background: #fbfcff;
}

.settings-inline-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.form-actions--split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.choice-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.choice-grid--laws {
    min-height: 54px;
    align-items: center;
    padding: 10px;
    border: 1px solid #d4deef;
    border-radius: 12px;
    background: #fff;
}

.choice-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid #d7e1f2;
    border-radius: 999px;
    background: #f4f7fc;
    color: #304365;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
}

.choice-pill input {
    width: 14px;
    height: 14px;
    margin: 0;
    accent-color: #4385e9;
}

.choice-pill:has(input:checked) {
    border-color: #a9c5f8;
    background: #eaf2ff;
    color: #2456a5;
}

/* Public client landing. Kept separate from cabinet styles to avoid leaking marketing layout into the workspace. */
.landing-body {
    min-height: 100vh;
    margin: 0;
    background:
        linear-gradient(90deg, rgba(52, 76, 127, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(52, 76, 127, 0.045) 1px, transparent 1px),
        #eef3f9;
    background-size: 48px 48px;
}

.landing-page {
    width: min(1420px, calc(100% - 36px));
    margin: 0 auto;
    padding: 18px 0 56px;
    color: #20304d;
}

.landing-nav {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(160px, 1fr);
    align-items: stretch;
    min-height: 68px;
    border: 1px solid #cbd7eb;
    background: #354b7d;
}

.landing-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    color: #fff;
    text-decoration: none;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.landing-brand__mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(150deg, #4d86ff, #60d59d);
    font-weight: 800;
}

.landing-brand strong,
.landing-brand small {
    display: block;
}

.landing-brand strong {
    font-size: 1.1rem;
    line-height: 1.1;
}

.landing-brand small {
    margin-top: 3px;
    color: #c9d6ee;
    font-size: 0.78rem;
}

.landing-nav__links {
    display: flex;
    align-items: stretch;
}

.landing-nav__links a {
    display: grid;
    place-items: center;
    min-width: 126px;
    padding: 0 18px;
    color: #e6edf9;
    font-weight: 700;
    text-decoration: none;
    border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.landing-nav__links a:hover,
.landing-nav__links a:focus-visible {
    background: rgba(255, 255, 255, 0.1);
}

.landing-nav__login {
    justify-self: end;
    align-self: center;
    margin-right: 14px;
}

.landing-hero {
    display: grid;
    grid-template-columns: minmax(420px, 0.82fr) minmax(640px, 1.18fr);
    gap: 18px;
    align-items: stretch;
    margin-top: 18px;
}

.landing-hero__content {
    min-width: 0;
    padding: 34px;
    border: 1px solid #d6dfed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(35, 52, 86, 0.08);
}

.landing-eyebrow {
    margin: 0 0 12px;
    color: #4772b8;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.landing-hero__content h1,
.landing-section__head h2,
.landing-cta h2 {
    margin: 0;
    color: #213150;
    letter-spacing: 0;
}

.landing-hero__content h1 {
    max-width: 780px;
    font-size: clamp(2.25rem, 4.5vw, 4.35rem);
    line-height: 0.98;
}

.landing-lead {
    max-width: 720px;
    margin: 22px 0 0;
    color: #5f708e;
    font-size: 1.08rem;
    line-height: 1.65;
}

.landing-actions,
.landing-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
}

.landing-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid #dbe4f2;
    border-radius: 8px;
    background: #dbe4f2;
}

.landing-stats div {
    min-width: 0;
    padding: 16px;
    background: #f7f9fd;
}

.landing-stats strong,
.landing-stats span {
    display: block;
}

.landing-stats strong {
    color: #213150;
    font-size: 1.55rem;
}

.landing-stats span {
    margin-top: 4px;
    color: #6c7d99;
    font-size: 0.86rem;
    line-height: 1.35;
}

.landing-workbench {
    display: grid;
    grid-template-columns: 224px minmax(0, 1fr);
    min-height: 560px;
    overflow: hidden;
    border: 1px solid #cbd7eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(35, 52, 86, 0.1);
}

.workbench-sidebar {
    min-width: 0;
    padding: 14px 0;
    background: #233966;
    color: #eaf0fb;
}

.workbench-logo,
.workbench-notice,
.workbench-sidebar h3,
.workbench-sidebar li {
    padding-inline: 16px;
}

.workbench-logo {
    margin-bottom: 14px;
    font-size: 1.15rem;
    font-weight: 800;
}

.workbench-notice {
    padding-block: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #d6e0f2;
    font-size: 0.82rem;
}

.workbench-sidebar h3 {
    margin: 18px 0 8px;
    color: #fff;
    font-size: 0.88rem;
}

.workbench-sidebar ul {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.workbench-sidebar li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 32px;
    color: #dbe6f8;
    font-size: 0.82rem;
}

.workbench-sidebar li span,
.landing-platform-list span,
.landing-platform-list small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workbench-tags li {
    grid-template-columns: 12px minmax(0, 1fr) auto;
}

.dot {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

.dot--green { background: #37a56b; }
.dot--blue { background: #4385e9; }
.dot--yellow { background: #f0c74b; }
.dot--red { background: #d85a58; }

.workbench-main {
    min-width: 0;
    background: #eef3f9;
}

.workbench-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 58px;
    color: #fff;
    background: #354b7d;
}

.workbench-tabs span {
    display: grid;
    place-items: center;
    padding: 0 14px;
    font-weight: 800;
    border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.workbench-tabs .is-active {
    color: #253656;
    background: #fff;
}

.workbench-body {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    min-height: 502px;
}

.workbench-list {
    min-width: 0;
    border-right: 1px solid #d2ddeb;
    background: #fff;
}

.workbench-search {
    margin: 10px;
    padding: 10px 14px;
    color: #8391a8;
    border: 1px solid #cbd7eb;
    border-radius: 20px;
}

.workbench-list-head {
    display: grid;
    grid-template-columns: 1fr 0.8fr 0.42fr;
    padding: 8px 14px;
    color: #74839b;
    font-size: 0.72rem;
    text-transform: uppercase;
    border-top: 1px solid #e3e9f3;
    border-bottom: 1px solid #e3e9f3;
}

.workbench-list article {
    padding: 14px 16px;
    border-bottom: 1px solid #e3e9f3;
    border-left: 4px solid transparent;
}

.workbench-list article.is-selected {
    background: #fff4bd;
    border-left-color: #f0c74b;
}

.workbench-list strong,
.workbench-list small {
    display: block;
}

.workbench-list strong {
    color: #213150;
    line-height: 1.35;
}

.workbench-list small {
    margin-top: 8px;
    color: #65758f;
}

.workbench-detail {
    min-width: 0;
    background: #f7f9fd;
}

.workbench-process {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: #dbe4f2;
    border-bottom: 1px solid #dbe4f2;
}

.workbench-process span {
    min-width: 0;
    padding: 11px 12px;
    overflow: hidden;
    color: #526481;
    background: #eef3f9;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workbench-price {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: #dbe4f2;
}

.workbench-price div {
    min-width: 0;
    padding: 18px;
    background: #fff;
}

.workbench-price small,
.workbench-price strong {
    display: block;
}

.workbench-price small {
    color: #667894;
}

.workbench-price strong {
    margin-top: 6px;
    color: #17243d;
    font-size: 1.2rem;
}

.workbench-detail section {
    margin: 14px;
    border: 1px solid #dbe4f2;
    background: #fff;
}

.workbench-detail h3 {
    margin: 0;
    padding: 10px 14px;
    color: #526481;
    background: #e1e8f3;
    font-size: 0.9rem;
}

.workbench-detail p {
    margin: 0;
    padding: 10px 14px;
    color: #40516d;
    border-top: 1px solid #edf1f7;
}

.landing-section {
    margin-top: 18px;
    padding: 30px;
    border: 1px solid #d6dfed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(35, 52, 86, 0.06);
}

.landing-section--muted {
    background: #f7f9fd;
}

.landing-section__head {
    max-width: 860px;
}

.landing-section__head h2,
.landing-cta h2 {
    font-size: clamp(1.85rem, 3vw, 3rem);
    line-height: 1.05;
}

.landing-section__head p:not(.landing-eyebrow),
.landing-cta p {
    margin: 14px 0 0;
    color: #61728e;
    font-size: 1rem;
    line-height: 1.65;
}

.landing-feature-grid,
.landing-analytics-grid,
.landing-process {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.landing-feature-grid article,
.landing-analytics-grid article,
.landing-process div {
    min-width: 0;
    padding: 18px;
    border: 1px solid #dbe4f2;
    border-radius: 8px;
    background: #f9fbff;
}

.landing-feature-grid b,
.landing-feature-grid span,
.landing-analytics-grid strong,
.landing-analytics-grid span {
    display: block;
}

.landing-feature-grid b,
.landing-analytics-grid strong,
.landing-process b {
    color: #243655;
}

.landing-feature-grid span,
.landing-analytics-grid span,
.landing-process p {
    margin-top: 8px;
    color: #667894;
    line-height: 1.55;
}

.landing-process span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-bottom: 12px;
    color: #fff;
    background: #4385e9;
    border-radius: 50%;
    font-weight: 800;
}

.landing-process p {
    margin-bottom: 0;
}

.landing-platform-groups {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.landing-platform-group {
    overflow: hidden;
    border: 1px solid #dbe4f2;
    border-radius: 8px;
    background: #fff;
}

.landing-platform-group__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid #dbe4f2;
    background: #e8eef7;
}

.landing-platform-group__head h3 {
    margin: 0;
    color: #263856;
    font-size: 1rem;
}

.landing-platform-group__head span {
    color: #60728e;
    font-size: 0.86rem;
}

.landing-platform-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-platform-list a {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px 14px;
    color: #2d3f5d;
    text-decoration: none;
    border-right: 1px solid #edf1f7;
    border-bottom: 1px solid #edf1f7;
}

.landing-platform-list a:hover,
.landing-platform-list a:focus-visible {
    background: #f7f9fd;
}

.landing-platform-list span {
    font-weight: 700;
}

.landing-platform-list small {
    color: #72829b;
}

.landing-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    background: #243a66;
}

.landing-cta .landing-eyebrow,
.landing-cta h2 {
    color: #fff;
}

.landing-cta p,
.landing-cta__actions span {
    color: #d4def0;
}

@media (max-width: 1360px) {
    .landing-hero {
        grid-template-columns: 1fr;
    }

    .landing-feature-grid,
    .landing-analytics-grid,
    .landing-process {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    .landing-page {
        width: min(100% - 24px, 720px);
        padding-top: 12px;
    }

    .landing-nav,
    .landing-workbench,
    .workbench-body,
    .landing-stats,
    .landing-feature-grid,
    .landing-analytics-grid,
    .landing-process,
    .landing-cta {
        grid-template-columns: 1fr;
    }

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

    .landing-nav__links a {
        min-width: 0;
        min-height: 48px;
    }

    .landing-nav__login {
        justify-self: stretch;
        margin: 12px;
    }

    .workbench-sidebar {
        display: none;
    }

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

@media (max-width: 620px) {
    .landing-hero__content,
    .landing-section {
        padding: 20px;
    }

    .landing-hero__content h1 {
        font-size: 2.1rem;
    }

    .landing-platform-list,
    .workbench-price,
    .workbench-process,
    .workbench-tabs {
        grid-template-columns: 1fr;
    }
}
