@font-face { font-family: Rotunda; src: url("./assets/Rotunda-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: Rotunda; src: url("./assets/Rotunda-Medium.otf") format("opentype"); font-weight: 500; font-display: swap; }
:root { --ink:#202132; --muted:#77798a; --line:#e2e3e9; --surface:#fff; --page:#f7f7f9; --violet:#8a3ffc; --pink:#ec16cb; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--page); font-family:Arial, Helvetica, sans-serif; font-weight:400; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none !important; }
.internal-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:12px max(24px, calc((100vw - 1160px) / 2)); border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
.brand { display:flex; gap:10px; align-items:center; color:var(--ink); text-decoration:none; font-size:1.2rem; font-weight:500; }
.brand img { width:34px; height:34px; object-fit:contain; }
.link-button { border:0; background:none; color:#5e6070; }
main { min-height:calc(100vh - 72px); }
.login-shell { display:grid; place-items:center; min-height:calc(100vh - 72px); padding:28px; }
.login-card { width:min(470px, 100%); padding:40px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 24px 60px rgba(25,27,40,.08); }
.eyebrow { color:var(--violet); font-size:.78rem; font-weight:500; text-transform:uppercase; }
h1,h2,p { margin-top:0; }
.login-card h1,.page-heading h1 { margin:14px 0 12px; font-weight:500; }
.login-card p,.page-heading p,.section-heading p { color:var(--muted); line-height:1.55; }
.login-card form,.login-card label { display:grid; gap:10px; }
.login-card form { margin-top:28px; }
.login-card .password-visibility { display:flex; align-items:center; gap:10px; width:max-content; max-width:100%; color:var(--muted); font-size:15px; cursor:pointer; }
.password-visibility input { width:18px; height:18px; margin:0; accent-color:#8f42ed; }
input,select,textarea { width:100%; border:1px solid #d7d8e0; border-radius:7px; background:#fff; color:var(--ink); }
input,select { min-height:50px; padding:0 14px; }
textarea { min-height:118px; padding:14px; resize:vertical; }
input:focus,select:focus,textarea:focus { outline:3px solid rgba(138,63,252,.12); border-color:var(--violet); }
.primary-button,.secondary-button { min-height:50px; padding:0 22px; border-radius:7px; font-weight:500; transition:transform .2s ease, box-shadow .2s ease; }
.primary-button { border:0; color:#fff; background:linear-gradient(110deg,var(--violet),var(--pink)); box-shadow:0 14px 30px rgba(138,63,252,.2); }
.secondary-button { border:1px solid var(--line); color:var(--ink); background:#fff; }
.primary-button:hover,.secondary-button:hover { transform:translateY(-2px); }
.primary-button:disabled { opacity:.65; cursor:wait; transform:none; }
.sales-shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:56px 0 100px; }
.page-heading { max-width:760px; margin-bottom:36px; }
.page-heading h1 { font-size:clamp(2.2rem,5vw,4rem); }
.sales-form { display:grid; gap:18px; }
.form-section,.success-card { padding:30px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 10px 30px rgba(25,27,40,.03); }
.section-heading { display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; margin-bottom:24px; }
.section-heading>span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#fff; background:linear-gradient(120deg,var(--violet),var(--pink)); }
.section-heading h2 { margin:2px 0 4px; font-size:1.3rem; font-weight:500; }
.section-heading p { margin:0; font-size:.9rem; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field-grid label,.form-section>label { display:grid; gap:8px; color:#4c4e5c; }
.field-grid .wide { grid-column:1/-1; }
.notice { margin-bottom:20px; padding:14px 16px; border:1px solid #ead79a; border-radius:7px; background:#fff9e5; color:#5e512d; line-height:1.5; }
.confirmation-section { display:grid; gap:20px; }
.consent { display:grid !important; grid-template-columns:20px minmax(0,1fr); gap:10px !important; align-items:start; }
.consent input { min-height:0; width:18px; height:18px; accent-color:var(--violet); }
.submit-sale { justify-self:start; min-width:260px; }
.form-error { margin:0; color:#a61b1b; line-height:1.5; }
.success-card { max-width:720px; margin:60px auto 0; text-align:center; padding:56px 36px; }
.success-mark { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 22px; border-radius:50%; color:#fff; background:#1dac73; font-size:1.8rem; }
.success-card h2 { font-weight:500; font-size:2rem; }
.success-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
@media (max-width:720px) { .internal-header{padding-inline:18px}.login-shell{padding:18px}.login-card{padding:28px 22px}.sales-shell{width:min(100% - 24px,1160px);padding-top:34px}.form-section{padding:22px 18px}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.submit-sale{width:100%;min-width:0}.success-actions>*{width:100%} }
