:root {
	--swca-navy: #173a50;
	--swca-ink: #141617;
	--swca-teal: #176b68;
	--swca-teal-dark: #0f5553;
	--swca-teal-soft: #eaf3f2;
	--swca-surface: #ffffff;
	--swca-background: #f4f8f8;
	--swca-border: #dbe5e7;
	--swca-muted: #66737f;
	--swca-shadow: 0 18px 45px rgba(23, 58, 80, 0.09);
}

.swca-wrap { max-width: 1180px; }
.swca-panel { max-width: 1160px; margin: 0 auto; color: var(--swca-ink); font-family: Inter, Arial, Helvetica, sans-serif; }
.swca-panel *, .swca-wrap * { box-sizing: border-box; }
.swca-card { background: var(--swca-surface); border: 1px solid var(--swca-border); border-radius: 16px; padding: 24px 26px; margin: 20px 0; box-shadow: 0 8px 28px rgba(23, 58, 80, 0.05); }
.swca-panel h1, .swca-panel h2, .swca-panel h3 { color: var(--swca-ink); font-family: Inter, Arial, Helvetica, sans-serif; font-weight: 650; letter-spacing: -0.025em; }
.swca-panel h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; margin: 10px 0 12px; }
.swca-panel h3 { font-size: 24px; line-height: 1.25; margin: 4px 0 8px; }
.swca-panel p { color: var(--swca-muted); line-height: 1.65; }
.swca-panel a { color: var(--swca-teal); }

.swca-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--swca-teal); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; }
.swca-eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; }
.swca-portal-hero { padding: 48px 4px 34px; max-width: 820px; }
.swca-portal-hero h1 { font-size: clamp(38px, 5vw, 60px); line-height: 1.05; margin: 18px 0; }
.swca-portal-hero h1 span { color: var(--swca-teal); }
.swca-portal-hero p { font-size: 18px; max-width: 720px; }

