:root {
    --sand-bg: #f3f6f8;
    --sand-surface: #ffffff;
    --sand-surface-soft: #f8fbfb;
    --sand-text: #142026;
    --sand-muted: #5d6d77;
    --sand-line: #d5e0e5;
    --sand-brand: #0d6b63;
    --sand-brand-dark: #084c47;
    --sand-blue: #2454a6;
    --sand-amber: #b45309;
    --sand-green: #147a49;
    --sand-red: #b42318;
    --sand-shadow: 0 10px 26px rgba(20, 32, 38, 0.08);
}

* {
    letter-spacing: 0;
}

html {
    overflow-x: hidden;
}

body {
    background:
        linear-gradient(180deg, #eaf2f4 0, var(--sand-bg) 280px) !important;
    color: var(--sand-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

header {
    padding-top: 20px !important;
    min-width: 0;
}

header > *,
main > *,
section,
.panel,
.grid > *,
.hero > *,
.pricing-grid > *,
.module-grid > *,
.summary > *,
.doc-control > *,
.trust-strip > * {
    min-width: 0;
}

nav,
.brand {
    min-width: 0;
}

nav a,
.admin-nav a {
    border-radius: 6px !important;
    padding: 7px 9px;
    line-height: 1.2;
    white-space: normal;
}

nav a:hover,
.admin-nav a:hover {
    background: #e8f3f1 !important;
}

.brand .mark,
.mark {
    background: #0d6b63 !important;
    box-shadow: none !important;
}

.brand-logo {
    max-width: min(210px, 76vw);
    height: auto;
}

.panel,
.price-card,
.module,
.stat,
.cockpit-card,
.locked,
.module-choice,
.price-preview,
.doc-control .item,
.module-list li,
details.form-section,
details.reference-details,
.box,
.notice,
.status,
.errors {
    border-color: var(--sand-line) !important;
    border-radius: 8px !important;
    box-shadow: var(--sand-shadow) !important;
}

.panel,
.price-card,
.module,
.stat,
.cockpit-card,
.box {
    background: var(--sand-surface) !important;
}

.cockpit-card,
.stat,
.module,
.locked,
.module-choice,
.price-preview,
details.form-section,
details.reference-details {
    background: var(--sand-surface-soft) !important;
}

h1,
h2,
h3 {
    color: var(--sand-brand-dark) !important;
    overflow-wrap: anywhere;
}

h1 {
    max-width: 760px;
}

p,
li,
td,
th,
label,
strong,
span,
a,
button,
textarea,
input,
select {
    overflow-wrap: anywhere;
}

.muted,
.fineprint,
footer {
    color: var(--sand-muted) !important;
}

.legal-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
}

.legal-links span {
    color: var(--sand-muted);
}

.legal-links a {
    color: var(--sand-brand-dark) !important;
    font-weight: 700;
}

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

.trust-item {
    border: 1px solid var(--sand-line);
    border-radius: 8px;
    background: #ffffff;
    padding: 12px;
}

.trust-item strong {
    display: block;
    color: var(--sand-brand-dark);
    margin-bottom: 3px;
}

.trust-item span {
    display: block;
    color: var(--sand-muted);
    font-size: 13px;
    line-height: 1.35;
}

a {
    color: var(--sand-brand-dark) !important;
}

button,
.linkbtn,
a.secondary,
.actions a:not(.secondary) {
    border-radius: 6px !important;
    min-height: 40px;
    align-items: center;
    white-space: normal;
    text-align: center;
}

button:not(.secondary),
.linkbtn:not(.secondary),
.actions a:not(.secondary) {
    background: var(--sand-brand) !important;
    color: #ffffff !important;
}

.secondary {
    background: #ffffff !important;
    color: var(--sand-brand-dark) !important;
    border: 1px solid var(--sand-line) !important;
}

input,
textarea,
select {
    border-color: #c9d6dc !important;
    border-radius: 6px !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: 2px solid rgba(13, 107, 99, 0.22);
    border-color: var(--sand-brand) !important;
}

table {
    background: #ffffff;
}

th {
    color: var(--sand-muted) !important;
}

.tag,
.pill,
.blue {
    border-radius: 999px !important;
}

.readiness-ok,
.green {
    color: var(--sand-green) !important;
    background: #e4f7ed !important;
}

.readiness-warn,
.yellow {
    color: var(--sand-amber) !important;
    background: #fff2d7 !important;
}

.readiness-action,
.red {
    color: var(--sand-red) !important;
    background: #ffe4e1 !important;
}

.price-card.featured {
    border-color: #8ec7bd !important;
    background: #f7fcfb !important;
}

.price {
    color: var(--sand-brand-dark);
}

@media (max-width: 900px) {
    header,
    main,
    footer {
        width: min(calc(100% - 20px), 1240px) !important;
    }

    h1 {
        font-size: 26px !important;
        line-height: 1.16 !important;
    }

    .brand-logo {
        max-width: min(190px, 78vw);
    }

    h2 {
        font-size: 21px !important;
    }

    .panel,
    .price-card,
    .module,
    .stat,
    .cockpit-card {
        padding: 15px !important;
    }

    .trust-strip {
        grid-template-columns: 1fr;
    }

    nav {
        gap: 8px !important;
        width: 100%;
    }

    nav a {
        padding: 8px 9px !important;
    }

    .legal-links {
        display: flex;
        gap: 5px 9px;
    }
}
