:root{--bg:#f7f4ee;--bg-dark:#0f2f67;--surface:#eee9de;--border:#d4cebf;--text-primary:#1a1a18;--text-secondary:#5a5850;--accent:#53ab77;--accent-hover:#3d8a5c;--accent-light:#eaf5ee;--accent-navy:#0f2f67;--accent-navy-hover:#0a2050;--error:#b91c1c;--success:#53ab77;--font-serif:"Instrument Serif", serif;--font-sans:"Inter", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f4ee}body{color:var(--text-primary);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:400;line-height:1.7}.page-container{max-width:720px;margin:0 auto;padding:0 24px}.section{padding:80px 0}.display-heading{letter-spacing:-.02em;font-size:48px;font-weight:300;line-height:1.15}.section-heading{font-size:28px;font-weight:600;line-height:1.3;font-family:var(--font-sans)}.label-text{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:13px;font-weight:500}input[type=text],input[type=email],input[type=password]{border:1px solid var(--border);background:var(--surface);width:100%;height:48px;color:var(--text-primary);border-radius:6px;outline:none;padding:0 16px;font-family:Inter,sans-serif;font-size:16px;transition:border-color .15s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus{border-color:#0f2f67;outline:none;box-shadow:0 0 0 3px #0f2f6726}input::placeholder{color:var(--text-secondary)}.btn-primary{color:#fff;letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:#0f2f67;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 32px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn-primary:hover{background:#0a2050}.btn-primary:active{background:#071840}.btn-primary:disabled{opacity:.5;cursor:not-allowed;background:#0f2f67}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field-error{color:var(--error);margin-top:4px;font-size:13px}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:13px;font-weight:500}.rep-cards{grid-template-columns:1fr 1fr;gap:24px;display:grid}.rep-card{background:var(--accent-light);border:1px solid var(--border);border-radius:8px;padding:24px}.rep-card.warning{border-left-color:#d97706}.rep-card .chamber-label{text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:11px;font-weight:500}.rep-card .rep-name{margin-bottom:4px;font-size:18px;font-weight:500}.rep-card .rep-meta{color:var(--text-secondary);font-size:13px}.letter-preview{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;padding:24px;font-family:Georgia,serif;font-size:15px;line-height:1.8}@media (width<=640px){.display-heading{font-size:32px}.section-heading{font-size:22px}.section{padding:48px 0}.rep-cards{grid-template-columns:1fr}.btn-primary{width:100%}}.legislator-tables{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (width<=640px){.legislator-tables{grid-template-columns:1fr}}.admin-container{max-width:960px;margin:0 auto;padding:40px 24px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:12px 16px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);padding:12px 16px}.admin-table tr:hover td{background:var(--surface)}.sync-section{margin-top:48px;padding-top:48px}.diff-summary{flex-wrap:wrap;gap:16px;margin-top:16px;font-size:14px;display:flex}.diff-detail{background:var(--surface);border-radius:8px;margin-top:16px;padding:16px;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.6}.diff-detail .added{color:var(--success)}.diff-detail .removed{color:var(--error)}.diff-detail .updated{color:#9333ea}.pagination{color:var(--text-secondary);align-items:center;gap:16px;margin-top:24px;font-size:14px;display:flex}.pagination button{border:1px solid var(--border);background:var(--bg);cursor:pointer;height:36px;color:var(--text-primary);border-radius:6px;padding:0 16px;font-size:13px;font-weight:500}.pagination button:disabled{opacity:.4;cursor:default}.badge{background:var(--accent-light);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:500;display:inline-block}.back-link{color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;padding:8px 0}.back-link:hover{color:var(--text-primary)}.hero-wrapper{width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.hero-navy{background:var(--bg-dark);text-align:center;clip-path:polygon(0 0,100% 0,100% 85%,0 100%);padding:100px 24px 120px}.hero-navy h1{font-family:var(--font-serif);color:#fff;max-width:720px;margin:0 auto 24px;font-size:64px;font-weight:400;line-height:1.15}.hero-navy p{font-family:var(--font-sans);color:#fff;max-width:540px;margin:0 auto;font-size:18px;font-weight:600;line-height:1.6}.hero-cta{text-align:center;padding:32px 24px 48px}@media (width<=640px){.hero-navy{clip-path:polygon(0 0,100% 0,100% 90%,0 100%);padding:64px 24px 80px}.hero-navy h1{font-size:54px}.hero-navy p{font-size:16px}}.success-heading{color:#0f2f67;font-family:Instrument Serif,serif;font-size:46px}@media (width<=640px){.success-heading{font-size:36px}.email-tip{font-size:11px}}
