@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:wght@400;700&display=swap');
:root{--primary:#1e40af;--primary-dark:#1e3a8a;--accent:#f59e0b;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-dark:#0f172a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--vote-approve:#16A34A;--vote-reject:#DC2626;--vote-incoherent:#F59E0B;--font-display:'Merriweather',serif;--font-body:'Inter',sans-serif;--sidebar-width:260px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);line-height:1.6;color:var(--text-primary);background:var(--bg-primary)}h1,h2,h3{font-family:var(--font-display);font-weight:700}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:800px}
.header-public{background:var(--bg-secondary);border-bottom:3px solid var(--primary);padding:1rem 0}.header-public .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.logo{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--primary)}.logo span{color:var(--accent)}.nav-public{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.nav-public a{font-weight:500;color:var(--text-secondary);font-size:.9rem}
.news-ticker{background:var(--bg-dark);color:var(--text-inverse);padding:1rem 0;display:flex;align-items:center;min-height:50px;overflow:hidden;border-bottom:2px solid var(--accent)}.ticker-wrap{display:flex;align-items:center;animation:ticker 180s linear infinite}.ticker-wrap:hover{animation-play-state:paused}.ticker-item{white-space:nowrap;padding:0 2rem;font-size:.85rem;display:flex;align-items:center}.ticker-item a{color:var(--text-inverse)}.ticker-item a:hover{color:var(--accent)}.ticker-separator{color:var(--accent);padding:0 1rem}@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .15s;text-decoration:none}.btn-primary{background:var(--primary);color:#fff !important}.btn-primary:hover{background:var(--primary-dark);color:#fff !important}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-medium)}.sidebar-footer .btn-secondary{color:#DC2626 !important;border-color:#DC2626}.btn-success{background:var(--vote-approve);color:#fff}.btn-danger{background:var(--vote-reject);color:#fff}.btn-sm{padding:.25rem .75rem;font-size:.8rem}.btn-lg{padding:.75rem 1.5rem}.btn-block{width:100%}
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.article-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:1.5rem;transition:all .25s;cursor:pointer;display:block;text-decoration:none;color:inherit}.article-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-4px);border-color:#3b82f6}.article-card-category{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.5rem}.article-card-title{font-family:var(--font-display);font-size:1.2rem;margin-bottom:.5rem;color:var(--text-primary)}.article-card-summary{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.article-card-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);padding-top:1rem;border-top:1px solid var(--border-light)}.article-stats{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted);margin-top:.75rem}.article-stat{display:flex;align-items:center;gap:.25rem}.article-stat.like{color:var(--vote-approve)}.article-stat.dislike{color:var(--vote-reject)}
.article-full{padding:2rem 0}.article-full-category{font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.article-full-title{font-size:2rem;margin-bottom:0;flex:1}.article-full-meta{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.article-full-body{font-size:1.1rem;line-height:1.8;margin-top:2rem}
.title-reactions{display:flex;gap:.5rem}.reaction-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:transparent;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-muted);transition:all .2s;border-radius:4px}.reaction-btn:hover{background:var(--bg-primary)}.reaction-btn.like:hover,.reaction-btn.like.active{color:var(--vote-approve)}.reaction-btn.dislike:hover,.reaction-btn.dislike.active{color:var(--vote-reject)}.reaction-count{font-weight:600;font-size:.9rem}
.share-sidebar{position:fixed;right:20px;top:50%;transform:translateY(-50%);background:var(--bg-secondary);padding:12px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100}.share-sidebar .share-title{font-size:.7rem;color:var(--text-muted);text-align:center;margin-bottom:10px;text-transform:uppercase}.share-sidebar .share-buttons{display:flex;flex-direction:column;gap:8px}.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;font-size:1.1rem;transition:all .2s;text-decoration:none;color:#fff}.share-btn:hover{transform:scale(1.1);color:#fff}.share-btn.whatsapp{background:#25D366}.share-btn.telegram{background:#0088cc}.share-btn.twitter{background:#000}.share-btn.facebook{background:#4267B2}.share-btn.linkedin{background:#0077B5}.share-btn.copy{background:var(--text-muted)}
.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-dark);color:var(--text-inverse);position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header a{text-decoration:none}.sidebar-logo{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-inverse)}.sidebar-logo span{color:var(--accent)}.sidebar-nav-container{flex:1;overflow-y:auto;padding:1rem 0}.sidebar-nav{list-style:none;padding:0 1rem}.sidebar-nav li{margin-bottom:.25rem}.sidebar-nav a{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;color:rgba(255,255,255,.7);border-radius:4px;font-size:.9rem}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.1);color:var(--text-inverse)}.sidebar-section-title{font-size:.65rem;font-weight:600;text-transform:uppercase;color:rgba(255,255,255,.4);margin:1.5rem 1rem .5rem;padding:0 1rem}.sidebar-footer{padding:1rem 1.5rem;background:rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.1)}.sidebar-user-name{font-weight:500;margin-bottom:.25rem;font-size:.9rem}.sidebar-user-role{font-size:.7rem;color:var(--accent);text-transform:uppercase;margin-bottom:.75rem}
.dashboard-main{flex:1;margin-left:var(--sidebar-width);padding:2rem;background:var(--bg-primary);min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-title{font-size:1.75rem}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-light)}.stat-card-label{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.stat-card-value{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--primary)}
.table-container{background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light);overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--border-light)}.table th{background:var(--bg-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.table tr:hover td{background:var(--bg-primary)}
.vote-buttons{display:flex;gap:.5rem}.vote-btn{width:44px;height:44px;border:2px solid var(--border-medium);border-radius:4px;background:var(--bg-secondary);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.vote-btn:hover:not(:disabled){transform:scale(1.1)}.vote-btn.approve{border-color:var(--vote-approve);color:var(--vote-approve)}.vote-btn.approve:hover:not(:disabled),.vote-btn.voted.approve{background:var(--vote-approve);color:#fff}.vote-btn.reject{border-color:var(--vote-reject);color:var(--vote-reject)}.vote-btn.reject:hover:not(:disabled),.vote-btn.voted.reject{background:var(--vote-reject);color:#fff}.vote-btn.incoherent{border-color:var(--vote-incoherent);color:var(--vote-incoherent)}.vote-btn.incoherent:hover:not(:disabled),.vote-btn.voted.incoherent{background:var(--vote-incoherent);color:#fff}.vote-btn:disabled{opacity:.5;cursor:not-allowed}
.status-badge{display:inline-block;padding:.25rem .6rem;font-size:.7rem;font-weight:600;text-transform:uppercase;border-radius:4px}.status-badge.draft{background:#f1f5f9;color:#64748b}.status-badge.pending{background:#dbeafe;color:#1e40af}.status-badge.published,.status-badge.active{background:#dcfce7;color:var(--vote-approve)}.status-badge.rejected,.status-badge.blocked{background:#fee2e2;color:var(--vote-reject)}.status-badge.flagged,.status-badge.pending_verification{background:#fef3c7;color:#d97706}
.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.form-label.required::after{content:' *';color:var(--vote-reject)}.form-input,.form-select,.form-textarea{width:100%;padding:.6rem .9rem;font-family:var(--font-body);font-size:.95rem;border:1px solid var(--border-medium);border-radius:4px;background:var(--bg-secondary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,64,175,.1)}.form-textarea{min-height:180px;resize:vertical}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-card{background:var(--bg-secondary);padding:2rem;border-radius:8px;border:1px solid var(--border-light);max-width:600px}.form-card.wide{max-width:800px}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.form-section-title{font-size:1rem;font-weight:600;margin-bottom:1.25rem}.form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.form-checkbox input{width:18px;height:18px;cursor:pointer}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:2rem}.auth-card{background:var(--bg-secondary);padding:2.5rem;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1);width:100%;max-width:480px}.auth-card.wide{max-width:600px}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo h1{font-family:var(--font-display);font-size:1.75rem;color:var(--primary)}.auth-logo span{color:var(--accent)}.auth-title{text-align:center;margin-bottom:2rem;font-size:1rem;color:var(--text-secondary)}.auth-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light);font-size:.9rem;color:var(--text-muted)}
.alert{padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.9rem}.alert-error{background:#fee2e2;color:var(--vote-reject);border:1px solid #fecaca}.alert-success{background:#dcfce7;color:var(--vote-approve);border:1px solid #bbf7d0}.alert ul{margin:.5rem 0 0 1.25rem}
.toggle{position:relative;display:inline-block;width:50px;height:26px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border-medium);border-radius:26px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider{background:var(--vote-approve)}.toggle input:checked+.toggle-slider:before{transform:translateX(24px)}
.footer-public{background:var(--bg-dark);color:var(--text-inverse);padding:2rem 0}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-copy{color:rgba(255,255,255,.6);font-size:.85rem}.footer-copy a{color:var(--accent)}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--bg-dark);color:var(--text-inverse);padding:12px 24px;border-radius:50px;font-size:.9rem;opacity:0;transition:opacity .3s;z-index:1000}.toast.show{opacity:1}
.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
@media(max-width:768px){.sidebar{transform:translateX(-100%)}.dashboard-main{margin-left:0}.articles-grid{grid-template-columns:1fr}.share-sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;transform:none;border-radius:12px 12px 0 0}.share-sidebar .share-buttons{flex-direction:row;justify-content:center}.title-row{flex-direction:column;gap:.5rem}}

