@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";
:root{--background:0 0% 100%;--foreground:222 47% 11%;--primary:213 100% 32%;--primary-foreground:0 0% 100%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--card:0 0% 100%;--card-foreground:222.2 47.4% 11.2%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--sidebar-bg:222 47% 11%;--sidebar-foreground:210 40% 98%;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;background-color:#f4f7f9;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}input,textarea,select,button{color:inherit;font-family:inherit;font-size:inherit}h1,h2,h3,h4,.heading{letter-spacing:-.025em;font-family:Outfit,sans-serif;font-weight:700}.glass{border-bottom:1px solid hsl(var(--border));background:#fff;box-shadow:0 1px 3px #0000000d}.glass-card{border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fff;padding:1.5rem;transition:all .2s}.glass-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.app-layout{min-height:100vh;display:flex}@media (max-width:1024px){.app-layout{flex-direction:column}}.sidebar{background-color:hsl(var(--sidebar-bg));width:260px;color:hsl(var(--sidebar-foreground));z-index:1000;flex-direction:column;flex-shrink:0;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}@media (max-width:1024px){.sidebar{width:100%!important;height:auto!important;position:relative!important}.sidebar.collapsed{display:none}}.sidebar.collapsed{width:70px}.tab-switcher{background-color:#ffffff0d;border-radius:6px;margin:1rem 1.25rem .5rem;padding:.25rem;display:flex;position:relative}.tab-button{color:#ffffff80;cursor:pointer;z-index:10;background:0 0;border:none;flex:1;padding:.5rem 0;font-size:.75rem;font-weight:700;transition:color .2s}.tab-button.active{color:#fff}.tab-indicator{background-color:#ffffff1a;border-radius:4px;height:calc(100% - .5rem);transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:.25rem;left:.25rem;box-shadow:0 1px 2px #0003}.sidebar-content{flex:1;padding-top:.5rem;overflow:hidden auto}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:0 0}.sidebar-content::-webkit-scrollbar-thumb{background:0 0;border-radius:10px}.sidebar:hover .sidebar-content::-webkit-scrollbar-thumb{background:#ffffff1a}.sidebar:hover .sidebar-content::-webkit-scrollbar-thumb:hover{background:#fff3}.sidebar-item{color:#ffffffb3;cursor:pointer;white-space:nowrap;border-bottom:none;border-left:3px solid #0000;align-items:center;gap:.75rem;width:100%;padding:.72rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-item:hover,.sidebar-item.active{color:#fff;background-color:#ffffff0d}.sidebar-item.active{background-color:#ffffff1a;border-left-color:#0ea5e9}.sidebar-sub-item{color:#ffffff80;white-space:nowrap;align-items:center;gap:.75rem;padding:.45rem 1.5rem .45rem 3.25rem;font-size:.8rem;text-decoration:none;transition:all .2s;display:flex}.sidebar-sub-item:hover,.sidebar-sub-item.active{color:#fff;background-color:#ffffff0d}.sidebar.collapsed .sidebar-item span,.sidebar.collapsed .sidebar-sub-item,.sidebar.collapsed .sidebar-section-title,.sidebar.collapsed .sidebar-logo-text{display:none}.sidebar.collapsed .sidebar-item{border-left:none;justify-content:center;padding:.72rem 0}.sidebar-section-title{color:#fff6;text-transform:uppercase;letter-spacing:.05em;padding:1.5rem 1.5rem .5rem;font-size:.8rem;font-weight:600}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.header{border-bottom:1px solid hsl(var(--border));z-index:100;background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 1.25rem;display:flex;position:sticky;top:0}.content-area{flex:1;padding:1.25rem}.btn-primary{background-color:hsl(var(--primary));color:#fff}.btn-primary:hover{background-color:#003d82;transform:none}input:focus,textarea:focus{border-color:#0ea5e9}.submenu-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2050;background-color:#0006;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.submenu-modal{background-color:#111827;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:300px;overflow:hidden;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0006}.submenu-modal-header{color:#fff;border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;padding:1.25rem;display:flex}.submenu-modal-title{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700}.submenu-modal-content{padding:.5rem}.submenu-modal-item{color:#ffffffb3;border-radius:8px;align-items:center;margin-bottom:2px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.submenu-modal-item:hover{color:#fff;background-color:#ffffff0d}.submenu-modal-item.active{color:#fff;background-color:#ffffff1a;border-left:3px solid #0ea5e9}.responsive-layout{align-items:start;gap:2rem;display:grid}@media (min-width:1025px){.responsive-layout.news-grid{grid-template-columns:350px 1fr}.responsive-layout.polls-grid{grid-template-columns:minmax(400px,450px) 1fr}.responsive-layout.archive-grid{grid-template-columns:350px 1fr}.responsive-layout.politician-grid.with-selection{grid-template-columns:1fr 2fr}}@media (max-width:1024px){.responsive-layout{grid-template-columns:1fr!important}.sidebar-column{width:100%}}.stack-mobile{flex-direction:row;gap:1rem;display:flex}@media (max-width:768px){.stack-mobile{flex-direction:column}}.card-grid{gap:2rem;display:grid}@media (min-width:769px){.card-grid.fact-check-card{grid-template-columns:120px 1fr}}@media (max-width:768px){.card-grid{grid-template-columns:1fr}.card-grid>div{text-align:center}}.grid-2col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:768px){.grid-2col{grid-template-columns:1fr}}
