*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f0f2f5;color:#333}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#b71c1c,#0d47a1)}.auth-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;text-align:center}.auth-logo{font-size:1.8rem;font-weight:800;color:#d32f2f;margin-bottom:.5rem}.auth-tagline{color:#666;font-size:.9rem;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem;text-align:left}.auth-form input{padding:.85rem 1rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s;outline:none}.auth-form input:focus{border-color:#d32f2f}.auth-form button{padding:.85rem;background:#d32f2f;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s;margin-top:.5rem}.auth-form button:hover{background:#b71c1c}.auth-form button:disabled{background:#ccc;cursor:not-allowed}.error-msg{background:#ffebee;color:#d32f2f;padding:.75rem;border-radius:4px;font-size:.9rem}.auth-switch{margin-top:1.5rem;color:#666;font-size:.9rem}.link{color:#d32f2f;cursor:pointer;font-weight:600;text-decoration:underline}.dashboard{min-height:100vh;background:#f0f2f5}.dash-header{display:flex;align-items:center;justify-content:space-between;background:#b71c1c;color:#fff;padding:1rem 2rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0003}.dash-logo{font-size:1.4rem;font-weight:800;letter-spacing:-.5px}.dash-right{display:flex;align-items:center;gap:1rem}.tier-badge{padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;color:#fff}.logout-btn{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.county-bar{display:flex;gap:.5rem;padding:1rem 2rem;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto}.county-tab{padding:.6rem 1.2rem;border:2px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;white-space:nowrap;transition:all .2s}.county-tab:hover{border-color:#d32f2f;color:#d32f2f}.county-tab.active{background:#d32f2f;color:#fff;border-color:#d32f2f}.tabs{display:flex;gap:0;padding:1rem 2rem 0}.tab{padding:.75rem 1.5rem;border:none;background:#fff;border-radius:8px 8px 0 0;cursor:pointer;font-weight:600;font-size:.95rem;color:#666;transition:all .2s;border-bottom:3px solid transparent}.tab:hover{color:#d32f2f}.tab.active{color:#d32f2f;border-bottom-color:#d32f2f;background:#fff}.tab-content{margin:0 2rem 2rem;background:#fff;border-radius:0 8px 8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.filter-bar{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#f9f9f9;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center}.filter-bar select,.filter-bar input{padding:.6rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:130px;outline:none}.filter-bar select:focus,.filter-bar input:focus{border-color:#d32f2f}.search-btn{padding:.6rem 1.2rem;background:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.export-btn{padding:.6rem 1.2rem;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.arrests-table{width:100%;border-collapse:collapse;font-size:.9rem}.arrests-table thead{background:#f5f5f5}.arrests-table th{padding:.85rem 1rem;text-align:left;font-weight:700;color:#555;border-bottom:2px solid #e0e0e0}.arrests-table td{padding:.85rem 1rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.arrests-table tr:hover{background:#fafafa}.arrests-table .row-felony{border-left:3px solid #d32f2f}.charge-cell{max-width:200px;font-size:.85rem}.badge{display:inline-block;padding:.25rem .6rem;border-radius:20px;font-size:.75rem;font-weight:700;background:#e8f4f8;color:#06c}.badge-dui{background:#fff3cd;color:#856404}.badge-drug{background:#d4edda;color:#155724}.badge-assault{background:#f8d7da;color:#721c24}.badge-property{background:#d1ecf1;color:#0c5460}.badge-fraud{background:#e2e3e5;color:#383d41}.badge-violent{background:#f8d7da;color:#721c24}.severity{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.severity-felony{background:#ffebee;color:#d32f2f}.severity-misdemeanor{background:#fff8e1;color:#f57f17}.severity-unknown{background:#f5f5f5;color:#999}.bail-amount{font-weight:700;color:#d32f2f}.loading{padding:3rem;text-align:center;color:#666;font-size:1.1rem}.empty-state{padding:3rem;text-align:center;color:#999;font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;padding:1.5rem;border-bottom:1px solid #e0e0e0}.stat-card{background:#f9f9f9;padding:1.5rem;border-radius:8px;text-align:center;border-top:3px solid #d32f2f}.stat-num{font-size:2rem;font-weight:800;color:#d32f2f;margin-bottom:.5rem}.stat-label{font-size:.85rem;color:#666;font-weight:600}.chart-card{padding:1.5rem}.chart-card h3{margin-bottom:1rem;color:#333}.alerts-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e0e0e0}.alerts-header h2{font-size:1.1rem}.new-alert-btn{padding:.6rem 1.2rem;background:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.alerts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1.5rem}.alert-card{background:#f9f9f9;border:1px solid #e0e0e0;border-left:4px solid #d32f2f;border-radius:8px;padding:1.2rem}.alert-card h3{color:#d32f2f;margin-bottom:.75rem;font-size:1rem}.alert-card p{font-size:.875rem;color:#555;margin-bottom:.4rem}.alert-channels{margin-top:.75rem;display:flex;gap:.5rem}.channel-badge{background:#e8f4f8;color:#06c;padding:.25rem .6rem;border-radius:20px;font-size:.75rem;font-weight:700}.new-alert-form{margin:1.5rem;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.new-alert-form h3{margin-bottom:1.5rem;color:#333}.form-row{margin-bottom:1.25rem}.form-row label{display:block;font-weight:600;color:#555;margin-bottom:.5rem;font-size:.875rem}.form-row input,.form-row select{padding:.7rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;width:100%;outline:none}.form-row input:focus,.form-row select:focus{border-color:#d32f2f}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-2>div{margin-bottom:0}.charge-toggles{display:flex;flex-wrap:wrap;gap:.5rem}.charge-toggle{padding:.4rem .9rem;border:2px solid #ddd;background:#fff;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.charge-toggle:hover{border-color:#d32f2f;color:#d32f2f}.charge-toggle.active{background:#d32f2f;color:#fff;border-color:#d32f2f}.notification-toggles{display:flex;gap:1.5rem}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.save-alert-btn{width:100%;padding:.85rem;background:#06c;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:.5rem;transition:background .2s}.save-alert-btn:hover{background:#049}.save-alert-btn:disabled{background:#ccc}.pricing-page{min-height:100vh;background:linear-gradient(135deg,#b71c1c,#0d47a1);padding:3rem 1rem}.pricing-header{text-align:center;color:#fff;margin-bottom:3rem}.pricing-header h1{font-size:2.5rem;margin-bottom:.5rem}.pricing-header h2{font-size:1.5rem;margin-bottom:1rem;font-weight:400}.pricing-header p{font-size:1rem;opacity:.85}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto}.pricing-card{background:#fff;border-radius:12px;padding:2rem;position:relative;box-shadow:0 4px 20px #00000026;transition:transform .2s}.pricing-card:hover{transform:translateY(-4px)}.pricing-card.popular{border:3px solid #d39e00}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#d39e00;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700}.pricing-card h3{font-size:1.4rem;margin-bottom:.25rem}.plan-target{font-size:.8rem;color:#999;margin-bottom:1rem}.plan-price{margin-bottom:.5rem}.price-amount{font-size:2.5rem;font-weight:800;color:#333}.price-period{font-size:1rem;color:#666}.plan-counties{font-weight:700;font-size:1rem;margin-bottom:1.5rem}.plan-features{list-style:none;margin-bottom:2rem}.plan-features li{padding:.4rem 0;font-size:.875rem;color:#555;border-bottom:1px solid #f0f0f0}.plan-btn{width:100%;padding:.85rem;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.plan-btn:hover{opacity:.9}.pricing-footer{text-align:center;color:#fff;margin-top:3rem}.pricing-footer p{margin-bottom:1rem;font-size:1rem}.back-btn{background:#fff3;border:2px solid white;color:#fff;padding:.75rem 2rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600}