/* Mobile - Categorias menores e juntas */
@media(max-width:768px){
.nav-categories{gap:.5rem !important}
.nav-categories a{font-size:.6rem !important;letter-spacing:0 !important}
}

/* Mobile - Categorias alinhadas nas bordas */
@media(max-width:768px){
.header-nav .container{padding:0 .5rem !important}
.nav-categories{justify-content:space-between !important;width:100%}
}

/* Mobile - Botoes menores e mais juntos */
@media(max-width:768px){
.header-top .container{gap:.5rem !important;padding:.5rem 1rem !important}
.header-right{gap:.5rem !important}
.search-box{padding:.3rem .5rem !important;min-width:100px !important}
.search-box input{font-size:.7rem !important}
.header-actions .btn{padding:.25rem .5rem !important;font-size:.6rem !important}
.header-date{display:none !important}
}

/* Mobile - Mostrar data na linha do logo */
@media(max-width:768px){
.header-date{display:block !important;font-size:.6rem !important;order:10}
}

/* Mobile - Reordenar e centralizar */
@media(max-width:768px){
.header-right{width:100% !important;justify-content:space-between !important;order:10 !important}
.header-date{order:1 !important}
.header-actions{order:2 !important}
.search-box{order:3 !important}
}

/* Botao Duplicada */
.vote-btn.duplicate{border-color:#6b7280;color:#6b7280}
.vote-btn.duplicate:hover:not(:disabled),.vote-btn.voted.duplicate{background:#6b7280;color:#fff}

/* Botoes de voto menores e alinhados */
.vote-btn{width:36px !important;height:36px !important;font-size:1rem !important;padding:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
.vote-buttons{display:flex !important;gap:.4rem !important;align-items:center !important}

/* Botoes ainda menores */
.vote-btn{width:28px !important;height:28px !important;font-size:.8rem !important}

/* Analisar materia acima e botoes menores em linha */
.table td .btn{margin-bottom:.5rem !important}
.vote-btn{width:24px !important;height:24px !important;font-size:.7rem !important;border-width:1px !important}
.vote-buttons{display:inline-flex !important;flex-wrap:nowrap !important}


/* Votos em linha unica */
.vote-counts{display:inline-flex !important;gap:.5rem !important;white-space:nowrap !important}

/* Botão de reação ativo */
.reaction-btn.active{background:transparent;color:inherit;border-color:var(--border-medium)}
.reaction-btn.active.like{background:transparent;color:#16A34A;border-color:#16A34A}
.reaction-btn.active.dislike{background:transparent;color:#DC2626;border-color:#DC2626}

/* Padronizar inputs do formulário */
.table .form-control{height:48px;min-height:48px;padding:10px 12px}
.table select.form-control{height:48px}
.table input[type="text"],.table input[type="number"],.table select{height:48px;box-sizing:border-box}

/* Forçar altura padrão nos inputs */
.form-control{height:40px !important;min-height:40px !important;padding:8px 12px !important;box-sizing:border-box !important}
select.form-control{height:40px !important}