.swca-onboarding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; padding-bottom: 50px; }
.swca-onboarding-grid .swca-card { margin: 0; }
.swca-auth-card { padding: 32px; box-shadow: var(--swca-shadow); }
.swca-register-card { background: linear-gradient(145deg, #fff 0%, #f4f9f8 100%); }
.swca-step { display: inline-block; padding: 6px 10px; border-radius: 999px; background: var(--swca-teal-soft); color: var(--swca-teal-dark); font-size: 12px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }

.swca-panel form p { margin: 0 0 17px; }
.swca-panel form label { display: block; margin-bottom: 7px; color: var(--swca-ink); font-size: 14px; font-weight: 700; }
.swca-panel input[type="text"], .swca-panel input[type="email"], .swca-panel input[type="password"], .swca-panel input[type="url"], .swca-panel input[type="date"], .swca-panel select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cbd7da; border-radius: 10px; background: #fff; color: var(--swca-ink); font: inherit; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease; }
.swca-panel input:focus, .swca-panel select:focus { border-color: var(--swca-teal); box-shadow: 0 0 0 3px rgba(23, 107, 104, 0.14); outline: none; }
.swca-button, .swca-panel form button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px 22px; border: 1px solid var(--swca-teal); border-radius: 12px; background: var(--swca-teal); color: #fff; font: inherit; font-size: 14px; font-weight: 800; line-height: 1; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.swca-button:hover, .swca-panel form button:hover { background: var(--swca-teal-dark); border-color: var(--swca-teal-dark); color: #fff; transform: translateY(-1px); }
.swca-login-options { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; }
.swca-login-options label, .swca-choice-row label, .swca-consent label { display: flex !important; align-items: flex-start; gap: 8px; margin: 0 !important; font-weight: 500 !important; }
.swca-login-options input, .swca-choice-row input, .swca-consent input { margin-top: 3px; accent-color: var(--swca-teal); }
.swca-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.swca-notice { padding: 14px 16px; border: 1px solid #bcd8d6; border-left: 4px solid var(--swca-teal); border-radius: 10px; background: var(--swca-teal-soft); color: var(--swca-ink); margin: 16px 0; }

.swca-dashboard-hero { margin: 30px 0 22px; padding: 34px; border-radius: 20px; background: linear-gradient(135deg, var(--swca-navy) 0%, #1d5b67 100%); box-shadow: var(--swca-shadow); }
.swca-dashboard-hero h2, .swca-dashboard-hero p, .swca-dashboard-hero .swca-eyebrow, .swca-dashboard-hero .swca-logout { color: #fff; }
.swca-dashboard-hero p { opacity: .82; }
.swca-dashboard-topline, .swca-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.swca-logout { font-size: 13px; font-weight: 700; }
.swca-coupon-box { display: grid; grid-template-columns: minmax(220px, .7fr) 1fr; gap: 24px; align-items: center; margin-top: 26px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.22); border-radius: 14px; background: rgba(255,255,255,.1); }
.swca-coupon-box span { display: block; margin-bottom: 6px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.swca-coupon-code { display: block; color: #fff; font-size: 27px; font-weight: 800; letter-spacing: .08em; word-break: break-word; }
.swca-coupon-box p { margin: 0; }

.swca-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.swca-grid .swca-card { margin: 0; }
.swca-stat-card { position: relative; overflow: hidden; }
.swca-stat-card::after { content: ""; position: absolute; right: -18px; top: -18px; width: 72px; height: 72px; border-radius: 50%; background: var(--swca-teal-soft); }
.swca-stat-highlight { border-color: #a9ceca; }
.swca-stat-label { color: var(--swca-muted); font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.swca-big-number { margin: 9px 0 5px; color: var(--swca-navy); font-size: 30px; font-weight: 750; letter-spacing: -.035em; }
.swca-stat-card small, .swca-muted, .swca-privacy-note { color: var(--swca-muted); font-size: 13px; }

.swca-payout-profile, .swca-sales-card { margin-top: 22px; }
.swca-profile-status { display: inline-block; padding: 7px 11px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.swca-profile-status.is-complete { background: var(--swca-teal-soft); color: var(--swca-teal-dark); }
.swca-profile-status.is-incomplete { background: #fff0e6; color: #9a4d1d; }
.swca-choice-row { display: flex; gap: 12px; margin: 18px 0; }
.swca-choice-row label { align-items: center; padding: 10px 13px; border: 1px solid var(--swca-border); border-radius: 10px; background: var(--swca-background); }
.swca-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.swca-company-fields[hidden] { display: none !important; }
.swca-privacy-note { padding-left: 22px; position: relative; }
.swca-privacy-note::before { content: "✓"; position: absolute; left: 0; color: var(--swca-teal); font-weight: 800; }

.swca-table-scroll { overflow-x: auto; margin-top: 16px; }
.swca-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.swca-table th, .swca-table td { padding: 13px 14px; border-bottom: 1px solid var(--swca-border); text-align: left; }
.swca-table th { color: var(--swca-muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.swca-table tr:last-child td { border-bottom: 0; }
.swca-panel code { word-break: break-word; }

.swca-inline-form, .swca-filter-form, .swca-review-form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.swca-filter-form { align-items: end; margin-bottom: 16px; }
.swca-review-form input[type="text"] { width: 140px; }

@media (max-width: 820px) {
	.swca-onboarding-grid, .swca-grid, .swca-form-grid, .swca-coupon-box { grid-template-columns: 1fr; }
	.swca-portal-hero { padding-top: 28px; }
	.swca-auth-card, .swca-dashboard-hero, .swca-card { padding: 22px; }
}

@media (max-width: 520px) {
	.swca-login-options, .swca-dashboard-topline, .swca-section-heading, .swca-choice-row { align-items: flex-start; flex-direction: column; }
	.swca-panel .swca-button, .swca-panel form button { width: 100%; }
	.swca-portal-hero h1 { font-size: 38px; }
}
