:root{--brand:#ff4f36;--ink:#18202b;--soft:#f5f6f8}body{background:#fafafa;color:var(--ink)}.navbar-brand span,.hero h1 span{color:var(--brand)}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#df3e29;--bs-btn-hover-border-color:#df3e29}.hero{max-width:850px;margin:auto}.hero .lead{max-width:620px}.auth-card{max-width:430px}.campaign-card{border:1px solid #e7e8eb;transition:.2s}.campaign-card:hover{transform:translateY(-2px);box-shadow:0 .5rem 1rem rgba(20,30,40,.08)}.empty{border:2px dashed #ddd;border-radius:1rem}.status{display:inline-block;padding:.3rem .6rem;border-radius:2rem;background:#eef0f3;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.status-published{background:#ddf7e9;color:#167245}.status-drawn{background:#e7e3ff;color:#5241a3}.metric{background:#fff;border:1px solid #e7e8eb;border-radius:.75rem;padding:1rem}.metric small{display:block;color:#6c757d}.metric strong{font-size:2rem}.tenant-logo{max-height:70px;max-width:220px;margin-bottom:1.5rem}.success-icon,.seal{width:70px;height:70px;border-radius:50%;display:inline-grid;place-items:center;background:#ddf7e9;color:#14804a;font-size:2rem;font-weight:700}.certificate{max-width:900px;margin:auto;background:#fff;border:1px solid #e4e6e9;border-radius:1rem;padding:2rem;box-shadow:0 1rem 3rem rgba(20,30,40,.06)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--brand)}.technical code{word-break:break-all}.legal-page{max-width:860px;background:#fff;border:1px solid #e4e6e9;border-radius:1rem;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 1rem 3rem rgba(20,30,40,.05);line-height:1.75}.legal-page h2{font-size:1.25rem;margin-top:2.2rem}.legal-page li{margin-bottom:.45rem}.legal-links{display:flex;justify-content:center;gap:.55rem;font-size:.8rem}.legal-links a{color:#6c757d}
.nav-logo{display:block;max-width:170px;height:38px;object-fit:contain}.public-campaign{position:relative}.public-hero{max-width:760px;margin-inline:auto}.campaign-kicker{display:block;margin-bottom:.65rem;color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:.18em}.campaign-dates{display:inline-flex;padding:.55rem .9rem;border:1px solid color-mix(in srgb,var(--brand) 22%,#dee2e6);border-radius:999px;background:color-mix(in srgb,var(--brand) 7%,white);font-size:.86rem}.public-form{overflow:hidden;border:0;border-top:5px solid var(--brand);border-radius:1rem}.public-form .form-control,.public-form .form-select,.public-form .input-group-text{min-height:48px}.public-form .btn-primary{min-height:54px;font-weight:700}.preview-banner{position:sticky;top:.5rem;z-index:10;max-width:760px;margin-inline:auto}.branding-controls{top:1.5rem}.branding-preview{--preview-brand:var(--brand);--preview-ink:var(--ink);overflow:hidden;min-height:650px;border:1px solid #dde1e6;border-radius:1rem;background:#f7f8fa;box-shadow:0 1rem 3rem rgba(20,30,40,.08);color:var(--preview-ink)}.preview-nav{display:flex;align-items:center;height:72px;padding:0 2rem;border-bottom:1px solid #e5e7eb;background:#fff}.preview-logo img{display:block;max-width:160px;height:42px;object-fit:contain}.preview-logo span{font-size:1.15rem;font-weight:800}.preview-body{max-width:570px;margin:0 auto;padding:3.5rem 2rem;text-align:center}.preview-body h3{font-size:clamp(1.8rem,4vw,2.7rem);font-weight:800}.preview-body p{color:#667085}.preview-form{margin-top:2.2rem;padding:2rem;border-top:4px solid var(--preview-brand);border-radius:.85rem;background:#fff;box-shadow:0 .75rem 2rem rgba(20,30,40,.08)}.preview-field{height:43px;margin-bottom:1rem;border:1px solid #d9dde3;border-radius:.45rem;background:#fff}.preview-field.short{width:62%}.preview-button{margin-top:1.5rem;padding:.8rem;border-radius:.45rem;background:var(--preview-brand);color:#fff;font-weight:700}.branding-preview .campaign-kicker{color:var(--preview-brand)}@media(max-width:767.98px){main.container{padding-top:2rem!important}.public-hero .display-5{font-size:2.25rem}.branding-preview{min-height:560px}.preview-body{padding:2.5rem 1.25rem}.preview-nav{padding-inline:1.25rem}.navbar .container{gap:.75rem}.navbar .d-flex{flex-wrap:wrap;justify-content:flex-end}}
.color-code-control{position:relative;display:flex;align-items:center}.color-sample{position:absolute;left:.75rem;width:1.65rem;height:1.65rem;border:1px solid rgba(0,0,0,.15);border-radius:.4rem;background:#fff;box-shadow:inset 0 0 0 2px #fff}.color-prefix{position:absolute;left:3rem;z-index:2;color:#667085;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.color-code{padding-left:4rem;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.08em}.color-palette{display:flex;flex-wrap:wrap;gap:.55rem}.color-swatch{width:2.15rem;height:2.15rem;padding:.2rem;border:2px solid transparent;border-radius:.55rem;background:#fff;box-shadow:0 0 0 1px #d9dde3;transition:transform .15s,border-color .15s}.color-swatch span{display:block;width:100%;height:100%;border-radius:.3rem}.color-swatch:hover{transform:translateY(-2px)}.color-swatch:focus-visible,.color-swatch.selected{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}
.settings-card{border:1px solid #e2e6ea;transition:transform .18s,box-shadow .18s,border-color .18s}.settings-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand) 35%,#e2e6ea);box-shadow:0 .8rem 2rem rgba(20,30,40,.08)}.settings-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.75rem;background:color-mix(in srgb,var(--brand) 10%,white);color:var(--brand);font-weight:800}
.participant-reason{max-width:260px}.status-eligible,.status-overridden{background:#ddf7e9;color:#167245}.status-ineligible{background:#fde7e7;color:#a12626}.status-pending{background:#fff4d6;color:#7a5710}
.domain-instructions{padding:1rem;border:1px dashed #cbd1d8;border-radius:.75rem;background:#f8f9fa}.domain-instructions code{display:block;overflow-wrap:anywhere;color:var(--ink)}
