:root{--bg-main: #f3f5f8;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-input: #f8fafc;--border-color: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .15);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--color-dmk: #dc2626;--color-aidmk: #0d9488;--color-bjp: #ea580c;--color-congress: #0284c7;--color-others: #7c3aed;--status-convicted: #dc2626;--status-acquitted: #16a34a;--status-trial_ongoing: #d97706;--status-charges_filed: #ca8a04;--status-arrested: #ea580c;--status-fir_registered: #4f46e5;--status-allegation: #2563eb;--accent-blue: #2563eb;--accent-blue-hover: #1d4ed8;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -1px rgba(15, 23, 42, .03);--shadow-lg: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 10px 10px -5px rgba(15, 23, 42, .03)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-body);line-height:1.5;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(220,38,38,.02) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(37,99,235,.02) 0%,transparent 40%);background-attachment:fixed}a{color:inherit;text-decoration:none;transition:var(--transition-fast)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-family:var(--font-heading);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition-normal);border:none}.btn-primary{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-blue-hover) 100%);color:#fff;box-shadow:0 4px 12px #2563eb33}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb59}.btn-secondary{background-color:#fff;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:.85rem;border-radius:6px}.btn-send{background-color:var(--accent-blue);color:#fff;border-radius:0 6px 6px 0}.btn-send:hover{background-color:var(--accent-blue-hover)}.main-header{background-color:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-container{max-width:1300px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo-area{display:flex;align-items:center;gap:12px}.logo-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--color-dmk) 0%,var(--accent-blue) 100%);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#fff;box-shadow:0 4px 10px #dc262626}.logo-text h1{font-family:var(--font-heading);font-size:1.35rem;font-weight:800;letter-spacing:-.5px;line-height:1.1;color:var(--text-primary)}.logo-text h1 span{background:linear-gradient(135deg,#f97316 0%,var(--color-dmk) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-tagline{font-size:.75rem;color:var(--text-secondary);display:block}.search-wrapper{flex:1;max-width:500px;position:relative}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.95rem;transition:var(--transition-fast)}#crime-search{width:100%;background-color:#fff;border:1px solid var(--border-color);padding:10px 16px 10px 42px;border-radius:30px;color:var(--text-primary);font-size:.9rem;transition:var(--transition-normal)}#crime-search:focus{outline:none;border-color:#2563eb66;box-shadow:0 0 10px #2563eb1a}#crime-search:focus+.search-icon{color:var(--accent-blue)}.clear-search-btn{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer}.clear-search-btn:hover{color:var(--text-primary)}.main-content{max-width:1300px;margin:0 auto;padding:24px}.hero-section{position:relative;padding:30px 40px;background-color:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);margin-bottom:24px;overflow:hidden;box-shadow:var(--shadow-sm)}.hero-bg-glow{position:absolute;top:-50px;right:-50px;width:250px;height:250px;background:radial-gradient(circle,rgba(37,99,235,.04) 0%,transparent 70%);pointer-events:none}.announcement-pill{display:inline-flex;align-items:center;gap:8px;background-color:#f1f5f9;border:1px solid var(--border-color);padding:4px 12px;border-radius:30px;font-size:.8rem;margin-bottom:16px}.pill-badge{background-color:var(--accent-blue);color:#fff;padding:1px 6px;border-radius:4px;font-weight:700;font-size:.7rem;text-transform:uppercase}.pill-text{color:var(--text-secondary)}.hero-content h2{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;letter-spacing:-.5px;margin-bottom:8px;line-height:1.2;color:var(--text-primary)}.hero-content p{color:var(--text-secondary);max-width:850px;font-size:.98rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px}.stat-card{background-color:#fff;border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;transition:var(--transition-normal);cursor:pointer;box-shadow:var(--shadow-sm)}.stat-card:hover{transform:translateY(-2px);background-color:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.stat-info{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-family:var(--font-heading);font-size:1.7rem;font-weight:700;margin-top:4px}.stat-icon{font-size:1.6rem;color:var(--text-muted);opacity:.6}.text-convicted{color:var(--status-convicted)}.text-acquitted{color:var(--status-acquitted)}.text-trial_ongoing{color:var(--status-trial_ongoing)}.text-charges_filed{color:var(--status-charges_filed)}.text-arrested{color:var(--status-arrested)}.text-fir_registered{color:var(--status-fir_registered)}.text-allegation{color:var(--status-allegation)}.text-visits{color:#6366f1}.icon-convicted{color:#dc26261a}.icon-acquitted{color:#16a34a1a}.icon-trial_ongoing{color:#d977061a}.icon-charges_filed{color:#ca8a041a}.icon-arrested{color:#ea580c1a}.icon-fir_registered{color:#4f46e51a}.icon-allegation{color:#2563eb1a}.icon-visits{color:#6366f11a}.database-section{margin-bottom:30px}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.filter-tabs{display:flex;gap:6px;background-color:#e2e8f0;padding:4px;border-radius:10px}.filter-tab{background:none;border:none;color:var(--text-secondary);padding:8px 16px;border-radius:8px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:var(--transition-fast);font-size:.9rem;display:inline-flex;align-items:center;gap:6px}.filter-tab:hover{color:var(--text-primary);background-color:#fff6}.filter-tab.active{color:var(--text-primary);background-color:#fff;box-shadow:var(--shadow-sm)}.color-dot{width:8px;height:8px;border-radius:50%}.dmk-dot{background-color:var(--color-dmk)}.aidmk-dot{background-color:var(--color-aidmk)}.bjp-dot{background-color:var(--color-bjp)}.congress-dot{background-color:var(--color-congress)}.sort-selector{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:.9rem}.sort-selector select{background-color:#fff;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 12px;border-radius:6px;outline:none;cursor:pointer}.party-block{background-color:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);margin-bottom:24px;overflow:hidden;box-shadow:var(--shadow-md)}.party-header-banner{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);color:#fff}.party-dmk-block .party-header-banner{background:linear-gradient(135deg,var(--color-dmk) 0%,#111827 100%)}.party-aidmk-block .party-header-banner{background:linear-gradient(135deg,var(--color-aidmk) 0%,#064e3b 100%)}.party-bjp-block .party-header-banner{background:linear-gradient(135deg,var(--color-bjp) 0%,#78350f 100%)}.party-congress-block .party-header-banner{background:linear-gradient(135deg,var(--color-congress) 0%,#032b49 100%)}.party-others-block .party-header-banner{background:linear-gradient(135deg,var(--color-others) 0%,#311084 100%)}.party-banner-title{display:flex;align-items:center;gap:12px}.party-banner-title h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff}.party-stats-pill{background-color:#fff3;border:1px solid rgba(255,255,255,.25);padding:2px 10px;border-radius:12px;font-size:.78rem;color:#fff;font-weight:600}.party-banner-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background-color:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}.btn-icon:hover{color:#fff;background-color:#ffffff40;border-color:#fff6}.crime-rows-list{display:flex;flex-direction:column;background-color:#fff}.crime-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;padding:14px 20px;border-bottom:1px solid #f1f5f9;gap:16px;transition:var(--transition-fast);cursor:pointer}.crime-row:last-child{border-bottom:none}.crime-row:hover{background-color:var(--bg-card-hover)}.status-badge{padding:6px 10px;border-radius:4px;font-size:.72rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.5px;width:95px;text-align:center;color:#fff;border:none}.badge-status-convicted{background-color:var(--status-convicted)}.badge-status-acquitted{background-color:var(--status-acquitted)}.badge-status-trial_ongoing{background-color:var(--status-trial_ongoing)}.badge-status-charges_filed{background-color:var(--status-charges_filed)}.badge-status-arrested{background-color:var(--status-arrested)}.badge-status-fir_registered{background-color:var(--status-fir_registered)}.badge-status-allegation{background-color:var(--status-allegation)}.hero-content p strong{padding:3px 8px;border-radius:4px;font-size:.78rem;color:#fff;font-weight:700;display:inline-block;margin:0 2px}.crime-row.pending-moderation{border-left:3px solid #eab308;background-color:#eab30804}.crime-row-details{display:flex;flex-direction:column;min-width:0}.crime-row-title{font-size:.98rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:var(--transition-fast)}.crime-row:hover .crime-row-title{color:var(--accent-blue)}.crime-row-meta{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:12px;margin-top:4px;flex-wrap:wrap}.crime-row-meta span{display:inline-flex;align-items:center;gap:4px}.meta-link-type{color:var(--text-secondary)}.crime-row-stats{display:flex;align-items:center;gap:16px;color:var(--text-secondary);font-size:.85rem}.crime-row-stats span{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:var(--transition-fast)}.crime-row-stats span:hover{background-color:#f1f5f9;color:var(--text-primary)}.crime-row-actions{display:flex;align-items:center;gap:8px}.empty-state-row{padding:40px;text-align:center;color:var(--text-muted);font-size:.95rem}.coming-soon-banner{display:flex;align-items:center;gap:20px;background-color:var(--bg-card);border:1px dashed var(--border-color);border-radius:12px;padding:20px 24px;box-shadow:var(--shadow-sm)}.coming-soon-icon{font-size:2.2rem;color:var(--text-muted);opacity:.6}.coming-soon-text h4{font-family:var(--font-heading);font-size:1rem;font-weight:600}.coming-soon-text p{font-size:.85rem;color:var(--text-muted);margin-top:2px}.animate-pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.general-discussion-section{max-width:1300px;margin:0 auto 40px;padding:0 24px}.discussion-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.discussion-header{padding:20px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,rgba(0,0,0,.01) 0%,transparent 100%)}.discussion-header h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:8px}.discussion-header p{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.discussion-tabs{display:flex;background-color:#f1f5f9;border-bottom:1px solid var(--border-color);padding:4px 10px 0;gap:4px}.disc-tab{background:none;border:none;color:var(--text-secondary);padding:10px 16px;font-family:var(--font-heading);font-weight:600;font-size:.85rem;cursor:pointer;border-radius:6px 6px 0 0;transition:var(--transition-fast);border-bottom:2px solid transparent}.disc-tab:hover{color:var(--text-primary);background-color:#00000005}.disc-tab.active{color:var(--text-primary);background-color:var(--bg-card);border-bottom-color:var(--accent-blue)}.discussion-comments-box{display:flex;flex-direction:column;height:350px}.comments-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background-color:#f8fafc}.comment-item{background-color:#fff;border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;align-self:flex-start;max-width:85%;position:relative;animation:slideUp .3s ease;box-shadow:var(--shadow-sm)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.comment-meta{display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:var(--text-muted);margin-bottom:4px;font-weight:600}.comment-author{color:var(--text-secondary)}.comment-text{font-size:.88rem;color:var(--text-primary);word-break:break-word}.comment-input-area{display:flex;padding:14px 20px;background-color:#fff;border-top:1px solid var(--border-color)}.comment-input-area input{flex:1;background-color:#f8fafc;border:1px solid var(--border-color);border-right:none;padding:10px 16px;border-radius:6px 0 0 6px;color:var(--text-primary);font-size:.9rem;outline:none;transition:var(--transition-normal)}.comment-input-area input:focus{border-color:#2563eb66}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:20px}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-box{background-color:#fff;border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:600px;box-shadow:var(--shadow-lg);overflow:hidden;transform:translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.active .modal-box{transform:translateY(0)}.modal-wide{max-width:960px}.modal-header{padding:18px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background-color:#f8fafc}.modal-header h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.close-modal-btn{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;transition:var(--transition-fast)}.close-modal-btn:hover{color:var(--text-primary)}#submit-crime-form{padding:24px;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-group label .required{color:var(--color-dmk)}.form-group input,.form-group select,.form-group textarea{background-color:#f8fafc;border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;transition:var(--transition-normal)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb66;box-shadow:0 0 8px #2563eb1a;background-color:#fff}.form-help{font-size:.75rem;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.status-radio-group{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--border-color);padding:4px;border-radius:8px;background-color:#f1f5f9;width:100%}.status-radio-label{flex:1 1 calc(33.333% - 6px);min-width:115px;display:flex;align-items:center;justify-content:center;padding:8px 4px;border-radius:6px;font-size:.76rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:var(--transition-fast);color:var(--text-secondary)}.status-radio-label input{display:none}.status-radio-label:hover{color:var(--text-primary);background-color:#00000008}.status-radio-label.val-allegation:has(input:checked){background-color:var(--status-allegation)}.status-radio-label.val-allegation input:checked+span{color:#fff}.status-radio-label.val-fir_registered:has(input:checked){background-color:var(--status-fir_registered)}.status-radio-label.val-fir_registered input:checked+span{color:#fff}.status-radio-label.val-arrested:has(input:checked){background-color:var(--status-arrested)}.status-radio-label.val-arrested input:checked+span{color:#fff}.status-radio-label.val-charges_filed:has(input:checked){background-color:var(--status-charges_filed)}.status-radio-label.val-charges_filed input:checked+span{color:#fff}.status-radio-label.val-trial_ongoing:has(input:checked){background-color:var(--status-trial_ongoing)}.status-radio-label.val-trial_ongoing input:checked+span{color:#fff}.status-radio-label.val-convicted:has(input:checked){background-color:var(--status-convicted)}.status-radio-label.val-convicted input:checked+span{color:#fff}.status-radio-label.val-acquitted:has(input:checked){background-color:var(--status-acquitted)}.status-radio-label.val-acquitted input:checked+span{color:#fff}.form-checkbox{display:flex;align-items:flex-start;gap:10px;margin-top:4px}.form-checkbox input{margin-top:4px;cursor:pointer}.form-checkbox label{font-size:.82rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.preview-layout{display:grid;grid-template-columns:1.3fr 1fr;height:calc(85vh - 65px)}.preview-left{padding:24px;border-right:1px solid var(--border-color);overflow-y:auto;display:flex;flex-direction:column;gap:20px;background-color:#fff}.preview-right{padding:24px;display:flex;flex-direction:column;background-color:#f8fafc;height:100%}.preview-party-badge{padding:2px 8px;border-radius:4px;background-color:#e2e8f0;color:var(--text-secondary);font-size:.72rem;font-weight:700;text-transform:uppercase}.preview-status-indicator{display:flex;align-items:center;gap:12px}.preview-date{font-size:.8rem;color:var(--text-muted)}.media-preview-container{background-color:#0f172a;border:1px solid var(--border-color);border-radius:10px;width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.media-preview-container iframe{width:100%;height:100%;border:none}.media-preview-container img{width:100%;height:100%;object-fit:contain}.placeholder-preview{text-align:center;color:#94a3b8}.placeholder-preview i{font-size:3rem;margin-bottom:8px;opacity:.5}.bookmark-preview-card{display:flex;background-color:#f1f5f9;border:1px solid var(--border-color);border-radius:8px;width:100%;height:100%;overflow:hidden}.bookmark-details{flex:1;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}.bookmark-title{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookmark-desc{font-size:.8rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bookmark-domain{font-size:.72rem;color:var(--accent-blue);font-weight:600}.bookmark-icon-block{width:100px;background-color:#00000005;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--border-color);color:var(--text-muted);font-size:2rem}.source-link-card{background-color:#f8fafc;border:1px solid var(--border-color);border-radius:8px;padding:12px 16px}.source-card-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;font-weight:600;display:block;margin-bottom:4px}.source-card-url-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.source-card-url-row a{color:var(--accent-blue);font-size:.88rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;flex:1}.source-card-url-row a:hover{color:var(--accent-blue-hover);text-decoration:underline}.btn-copy-url{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.95rem;padding:4px;transition:var(--transition-fast)}.btn-copy-url:hover{color:var(--text-primary)}.preview-desc-wrapper h4{font-family:var(--font-heading);font-size:.95rem;color:var(--text-secondary);margin-bottom:6px}.preview-desc-wrapper p{font-size:.95rem;color:var(--text-primary);line-height:1.6;white-space:pre-line}.post-comments-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:12px;margin-bottom:12px}.post-comments-header h4{font-family:var(--font-heading);font-size:1rem;display:flex;align-items:center;gap:6px;color:var(--text-primary)}.post-comments-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.post-comments-list .comment-item{align-self:stretch;max-width:100%}.post-comments-list .empty-state-row{padding:40px 10px;font-size:.85rem}.toast{position:fixed;bottom:24px;right:24px;background-color:var(--text-primary);color:#fff;padding:12px 24px;border-radius:8px;box-shadow:var(--shadow-lg);z-index:10000;font-size:.9rem;font-weight:500;transform:translateY(100px);opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.toast.show{transform:translateY(0);opacity:1}.main-footer{background-color:#0f172a;border-top:1px solid var(--border-color);padding:30px 24px;color:#94a3b8;font-size:.82rem;margin-top:40px}.footer-container{max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer-left{flex:1.5;min-width:280px}.footer-left p{margin-top:8px;line-height:1.6}.footer-logo{font-family:var(--font-heading);font-weight:700;color:#fff;font-size:1rem;display:flex;align-items:center;gap:6px}.footer-right{flex:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:16px;min-width:250px}.social-share-group{display:flex;align-items:center;gap:8px}.share-cat-btn{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;padding:4px 10px;border-radius:4px;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.share-cat-btn:hover{color:#fff;border-color:#fff6;background-color:#ffffff26}.footer-copyright{font-size:.75rem;color:#64748b}@media (max-width: 900px){.preview-layout{grid-template-columns:1fr;height:calc(90vh - 60px);overflow-y:auto}.preview-left{border-right:none;border-bottom:1px solid var(--border-color);overflow-y:visible;height:auto}.preview-right{height:auto;min-height:350px}}@media (max-width: 768px){.main-content{padding:12px}.hero-section{padding:16px;margin-bottom:16px;border-radius:12px}.header-container{display:grid;grid-template-areas:"logo actions" "state search";grid-template-columns:auto 1fr;gap:12px;padding:12px 16px;align-items:center}.logo-area{grid-area:logo;display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.logo-icon{flex-shrink:0}.logo-tagline{display:none}.logo-text h1{font-size:1.1rem;white-space:nowrap}.search-wrapper{grid-area:search;max-width:100%;margin-top:4px}.header-actions{grid-area:actions;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-shrink:0}.header-actions .btn{padding:8px 12px;font-size:.82rem;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 520px){.header-actions .btn-text{display:none}.header-actions .btn{padding:8px 10px;width:38px;height:38px;border-radius:50%!important}.header-actions .btn i{margin:0!important;font-size:.95rem}}.hero-content h2{font-size:1.5rem;line-height:1.25}.hero-content p{font-size:.88rem}.filter-bar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:16px}.filter-tabs{overflow-x:auto;white-space:nowrap;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px;display:flex;gap:4px}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:6px 12px;font-size:.82rem}.sort-selector{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:8px;font-size:.82rem}.crime-row{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;grid-template-areas:"badge stats" "details details" "actions actions";gap:12px;padding:16px;border-bottom:1px solid #f1f5f9;align-items:center}.status-badge{grid-area:badge;justify-self:start;width:auto;min-width:90px;padding:4px 8px;font-size:.68rem}.crime-row-details{grid-area:details}.crime-row-title{font-size:.95rem;line-height:1.4}.crime-row-meta{font-size:.78rem;margin-top:6px}.crime-row-stats{grid-area:stats;justify-self:end;align-self:center;margin-top:0}.crime-row-actions{grid-area:actions;display:flex!important;gap:8px;justify-content:flex-end;width:100%;margin-top:4px;border-top:1px solid rgba(0,0,0,.04);padding-top:10px}.crime-row-actions .btn{flex:1;justify-content:center;padding:8px;font-size:.8rem}.form-row{grid-template-columns:1fr;gap:16px}.footer-right{align-items:flex-start}}.db-status-bar{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.db-status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:.78rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.5px;transition:var(--transition-fast)}.db-status-badge i{font-size:.55rem}.db-status-badge.offline{background-color:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.db-status-badge.offline i{color:#94a3b8}.db-status-badge.connecting{background-color:#fef3c7;border:1px solid #fde68a;color:#b45309}.db-status-badge.connecting i{color:#f59e0b;animation:flash 1s infinite alternate}.db-status-badge.online{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.db-status-badge.online i{color:#10b981}@keyframes flash{0%{opacity:.3}to{opacity:1}}.btn-db-config{background:none;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;padding:5px 12px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:var(--transition-fast)}.btn-db-config:hover{background-color:#ffffff26;color:#fff;border-color:#ffffff4d}.modal-intro-text{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.btn-secondary.admin-active{background-color:#16a34a14!important;color:#16a34a!important;border-color:#16a34a40!important}.btn-secondary.admin-active:hover{background-color:#16a34a29!important;border-color:#16a34a73!important}.state-select-wrapper{position:relative;display:inline-flex;align-items:center;background-color:#fff;border:1px solid var(--border-color);border-radius:30px;padding:0 16px;height:40px;font-size:.9rem;transition:var(--transition-normal);gap:8px;box-shadow:var(--shadow-sm)}.state-select-wrapper:hover{border-color:var(--border-hover)}.state-select-wrapper .state-icon{color:var(--color-dmk);font-size:.95rem}#header-state-select{border:none;background:transparent;outline:none;font-weight:600;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.88rem;padding-right:14px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.state-select-wrapper:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;font-size:.8rem}.tmc-dot{background-color:#059669}.shs-dot{background-color:#f97316}.ncp-dot{background-color:#0ea5e9}.aap-dot{background-color:#0284c7}.sp-dot{background-color:#16a34a}.bsp-dot{background-color:#1e40af}.rjd-dot{background-color:#15803d}.jdu-dot{background-color:#16a34a}.ljp-dot{background-color:#3b82f6}.sad-dot{background-color:#1e3a8a}.brs-dot{background-color:#ec4899}.tdp-dot{background-color:#eab308}.jsp-dot{background-color:#ef4444}.aimim-dot{background-color:#065f46}.jds-dot{background-color:#16a34a}.cpim-dot{background-color:#dc2626}.cpi-dot{background-color:#ef4444}.ntk-dot{background-color:#b91c1c}.mns-dot{background-color:#f97316}.bjd-dot{background-color:#0f766e}.jmm-dot{background-color:#15803d}.skm-dot{background-color:#eab308}.sdf-dot{background-color:#3b82f6}.jjp-dot{background-color:#16a34a}.inld-dot{background-color:#15803d}.rlp-dot{background-color:#84cc16}.agp-dot{background-color:#3b82f6}.aiudf-dot{background-color:#15803d}.jknc-dot{background-color:#dc2626}.jkpdp-dot{background-color:#15803d}.npp-dot{background-color:#f59e0b}.npf-dot{background-color:#3b82f6}.ndpp-dot{background-color:#dc2626}.mnf-dot{background-color:#1d4ed8}.zpm-dot{background-color:#eab308}.udp-dot,.ainrc-dot{background-color:#ca8a04}.tipra-dot{background-color:#eab308}.others-dot{background-color:#7c3aed}.party-tmc-block .party-header-banner{background:linear-gradient(135deg,#059669,#064e3b)}.party-shs-block .party-header-banner{background:linear-gradient(135deg,#f97316,#7c2d12)}.party-ncp-block .party-header-banner{background:linear-gradient(135deg,#0ea5e9,#0369a1)}.party-aap-block .party-header-banner{background:linear-gradient(135deg,#0284c7,#0c4a6e)}.party-sp-block .party-header-banner{background:linear-gradient(135deg,#16a34a,#052e16)}.party-bsp-block .party-header-banner{background:linear-gradient(135deg,#1e40af,#1e1b4b)}.party-rjd-block .party-header-banner{background:linear-gradient(135deg,#15803d,#14532d)}.party-jdu-block .party-header-banner{background:linear-gradient(135deg,#16a34a,#14532d)}.party-ljp-block .party-header-banner{background:linear-gradient(135deg,#3b82f6,#172554)}.party-sad-block .party-header-banner{background:linear-gradient(135deg,#1e3a8a,#0f172a)}.party-brs-block .party-header-banner{background:linear-gradient(135deg,#ec4899,#701a75)}.party-tdp-block .party-header-banner{background:linear-gradient(135deg,#eab308,#713f12)}.party-jsp-block .party-header-banner{background:linear-gradient(135deg,#ef4444,#7f1d1d)}.party-aimim-block .party-header-banner{background:linear-gradient(135deg,#065f46,#022c22)}.party-jds-block .party-header-banner{background:linear-gradient(135deg,#16a34a,#14532d)}.party-cpim-block .party-header-banner{background:linear-gradient(135deg,#dc2626,#7f1d1d)}.party-cpi-block .party-header-banner{background:linear-gradient(135deg,#ef4444,#7f1d1d)}.party-ntk-block .party-header-banner{background:linear-gradient(135deg,#b91c1c,#450a0a)}.party-mns-block .party-header-banner{background:linear-gradient(135deg,#f97316,#7c2d12)}.party-bjd-block .party-header-banner{background:linear-gradient(135deg,#0f766e,#115e59)}.party-jmm-block .party-header-banner{background:linear-gradient(135deg,#15803d,#14532d)}.party-skm-block .party-header-banner{background:linear-gradient(135deg,#eab308,#713f12)}.party-sdf-block .party-header-banner{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.party-jjp-block .party-header-banner{background:linear-gradient(135deg,#16a34a,#14532d)}.party-inld-block .party-header-banner{background:linear-gradient(135deg,#15803d,#14532d)}.party-rlp-block .party-header-banner{background:linear-gradient(135deg,#84cc16,#3f6212)}.party-agp-block .party-header-banner{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.party-aiudf-block .party-header-banner{background:linear-gradient(135deg,#15803d,#14532d)}.party-jknc-block .party-header-banner{background:linear-gradient(135deg,#dc2626,#7f1d1d)}.party-jkpdp-block .party-header-banner{background:linear-gradient(135deg,#15803d,#14532d)}.party-npp-block .party-header-banner{background:linear-gradient(135deg,#f59e0b,#78350f)}.party-npf-block .party-header-banner{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.party-ndpp-block .party-header-banner{background:linear-gradient(135deg,#dc2626,#7f1d1d)}.party-mnf-block .party-header-banner{background:linear-gradient(135deg,#1d4ed8,#1e3a8a)}.party-zpm-block .party-header-banner{background:linear-gradient(135deg,#eab308,#713f12)}.party-udp-block .party-header-banner,.party-ainrc-block .party-header-banner{background:linear-gradient(135deg,#ca8a04,#713f12)}.party-tipra-block .party-header-banner{background:linear-gradient(135deg,#eab308,#713f12)}@media (max-width: 768px){.state-select-wrapper{grid-area:state;margin-top:4px;height:38px;padding:0 10px}#header-state-select{font-size:.82rem;padding-right:12px}.state-select-wrapper:after{right:10px;font-size:.7rem}}
