:root{--navy:#132b47;--blue:#1581b4;--blue-dark:#0e6f9e;--ink:#172b43;--muted:#60748a;--line:#dbe5ec;--white:#fff;--success:#16734a;--success-bg:#edf9f2;--error:#9a3028;--error-bg:#fff3f1}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f7fbfd}a{color:inherit;text-decoration:none}
.partner-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.partner-header-inner{width:min(1180px,calc(100% - 48px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;color:var(--navy)}.brand strong{font-weight:800}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--blue);font-size:18px}.back-link{color:var(--blue-dark);font-size:14px;font-weight:700}
.partner-main{padding:68px 0 80px}.partner-layout{width:min(1180px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:68px;align-items:start}.partner-intro{padding-top:28px}
.eyebrow,.step{color:var(--blue);font-size:12px;letter-spacing:.18em;font-weight:800}.partner-intro h1{font-size:clamp(38px,4.2vw,60px);line-height:1.03;letter-spacing:-.045em;margin:18px 0 22px;color:var(--navy)}.partner-intro>p{color:var(--muted);font-size:17px;line-height:1.75;max-width:500px}
.benefits{margin-top:42px;display:grid;gap:22px}.benefits>div{display:flex;gap:14px;align-items:flex-start}.benefits>div>span{color:var(--blue);font-weight:900;font-size:18px}.benefits strong,.benefits small{display:block}.benefits strong{font-size:15px;margin-bottom:4px}.benefits small{color:var(--muted);line-height:1.5}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(19,43,71,.08)}.form-heading{margin-bottom:26px}.form-heading h2{margin:8px 0 7px;font-size:30px;letter-spacing:-.025em}.form-heading p{margin:0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block}label>span{display:block;margin-bottom:8px;font-size:13px;font-weight:700}label em{color:var(--muted);font-style:normal;font-weight:400}
input,select{width:100%;height:50px;border:1px solid #ccd9e2;border-radius:11px;padding:0 14px;color:var(--ink);background:#fff;font:inherit;outline:none;transition:border-color .18s,box-shadow .18s}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,129,180,.1)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.button:hover{background:var(--blue-dark)}.submit-button{width:100%;margin-top:25px;font-size:15px}.form-note{margin:15px 0 0;color:var(--muted);font-size:12px;line-height:1.55;text-align:center}
.error-box,.success-box{border-radius:13px;padding:16px 18px;margin-bottom:22px}.error-box{color:var(--error);background:var(--error-bg);border:1px solid #f1c8c3}.error-box ul{margin:8px 0 0 18px;padding:0}.success-box{color:var(--success);background:var(--success-bg);border:1px solid #c6ead5;text-align:center;padding:34px}.success-icon{width:54px;height:54px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#d7f1e2;font-size:24px;font-weight:900}.success-box h2{color:var(--ink);margin:0 0 10px}.success-box p{color:var(--muted);line-height:1.65;margin:0 0 22px}
.partner-footer{border-top:1px solid var(--line);background:#fff;padding:22px 24px;text-align:center;color:var(--muted);font-size:12px}.partner-footer p{margin:0}
@media(max-width:900px){.partner-layout{grid-template-columns:1fr;gap:35px}.partner-intro{padding-top:0}}@media(max-width:620px){.partner-header-inner,.partner-layout{width:calc(100% - 28px)}.partner-header-inner{min-height:66px}.brand{font-size:16px}.brand-mark{width:34px;height:34px}.back-link{font-size:12px}.partner-main{padding:36px 0 52px}.partner-intro h1{font-size:38px}.form-card{padding:22px 18px;border-radius:18px}.form-grid{grid-template-columns:1fr;gap:17px}}




/* Partner login */
.login-main {
    min-height: calc(100vh - 170px);
    display: grid;
    place-items: center;
}

.login-card {
    width: min(500px, calc(100% - 32px));
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 38px;
    box-shadow: 0 24px 70px rgba(19,43,71,.08);
}

.login-heading {
    text-align: center;
    margin-bottom: 28px;
}

.login-heading h1 {
    margin: 9px 0 8px;
    font-size: 36px;
    letter-spacing: -.035em;
}

.login-heading p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.login-card label {
    margin-bottom: 18px;
}

.login-footer {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: center;
    gap: 6px;
    font-size: 13px;
    color: var(--muted);
}

.login-footer a {
    color: var(--blue-dark);
    font-weight: 800;
}

/* Partner dashboard */
.dashboard-main {
    min-height: calc(100vh - 170px);
    padding: 65px 0 80px;
    background: #f7fbfd;
}

.dashboard-shell {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
}

.dashboard-welcome {
    margin-bottom: 35px;
}

.dashboard-welcome h1 {
    margin: 10px 0 10px;
    color: var(--navy);
    font-size: clamp(36px, 4vw, 54px);
    letter-spacing: -.045em;
}

.dashboard-welcome p {
    max-width: 700px;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
    font-size: 16px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.dashboard-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 18px 50px rgba(19,43,71,.06);
}

.dashboard-card.wide {
    grid-column: 1 / -1;
}

.card-label {
    color: var(--blue);
    font-size: 11px;
    letter-spacing: .16em;
    font-weight: 800;
}

.dashboard-card h2 {
    margin: 10px 0 8px;
    color: var(--navy);
    font-size: 22px;
}

.dashboard-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

@media (max-width: 620px) {
    .login-card {
        padding: 26px 20px;
        border-radius: 18px;
    }

    .dashboard-shell {
        width: calc(100% - 28px);
    }

    .dashboard-main {
        padding: 40px 0 55px;
    }

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

    .dashboard-card.wide {
        grid-column: auto;
    }

    .login-footer {
        flex-direction: column;
        text-align: center;
    }
}
