:root {
    --client-gold: #c5a059;
    --client-gold-dark: #a9823f;
    --client-ink: #171b26;
    --client-nude: #f8f5f2;
    --client-cream: #fdfbf9;
    --client-muted: #7d8088;
    --client-line: rgba(23, 27, 38, 0.08);
}

html { scroll-behavior: smooth; }

body {
    background: var(--client-nude) !important;
    color: var(--client-ink);
}

.text-gold { color: var(--client-gold) !important; }
.bg-gold { background-color: var(--client-gold) !important; }
.border-gold { border-color: var(--client-gold) !important; }

.client-sidebar {
    position: sticky;
    top: 0;
    z-index: 60;
    display: flex;
    flex: 0 0 272px;
    width: 272px;
    height: 100vh;
    padding: 28px 22px;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px);
    border-right: 1px solid var(--client-line);
}

.client-brand-row { display: flex; align-items: center; justify-content: space-between; }
.client-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--client-ink); text-decoration: none; font-family: 'Playfair Display', serif; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.client-brand em { color: var(--client-gold); font-weight: 400; letter-spacing: 0; text-transform: none; }
.client-brand-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 999px; border: 1px solid rgba(197,160,89,.25); background: var(--client-nude); color: var(--client-gold); font-size: 18px; font-style: italic; }
.client-menu-button { display: none; width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--client-line); background: white; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.client-menu-button span { width: 15px; height: 1px; background: var(--client-ink); transition: transform .25s; }
.client-menu-button.is-open span:first-child { transform: translateY(3px) rotate(45deg); }
.client-menu-button.is-open span:last-child { transform: translateY(-3px) rotate(-45deg); }

.client-welcome { margin: 42px 8px 22px; padding-bottom: 22px; border-bottom: 1px solid var(--client-line); }
.client-welcome span { display: block; margin-bottom: 5px; color: #aaa9ad; font-size: 8px; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; }
.client-welcome strong { display: block; overflow: hidden; color: var(--client-ink); font-family: 'Playfair Display', serif; font-size: 21px; font-style: italic; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }

.client-navigation { display: flex; flex: 1; flex-direction: column; gap: 5px; }
.client-nav-link { display: flex; min-height: 46px; padding: 0 13px; align-items: center; gap: 12px; border-radius: 14px; color: #85868c; font-size: 9px; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: background .25s, color .25s, transform .25s; }
.client-nav-link:hover { color: var(--client-ink); background: var(--client-nude); transform: translateX(3px); }
.client-nav-link.is-active { color: white; background: var(--client-ink); box-shadow: 0 10px 25px rgba(23,27,38,.12); }
.client-nav-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 999px; background: rgba(197,160,89,.1); color: var(--client-gold); font-family: 'Playfair Display', serif; font-size: 14px; }
.client-nav-link.is-active .client-nav-icon { background: rgba(255,255,255,.1); }

.client-sidebar-footer { display: flex; padding: 20px 8px 0; justify-content: space-between; gap: 12px; border-top: 1px solid var(--client-line); }
.client-back-link, .client-logout-link { color: #a1a1a6; font-size: 8px; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: color .2s; }
.client-back-link:hover { color: var(--client-gold); }
.client-logout-link:hover { color: #bc6b6b; }

body > main {
    width: 100%;
    max-width: 1500px;
    min-width: 0;
    margin: 0 auto;
}

body > main > header h1 { line-height: 1.05; }
body > main > header { position: relative; }
body > main > header::after { content: ''; display: block; width: 42px; height: 1px; margin-top: 20px; background: rgba(197,160,89,.65); }

body > main .bg-white,
body > main .card-luxe {
    border-color: var(--client-line) !important;
    box-shadow: 0 16px 45px rgba(40, 30, 25, 0.035);
}

.card-luxe,
.glass-card,
.card-fidelite {
    border-radius: 26px !important;
}

.glass-card {
    border: 1px solid rgba(255,255,255,.82) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 28px 70px rgba(60,43,35,.09) !important;
}

body > main .shadow-sm.overflow-hidden,
body > main > .max-w-3xl > .bg-white,
body > main form.max-w-5xl {
    border-radius: 26px;
}

body > main .rounded-sm.border,
body > main .rounded-sm.shadow-sm { border-radius: 18px !important; }

body > main > footer { color: #aaa9ad !important; }

body:not(:has(.client-sidebar)) .btn-luxe,
body:not(:has(.client-sidebar)) button[type="submit"] { border-radius: 999px !important; }

body:not(:has(.client-sidebar)) input:not([type="checkbox"]):not([type="radio"]) { border-color: rgba(23,27,38,.12) !important; }

body:not(:has(.client-sidebar)) .glass-card::after {
    content: '';
    position: absolute;
    inset: 9px;
    z-index: -1;
    border: 1px solid rgba(197,160,89,.09);
    border-radius: 20px;
    pointer-events: none;
}

body > main input:not([type="checkbox"]):not([type="radio"]),
body > main select,
body > main textarea {
    border-color: rgba(23,27,38,.1) !important;
    accent-color: var(--client-gold);
}

body > main input:focus,
body > main select:focus,
body > main textarea:focus { border-color: var(--client-gold) !important; }

body > main button[type="submit"],
body > main a.bg-gray-900,
body > main a.bg-black {
    border-radius: 999px !important;
    transition: transform .25s, background .25s, box-shadow .25s !important;
}

body > main button[type="submit"]:hover,
body > main a.bg-gray-900:hover,
body > main a.bg-black:hover {
    background: var(--client-gold) !important;
    box-shadow: 0 12px 28px rgba(197,160,89,.2);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    body { display: block !important; }
    .client-sidebar { width: 100%; height: auto; min-height: 0; padding: 13px 18px; border-right: 0; border-bottom: 1px solid var(--client-line); }
    .client-brand-mark { width: 34px; height: 34px; }
    .client-menu-button { display: flex; }
    .client-welcome, .client-sidebar-footer { display: none; }
    .client-navigation { display: none; position: absolute; top: 68px; left: 12px; right: 12px; padding: 12px; gap: 3px; border: 1px solid var(--client-line); border-radius: 20px; background: rgba(255,255,255,.98); box-shadow: 0 20px 50px rgba(23,27,38,.12); }
    .client-navigation.is-open { display: flex; }
    .client-nav-link { min-height: 43px; }
    body > main { padding: 36px 20px 56px !important; }
    body > main > header { margin-bottom: 36px !important; }
    body:not(:has(.client-sidebar)) { width: 100vw !important; max-width: 100vw !important; overflow-x: hidden !important; overflow-y: auto !important; padding: 90px 20px 45px !important; }
    body:not(:has(.client-sidebar)) > .w-full { flex: 0 0 calc(100vw - 40px) !important; width: calc(100vw - 40px) !important; max-width: calc(100vw - 40px) !important; min-width: 0 !important; }
    body:not(:has(.client-sidebar)) .glass-card { box-sizing: border-box !important; width: calc(100vw - 40px) !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden; }
    body:not(:has(.client-sidebar)) .glass-card { padding: 30px 24px !important; }
    body:not(:has(.client-sidebar)) h1.text-4xl { font-size: 30px !important; line-height: 1.15 !important; }
    body:not(:has(.client-sidebar)) button[type="submit"] { max-width: 100%; white-space: normal; }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .client-sidebar { flex-basis: 230px; width: 230px; padding-inline: 16px; }
    .client-brand { font-size: 12px; }
}
