@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito+Sans:wght@400;600;700;800;900&display=swap');

:root {
    --partner-cream: #fff8ed;
    --partner-paper: #fffdf8;
    --partner-soft: #fff0dc;
    --partner-ink: #24203d;
    --partner-orange: #ad3d00;
    --partner-orange-bright: #bd4400;
    --partner-yellow: #ffc83f;
    --partner-muted: #5e5365;
    --partner-line: #eadfce;
}

body {
    background: var(--partner-cream) !important;
    color: var(--partner-ink) !important;
    font-family: 'Nunito Sans', sans-serif !important;
}
h1,h2,h3,h4,h5,h6,.header-title {
    font-family: 'Fredoka', sans-serif !important;
    color: var(--partner-ink);
    font-weight: 600 !important;
    letter-spacing: -.02em;
}
.navbar {
    min-height: 88px;
    background: var(--partner-cream) !important;
    border-bottom: 1px solid var(--partner-line) !important;
    box-shadow: 0 7px 22px rgba(83,55,32,.06);
}
.navbar-brand img { width: 125px; height: 60px; object-fit: contain; }
.navbar .btn-accent,
.btn-register,
.btn-primary,
.btn-copy,
.btn-generate {
    min-height: 46px;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--partner-orange) !important;
    color: #fff !important;
    box-shadow: 0 5px 0 #a93e00 !important;
    font-weight: 800 !important;
}
.navbar .btn-accent:hover,
.btn-register:hover,
.btn-primary:hover,
.btn-copy:hover,
.btn-generate:hover { background: #b94000 !important; transform: translateY(2px); box-shadow: 0 3px 0 #923300 !important; }

.register-hero {
    position: relative;
    padding: 76px 0 !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(255,200,63,.5) 0 12%, transparent 12.3%),
        radial-gradient(circle at 78% 72%, rgba(255,106,22,.12) 0 18%, transparent 18.3%),
        var(--partner-cream) !important;
    color: var(--partner-ink) !important;
}
.register-hero h1 { color: var(--partner-ink) !important; font-size: clamp(2.8rem,5vw,4.8rem); line-height: 1.03; }
.register-hero h1 span { color: var(--partner-orange-bright) !important; }
.register-hero p { color: var(--partner-muted) !important; opacity: 1 !important; }
.register-hero .benefit-card,
.signup-form-card {
    border: 1px solid var(--partner-line) !important;
    border-radius: 23px !important;
    background: #fff !important;
    color: var(--partner-ink) !important;
    box-shadow: 0 12px 30px rgba(56,40,28,.08) !important;
}
.register-hero .benefit-card:hover { background: #fff !important; border-color: #f1a16b !important; transform: translateY(-5px); }
.benefit-icon { border-radius: 15px !important; background: var(--partner-soft) !important; color: var(--partner-orange-bright) !important; }
.form-control-custom,
.form-control,
.form-select {
    border: 1px solid #ddd2c5 !important;
    border-radius: 13px !important;
    background: #fffdf9 !important;
    color: var(--partner-ink) !important;
    box-shadow: none !important;
}
.form-control-custom:focus,
.form-control:focus,
.form-select:focus { border-color: var(--partner-orange-bright) !important; box-shadow: 0 0 0 4px rgba(255,106,22,.12) !important; }
.footer-alt-section {
    background:
        radial-gradient(circle at 86% 15%, rgba(255,200,63,.4) 0 11%, transparent 11.3%),
        var(--partner-soft) !important;
    color: var(--partner-ink) !important;
    border-top: 1px solid var(--partner-line);
}
.footer-alt-section.text-white,
.footer-alt-section p { color: var(--partner-muted) !important; }
.footer-alt-section a { color: var(--partner-ink) !important; }
.footer-alt-section a:hover { color: var(--partner-orange) !important; }
.footer-alt-section .social-icon { border-color: #ddcdbb !important; background: #fff !important; color: var(--partner-orange) !important; }

/* Signed-in partner workspace */
.partner-workspace > .site-header { position: sticky; top: 0; z-index: 1040; }
.partner-workspace .sidebar { top: 106px; height: calc(100vh - 106px); overflow-y: auto; }
@media (max-width: 991px) {
    .partner-workspace > .site-header { position: relative; }
    .partner-workspace .mobile-header { position: relative !important; top: auto; z-index: 1030; }
    .partner-workspace .sidebar { top: 0; height: 100vh; }
    .partner-workspace .main-content { padding-top: 24px !important; }
}
.sidebar {
    background: var(--partner-soft) !important;
    color: var(--partner-ink) !important;
    border-right: 1px solid var(--partner-line);
    box-shadow: 8px 0 28px rgba(74,49,28,.06);
}
.sidebar-brand { color: var(--partner-ink) !important; }
.sidebar a { border-radius: 12px !important; }
.sidebar a { color: #685f6d !important; }
.sidebar a:hover { background: #fff !important; color: var(--partner-orange) !important; }
.sidebar a.active { background: var(--partner-orange) !important; color: #fff !important; box-shadow: 0 7px 0 #a93e00 !important; }
.main-content { background: var(--partner-cream) !important; min-height: 100vh; }
.header-title { color: var(--partner-ink) !important; font-size: 2rem !important; }
.stat-card,
.ref-card,
.content-card,
.profile-card,
.coupon-card,
.table-card,
.earnings-card {
    border: 1px solid var(--partner-line) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(56,40,28,.07) !important;
}
.stat-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(56,40,28,.1) !important; }
.stat-value,.ref-label { color: var(--partner-ink) !important; }
.stat-label { color: var(--partner-muted) !important; }
.stat-icon-box { background: var(--partner-soft) !important; color: var(--partner-orange-bright) !important; }
.ref-input-group { border-color: #dccfc0 !important; background: #fffaf2 !important; }
.mobile-header { background: var(--partner-cream) !important; border-bottom: 1px solid var(--partner-line); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--partner-ink); }
.table thead th { color: var(--partner-muted); background: #fff7e8; }

@media (max-width: 991px) {
    .register-hero { padding: 54px 0 !important; }
    .register-hero h1 { text-align: center; }
    .register-hero .lead { text-align: center; }
    .signup-form-card { padding: 28px !important; }
    .main-content { padding: 24px 18px !important; }
}

@media (max-width: 575px) {
    .register-hero h1 { font-size: clamp(2.4rem,12vw,3.25rem); }
    .register-hero .benefit-card { padding: 22px !important; }
    .signup-form-card { padding: 24px 19px !important; }
}
