/* Shared white/blue visual system. No remote fonts or template dependencies. */
:root { --blue:#2569ed; --blue-dark:#1952c5; --blue-soft:#edf4ff; --ink:#243146; --muted:#738298; --line:#e9eef5; --green:#21876a; --surface:#fff; --soft:#f8fafc; }
body { font-family:Inter,'Segoe UI',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font-family:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.button { min-height:40px; border-radius:8px; padding:11px 16px; font-size:12px; font-weight:650; transition:background .15s,border-color .15s; }
.button-primary { background:var(--blue); box-shadow:0 4px 10px #2569ed18; }
.button-primary:hover { background:var(--blue-dark); transform:none; }
.button-outline { border-color:#dce5f0; background:white; }
.button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.text-link { font-size:12px; font-weight:600; }
.eyebrow { font-size:10px; letter-spacing:.12em; font-weight:700; }
.portal-page,.partner-page,.account-page,.dashboard-page { background:var(--soft); }
.portal-title,.partner-heading h1,.account-heading h1,.dashboard-header h1 { font-size:30px; line-height:1.25; letter-spacing:-1px; font-weight:750; }
.portal-subtitle,.partner-heading p,.account-heading > p { font-size:12px; line-height:1.8; color:var(--muted); }
.panel,.portal-panel,.portal-card,.account-panel,.partner-panel,.metric-card,.partner-stat { border:1px solid var(--line); background:white; border-radius:14px; box-shadow:0 4px 18px #30446603; min-width:0; }
.portal-panel,.portal-card,.account-panel,.partner-panel { padding:25px; }
.panel-heading h2,.partner-panel-heading h2 { font-size:15px; font-weight:700; letter-spacing:-.2px; }
.panel-heading p,.partner-panel-heading p { font-size:11px; line-height:1.8; color:var(--muted); }
.portal-panel h2,.portal-card h2,.account-panel h2 { font-size:20px; letter-spacing:-.5px; }
.portal-grid { gap:22px; }
.portal-toolbar { gap:10px; margin:22px 0; }
.portal-table-wrap { border-color:var(--line); border-radius:13px; box-shadow:0 4px 18px #30446603; }
.portal-table { font-size:12px; }
.portal-table th { color:#6d7f97; font-size:11px; background:#f9fbfd; padding:15px 18px; font-weight:600; white-space:nowrap; }
.portal-table td { padding:17px 18px; border-bottom-color:#f0f3f7; color:#52647d; line-height:1.65; }
.portal-table tbody tr:hover { background:#fcfdff; }
.portal-table .button { min-height:32px; font-size:11px; }
.portal-status { border-radius:6px; padding:5px 8px; font-weight:600; }
.portal-field input,.portal-field textarea,.portal-field select,.portal-filter input,.portal-filter select,.account-field input,.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password] { border:1px solid #dce5ef; border-radius:8px; background:#fff; color:var(--ink); font-size:13px; padding:12px 13px; }
.portal-field input:focus,.portal-field textarea:focus,.portal-field select:focus,.account-field input:focus,.auth-form input:focus { outline:0; border-color:var(--blue); box-shadow:0 0 0 3px #2569ed12; }
.portal-field,.account-field { font-size:12px; color:#51617a; }
.portal-code,.portal-link-field { background:#f7f9fd; border-color:#e3eaf4; border-radius:9px; }
.portal-dialog { border:1px solid var(--line); border-radius:17px; box-shadow:0 20px 80px #1e345b21; }
.portal-dialog::backdrop { background:#20365350; backdrop-filter:blur(4px); }
.portal-dialog h2 { letter-spacing:-.6px; }
.integration-apps > * { box-shadow:none; background:#fbfcff; border-color:var(--line); }
.form-designer-preview { background:#f3f6fb; border:1px dashed #dce6f5; }
.lead-form-preview { box-shadow:0 5px 25px #3044660c; }
.account-support-id { background:#f8faff; padding:16px; border:1px dashed #dce6f5; border-radius:10px; }
.account-verification { align-items:center; gap:20px; }
.account-panel { margin-bottom:22px; }
.account-panel p { font-size:12px; line-height:1.8; }
.account-panel-danger { border-color:#f1dfe3; }
.empty-state { font-size:12px; line-height:1.85; padding:24px 12px; color:var(--muted); }
.dashboard-content #dashboard-message:empty { display:none; }
.dashboard-welcome-grid { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(230px,1fr); gap:22px; margin:0 0 24px; }
.dashboard-welcome { background:#eef5ff; border:1px solid #e5efff; padding:29px; border-radius:15px; position:relative; overflow:hidden; min-height:232px; display:flex; align-items:center; }
.dashboard-welcome-copy { position:relative; z-index:1; max-width:72%; }
.dashboard-welcome .welcome-kicker { display:block; font-size:10px; font-weight:650; color:#587cac; letter-spacing:.04em; margin-bottom:12px; }
.dashboard-welcome h2 { font-size:26px; font-weight:750; letter-spacing:-.8px; line-height:1.3; margin:0 0 12px; overflow-wrap:anywhere; }
.dashboard-welcome h2 span { color:var(--blue); }
.dashboard-welcome p { font-size:12px; line-height:1.9; color:#6e85a7; margin:0 0 18px; max-width:365px; }
.dashboard-welcome .button { position:relative; z-index:1; font-size:11px; min-height:34px; }
.dashboard-art { position:absolute; width:210px; height:190px; right:6px; bottom:5px; opacity:.9; }
.dashboard-balance { border:1px solid var(--line); background:white; border-radius:15px; padding:24px; display:flex; flex-direction:column; min-width:0; }
.dashboard-balance > span { color:var(--muted); font-size:12px; }
.dashboard-balance > strong { display:block; font-size:30px; letter-spacing:-1px; margin:23px 0 10px; overflow-wrap:anywhere; }
.dashboard-balance p { font-size:11px; color:var(--muted); line-height:1.8; margin-bottom:20px; }
.dashboard-balance > a { margin-top:auto; display:flex; justify-content:space-between; border-top:1px dashed var(--line); padding-top:15px; font-size:11px; color:var(--blue); font-weight:600; }
.metrics-grid,.partner-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0 0 24px; }
.metric-card { padding:21px; }
.metric-top { font-size:11px; color:var(--muted); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.metric-card > strong { display:block; font-size:28px; letter-spacing:-.8px; line-height:1.3; margin:18px 0 6px; overflow-wrap:anywhere; }
.metric-icon.blue,.metric-icon.purple,.metric-icon.green,.metric-icon.orange { background:#edf4ff; color:#5089e9; width:30px; height:30px; border-radius:8px; font-size:16px; }
.metric-caption { margin:0; font-size:10px; color:var(--muted); line-height:1.7; }
.metric-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.bottom-panels { gap:22px; margin:24px 0; }
.company-overview-panel { margin:24px 0; }
.company-analytics-grid { display:grid; grid-template-columns:minmax(0,2.05fr) minmax(250px,1fr); gap:22px; margin:24px 0; align-items:start; }
.company-analytics-grid > .panel { height:100%; }
.company-analytics-grid .company-leader { flex-wrap:wrap; }
.company-analytics-grid .company-leader > span:last-child { flex-basis:100%; margin-left:38px; }
.dashboard-content > .panel { margin-bottom:24px; }
.panel { padding:24px; }
.panel-heading { padding:0; margin-bottom:19px; }
.company-leader { border-bottom:1px solid #f0f3f7; padding:16px 0; gap:12px; }
.company-leader > strong { font-size:12px; font-weight:600; }
.company-leader > span,.company-leader small { font-size:11px; color:var(--muted); }
.company-rank { border-radius:8px; background:#edf4ff; color:var(--blue); }
.progress-track { background:#edf2fa; height:6px; border-radius:6px; }
.progress-track i { background:var(--blue); border-radius:6px; }
.activity-item { border-bottom-color:#f0f3f7; }
.company-line-chart { display:block; width:100%; height:auto; max-height:330px; }
.company-chart-values { font-size:11px; color:var(--muted); margin-top:14px; }
.company-chart-values summary { cursor:pointer; padding:6px 0; }
.company-chart-values table { width:100%; font-size:11px; border-collapse:collapse; }
.company-chart-values th,.company-chart-values td { padding:9px; text-align:left; border-bottom:1px solid var(--line); }
.partner-heading { margin-bottom:25px; }
.partner-stat { display:block; padding:20px; position:relative; }
.partner-stat-icon.green,.partner-stat-icon.blue,.partner-stat-icon.amber,.partner-stat-icon.orange { position:absolute; top:17px; right:17px; width:29px; height:29px; background:#edf4ff; color:#5089e9; border-radius:8px; }
.partner-stat-icon svg { width:17px!important; height:17px!important; }
.partner-stat h2 { padding-right:32px; font-size:11px; font-weight:500; margin:0 0 19px; min-height:26px; }
.partner-stat strong { font-size:27px; letter-spacing:-.8px; }
.partner-stat p { font-size:10px; line-height:1.7; margin:8px 0 0; }
.partner-content-grid { gap:22px; }
.partner-column { gap:22px; }
.partner-panel { padding:24px; }
.partner-actions a { padding:13px; border:0; background:#f8faff; border-radius:9px; }
.partner-actions a > svg { color:#729bda; }
.partner-balance { background:#f4f8ff; border:1px solid #eaf0fa; }
.partner-status { border-radius:6px; }
.partner-chart svg text { font-family:inherit; }
.auth-page { background:var(--soft); }
.auth-aside { background:linear-gradient(135deg,#e6efff,#f2f7ff); color:var(--ink); border:1px solid #e2ebfb; }
.auth-aside h1 { font-size:38px; letter-spacing:-1.5px; }
.auth-aside > p,.auth-quote p { color:#6780a5; }
.auth-aside .eyebrow { color:var(--blue); }
.auth-aside:after { border-color:#b9d0f455; box-shadow:0 0 0 32px #aac9f310,0 0 0 65px #aac9f30a; }
.auth-quote { border-top-color:#d7e3f7; }
.auth-quote > span { color:#8db5ed; }
.auth-card { border-radius:16px; box-shadow:0 8px 32px #30446605; padding:36px; }
.auth-card-heading h2 { letter-spacing:-.8px; }
body[data-page=home] { background:#fff; }
body[data-page=home] .site-header { border-bottom:1px solid #f0f3f7; }
body[data-page=home] .hero { padding-top:50px; }
body[data-page=home] .dashboard-card { box-shadow:0 16px 50px #365b9e0e; border-color:var(--line); }
body[data-page=home] .hero-visual:before { background:#f3f7ff; }
body[data-page=home] .section-soft { background:var(--soft); }
body[data-page=home] .step-card { box-shadow:0 4px 18px #30446603; }
.home-account-panel,.notifications-panel { border-color:var(--line); box-shadow:0 16px 50px #243c6515; }
.error-number { border-color:#e4ecf9; background:#edf4ff; color:var(--blue); border-radius:16px; }
.error-button-primary { background:var(--blue); }
.error-header-link,.error-button-secondary { border-color:#dce5ef; border-radius:8px; }
@media(max-width:1200px) { .metrics-grid,.partner-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .company-analytics-grid { grid-template-columns:1fr; } .dashboard-art { opacity:.45; right:-35px; } .dashboard-welcome-copy { max-width:85%; } }
@media(max-width:850px) { .dashboard-welcome-grid { grid-template-columns:1fr; } .dashboard-balance { padding:21px; } .dashboard-balance > strong { margin-top:15px; } .dashboard-art { right:15px; opacity:.6; } .dashboard-welcome-copy { max-width:75%; } .portal-title,.partner-heading h1,.account-heading h1,.dashboard-header h1 { font-size:27px; } .portal-grid,.bottom-panels { grid-template-columns:1fr; } }
@media(max-width:550px) { .portal-panel,.portal-card,.account-panel,.partner-panel,.panel { padding:19px; } .dashboard-welcome { padding:23px; min-height:225px; } .dashboard-welcome h2 { font-size:24px; } .dashboard-welcome-copy { max-width:100%; } .dashboard-art { opacity:.2; right:-45px; } .metrics-grid,.partner-metrics { gap:12px; } .metric-card,.partner-stat { padding:16px; } .metric-card > strong,.partner-stat strong { font-size:23px; } .metric-top { font-size:10px; } .partner-stat-icon { display:none; } .partner-stat h2 { padding-right:0; } .account-verification { flex-wrap:wrap; } .auth-card { padding:26px; } .panel-heading { flex-wrap:wrap; gap:10px; } }
@media(max-width:350px) { .metrics-grid,.partner-metrics { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
