*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;background:#f5f5f5;font-family:Segoe UI,system-ui,sans-serif}.container{max-width:900px;margin:0 auto;padding:0 16px}header{color:#fff;background:#1a237e;margin-bottom:32px;padding:16px 0}header .container{align-items:center;gap:12px;display:flex}header h1{font-size:1.4rem;font-weight:700}header p{opacity:.8;margin-top:2px;font-size:.85rem}.home-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014}.home-card h2{color:#1a237e;margin-bottom:8px;font-size:1.2rem}.home-card p{color:#555;margin-bottom:24px;font-size:.95rem}.select-wrapper{position:relative}.select-wrapper select{appearance:none;cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:8px;width:100%;padding:12px 40px 12px 16px;font-size:1rem;transition:border-color .2s}.select-wrapper select:focus{border-color:#1a237e;outline:none}.select-wrapper:after{content:"▾";pointer-events:none;color:#888;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.spinner-wrap{flex-direction:column;align-items:center;gap:16px;padding:60px 0;display:flex}.spinner{border:4px solid #e0e0e0;border-top-color:#1a237e;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-wrap p{color:#666;font-size:.9rem}.back-btn{cursor:pointer;color:#1a237e;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:20px;padding:0;font-size:.9rem;display:flex}.back-btn:hover{text-decoration:underline}.page-title{margin-bottom:4px;font-size:1.3rem;font-weight:700}.page-sub{color:#666;margin-bottom:24px;font-size:.9rem}.candidate-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.candidate-card{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:10px;padding:20px;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 4px #00000014}.candidate-card:hover{border-color:#1a237e;transform:translateY(-2px);box-shadow:0 4px 14px #0000001f}.candidate-card .name{margin-bottom:6px;font-size:1rem;font-weight:700}.candidate-card .party{color:#1a237e;background:#e8eaf6;border-radius:20px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.profile-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014}.profile-name{margin-bottom:4px;font-size:1.6rem;font-weight:800}.profile-party{color:#fff;background:#1a237e;border-radius:20px;margin-bottom:20px;padding:4px 14px;font-size:.85rem;font-weight:600;display:inline-block}.summary-box{color:#1b5e20;background:#e8f5e9;border-left:4px solid #2e7d32;border-radius:0 8px 8px 0;margin-bottom:28px;padding:14px 16px;font-size:.95rem;line-height:1.6}.info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.info-item label{text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.info-item span{font-size:.95rem;font-weight:500}.section-title{border-bottom:2px solid #e0e0e0;margin-bottom:14px;padding-bottom:8px;font-size:1rem;font-weight:700}.criminal-none{color:#2e7d32;background:#e8f5e9;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600}.criminal-has{color:#c62828;background:#ffebee;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600}.criminal-detail{color:#e65100;background:#fff3e0;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.85rem}.assets-row{flex-wrap:wrap;gap:16px;margin-bottom:28px;display:flex}.asset-box{text-align:center;border-radius:10px;flex:1;min-width:160px;padding:16px}.asset-box.assets{background:#e3f2fd}.asset-box.liab{background:#fce4ec}.asset-box label{text-transform:uppercase;letter-spacing:.05em;color:#555;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.asset-box .amount{font-size:1.3rem;font-weight:800}.asset-box.assets .amount{color:#1565c0}.asset-box.liab .amount{color:#c62828}.mla-tag{color:#e65100;background:#fff3e0;border-radius:20px;margin:4px 4px 4px 0;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block}.error-box{color:#e65100;background:#fff3e0;border-left:4px solid #ff9800;border-radius:0 8px 8px 0;padding:16px}
