/* Wedding CRM sign-in — Ivory & Charcoal, brass highlight */
:root{--char:#2f2f33;--char-deep:#1b1b1e;--brass:#b8924a;--brass-soft:#d9bd86;--ivory:#f5f0e8;--paper:#fffdf9;--ink:#2f2f33;--muted:#6f6a62;--border:#e6e0d4;
 --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
body.auth{margin:0;min-height:100vh;font-family:Manrope,system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--ivory)}
.auth-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}

/* Brand side */
.auth-hero{position:relative;overflow:hidden;color:#e9e4d9;padding:56px 72px;display:flex;flex-direction:column;justify-content:space-between;
 background:radial-gradient(800px 520px at 90% -10%,#b8924a3d,transparent 60%),radial-gradient(600px 480px at -10% 110%,#b8924a22,transparent 55%),linear-gradient(155deg,var(--char-deep),var(--char))}
.auth-hero::before{content:"";position:absolute;right:-140px;bottom:-140px;width:460px;height:460px;border-radius:50%;
 border:1px solid #b8924a55;box-shadow:0 0 0 38px #b8924a0d,0 0 0 39px #b8924a2e,0 0 0 90px #b8924a08;pointer-events:none}
.auth-hero>*{position:relative;z-index:1}
.auth-brand{display:flex;align-items:center;gap:14px;font-size:17px;letter-spacing:.16em;font-weight:500;color:#fff}
.auth-brand strong{color:var(--brass-soft);font-weight:700}
.auth-brand small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#a9a396;margin-top:3px}
.auth-logo{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:0;color:var(--char);
 background:var(--ivory);box-shadow:0 0 0 3px var(--char),0 0 0 4px var(--brass)}
.auth-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-soft);margin-bottom:22px}
.auth-eyebrow::before{content:"";width:34px;height:1px;background:var(--brass)}
.auth-hero h1{font-family:var(--serif);font-size:58px;line-height:1.04;font-weight:600;margin:0 0 20px;max-width:520px;color:#fff;letter-spacing:-.01em}
.auth-hero h1 em{font-style:italic;font-weight:500;color:var(--brass-soft)}
.auth-hero p.lead{color:#c4beb1;line-height:1.75;max-width:460px;margin:0 0 34px;font-size:14.5px}
.auth-points{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:470px}
.auth-points li{display:flex;gap:14px;align-items:center;color:#cfc9bc;font-size:13px;line-height:1.5;padding:12px 14px;border:1px solid #ffffff14;border-radius:14px;background:#ffffff08}
.auth-points b{display:block;color:#fff;font-weight:700;margin-bottom:1px}
.auth-points .ic{flex:0 0 38px;height:38px;border-radius:11px;display:grid;place-items:center}
.auth-points .ic svg{width:19px;height:19px}
.ic.rose{background:#e0728a26;color:#f08aa2}
.ic.teal{background:#3fb8a526;color:#5fd2c0}
.ic.amber{background:#e8a83a26;color:#f2bd5e}
.auth-foot{font-size:11px;letter-spacing:.06em;color:#8f8a7e}

/* Form side */
.auth-side{position:relative;display:flex;align-items:center;justify-content:center;padding:40px 28px;background:var(--ivory)}
.auth-card{width:100%;max-width:410px;background:var(--paper);border:1px solid var(--border);border-radius:22px;padding:40px 36px 30px;box-shadow:0 1px 0 #fff inset,0 30px 70px -30px #2f2f3350}
.auth-card .auth-brand.mobile{display:none;color:var(--ink);margin-bottom:28px}
.auth-card .auth-brand.mobile small{color:var(--muted)}
.auth-card .auth-brand.mobile .auth-logo{background:var(--char);color:#fff;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--brass)}
.auth-card h2{font-family:var(--serif);font-size:38px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em;line-height:1.1}
.auth-card .sub{color:var(--muted);margin:0 0 28px;line-height:1.5}
.field{margin-bottom:18px}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;color:#55524b}
.input{position:relative}
.input>svg.lead-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--brass);pointer-events:none}
.input input{width:100%;height:50px;padding:0 44px 0 42px;border:1px solid var(--border);border-radius:12px;background:#fff;font:inherit;font-size:14px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.input input::placeholder{color:#a8a296}
.input input:hover{border-color:#d3cab8}
.input input:focus{outline:0;border-color:var(--brass);box-shadow:0 0 0 4px #b8924a26}
.toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#8d8678;cursor:pointer;display:grid;place-items:center}
.toggle:hover{background:var(--ivory);color:var(--ink)}
.toggle:focus-visible{outline:2px solid var(--brass)}
.toggle svg{width:18px;height:18px}
.btn-signin{width:100%;height:50px;border:0;border-radius:12px;background:linear-gradient(180deg,#3a3a3f,var(--char));color:#fff;font:inherit;font-weight:700;font-size:14px;letter-spacing:.04em;cursor:pointer;
 box-shadow:0 10px 22px -8px #2f2f3380,0 -2px 0 #b8924a inset;transition:transform .1s,box-shadow .15s,filter .15s;margin-top:8px}
.btn-signin:hover{filter:brightness(1.12)}
.btn-signin:active{transform:translateY(1px)}
.btn-signin:disabled{opacity:.7;cursor:progress}
.btn-signin:focus-visible{outline:3px solid #b8924a99;outline-offset:2px}
.auth-alert{display:flex;gap:10px;align-items:flex-start;background:#fdecec;border:1px solid #f5c2c2;color:#8a1f1f;border-radius:12px;padding:12px 14px;margin-bottom:20px;font-size:13px;line-height:1.45}
.auth-alert svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px}
.auth-alert.ok{background:#eaf5ee;border-color:#bfe0cb;color:#1f6b3b}
.secure{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}
.secure svg{width:15px;height:15px;color:#2f9e63}

/* Blocked account / link states */
.blocked-box{border:1px solid #f1c9c9;background:#fff;border-radius:14px;padding:20px}
.blocked-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.blocked-head svg{width:38px;height:38px;padding:9px;border-radius:10px;background:#fdecec;color:#b42318;flex:0 0 38px}
.blocked-head strong{display:block;font-size:15px}
.blocked-head small{color:var(--muted)}
.blocked-note{color:var(--muted);margin:0 0 16px;line-height:1.5}
.blocked-box .btn-signin{margin-top:0}
.btn-link{display:block;margin:14px auto 0;border:0;background:none;color:var(--char);font:inherit;font-weight:700;cursor:pointer}
.btn-link:hover{text-decoration:underline}

@media(max-width:1100px){.auth-hero{padding:48px 44px}.auth-hero h1{font-size:46px}}
@media(max-width:900px){
 .auth-wrap{grid-template-columns:1fr}
 .auth-hero{display:none}
 .auth-side{min-height:100vh;padding:24px 16px;background:linear-gradient(160deg,var(--char-deep),var(--char))}
 .auth-card{padding:32px 24px 24px}
 .auth-card .auth-brand.mobile{display:flex}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
