/*
Theme Name: BLUFify
Theme URI: https://blufify.com
Author: BLUFify LLC
Description: Intelligence-grade news aggregation. Bottom Line Up Front.
Version: 5.4
License: All Rights Reserved
Text Domain: blufify
*/

/* ============================================
   CSS Reset & Base
   ============================================ */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: 'Georgia', 'Times New Roman', Times, serif;
    background-color: #111111;
    color: #d0d0d0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   Typography - WaPo Inspired (Dark Mode)
   ============================================ */

/* Headlines - Franklin Gothic style */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Libre Franklin', 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
    margin-bottom: 0.5em;
}

h1 { 
    font-size: 2.5rem; 
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -0.02em;
}

h2 { 
    font-size: 1.75rem; 
    line-height: 1.15;
    font-weight: 700;
}

h3 { 
    font-size: 1.375rem; 
    line-height: 1.2;
    font-weight: 700;
}

h4 { 
    font-size: 1.125rem; 
    line-height: 1.25;
    font-weight: 600;
}

h5 { 
    font-size: 1rem; 
    font-weight: 600;
    line-height: 1.3;
}

h6 { 
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem; 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 0.1em;
    line-height: 1.4;
    color: #888;
}

/* Body text - Georgia (WaPo signature) */
p {
    margin-bottom: 1.25em;
    font-size: 1.0625rem;
    line-height: 1.7;
    font-family: 'Georgia', 'Times New Roman', Times, serif;
    color: #c8c8c8;
}

/* Links - WaPo blue accent adapted for dark */
a {
    color: #5ba3d9;
    text-decoration: none;
    transition: color 0.15s ease;
}

a:hover {
    color: #7dbde8;
    text-decoration: underline;
}

/* UI Text */
.ui-text, 
.entry-meta,
.category-label,
.widget-title,
.nav-menu,
.site-description,
.header-top,
.footer-widget-title,
.comment-meta,
.pagination {
    font-family: 'Libre Franklin', 'Arial', sans-serif;
}

/* ============================================
   Layout Container
   ============================================ */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.container-narrow {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ============================================
   Header
   ============================================ */
.site-header {
    padding: 0.75rem 0;
    background: #0a0a0a;
}

.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #2a2a2a;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888;
}

.header-date {
    color: #888;
}

.site-branding {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    text-align: center;
    padding: 1.5rem 0;
}

.site-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 1.25rem;
    text-decoration: none;
}

.site-logo {
    height: 80px;
    width: auto;
    filter: drop-shadow(0 2px 8px rgba(91, 163, 217, 0.3));
}

.site-title-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-title-text {
    font-family: 'Libre Franklin', 'Franklin Gothic Medium', Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1;
    color: #ffffff;
}
.brand-bluf {
    color: #5ba3d9;
}

.brand-ify {
    color: #ffffff;
}
.brand-tm {    font-size: 0.4em;    vertical-align: super;    color: #888;    margin-left: 0.1em;}

.site-tagline {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 0.95rem;
    font-style: italic;
    color: #8a8a9a;
    margin-top: 0.25rem;
    letter-spacing: 0.02em;
}

.site-logo-link:hover .site-title-text {
    color: #5ba3d9;
}

.site-logo-link:hover .site-tagline {
    color: #a0a0b0;
}

/* Masthead - WaPo Style Clean Sans-Serif */
.site-title {
    font-family: 'Libre Franklin', 'Franklin Gothic Medium', Arial, sans-serif;
    font-size: 2.25rem;
    font-weight: 900;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1;
    text-transform: uppercase;
}

.site-title a {
    color: #ffffff;
    text-decoration: none;
}

.site-title a:hover {
    color: #5ba3d9;
    text-decoration: none;
}

.site-description {
    display: none;
}

/* ============================================
   Site Definition (header)
   ============================================ */
.site-definition {
    border-bottom: 1px solid #2a2a2a;
    padding: 0.5rem 0;
    text-align: center;
    font-family: 'Georgia', 'Times New Roman', Times, serif;
    font-size: 0.85rem;
    font-style: italic;
    color: #9ca3af;
    line-height: 1.6;
}

/* ============================================
   Navigation
   ============================================ */
.main-navigation {
    border-top: 3px solid #5ba3d9;
    border-bottom: 1px solid #2a2a2a;
    padding: 0.625rem 0;
    background: #0a0a0a;
}

.nav-menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.25rem 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu li a {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #aaa;
    padding: 0.25rem 0;
    text-decoration: none;
}

.nav-menu li a:hover,
.nav-menu li.current-menu-item a {
    color: #5ba3d9;
    text-decoration: none;
}

/* Hide Regional menu item for non-logged-in users */
body:not(.logged-in) .menu-item-9192 {
    display: none;
}

/* ============================================
   Main Content
   ============================================ */
.site-main {
    padding: 2rem 0;
}

/* Article Grid */
.article-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    border-bottom: 1px solid #2a2a2a;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

@media (max-width: 900px) {
    .article-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .article-grid {
        grid-template-columns: 1fr;
    }
}

/* Article Cards */
.article-card {
    border-left: 1px solid #2a2a2a;
    padding-left: 1.5rem;
}

.article-card:first-child {
    border-left: none;
    padding-left: 0;
}

@media (max-width: 900px) {
    .article-card {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid #2a2a2a;
        padding-top: 1.5rem;
    }
    .article-card:first-child {
        border-top: none;
        padding-top: 0;
    }
}

.article-card .entry-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.125rem;
    line-height: 1.25;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.article-card .entry-title a {
    color: #ffffff;
}

.article-card .entry-title a:hover {
    color: #5ba3d9;
    text-decoration: none;
}

.article-card .entry-meta {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.375rem;
}

.article-card .entry-summary {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 0.9375rem;
    color: #a0a0a0;
    line-height: 1.5;
}

/* ============================================
   Single Post / Page
   ============================================ */
.single-post .entry-header,
.page .entry-header {
    max-width: 720px;
    margin: 0 auto 2rem;
    padding-top: 2rem;
}

.single-post .entry-title,
.page .entry-title {
    font-family: 'Libre Franklin', 'Franklin Gothic Medium', Arial, sans-serif;
    font-size: 2.25rem;
    line-height: 1.15;
    margin-bottom: 0.75rem;
    font-weight: 900;
    color: #ffffff;
}

.entry-subtitle {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.25rem;
    font-weight: 400;
    color: #a0a0a0;
    line-height: 1.4;
    margin-bottom: 1.5rem;
}

.single-post .entry-meta {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.8125rem;
    color: #888;
    padding-top: 1rem;
    border-top: 1px solid #2a2a2a;
}

.entry-meta .author {
    font-weight: 600;
    color: #5ba3d9;
}

.entry-meta .posted-on {
    color: #888;
}

.entry-content {
    max-width: 720px;
    margin: 0 auto;
}

.entry-content p {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.0625rem;
    line-height: 1.75;
    margin-bottom: 1.5rem;
    color: #c8c8c8;
}

/* Drop cap removed */

.entry-content img {
    max-width: 100%;
    height: auto;
    margin: 2rem 0;
}

.entry-content blockquote {
    border-left: 3px solid #5ba3d9;
    padding-left: 1.25rem;
    margin: 2rem 0;
    font-style: italic;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #a0a0a0;
}

.entry-content ul, .entry-content ol {
    margin: 1.5rem 0;
    padding-left: 1.5rem;
}

.entry-content li {
    margin-bottom: 0.5rem;
    line-height: 1.7;
    color: #c8c8c8;
}

/* External links indicator */
.entry-content a[target="_blank"]::after {
    content: " ↗";
    font-size: 0.75em;
    vertical-align: super;
}

/* ============================================
   Category/Archive Labels
   ============================================ */
.category-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #5ba3d9;
    margin-bottom: 0.375rem;
    display: block;
}

.category-label a {
    color: #5ba3d9;
}

.category-label a:hover {
    color: #7dbde8;
}

/* ============================================
   Sidebar
   ============================================ */
.content-sidebar-wrap {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
}

@media (max-width: 900px) {
    .content-sidebar-wrap {
        grid-template-columns: 1fr;
    }
}

.sidebar {
    border-left: 1px solid #2a2a2a;
    padding-left: 2rem;
}

@media (max-width: 900px) {
    .sidebar {
        border-left: none;
        border-top: 1px solid #2a2a2a;
        padding-left: 0;
        padding-top: 2rem;
    }
}

.widget {
    margin-bottom: 2rem;
}

.widget-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #5ba3d9;
    border-bottom: 2px solid #5ba3d9;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.widget ul {
    list-style: none;
    padding: 0;
}

.widget li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #2a2a2a;
    font-size: 0.9375rem;
}

.widget li:last-child {
    border-bottom: none;
}

/* ============================================
   Footer
   ============================================ */
.site-footer {
    background: #0a0a0a;
    border-top: 3px solid #5ba3d9;
    padding: 2.5rem 0 2rem;
    margin-top: 3rem;
}

.footer-widgets {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
}

@media (max-width: 900px) {
    .footer-widgets {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .footer-widgets {
        grid-template-columns: 1fr;
    }
}

.footer-widget-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #5ba3d9;
    margin-bottom: 0.875rem;
}

.footer-menu {
    list-style: none;
    padding: 0;
}

.footer-menu li {
    margin-bottom: 0.375rem;
}

.footer-menu a {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.8125rem;
    color: #888;
}

.footer-menu a:hover {
    color: #5ba3d9;
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid #2a2a2a;
}

.footer-bottom p {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    color: #888;
    margin: 0;
    letter-spacing: 0.02em;
}

/* ============================================
   Comments
   ============================================ */
.comments-area {
    max-width: 720px;
    margin: 3rem auto;
    padding-top: 2rem;
    border-top: 3px solid #5ba3d9;
}

.comments-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 2rem;
    color: #5ba3d9;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment {
    border-bottom: 1px solid #2a2a2a;
    padding: 1.5rem 0;
}

.comment-author {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    color: #ffffff;
}

.comment-meta {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    color: #888;
    margin-bottom: 0.625rem;
}

.comment-content p {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    color: #c8c8c8;
}

/* Comment Form */
.comment-respond {
    margin-top: 2rem;
}

.comment-form label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    display: block;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #888;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #2a2a2a;
    background: #1a1a1a;
    color: #d0d0d0;
    font-family: 'Georgia', serif;
    font-size: 1rem;
    margin-bottom: 1rem;
}

.comment-form input:focus,
.comment-form textarea:focus {
    outline: none;
    border-color: #5ba3d9;
}

.comment-form .submit {
    background: #5ba3d9;
    color: #0a0a0a;
    border: none;
    padding: 0.75rem 2rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: background 0.2s ease;
}

.comment-form .submit:hover {
    background: #7dbde8;
}

/* ============================================
   Pagination
   ============================================ */
.pagination {
    display: flex;
    justify-content: center;
    gap: 0.375rem;
    padding: 2rem 0;
    font-family: 'Libre Franklin', Arial, sans-serif;
}

.pagination a, .pagination span {
    padding: 0.5rem 0.875rem;
    border: 1px solid #2a2a2a;
    font-size: 0.8125rem;
    color: #888;
    background: #111;
}

.pagination a:hover {
    background: #1a1a1a;
    border-color: #5ba3d9;
    color: #5ba3d9;
    text-decoration: none;
}

.pagination .current {
    background: #5ba3d9;
    color: #0a0a0a;
    border-color: #5ba3d9;
}

/* ============================================
   Intelligence Briefing Specific Styles
   ============================================ */
.intelligence-briefing {
    font-family: 'Georgia', 'Times New Roman', serif;
}

.intelligence-briefing h2 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    color: #5ba3d9;
    font-size: 1.25rem;
    margin-top: 2rem;
    border-bottom: 2px solid #5ba3d9;
    padding-bottom: 0.5rem;
}

.intelligence-briefing h3 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    color: #ffffff;
    font-size: 1.1rem;
}

.intelligence-briefing h4 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    color: #e0e0e0;
    font-size: 1rem;
}

.intelligence-briefing p {
    color: #b8b8b8;
}

.intelligence-briefing a {
    color: #5ba3d9;
}

.intelligence-briefing strong {
    color: #ffffff;
}

/* Executive Summary Box */
.exec-summary {
    background: #1a1a1a;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.exec-summary h3 {
    color: #5ba3d9;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.9rem;
}

/* Breaking/Alert boxes */
.alert-box {
    background: #2d1f1f;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    color: #e8a0a0;
}

/* Source attribution */
.source-tag {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5ba3d9;
}

.timestamp {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    color: #888;
}

/* ============================================
   Utility Classes
   ============================================ */
.screen-reader-text,
.sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* ============================================
   Print Styles
   ============================================ */
@media print {
    .site-header, .site-footer, .sidebar, .comments-area {
        display: none;
    }
    
    body {
        font-size: 12pt;
        background: white;
        color: black;
    }
    
    .entry-content {
        max-width: 100%;
    }
}

/* ============================================
   MOBILE RESPONSIVE ENHANCEMENTS
   ============================================ */

/* Mobile Menu Toggle Button */
.menu-toggle {
    display: none;
    background: transparent;
    border: 2px solid #5ba3d9;
    color: #5ba3d9;
    padding: 0.5rem 1rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    margin: 0 auto 1rem;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.menu-toggle:hover,
.menu-toggle:focus {
    background: #5ba3d9;
    color: #111;
    outline: none;
}

.menu-toggle-icon {
    display: inline-block;
    width: 18px;
    height: 2px;
    background: currentColor;
    position: relative;
    vertical-align: middle;
    margin-right: 0.5rem;
}

.menu-toggle-icon::before,
.menu-toggle-icon::after {
    content: '';
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background: currentColor;
}

.menu-toggle-icon::before {
    top: -6px;
}

.menu-toggle-icon::after {
    top: 6px;
}

/* Tablet Styles (768px - 900px) */
@media (max-width: 900px) {
    .container {
        padding: 0 1rem;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .site-title {
        font-size: 1.75rem;
    }
    
    .single-post .entry-title,
    .page .entry-title {
        font-size: 1.75rem;
    }
    
    .nav-menu {
        gap: 0.25rem 1.25rem;
    }
    
    .nav-menu li a {
        font-size: 0.6875rem;
    }
}

/* Mobile Styles (below 768px) */
@media (max-width: 768px) {
    html {
        font-size: 15px;
    }
    
    .container {
        padding: 0 0.875rem;
    }
    
    /* Header */
    .header-top {
        font-size: 0.625rem;
        padding: 0.375rem 0;
    }
    
    .site-branding {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
        padding: 1rem 0;
    }
    
    .site-title {
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    
    /* Mobile Menu */
    .menu-toggle {
        display: block;
    }
    
    .main-navigation {
        display: none;
        border-top: none;
        padding: 0;
    }
    
    .main-navigation.is-active {
        display: block;
    }
    
    .nav-menu {
        flex-direction: column;
        gap: 0;
        padding: 0.5rem 0;
    }
    
    .nav-menu li {
        border-bottom: 1px solid #2a2a2a;
    }
    
    .nav-menu li:last-child {
        border-bottom: none;
    }
    
    .nav-menu li a {
        display: block;
        padding: 0.875rem 0;
        font-size: 0.875rem;
        text-align: center;
    }
    
    /* Typography */
    h1 {
        font-size: 1.75rem;
        line-height: 1.2;
    }
    
    h2 {
        font-size: 1.375rem;
    }
    
    h3 {
        font-size: 1.125rem;
    }
    
    h4 {
        font-size: 1rem;
    }
    
    p {
        font-size: 1rem;
        line-height: 1.65;
    }
    
    /* Single Post */
    .single-post .entry-header,
    .page .entry-header {
        padding-top: 1.5rem;
    }
    
    .single-post .entry-title,
    .page .entry-title {
        font-size: 1.5rem;
        line-height: 1.2;
    }
    
    .entry-subtitle {
        font-size: 1.0625rem;
    }
    
    .entry-content p {
        font-size: 1rem;
        line-height: 1.7;
    }
    
    /* drop cap removed */
    
    /* Footer */
    .site-footer {
        padding: 1.5rem 0;
    }
    
    .footer-widgets {
        gap: 1.5rem;
    }
    
    /* Touch-friendly tap targets (scoped to interactive controls) */
    .btn, .nav-menu a, .header-links a, .footer-links a, button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    
    .nav-menu li a {
        min-height: 48px;
        justify-content: center;
    }
    
    /* Executive Summary Mobile */
    .exec-summary {
        padding: 1rem;
    }
    
    .intelligence-briefing h3 {
        font-size: 0.85rem;
    }
    
    .intelligence-briefing ul {
        padding-left: 0;
    }
    
    .intelligence-briefing li {
        padding: 0.75rem 0;
        border-bottom: 1px solid #2a2a2a;
        line-height: 1.4;
    }
    
    .intelligence-briefing li:last-child {
        border-bottom: none;
    }
    
    .source-tag {
        display: block;
        margin-top: 0.25rem;
        font-size: 0.625rem;
    }
    
    /* Article cards */
    .article-card .entry-title {
        font-size: 1rem;
    }
    
    .article-card .entry-summary {
        font-size: 0.875rem;
    }
    
    /* Pagination */
    .pagination {
        flex-wrap: wrap;
    }
    
    .pagination a, .pagination span {
        padding: 0.625rem 0.75rem;
        font-size: 0.875rem;
    }
}

/* Small Mobile (below 480px) */
@media (max-width: 480px) {
    html {
        font-size: 14px;
    }
    
    .container {
        padding: 0 0.75rem;
    }
    
    .site-title {
        font-size: 1.25rem;
    }
    
    .header-date {
        font-size: 0.5625rem;
    }
    
    h1, .single-post .entry-title, .page .entry-title {
        font-size: 1.375rem;
    }
    
    /* drop cap removed */
    
    .intelligence-briefing li a {
        font-size: 0.9375rem;
    }
    
    /* Stack weather grid on very small screens */
    .intelligence-briefing div[style*="grid-template-columns"] {
        display: block !important;
    }
    
    .intelligence-briefing div[style*="grid-template-columns"] > div {
        margin-bottom: 0.5rem;
    }
}

/* Landscape Phone */
@media (max-width: 768px) and (orientation: landscape) {
    .site-branding {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
        padding: 0.75rem 0;
    }
    
    .site-title {
        font-size: 1.375rem;
    }
}

/* High DPI / Retina displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* Dark mode is already default, but ensure system preference works */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #111111;
        color: #d0d0d0;
    }
}

/* ============================================
   NEWS TICKER
   ============================================ */
.news-ticker-wrapper {
    background: linear-gradient(90deg, #1a1a1a 0%, #0d0d0d 100%);
    border-bottom: 1px solid #2a2a2a;
    position: relative;
    z-index: 100;
}

.news-ticker {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    height: 36px;
    overflow: hidden;
}

.ticker-label {
    background: #d9534f;
    color: #fff;
    padding: 0.35rem 0.75rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
    font-family: 'Libre Franklin', sans-serif;
}

.ticker-label:has(+ .ticker-content .breaking) {
    background: #d9534f;
    animation: pulse-bg 2s ease-in-out infinite;
}

@keyframes pulse-bg {
    0%, 100% { background: #d9534f; }
    50% { background: #c9302c; }
}

.ticker-content {
    flex: 1;
    overflow: hidden;
    position: relative;
    margin-left: 1rem;
}

.ticker-scroll {
    display: flex;
    animation: ticker-scroll 20s linear infinite;
    white-space: nowrap;
}

.ticker-scroll:hover {
    animation-play-state: paused;
}

@keyframes ticker-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.ticker-item {
    display: inline-flex;
    align-items: center;
    padding: 0 2rem;
    font-size: 0.85rem;
    color: #c0c0c0;
    font-family: 'Libre Franklin', sans-serif;
}

.ticker-item::after {
    content: '•';
    margin-left: 2rem;
    color: #444;
}

.ticker-item:last-child::after {
    content: '';
}

.ticker-item a {
    color: #c0c0c0;
    text-decoration: none;
    transition: color 0.2s ease;
}

.ticker-item a:hover {
    color: #5ba3d9;
}

.ticker-item.breaking a {
    color: #f0a0a0;
    font-weight: 600;
}

.ticker-item.breaking a:hover {
    color: #ff6b6b;
}

/* Mobile ticker adjustments */
@media (max-width: 768px) {
    .news-ticker {
        height: 32px;
    }
    
    .ticker-label {
        padding: 0.25rem 0.5rem;
        font-size: 0.65rem;
    }
    
    .ticker-item {
        font-size: 0.75rem;
        padding: 0 1.5rem;
    }
    
    .ticker-item::after {
        margin-left: 1.5rem;
    }
}

/* Compact navigation menu */
.main-navigation .nav-menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.25rem;
}

.main-navigation .nav-menu li a {
    padding: 0.5rem 0.6rem;
    font-size: 0.75rem;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .main-navigation .nav-menu li a {
        padding: 0.5rem 0.4rem;
        font-size: 0.7rem;
    }
}

/* Wire ticker label styling */
.ticker-label {
    background: #2a4a5a !important;
}

/* Header Search */
.header-search {
    display: flex;
    align-items: center;
    gap: 0;
}
.header-search input[type="search"] {
    background: #222;
    border: 1px solid #444;
    border-right: none;
    border-radius: 3px 0 0 3px;
    color: #fff;
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    width: 140px;
}
.header-search input[type="search"]:focus {
    outline: none;
    border-color: #666;
}
.header-search button {
    background: #333;
    border: 1px solid #444;
    border-radius: 0 3px 3px 0;
    color: #999;
    padding: 0.35rem 0.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.header-search button:hover {
    background: #444;
    color: #fff;
}
.header-links {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Homepage Briefing Section */
.homepage-briefing {
    background: #0d0d14;
    border: 1px solid #222;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}
.briefing-header {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #222;
}
.briefing-title {
    font-size: 1.25rem;
    margin: 0 0 0.25rem 0;
}
.briefing-title a {
    color: #fff;
    text-decoration: none;
}

/* Briefing Content Wrapper - Two Column Layout (3/4 + 1/4) */
.briefing-content-wrapper {
    display: grid !important;
    grid-template-columns: 3fr 1fr !important;
    gap: 1.5rem !important;
    align-items: start !important;
    width: 100% !important;
}

.briefing-main {
    min-width: 0;
    grid-column: 1;
}

.briefing-sidebar {
    grid-column: 2;
}

.briefing-main .ai-analysis,
.homepage-briefing .briefing-main .ai-analysis {
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Embedded Sidebar */
.briefing-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem;
    padding-left: 1rem;
    border-left: 1px solid #333;
    min-width: 180px;
}

.briefing-sidebar .sidebar-widget {
    background: rgba(20, 20, 32, 0.5);
    border: 1px solid #1e1e2e;
    border-radius: 5px;
    padding: 0.75rem;
}

/* BLUF Definition - Compact */
.briefing-sidebar .bluf-definition-widget {
    background: linear-gradient(135deg, #141420 0%, #12121c 100%);
}

.briefing-sidebar .dict-word {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.1rem 0;
}

.briefing-sidebar .dict-pronunciation {
    font-family: 'Georgia', serif;
    font-size: 0.7rem;
    color: #5a5a6a;
    font-style: italic;
    margin-bottom: 0.4rem;
}

.briefing-sidebar .dict-type {
    display: inline-block;
    font-family: 'Georgia', serif;
    font-size: 0.6rem;
    font-style: italic;
    color: #5ba3d9;
    background: rgba(91, 163, 217, 0.1);
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    margin-bottom: 0.5rem;
}

.briefing-sidebar .dict-definitions {
    list-style: none;
    padding: 0;
    margin: 0;
}

.briefing-sidebar .dict-definitions li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.35rem;
    font-size: 0.7rem;
    line-height: 1.35;
    color: #909098;
}

.briefing-sidebar .dict-definitions li::before {
    content: attr(data-num);
    position: absolute;
    left: 0;
    font-weight: 700;
    color: #5ba3d9;
    font-size: 0.65rem;
}

/* Metrics Widget */
.briefing-sidebar .widget-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5ba3d9;
    margin: 0 0 0.5rem 0;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid #1e1e2e;
}

.briefing-sidebar .metric-row {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.briefing-sidebar .metric-item {
    text-align: center;
    flex: 1;
}

.briefing-sidebar .metric-value {
    display: block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
}

.briefing-sidebar .metric-label {
    display: block;
    font-size: 0.6rem;
    color: #6a6a7a;
    margin-top: 0.2rem;
}

/* Methodology Widget */
.briefing-sidebar .methodology-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.briefing-sidebar .methodology-list li {
    font-size: 0.65rem;
    color: #808088;
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.briefing-sidebar .methodology-list li strong {
    color: #a0a0a8;
}

/* Responsive - Stack on smaller screens */
@media (max-width: 900px) {
    .briefing-content-wrapper {
        display: block !important;
    }

    .briefing-sidebar {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.75rem;
        padding-left: 0;
        padding-top: 1rem;
        margin-top: 1rem;
        border-left: none;
        border-top: 1px solid #333;
    }
}

@media (max-width: 600px) {
    .briefing-sidebar {
        grid-template-columns: 1fr !important;
    }
}

.briefing-title a:hover {
    color: #5ba3d9;
}
.briefing-meta {
    font-size: 0.8rem;
    color: #888;
    margin: 0;
}
.briefing-link {
    margin: 1rem 0 0 0;
    text-align: right;
}
.briefing-link a {
    color: #5ba3d9;
    font-size: 0.85rem;
    text-decoration: none;
}
.briefing-link a:hover {
    text-decoration: underline;
}
.homepage-briefing .ai-analysis {
    margin: 0 !important;
}

/* ============================================
   Intelligence Article Styles (Single Posts)
   ============================================ */

.single-post .entry-content {
    max-width: 720px;
    margin: 0 auto;
}

.intelligence-article {
    padding: 1rem 0;
}

.intelligence-article .article-header img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.intelligence-article .article-content {
    font-size: 1.1rem;
    line-height: 1.8;
}

.intelligence-article .article-content p {
    margin-bottom: 1.25rem;
    color: #e0e0e0;
}

.intelligence-article .read-original a {
    display: inline-block;
    background: #5ba3d9;
    color: #fff !important;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.2s, transform 0.1s;
}

.intelligence-article .read-original a:hover {
    background: #4a8fc4;
    transform: translateY(-1px);
}

.single-post .entry-header {
    max-width: 720px;
    margin: 0 auto 2rem auto;
    text-align: center;
}

.single-post .entry-title {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.single-post .category-label a {
    background: #5ba3d9;
    color: #fff !important;
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.post-navigation {
    max-width: 720px;
    margin: 3rem auto 0 auto;
}

@media (max-width: 768px) {
    .single-post .entry-title {
        font-size: 1.5rem;
    }
}

/* Fix badge and article-meta overflow issues */
.intelligence-article .article-meta {
    overflow: visible;
}

.intelligence-article .article-meta > div {
    overflow: visible;
}

.entry-content {
    overflow: visible;
}

/* Ensure grid doesn't cut off content */
.intelligence-article [style*="display:grid"] {
    overflow: visible;
}

/* Fix any container clipping */
.single-post .entry-content,
.single-post article {
    overflow: visible;
}

.container {
    overflow: visible;
}

/* Fix old badge format that WordPress wraps in p tags */
.credibility-scores {
    display: flex !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.credibility-scores p {
    display: contents;
    margin: 0;
}

.credibility-scores br {
    display: none;
}

.score-badge {
    display: inline-block !important;
    white-space: nowrap;
}

/* Ensure intelligence-article content doesn't get p-wrapped badly */
.intelligence-article p {
    margin-bottom: 1rem;
}

.intelligence-article .source-meta,
.intelligence-article .article-meta {
    display: block;
}

.intelligence-article .article-meta p {
    margin: 0;
}

/* ============================================
   AI Analysis / Briefing Styles
   ============================================ */

/* Analysis section container */
.ai-analysis {
    background: #1a1a2e;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin: 1rem 0 1.5rem 0;
}

/* Analysis section header */
.analysis-header {
    color: #5ba3d9;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.75rem 0;
    padding: 0;
}

/* Section subheaders (Key Findings, Coverage Balance, By Sector) */
.analysis-subheader {
    color: #58a6ff;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 0.5rem 0;
    padding: 0;
}

/* Key findings list */
.key-findings-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
}

.key-findings-list li {
    margin-bottom: 0.3rem;
    line-height: 1.5;
    color: #c8c8c8;
}

/* Source count indicator */
.source-count {
    color: #888;
    font-size: 0.85rem;
}

/* Read more link */
.read-more-link {
    color: #5ba3d9;
    font-size: 0.8rem;
    text-decoration: none;
}

.read-more-link:hover {
    text-decoration: underline;
}

/* Coverage balance bar */
.coverage-balance {
    display: flex;
    justify-content: space-between;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 1rem;
}

.coverage-left {
    color: #3b82f6;
}

.coverage-center {
    color: #8b5cf6;
}

.coverage-right {
    color: #ef4444;
}

/* By sector content */
.sector-summary {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #b8b8b8;
    margin-bottom: 1rem;
}

.sector-label {
    color: #58a6ff;
    font-weight: 600;
}

/* Priority legend */
.priority-legend {
    font-size: 0.65rem;
    color: #888;
    margin: 1rem 0 0.5rem 0;
    padding-top: 0.5rem;
    border-top: 1px solid #333;
}

.priority-breaking {
    color: #dc2626;
    font-weight: 700;
}

.priority-high {
    color: #f59e0b;
    font-weight: 700;
}

/* Methodology footer */
.methodology-note {
    font-size: 0.7rem;
    font-style: italic;
    color: #888;
    margin: 0.5rem 0 0 0;
}

/* ============================================
   Enhanced Analysis Sections (v5.0)
   - The Bottom Line (executive synthesis)
   - Key Developments (with Why It Matters)
   - Blindspot Alerts
   - Key Questions
   ============================================ */

/* The Bottom Line - Executive synthesis */
.bottom-line-section {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 4px;
}

.bottom-line-section .analysis-subheader {
    color: #f59e0b;
    margin-bottom: 0.75rem;
}

.bottom-line-section p {
    margin: 0;
    line-height: 1.6;
    color: #e5e7eb;
}

/* Key Development cards */
.key-development {
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: #1a1a2e;
    border-radius: 4px;
}

.key-development strong {
    color: #e5e7eb;
}

.key-development em {
    color: #9ca3af;
}

/* Blindspot Alerts */
.blindspot-section {
    margin-bottom: 1.5rem;
}

.blindspot-section .analysis-subheader {
    color: #f59e0b;
}

.blindspot-alert {
    padding: 0.5rem;
    background: #1a1a2e;
    border-radius: 0 4px 4px 0;
    margin-bottom: 0.5rem;
}

.blindspot-alert.right-blindspot {
}

.blindspot-alert.left-blindspot {
}

/* Key Questions section */
.questions-section {
    margin-bottom: 1.5rem;
}

.questions-section ul {
    margin: 0;
    padding-left: 1.2rem;
    color: #9ca3af;
    font-size: 0.9rem;
}

.questions-section li {
    margin: 0.25rem 0;
}

/* Trend indicators */
.trend-rising { color: #10b981; }
.trend-stable { color: #6b7280; }
.trend-falling { color: #ef4444; }
.trend-new { color: #f59e0b; }

/* Confidence level badges */
.confidence-high { color: #10b981; }
.confidence-moderate { color: #f59e0b; }
.confidence-low { color: #ef4444; }

/* ============================================
   Scoring Legend (Footer)
   ============================================ */

.scoring-legend {
    border-top: 1px solid #2a2a2a;
    padding: 1rem 0;
    margin-bottom: 1rem;
}

.scoring-legend-title {
    color: #5ba3d9;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.5rem 0;
}

.scoring-legend-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    color: #888;
}

.scoring-legend-label {
    color: #aaa;
    font-weight: 600;
}

/* Bias colors */
.bias-left { color: #d97b5a; }
.bias-lean-left { color: #e6a855; }
.bias-center { color: #7cb88c; }
.bias-lean-right { color: #e6a855; }
.bias-right { color: #d97b5a; }

/* Reliability colors */
.reliability-very-high { color: #7cb88c; }
.reliability-high { color: #98c379; }
.reliability-mixed { color: #e6a855; }
.reliability-low { color: #d97b5a; }
.reliability-very-low { color: #c94040; }

/* Coverage indicator */
.coverage-indicator { color: #7cb88c; }

.scoring-legend-sources {
    font-size: 0.6rem;
    font-style: italic;
    color: #888;
    margin: 0.5rem 0 0 0;
}

.scoring-legend-methodology {
    font-size: 0.6rem;
    color: #888;
    margin: 0.3rem 0 0 0;
}

.scoring-legend-methodology strong {
    color: #999;
}

/* ============================================
   Score Badges (Enhanced)
   ============================================ */

.score-badge {
    display: inline-block;
    background: #1a1a2e;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
    border: 1px solid currentColor;
}

.score-badge.clickable-badge {
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.score-badge.clickable-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Badge color variants */
.score-badge--center {
    border-color: #7cb88c;
    color: #7cb88c;
}

.score-badge--lean-left {
    border-color: #e6a855;
    color: #e6a855;
}

.score-badge--lean-right {
    border-color: #e6a855;
    color: #e6a855;
}

.score-badge--left {
    border-color: #3b82f6;
    color: #3b82f6;
}

.score-badge--right {
    border-color: #ef4444;
    color: #ef4444;
}

.score-badge--very-high {
    border-color: #7cb88c;
    color: #7cb88c;
}

.score-badge--high {
    border-color: #98c379;
    color: #98c379;
}

.score-badge--mixed {
    border-color: #e6a855;
    color: #e6a855;
}

.score-badge--low {
    border-color: #d97b5a;
    color: #d97b5a;
}

/* Article cards hover enhancement */
.article-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.article-card:hover {
    transform: translateY(-2px);
}

/* Homepage briefing card shadow */
.homepage-briefing {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Popup note styling */
.popup-note {
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 0.5rem;
}

/* ============================================
   Account & Authentication Pages
   ============================================ */

.auth-page {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    max-width: 1000px;
    margin: 3rem auto;
    padding: 0 1.5rem;
}

.auth-box {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 2.5rem;
}

.auth-box h1 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
}

.auth-subtitle {
    color: #888;
    margin-bottom: 2rem;
}

.auth-form .form-group {
    margin-bottom: 1.5rem;
}

.auth-form label {
    display: block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #c0c0c0;
    margin-bottom: 0.5rem;
}

.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"] {
    width: 100%;
    padding: 0.875rem 1rem;
    background: #111;
    border: 1px solid #3a3a4a;
    border-radius: 6px;
    color: #fff;
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.auth-form input:focus {
    outline: none;
    border-color: #5ba3d9;
    box-shadow: 0 0 0 3px rgba(91, 163, 217, 0.15);
}

.form-hint {
    display: block;
    font-size: 0.75rem;
    color: #666;
    margin-top: 0.35rem;
}

.form-group-inline {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.forgot-password {
    font-size: 0.875rem;
    color: #5ba3d9;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 1.5rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    text-decoration: none;
}

.btn-primary {
    background: #5ba3d9;
    color: #fff;
}

.btn-primary:hover {
    background: #4a92c8;
}

.btn-secondary {
    background: #2a2a3a;
    color: #c0c0c0;
    border: 1px solid #3a3a4a;
}

.btn-secondary:hover {
    background: #3a3a4a;
    color: #fff;
}

.btn-full {
    width: 100%;
}

.auth-footer {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #2a2a3a;
    text-align: center;
}

.auth-footer p {
    font-size: 0.9375rem;
    color: #888;
    margin: 0;
}

.auth-features {
    padding: 2rem 0;
}

.auth-features h3 {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
    color: #5ba3d9;
}

.auth-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.auth-features li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #1a1a2e;
}

.auth-features li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.feature-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.feature-text {
    font-size: 0.9375rem;
    color: #c0c0c0;
    line-height: 1.5;
}

.beta-notice {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(91, 163, 217, 0.1);
    border: 1px solid rgba(91, 163, 217, 0.3);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-top: 2rem;
    font-size: 0.875rem;
    color: #c0c0c0;
}

.beta-badge {
    display: inline-block;
    background: #5ba3d9;
    color: #fff;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.pricing-preview {
    background: #111;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.pricing-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pricing-label {
    font-weight: 600;
    color: #c0c0c0;
}

.pricing-value {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.price-strike {
    text-decoration: line-through;
    color: #666;
    font-size: 0.9375rem;
}

.price-free {
    font-weight: 700;
    color: #7cb88c;
    font-size: 1.125rem;
}

.pricing-note {
    font-size: 0.8125rem;
    color: #666;
    margin-top: 0.5rem;
}

.terms-notice {
    font-size: 0.75rem;
    color: #666;
    text-align: center;
    margin: 1rem 0 0;
}

.checkbox-option {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    cursor: pointer;
}

.checkbox-option input[type="checkbox"] {
    margin-top: 0.2rem;
    accent-color: #5ba3d9;
    width: 1rem;
    height: 1rem;
}

.checkbox-label {
    font-size: 0.9375rem;
    color: #c0c0c0;
}

.checkbox-description {
    display: block;
    font-size: 0.8125rem;
    color: #666;
    margin-top: 0.25rem;
}

/* Notice/Alert Styles */
.notice {
    padding: 1rem 1.25rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

.notice p {
    margin: 0;
    font-size: 0.9375rem;
}

.notice-success {
    background: rgba(124, 184, 140, 0.1);
    border: 1px solid rgba(124, 184, 140, 0.3);
    color: #7cb88c;
}

.notice-error {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #ef4444;
}

/* ============================================
   Settings Page
   ============================================ */

.account-page {
    max-width: 900px;
    margin: 3rem auto;
    padding: 0 1.5rem;
}

.account-header {
    margin-bottom: 2rem;
}

.account-header h1 {
    margin-bottom: 0.25rem;
}

.account-header p {
    color: #888;
    font-size: 1rem;
    margin: 0;
}

.subscription-status {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.subscription-status h3 {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    margin-bottom: 1rem;
}

.subscription-badge {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.badge-icon {
    font-size: 1.5rem;
}

.badge-text {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
}

.badge-detail {
    font-size: 0.875rem;
    color: #888;
    margin-left: auto;
}

.subscription-beta .badge-icon,
.subscription-beta .badge-text {
    color: #5ba3d9;
}

.settings-form {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.settings-section {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 2rem;
}

.settings-section h2 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.section-description {
    color: #888;
    font-size: 0.9375rem;
    margin-bottom: 1.5rem;
}

/* Theme Options */
.theme-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.theme-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem;
    background: #111;
    border: 2px solid #2a2a3a;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.theme-option:hover {
    border-color: #3a3a4a;
}

.theme-option.selected {
    border-color: #5ba3d9;
    background: rgba(91, 163, 217, 0.05);
}

.theme-option input {
    position: absolute;
    opacity: 0;
}

.theme-preview {
    width: 60px;
    height: 40px;
    border-radius: 4px;
    margin-bottom: 0.75rem;
    border: 1px solid #3a3a4a;
}

.theme-preview-dark {
    background: linear-gradient(135deg, #111 50%, #1a1a2e 50%);
}

.theme-preview-light {
    background: linear-gradient(135deg, #f5f5f5 50%, #fff 50%);
}

.theme-preview-accessibility {
    background: linear-gradient(135deg, #000 50%, #fff 50%);
}

.theme-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.25rem;
}

.theme-description {
    font-size: 0.75rem;
    color: #666;
}

/* Sector Grid */
.sector-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.sector-option {
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    background: #111;
    border: 2px solid #2a2a3a;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.sector-option:hover {
    border-color: #3a3a4a;
}

.sector-option.selected {
    border-color: #5ba3d9;
    background: rgba(91, 163, 217, 0.05);
}

.sector-option input {
    position: absolute;
    opacity: 0;
}

.sector-name {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.25rem;
}

.sector-description {
    font-size: 0.8125rem;
    color: #888;
    line-height: 1.4;
}

/* Locale Manager */
.locale-manager {
    margin-bottom: 1.5rem;
}

.current-locales {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
    min-height: 2.5rem;
}

.locale-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(91, 163, 217, 0.15);
    border: 1px solid rgba(91, 163, 217, 0.3);
    border-radius: 20px;
    padding: 0.5rem 0.75rem 0.5rem 1rem;
    font-size: 0.875rem;
    color: #5ba3d9;
}

.locale-remove {
    background: none;
    border: none;
    color: #888;
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s;
}

.locale-remove:hover {
    color: #ef4444;
}

.locale-add {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.locale-type-select,
.locale-value-select,
.locale-custom-input {
    padding: 0.75rem 1rem;
    background: #111;
    border: 1px solid #3a3a4a;
    border-radius: 6px;
    color: #fff;
    font-size: 0.9375rem;
    min-width: 200px;
}

.locale-custom-input {
    flex: 1;
    min-width: 250px;
}

.locale-extras {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Email Options */
.email-options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Settings Actions */
.settings-actions {
    display: flex;
    gap: 1rem;
    padding-top: 1rem;
}

/* ============================================
   Secure Tips Page
   ============================================ */

.tips-page {
    max-width: 1100px;
    margin: 3rem auto;
    padding: 0 1.5rem;
}

.tips-header {
    text-align: center;
    margin-bottom: 2rem;
}

.tips-header h1 {
    margin-bottom: 0.5rem;
}

.tips-subtitle {
    color: #888;
    font-size: 1.125rem;
    margin: 0;
}

.tips-intro {
    max-width: 700px;
    margin: 0 auto 3rem;
    text-align: center;
}

.tips-intro p {
    color: #a0a0a0;
    font-size: 1rem;
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.tip-method {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 2rem;
    transition: border-color 0.2s;
}

.tip-method:hover {
    border-color: #3a3a4a;
}

.tip-method-primary {
    border-color: rgba(91, 163, 217, 0.4);
}

.tip-method-primary:hover {
    border-color: #5ba3d9;
}

.method-icon {
    color: #5ba3d9;
    margin-bottom: 1.25rem;
}

.tip-method h2 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.method-description {
    color: #888;
    font-size: 0.9375rem;
    margin-bottom: 1.5rem;
}

.signal-contact,
.email-contact {
    background: #111;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.contact-label {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    margin-bottom: 0.5rem;
}

.contact-number {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #5ba3d9;
    letter-spacing: 0.03em;
}

.contact-email {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #5ba3d9;
}

.pgp-key-section {
    background: #0d1117;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin: 1rem 0 1.5rem;
    text-align: left;
}

.pgp-key-section p {
    margin: 0.5rem 0;
    font-size: 0.875rem;
    color: #c9d1d9;
}

.pgp-fingerprint code {
    background: #1a1a2e;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-family: 'Monaco', 'Consolas', monospace;
    font-size: 0.75rem;
    color: #7ee787;
    word-break: break-all;
}

.pgp-download-link {
    display: inline-block;
    background: #238636;
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    margin-top: 0.5rem;
}

.pgp-download-link:hover {
    background: #2ea043;
    color: #fff;
}

.method-steps {
    margin-bottom: 1.5rem;
}

.method-steps h4 {
    font-size: 0.875rem;
    color: #c0c0c0;
    margin-bottom: 0.75rem;
}

.method-steps ol {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: steps;
}

.method-steps li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: #888;
    counter-increment: steps;
}

.method-steps li::before {
    content: counter(steps);
    position: absolute;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    background: #2a2a3a;
    border-radius: 50%;
    text-align: center;
    line-height: 1.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #888;
}

.security-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.security-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(124, 184, 140, 0.1);
    border: 1px solid rgba(124, 184, 140, 0.25);
    border-radius: 20px;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    color: #7cb88c;
}

/* Tip Form */
.tip-form {
    margin-top: 1rem;
}

.tip-form textarea {
    width: 100%;
    padding: 1rem;
    background: #111;
    border: 1px solid #3a3a4a;
    border-radius: 8px;
    color: #fff;
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.6;
    resize: vertical;
    min-height: 120px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.tip-form textarea:focus {
    outline: none;
    border-color: #5ba3d9;
    box-shadow: 0 0 0 3px rgba(91, 163, 217, 0.15);
}

.form-note {
    font-size: 0.8125rem;
    color: #666;
    background: #111;
    border-radius: 6px;
    padding: 0.875rem;
    margin-bottom: 1rem;
}

/* File Upload Styling */
.tip-form input[type="file"] {
    width: 100%;
    padding: 1rem;
    background: #111;
    border: 2px dashed #3a3a4a;
    border-radius: 8px;
    color: #888;
    font-size: 0.9375rem;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.tip-form input[type="file"]:hover {
    border-color: #5ba3d9;
    background: #0a0a15;
}

.tip-form input[type="file"]:focus {
    outline: none;
    border-color: #5ba3d9;
}

.form-help {
    font-size: 0.75rem;
    color: #666;
    margin-top: 0.5rem;
    line-height: 1.4;
}

/* FAQ Section */
.tips-faq {
    max-width: 800px;
    margin: 0 auto 3rem;
}

.tips-faq h2 {
    text-align: center;
    margin-bottom: 2rem;
}

.faq-item {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

.faq-item h4 {
    color: #fff;
    margin-bottom: 0.75rem;
}

.faq-item p {
    color: #888;
    font-size: 0.9375rem;
    margin: 0;
    line-height: 1.6;
}

.tips-disclaimer {
    max-width: 700px;
    margin: 0 auto;
    padding: 1.5rem;
    background: rgba(230, 168, 85, 0.1);
    border: 1px solid rgba(230, 168, 85, 0.25);
    border-radius: 8px;
    text-align: center;
}

.tips-disclaimer p {
    color: #e6a855;
    font-size: 0.875rem;
    margin: 0;
}

/* ============================================
   Subscription Wall (Paywall CTA)
   ============================================ */

.subscription-wall {
    background: linear-gradient(180deg, transparent 0%, #1a1a2e 20%);
    padding: 3rem 0 0;
    margin-top: -2rem;
    position: relative;
}

.subscription-wall::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4rem;
    background: linear-gradient(180deg, transparent, #1a1a2e);
}

.subscription-wall-inner {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 2.5rem;
    text-align: center;
    max-width: 500px;
    margin: 0 auto;
}

.subscription-wall h3 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

.subscription-wall > .subscription-wall-inner > p {
    color: #888;
    margin-bottom: 1.5rem;
}

.subscription-pricing {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.price-original {
    text-decoration: line-through;
    color: #666;
    font-size: 1.125rem;
}

.price-beta {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #7cb88c;
}

.btn-subscribe {
    display: inline-block;
    background: #5ba3d9;
    color: #fff;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    padding: 1rem 2rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

.btn-subscribe:hover {
    background: #4a92c8;
    color: #fff;
}

.login-prompt {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: #666;
}

/* ============================================
   Theme Variants (Light & Accessibility)
   ============================================ */

/* Light Theme */
body.theme-light {
    background-color: #f5f5f5;
    color: #333;
}

body.theme-light h1,
body.theme-light h2,
body.theme-light h3,
body.theme-light h4,
body.theme-light h5 {
    color: #111;
}

body.theme-light p {
    color: #444;
}

body.theme-light a {
    color: #1a73e8;
}

body.theme-light .site-header,
body.theme-light .site-footer,
body.theme-light .auth-box,
body.theme-light .settings-section,
body.theme-light .tip-method,
body.theme-light .subscription-status {
    background: #fff;
    border-color: #e0e0e0;
}

body.theme-light .auth-form input,
body.theme-light .locale-type-select,
body.theme-light .locale-value-select,
body.theme-light .locale-custom-input,
body.theme-light .tip-form textarea {
    background: #fff;
    border-color: #d0d0d0;
    color: #333;
}

body.theme-light .theme-option,
body.theme-light .sector-option {
    background: #f9f9f9;
    border-color: #e0e0e0;
}

body.theme-light .badge-popup {
    background: #fff;
    border-color: #e0e0e0;
}

/* Accessibility Theme (High Contrast) */
body.theme-accessibility {
    background-color: #000;
    color: #fff;
}

body.theme-accessibility h1,
body.theme-accessibility h2,
body.theme-accessibility h3,
body.theme-accessibility h4,
body.theme-accessibility h5,
body.theme-accessibility h6,
body.theme-accessibility p {
    color: #fff;
}

body.theme-accessibility a {
    color: #ffff00;
    text-decoration: underline;
}

body.theme-accessibility .site-header,
body.theme-accessibility .site-footer,
body.theme-accessibility .auth-box,
body.theme-accessibility .settings-section,
body.theme-accessibility .tip-method,
body.theme-accessibility .subscription-status {
    background: #000;
    border-color: #fff;
    border-width: 2px;
}

body.theme-accessibility .btn-primary {
    background: #ffff00;
    color: #000;
}

body.theme-accessibility .btn-primary:hover {
    background: #fff;
}

/* ============================================
   Responsive Adjustments for Account Pages
   ============================================ */

@media (max-width: 768px) {
    .auth-page {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .auth-features {
        order: -1;
    }

    .theme-options {
        grid-template-columns: 1fr;
    }

    .sector-grid {
        grid-template-columns: 1fr;
    }

    .tips-grid {
        grid-template-columns: 1fr;
    }

    .locale-add {
        flex-direction: column;
    }

    .locale-type-select,
    .locale-value-select,
    .locale-custom-input {
        min-width: 100%;
    }

    .settings-actions {
        flex-direction: column;
    }

    .settings-actions .btn {
        width: 100%;
    }
}

/* ============================================
   Static Pages (About, Contact, Legal)
   ============================================ */

.static-page {
    max-width: 900px;
    margin: 2rem auto;
    padding: 0 1.5rem;
}

.page-header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 3px solid #5ba3d9;
}

.page-header h1 {
    font-size: 2.25rem;
    margin-bottom: 0.5rem;
}

.page-subtitle {
    color: #888;
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.page-updated {
    font-size: 0.875rem;
    color: #666;
    margin: 0;
}

.page-content {
    font-size: 1rem;
    line-height: 1.7;
}

.page-content h2 {
    font-size: 1.5rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #2a2a3a;
}

.page-content h3 {
    font-size: 1.125rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #5ba3d9;
}

.page-content h4 {
    font-size: 1rem;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

.page-content p {
    margin-bottom: 1rem;
    color: #c0c0c0;
}

.page-content ul,
.page-content ol {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}

.page-content li {
    margin-bottom: 0.5rem;
    color: #b0b0b0;
}

.page-content a {
    color: #5ba3d9;
}

.page-content a:hover {
    text-decoration: underline;
}

/* About Page Specific */
.about-section {
    margin-bottom: 2rem;
}

.methodology-grid,
.sectors-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 1rem;
}

.methodology-item,
.sector-item {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1.25rem;
}

.methodology-item h4,
.sector-item h4 {
    color: #5ba3d9;
    margin: 0 0 0.5rem 0;
}

.methodology-item p,
.sector-item p {
    font-size: 0.875rem;
    margin: 0;
    color: #888;
}

/* Contact Page Specific */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 3rem;
}

.contact-info {
    padding-right: 2rem;
}

.contact-section {
    margin-bottom: 2rem;
}

.contact-section h2 {
    margin-top: 0;
}

.contact-section h3 {
    font-size: 1rem;
    margin-top: 0;
}

.contact-form-wrapper {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 2rem;
}

.contact-form .form-group {
    margin-bottom: 1.5rem;
}

.contact-form label {
    display: block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #c0c0c0;
    margin-bottom: 0.5rem;
}

.contact-form .required {
    color: #ef4444;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    background: #111;
    border: 1px solid #3a3a4a;
    border-radius: 6px;
    color: #fff;
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #5ba3d9;
    box-shadow: 0 0 0 3px rgba(91, 163, 217, 0.15);
}

.contact-form textarea {
    resize: vertical;
    min-height: 150px;
}

/* Legal Pages Specific */
.legal-content {
    max-width: 800px;
}

.legal-section {
    margin-bottom: 2rem;
}

.contact-block {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1.25rem;
    margin: 1rem 0;
}

/* Responsive Static Pages */
@media (max-width: 768px) {
    .methodology-grid,
    .sectors-grid {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .contact-info {
        padding-right: 0;
    }

    .page-header h1 {
        font-size: 1.75rem;
    }
}

/* ============================================
   Enhanced Footer
   ============================================ */

.footer-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid #2a2a3a;
    margin-bottom: 1.5rem;
}

.footer-column h4 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    margin-bottom: 1rem;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column li {
    margin-bottom: 0.5rem;
}

.footer-column a {
    color: #a0a0a0;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s;
}

.footer-column a:hover {
    color: #5ba3d9;
}

.footer-social {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #2a2a3a;
    border-radius: 6px;
    color: #888;
    transition: all 0.2s;
}

.footer-social a:hover {
    background: #5ba3d9;
    color: #fff;
}

@media (max-width: 768px) {
    .footer-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 480px) {
    .footer-links {
        grid-template-columns: 1fr;
    }
}

.footer-disclaimer {
    background: rgba(230, 168, 85, 0.08);
    border: 1px solid rgba(230, 168, 85, 0.2);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.footer-disclaimer p {
    font-size: 0.8125rem;
    color: #a0a0a0;
    margin: 0;
    line-height: 1.6;
}

.footer-disclaimer a {
    color: #5ba3d9;
}

/* ============================================
   BLUF Dictionary Definition Box
   ============================================ */
.bluf-definition-box {
    background: linear-gradient(135deg, #1a1a2e 0%, #16162a 100%);
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
    max-width: 400px;
}

.bluf-definition-box .dict-word {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.25rem 0;
}

.bluf-definition-box .dict-pronunciation {
    font-family: 'Georgia', serif;
    font-size: 0.875rem;
    color: #8a8a9a;
    font-style: italic;
    margin-bottom: 0.75rem;
}

.bluf-definition-box .dict-type {
    display: inline-block;
    font-family: 'Georgia', serif;
    font-size: 0.75rem;
    font-style: italic;
    color: #5ba3d9;
    background: rgba(91, 163, 217, 0.1);
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    margin-bottom: 0.75rem;
}

.bluf-definition-box .dict-origin {
    font-size: 0.75rem;
    color: #666;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #2a2a3a;
}

.bluf-definition-box .dict-definitions {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bluf-definition-box .dict-definitions li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #c8c8c8;
}

.bluf-definition-box .dict-definitions li::before {
    content: attr(data-num);
    position: absolute;
    left: 0;
    font-weight: 700;
    color: #5ba3d9;
}

.bluf-definition-box .dict-example {
    font-style: italic;
    color: #888;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}

.bluf-definition-box .dict-value {
    background: rgba(91, 163, 217, 0.08);
    border-radius: 6px;
    padding: 0.875rem;
    margin-top: 1rem;
    font-size: 0.85rem;
    color: #a8c8e8;
    line-height: 1.5;
}

.bluf-definition-box .dict-value strong {
    color: #5ba3d9;
}

/* Prominent logo hero section for homepage */
.hero-logo-section {
    text-align: center;
    padding: 3rem 0 2rem;
    background: linear-gradient(180deg, #111 0%, #0a0a15 100%);
    border-bottom: 1px solid #1a1a2a;
}

.hero-logo {
    width: 150px;
    height: auto;
    margin-bottom: 1rem;
    filter: drop-shadow(0 4px 20px rgba(91, 163, 217, 0.4));
}

.hero-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0;
}

.hero-tagline {
    font-family: 'Georgia', serif;
    font-size: 1.125rem;
    font-style: italic;
    color: #8a8a9a;
    margin-top: 0.5rem;
}

/* Old homepage-layout CSS removed - using embedded briefing-sidebar instead */

/* ============================================
   Briefing Box Two-Column Layout (v4.1)
   ============================================ */
.briefing-two-col {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

.briefing-analysis {
    flex: 3;
    min-width: 0;
}

.briefing-sidebar-panel {
    flex: 1;
    min-width: 200px;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-left: 1.5rem;
    border-left: 1px solid #333;
}

.briefing-analysis .ai-analysis {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Sidebar Boxes */
.sidebar-box {
    background: rgba(18, 18, 28, 0.8);
    border: 1px solid #252535;
    border-radius: 5px;
    padding: 0.75rem;
}

.definition-box {
}

.def-word {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.15rem;
}

.def-phonetic {
    font-size: 0.7rem;
    color: #666;
    margin-bottom: 0.5rem;
}

.def-phonetic em {
    color: #5ba3d9;
    margin-left: 0.3rem;
}

.def-text {
    font-size: 0.75rem;
    color: #999;
    line-height: 1.4;
    margin: 0;
}

/* Stats Box */
.stats-box {
    display: flex;
    justify-content: space-around;
    text-align: center;
}

.stat {
    font-size: 0.65rem;
    color: #888;
}

.stat-num {
    display: block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

/* Method Box */
.method-box {
    font-size: 0.7rem;
}

.method-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5ba3d9;
    margin-bottom: 0.4rem;
}

.method-item {
    color: #777;
    margin-bottom: 0.2rem;
}

/* Responsive */
@media (max-width: 800px) {
    .briefing-two-col {
        flex-direction: column;
    }
    
    .briefing-sidebar-panel {
        flex-direction: row;
        flex-wrap: wrap;
        max-width: none;
        padding-left: 0;
        padding-top: 1rem;
        border-left: none;
        border-top: 1px solid #333;
    }
    
    .sidebar-box {
        flex: 1 1 150px;
    }
}

/* Sidebar Widgets (Breaking News & Developing Stories) */
.sidebar-widget {
    background: rgba(18, 18, 28, 0.9);
    border: 1px solid #252535;
    border-radius: 6px;
    padding: 0.85rem;
}

.sidebar-widget-title {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #f59e0b;
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #3a3a4a;
}

.sidebar-widget-link {
    display: block;
    margin-top: 0.6rem;
    font-size: 0.7rem;
    color: #3b82f6;
    text-decoration: none;
}

.sidebar-widget-link:hover {
    text-decoration: underline;
}

/* Breaking News Widget */
.breaking-widget {
    border-color: #dc2626;
    background: linear-gradient(135deg, rgba(30,10,10,0.95) 0%, rgba(18,18,28,0.95) 100%);
}

.breaking-badge-sidebar {
    display: inline-block;
    background: #dc2626;
    color: #fff;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    animation: pulse-red 2s infinite;
}

@keyframes pulse-red {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.breaking-sidebar-bluf {
    color: #e5e7eb;
    font-size: 0.78rem;
    line-height: 1.45;
    margin: 0.6rem 0;
}

.breaking-sidebar-stories {
    margin-top: 0.5rem;
}

.breaking-sidebar-story {
    padding: 0.4rem 0;
    border-bottom: 1px solid #2a2a3a;
}

.breaking-sidebar-story:last-child {
    border-bottom: none;
}

.breaking-sidebar-story a {
    color: #c9d1d9;
    font-size: 0.72rem;
    line-height: 1.35;
    text-decoration: none;
    display: block;
    font-family: 'Libre Franklin', 'Arial', sans-serif;
}

.breaking-sidebar-story a:hover {
    color: #fff;
}

.breaking-sidebar-meta {
    display: block;
    font-size: 0.62rem;
    color: #6b7280;
    margin-top: 0.15rem;
    font-family: 'Libre Franklin', 'Arial', sans-serif;
}

/* Developing Stories Widget */
.developing-widget {
    border-color: #78350f;
    background: linear-gradient(135deg, rgba(26,21,0,0.95) 0%, rgba(18,18,28,0.95) 100%);
}

.developing-sidebar-item {
    padding: 0.6rem 0;
    border-bottom: 1px solid #3a3020;
}

.developing-sidebar-item:first-of-type {
    padding-top: 0;
}

.developing-sidebar-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.developing-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.35rem;
}

.developing-badge-sidebar {
    background: #f59e0b;
    color: #000;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.developing-badge-sidebar.cooling {
    background: #6b7280;
    color: #fff;
}

.developing-sidebar-duration {
    font-size: 0.62rem;
    color: #6b7280;
}

.developing-sidebar-title {
    color: #e5e7eb;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 0.25rem;
}

.developing-sidebar-stats {
    font-size: 0.62rem;
    color: #6b7280;
    margin-bottom: 0.4rem;
}

.developing-sidebar-analysis {
    font-size: 0.78rem;
    line-height: 1.45;
    color: #c9d1d9;
}

.developing-sidebar-analysis p {
    margin: 0.3rem 0;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
}

.developing-sidebar-analysis strong {
    color: #e5e7eb;
    font-weight: 600;
}

.developing-sidebar-latest {
    color: #c9d1d9;
}

/* AI-Generated Content - Italicized for differentiation */
.ai-analysis-text {
    font-style: italic;
}

@media (max-width: 800px) {
    .sidebar-widget {
        width: 100%;
    }
}

/* Definition box additions */
.def-origin {
    font-size: 0.6rem;
    color: #5a5a6a;
    margin-bottom: 0.4rem;
    font-style: italic;
}

.def-example {
    font-size: 0.7rem;
    color: #6a7a8a;
    font-style: italic;
    margin: 0.5rem 0 0 0;
    padding-top: 0.4rem;
    border-top: 1px solid #252535;
}

/* ============================================
   Personalization & Local Section
   ============================================ */

/* Personalized badge */
.personalized-badge {
    display: inline-block;
    background: linear-gradient(135deg, #2d5a3d 0%, #1e3d29 100%);
    color: #7cb88c;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.25rem 0.6rem;
    border-radius: 3px;
    margin-left: 0.75rem;
    vertical-align: middle;
    border: 1px solid #3d6a4d;
}

/* Local Section */
.local-section {
    background: linear-gradient(180deg, #1a1a2e 0%, #151525 100%);
    border: 1px solid #2a2a3e;
    border-radius: 6px;
    padding: 1.25rem;
    margin: 1.5rem 0;
}

.local-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem 0 !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid #2a2a3e !important;
}

.local-icon {
    font-size: 1.1rem;
}

.locale-count {
    margin-left: auto;
    font-size: 0.7rem;
    color: #666;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.local-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.local-card {
    background: #0d0d15;
    border: 1px solid #252535;
    border-radius: 4px;
    padding: 1rem;
}

.local-card h4 {
    color: #aaa;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #252535;
}

.card-icon {
    margin-right: 0.4rem;
}

/* Weather Card */
.weather-items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.weather-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.weather-location {
    color: #ccc;
    font-weight: 500;
    font-size: 0.85rem;
    min-width: 100px;
}

.weather-temp {
    color: #5ba3d9;
    font-weight: 700;
    font-size: 1rem;
}

.weather-condition {
    color: #888;
    font-size: 0.8rem;
}

.data-source {
    font-size: 0.65rem;
    color: #555;
    margin-top: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px solid #252535;
}

/* Traffic Card */
.traffic-items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.traffic-item {
    padding: 0.5rem;
    border-radius: 3px;
    background: #151520;
}

.traffic-item.moderate {
}

.traffic-item.severe {
}

.traffic-route {
    display: block;
    color: #ccc;
    font-weight: 500;
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
}

.traffic-desc {
    color: #888;
    font-size: 0.75rem;
}

/* Local News Card */
.local-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.local-news-list li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #1a1a2a;
}

.local-news-list li:last-child {
    border-bottom: none;
}

.local-news-list a {
    color: #ccc;
    text-decoration: none;
    font-size: 0.8rem;
    line-height: 1.4;
    display: block;
}

.local-news-list a:hover {
    color: #5ba3d9;
}

.news-source {
    display: block;
    color: #555;
    font-size: 0.7rem;
    margin-top: 0.2rem;
}

/* Local placeholder */
.local-placeholder {
    text-align: center;
    padding: 2rem 1rem;
    color: #666;
}

.local-placeholder p {
    margin: 0 0 1rem 0;
    font-size: 0.85rem;
}

.local-placeholder .btn-secondary {
    display: inline-block;
    background: transparent;
    color: #5ba3d9;
    border: 1px solid #5ba3d9;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.8rem;
    transition: all 0.2s ease;
}

.local-placeholder .btn-secondary:hover {
    background: #5ba3d9;
    color: #0d0d15;
}

/* Responsive local section */
@media (max-width: 600px) {
    .local-grid {
        grid-template-columns: 1fr;
    }

    .local-title {
        flex-wrap: wrap;
    }

    .locale-count {
        width: 100%;
        margin-left: 0;
        margin-top: 0.25rem;
    }
}

/* ============================================
   Breaking News Banner
   ============================================ */
.breaking-banner {
    background: #1a0000;
    border: 1px solid #dc2626;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.breaking-banner-badge span {
    display: inline-block;
    background: #dc2626;
    color: #fff;
    font-family: 'Libre Franklin', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    margin-bottom: 0.75rem;
}

.breaking-banner-analysis {
    color: #e5e7eb;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #2a2a2a;
}

.breaking-banner-bluf {
    color: #f3f4f6;
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 0.4rem;
}

.breaking-banner-assessment {
    color: #9ca3af;
    font-style: italic;
    font-size: 0.82rem;
    line-height: 1.4;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #2a2a2a;
}

.breaking-banner-headlines {
    margin-bottom: 0.5rem;
}

.breaking-headline {
    padding: 0.5rem 0;
    border-bottom: 1px solid #2a2a2a;
}

.breaking-headline:last-child {
    border-bottom: none;
}

.breaking-headline a {
    color: #f87171;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

.breaking-headline a:hover {
    color: #fca5a5;
    text-decoration: underline;
}

.breaking-headline-meta {
    display: block;
    color: #6b7280;
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.breaking-banner-link {
    display: inline-block;
    color: #dc2626;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    margin-top: 0.5rem;
}

.breaking-banner-link:hover {
    color: #ef4444;
    text-decoration: underline;
}

/* ============================================
   Briefing Archive
   ============================================ */
.briefing-archive {
    margin-top: 1rem;
}

.month-group {
    margin-bottom: 2rem;
}

.month-header {
    font-size: 1.1rem;
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #2a2a2a;
    margin-bottom: 1rem;
}

.month-briefs {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.brief-card {
    background: #1a1a1a;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    transition: background 0.2s ease;
}

.brief-card:hover {
    background: #222;
}

.brief-card-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.brief-type-badge {
    font-family: 'Libre Franklin', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: #2a2a2a;
    color: #aaa;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
}

.brief-date,
.brief-time {
    font-size: 0.8rem;
    color: #666;
}

.brief-card-title {
    font-size: 1rem;
    margin-bottom: 0.4rem;
}

.brief-card-title a {
    color: #d0d0d0;
    text-decoration: none;
}

.brief-card-title a:hover {
    color: #fff;
}

.brief-card-excerpt {
    font-size: 0.85rem;
    color: #888;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.brief-card-footer {
    margin-top: 0.5rem;
}

.brief-read-more {
    color: #3b82f6;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
}

.brief-read-more:hover {
    color: #60a5fa;
    text-decoration: underline;
}

/* Responsive briefing archive */
@media (max-width: 600px) {
    .brief-card {
        padding: 0.75rem 1rem;
    }

    .brief-card-meta {
        gap: 0.5rem;
    }

    .brief-card-title {
        font-size: 0.9rem;
    }

    .brief-card-excerpt {
        font-size: 0.8rem;
    }
}

/* ============================================
   Breaking News History Page
   ============================================ */
.breaking-history {
    margin-top: 1rem;
}

.date-group {
    margin-bottom: 2rem;
}

.date-header {
    font-size: 1.1rem;
    color: #9ca3af;
    font-weight: 600;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #333;
    margin-bottom: 1rem;
}

.breaking-entry {
    background: #1a0000;
    border: 1px solid #dc2626;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.breaking-entry-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.breaking-entry-badge {
    background: #dc2626;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    letter-spacing: 0.05em;
}

.breaking-entry-time {
    color: #6b7280;
    font-size: 0.8rem;
}

.breaking-entry-analysis {
    color: #e5e7eb;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

.breaking-entry-bluf {
    color: #f3f4f6;
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 0.4rem;
}

.breaking-entry-assessment {
    color: #9ca3af;
    font-style: italic;
    font-size: 0.82rem;
    line-height: 1.4;
    margin-bottom: 0.75rem;
}

.breaking-entry-stories {
    margin-bottom: 0.75rem;
}

.breaking-entry-story {
    padding: 0.35rem 0;
}

.breaking-entry-story a {
    color: #f87171;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
}

.breaking-entry-story a:hover {
    color: #fca5a5;
    text-decoration: underline;
}

.breaking-entry-story .story-meta {
    display: block;
    color: #6b7280;
    font-size: 0.75rem;
    margin-top: 0.15rem;
}

.breaking-entry-link {
    color: #3b82f6;
    font-size: 0.8rem;
    text-decoration: none;
    font-weight: 500;
}

.breaking-entry-link:hover {
    color: #60a5fa;
    text-decoration: underline;
}

/* Responsive breaking banner + history */
@media (max-width: 600px) {
    .breaking-banner {
        padding: 0.75rem 1rem;
    }

    .breaking-banner-bluf {
        font-size: 0.82rem;
    }

    .breaking-banner-assessment {
        font-size: 0.75rem;
    }

    .breaking-headline a {
        font-size: 0.82rem;
    }

    .breaking-entry {
        padding: 0.75rem 1rem;
    }

    .breaking-entry-analysis,
    .breaking-entry-bluf {
        font-size: 0.8rem;
    }

    .breaking-entry-assessment {
        font-size: 0.75rem;
    }

    .breaking-entry-story a {
        font-size: 0.8rem;
    }
}

/* ============================================================
   DEVELOPING STORIES SECTION
   ============================================================ */

.developing-section {
    margin: 1.5rem 0;
    padding: 1.25rem;
    background: #1a1500;
    border: 1px solid #78350f;
    border-radius: 8px;
}

.developing-section-title {
    color: #f59e0b;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 1rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #78350f;
}

.developing-topics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.developing-topic-card {
    background: #0d0d00;
    border: 1px solid #4a2800;
    border-radius: 6px;
    padding: 0.75rem;
    transition: border-color 0.2s ease;
}

.developing-topic-card:hover {
    border-color: #f59e0b;
}

.developing-topic-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.4rem;
}

.developing-badge {
    background: #f59e0b;
    color: #000;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.developing-badge.cooling {
    background: #6b7280;
    color: #fff;
}

.developing-badge.escalating {
    background: #dc2626;
    color: #fff;
}

.developing-duration {
    color: #6b7280;
    font-size: 0.7rem;
}

.developing-topic-title {
    color: #e5e7eb;
    font-weight: 600;
    font-size: 0.85rem;
    margin-bottom: 0.3rem;
    line-height: 1.3;
}

.developing-topic-latest {
    color: #9ca3af;
    font-size: 0.75rem;
    line-height: 1.4;
    margin-bottom: 0.3rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.developing-topic-meta {
    color: #6b7280;
    font-size: 0.68rem;
    margin-top: 0.25rem;
}

@media (max-width: 768px) {
    .developing-topics-grid {
        grid-template-columns: 1fr;
    }

    .developing-section {
        padding: 1rem;
        margin: 1rem 0;
    }

    .developing-topic-title {
        font-size: 0.82rem;
    }

    .developing-topic-latest {
        font-size: 0.72rem;
    }
}

/* Inline Developing Stories (inside analysis box) */
.developing-inline {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #2a2a2a;
}

.developing-inline-title {
    color: #f59e0b;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 0.75rem 0;
}

.developing-inline-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.developing-inline-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.65rem;
    background: #1a1500;
    border: 1px solid #4a2800;
    border-radius: 5px;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.developing-inline-item:hover {
    border-color: #f59e0b;
    background: #251c00;
}

.developing-badge-sm {
    background: #f59e0b;
    color: #000;
    padding: 0.12rem 0.35rem;
    border-radius: 3px;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.developing-badge-sm.cooling {
    background: #6b7280;
    color: #fff;
}

.developing-inline-name {
    color: #e5e7eb;
    font-weight: 600;
    font-size: 0.8rem;
    flex-grow: 1;
}

.developing-inline-meta {
    color: #6b7280;
    font-size: 0.68rem;
    flex-shrink: 0;
}

/* Topic Analysis Popup */
.topic-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.75);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 1rem;
}

.topic-popup-overlay.active {
    display: flex;
}

.topic-popup {
    background: #1a1a2e;
    border: 1px solid #f59e0b;
    border-radius: 10px;
    max-width: 480px;
    width: 100%;
    padding: 1.5rem;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    position: relative;
}

.topic-popup-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.topic-popup-title {
    color: #f59e0b;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    padding-right: 1rem;
}

.topic-popup-close {
    background: #2a2a3a;
    border: none;
    color: #888;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.topic-popup-close:hover {
    background: #3a3a4a;
    color: #fff;
}

.topic-popup-stats {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #2a2a3a;
}

.topic-popup-stat {
    color: #9ca3af;
    font-size: 0.75rem;
}

.topic-popup-stat strong {
    color: #e5e7eb;
}

.topic-popup-section {
    margin-bottom: 1rem;
}

.topic-popup-section:last-child {
    margin-bottom: 0;
}

.topic-popup-label {
    color: #6b7280;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.3rem;
}

.topic-popup-content {
    color: #c9d1d9;
    font-size: 0.85rem;
    line-height: 1.55;
}

.topic-popup-loading {
    color: #6b7280;
    font-style: italic;
    text-align: center;
    padding: 1rem 0;
}

@media (max-width: 600px) {
    .developing-inline-item {
        flex-wrap: wrap;
    }
    .developing-inline-meta {
        width: 100%;
        margin-top: 0.25rem;
        margin-left: 2.5rem;
    }
    .topic-popup {
        padding: 1.25rem;
    }
    .topic-popup-title {
        font-size: 1rem;
    }
}

/* ============================================================
   LOCALE DATA SECTION (Weather + Local News)
   ============================================================ */

.locale-section {
    margin: 1.5rem 0;
    padding: 1.25rem;
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1.5rem;
}

.locale-section-title {
    color: #60a5fa;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #1e3a5f;
}

.locale-weather-card {
    margin-bottom: 0.75rem;
    padding: 0.6rem;
    background: #0d1f3c;
    border-radius: 4px;
}

.locale-weather-location {
    color: #e5e7eb;
    font-weight: 600;
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
}

.locale-weather-forecast {
    color: #9ca3af;
    font-size: 0.75rem;
    line-height: 1.4;
}

.locale-weather-temp {
    color: #60a5fa;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.15rem;
}

.locale-weather-wind {
    color: #6b7280;
    font-size: 0.7rem;
    margin-top: 0.2rem;
}

.locale-news-item {
    padding: 0.4rem 0;
    border-bottom: 1px solid #1a2744;
}

.locale-news-item:last-child {
    border-bottom: none;
}

.locale-news-item a {
    color: #e5e7eb;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.3;
    display: block;
}

.locale-news-item a:hover {
    color: #60a5fa;
}

.locale-news-source {
    color: #6b7280;
    font-size: 0.68rem;
    display: block;
    margin-top: 0.15rem;
}

/* Simplified locale news list styling */
.locale-news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.locale-news-list .locale-news-item {
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.locale-news-list .locale-news-item:last-child {
    border-bottom: none;
}

.locale-news-list .locale-news-item a {
    color: #e5e5e5;
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.4;
    display: block;
}

.locale-news-list .locale-news-item a:hover {
    color: #60a5fa;
}

.locale-news-meta {
    font-size: 0.75rem;
    color: #737373;
    margin-top: 0.25rem;
    display: block;
}

@media (max-width: 768px) {
    .locale-section {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .locale-news-list .locale-news-item a {
        font-size: 0.9rem;
    }
}

/* =============================================================================
   COMPREHENSIVE US LOCALE SYSTEM STYLES
   Settings page collapsible sections, state grid, metros, autocomplete
   ============================================================================= */

/* Collapsible Section Container */
.collapsible-section {
    background: #0f1729;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.collapsible-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    cursor: pointer;
    background: #0a1628;
    transition: background-color 0.15s ease;
}

.collapsible-section .section-header:hover {
    background: #0d1a30;
}

.collapsible-section .section-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.collapsible-section .section-title h2 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #e5e7eb;
}

.collapsible-section .section-icon {
    font-size: 1.2rem;
}

.collapsible-section .section-summary {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.collapsible-section .summary-text {
    color: #9ca3af;
    font-size: 0.875rem;
    background: #1a2744;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
}

.collapsible-section .section-toggle {
    color: #6b7280;
    font-size: 0.8rem;
    transition: transform 0.2s ease;
}

.collapsible-section.collapsed .section-toggle {
    transform: rotate(0deg);
}

.collapsible-section .section-content {
    padding: 1.25rem;
    border-top: 1px solid #1e3a5f;
}

/* Timezone Selector */
.timezone-selector {
    margin-bottom: 1.25rem;
}

.timezone-selector label {
    display: block;
    font-size: 0.875rem;
    color: #9ca3af;
    margin-bottom: 0.5rem;
}

.timezone-select {
    width: 100%;
    max-width: 400px;
    padding: 0.75rem;
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 0.375rem;
    color: #e5e7eb;
    font-size: 1rem;
}

.timezone-select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.timezone-info {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: center;
}

.current-time {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.time-label {
    color: #6b7280;
    font-size: 0.875rem;
}

.time-value {
    color: #60a5fa;
    font-size: 1.1rem;
    font-weight: 600;
    font-family: 'IBM Plex Mono', monospace;
}

.dst-status {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.dst-badge {
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-weight: 500;
}

.dst-badge.dst-observes {
    background: rgba(16, 185, 129, 0.2);
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.dst-badge.dst-no {
    background: rgba(245, 158, 11, 0.2);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.dst-active {
    color: #10b981;
    font-size: 0.75rem;
    font-style: italic;
}

/* State Grid */
.state-grid {
    display: grid;
    gap: 1.5rem;
}

.state-region {
    margin-bottom: 0.5rem;
}

.region-label {
    color: #60a5fa;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #1e3a5f;
}

.region-states {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.state-checkbox {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.625rem;
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.15s ease;
    min-width: 65px;
}

.state-checkbox:hover {
    border-color: #3b82f6;
    background: #0d1a30;
}

.state-checkbox.selected {
    background: rgba(59, 130, 246, 0.2);
    border-color: #3b82f6;
}

.state-checkbox input {
    display: none;
}

.state-code {
    font-weight: 700;
    color: #e5e7eb;
    font-size: 0.875rem;
    min-width: 22px;
}

.state-checkbox.selected .state-code {
    color: #60a5fa;
}

.state-name {
    display: none;
}

.state-actions {
    margin-top: 1rem;
    display: flex;
    gap: 0.75rem;
}

.btn-small {
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
}

/* Metro Areas */
.metros-container {
    min-height: 100px;
}

.metro-state-group {
    margin-bottom: 1.5rem;
}

.metro-state-group h4 {
    color: #60a5fa;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #1e3a5f;
}

.metro-options {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.5rem;
}

.metro-checkbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.metro-checkbox:hover {
    border-color: #3b82f6;
    background: #0d1a30;
}

.metro-checkbox.selected {
    background: rgba(59, 130, 246, 0.2);
    border-color: #3b82f6;
}

.metro-checkbox input {
    display: none;
}

.metro-name {
    color: #e5e7eb;
    font-size: 0.875rem;
    font-weight: 500;
}

.metro-checkbox.selected .metro-name {
    color: #60a5fa;
}

.metro-pop {
    color: #6b7280;
    font-size: 0.7rem;
    font-family: 'IBM Plex Mono', monospace;
}

.no-metros-message {
    text-align: center;
    padding: 2rem;
    color: #6b7280;
}

.no-metros-message p {
    margin: 0;
}

/* Counties */
.counties-container {
    min-height: 50px;
}

.county-state-group {
    margin-bottom: 1.5rem;
}

.county-state-group h4 {
    color: #60a5fa;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.county-options {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.375rem;
    max-height: 300px;
    overflow-y: auto;
    padding: 0.5rem;
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 0.375rem;
}

.county-checkbox {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.5rem;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.county-checkbox:hover {
    background: #0d1a30;
}

.county-checkbox.selected {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.3);
}

.county-checkbox input {
    display: none;
}

.county-name {
    color: #9ca3af;
    font-size: 0.8rem;
}

.county-checkbox.selected .county-name {
    color: #60a5fa;
}

/* Custom Locations */
.custom-locations-container {
    min-height: 100px;
}

.custom-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.custom-tag {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: rgba(16, 185, 129, 0.2);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 2rem;
}

.tag-text {
    color: #10b981;
    font-size: 0.875rem;
    font-weight: 500;
}

.tag-remove {
    background: none;
    border: none;
    color: #6b7280;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0;
    transition: color 0.15s ease;
}

.tag-remove:hover {
    color: #ef4444;
}

.custom-add {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
    margin-bottom: 0.75rem;
}

.autocomplete-wrapper {
    flex: 1;
    position: relative;
}

.location-input {
    width: 100%;
    padding: 0.75rem;
    background: #0a1628;
    border: 1px solid #1e3a5f;
    border-radius: 0.375rem;
    color: #e5e7eb;
    font-size: 0.95rem;
}

.location-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.autocomplete-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #0f1729;
    border: 1px solid #1e3a5f;
    border-top: none;
    border-radius: 0 0 0.375rem 0.375rem;
    max-height: 250px;
    overflow-y: auto;
    z-index: 100;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
}

.autocomplete-item {
    padding: 0.75rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #1e3a5f;
    transition: background 0.1s ease;
}

.autocomplete-item:last-child {
    border-bottom: none;
}

.autocomplete-item:hover {
    background: #0d1a30;
}

.autocomplete-item .loc-name {
    color: #e5e7eb;
    font-size: 0.9rem;
}

.autocomplete-item .loc-type {
    color: #6b7280;
    font-size: 0.75rem;
    text-transform: capitalize;
}

.loading-small {
    padding: 0.75rem;
    color: #6b7280;
    text-align: center;
    font-size: 0.875rem;
}

.no-results {
    padding: 0.75rem;
    color: #9ca3af;
    text-align: center;
    font-size: 0.875rem;
}

.custom-slots {
    color: #6b7280;
    font-size: 0.8rem;
}

.custom-limit-reached {
    padding: 1rem;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.2);
    border-radius: 0.375rem;
    color: #f59e0b;
    font-size: 0.875rem;
}

/* Loading state */
.loading {
    text-align: center;
    padding: 2rem;
    color: #6b7280;
}

.error {
    text-align: center;
    padding: 1rem;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    border-radius: 0.375rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .collapsible-section .section-header {
        padding: 0.875rem 1rem;
    }

    .collapsible-section .section-title h2 {
        font-size: 1rem;
    }

    .collapsible-section .summary-text {
        font-size: 0.75rem;
        padding: 0.2rem 0.5rem;
    }

    .collapsible-section .section-content {
        padding: 1rem;
    }

    .timezone-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .region-states {
        gap: 0.375rem;
    }

    .state-checkbox {
        padding: 0.3rem 0.5rem;
        min-width: 55px;
    }

    .state-code {
        font-size: 0.8rem;
    }

    .metro-options {
        grid-template-columns: 1fr;
    }

    .county-options {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .custom-add {
        flex-direction: column;
    }

    .custom-add .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .state-checkbox {
        padding: 0.25rem 0.4rem;
        min-width: 48px;
    }

    .state-code {
        font-size: 0.75rem;
    }
}

/* =============================================================================
   REGIONAL NEWS & BRIEFING LINKS STYLES
   ============================================================================= */

/* Briefing box links - left and right justified on same line */
.briefing-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid #1e3a5f;
}

.briefing-archives-link {
    color: #9ca3af;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.15s ease;
}

.briefing-archives-link:hover {
    color: #60a5fa;
}

.briefing-full-link {
    color: #3b82f6;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: color 0.15s ease;
}

.briefing-full-link:hover {
    color: #60a5fa;
}

.pdf-download-link {
    color: #9ca3af;
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.15s ease;
}

.pdf-download-link:hover {
    color: #60a5fa;
}

/* Regional Widget in Sidebar */
.regional-widget {
    margin-top: 1.5rem;
    background: #0f1729;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1rem;
}

.regional-widget .sidebar-widget-title {
    color: #60a5fa;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #1e3a5f;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.regional-widget .sidebar-widget-title::before {
    content: "\1F4CD";
    font-size: 0.9rem;
}

.regional-locale-group {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.regional-locale-group:last-of-type {
    margin-bottom: 0.75rem;
    padding-bottom: 0;
    border-bottom: none;
}

.regional-locale-name {
    color: #e5e7eb;
    font-size: 0.72rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.regional-stories {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.regional-story {
    padding-left: 0.5rem;
    border-left: 2px solid #1e3a5f;
}

/* Match Breaking News story styling exactly */
.regional-story a {
    color: #c9d1d9;
    text-decoration: none;
    font-size: 0.72rem;
    line-height: 1.35;
    display: block;
    transition: color 0.15s ease;
}

.regional-story a:hover {
    color: #60a5fa;
}

.regional-story-meta {
    color: #6b7280;
    font-size: 0.62rem;
    display: block;
    margin-top: 0.15rem;
}

.regional-widget .sidebar-widget-link {
    display: block;
    text-align: right;
    color: #3b82f6;
    font-size: 0.8rem;
    text-decoration: none;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #1e3a5f;
}

.regional-widget .sidebar-widget-link:hover {
    color: #60a5fa;
}

/* Mobile responsive for briefing links */
@media (max-width: 480px) {
    .briefing-links {
        flex-direction: column;
        gap: 0.5rem;
        align-items: stretch;
    }

    .briefing-archives-link,
    .briefing-full-link {
        text-align: center;
    }
}

/* Regional Page Styles */
.regional-page {
    max-width: 1000px;
    margin: 0 auto;
    padding: 2rem 0;
}

.regional-page .page-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #1e3a5f;
}

.regional-page .page-header h1 {
    font-size: 2rem;
    color: #e5e7eb;
    margin-bottom: 0.5rem;
}

.regional-page .page-description {
    color: #9ca3af;
    font-size: 1rem;
}

.regional-empty {
    text-align: center;
    padding: 3rem;
    background: #0f1729;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
}

.regional-empty h2 {
    color: #e5e7eb;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.regional-empty p {
    color: #9ca3af;
    margin-bottom: 1.5rem;
}

.regional-selected {
    text-align: left;
    max-width: 400px;
    margin: 1.5rem auto;
    padding: 1rem;
    background: #0a1628;
    border-radius: 0.375rem;
}

.regional-selected h4 {
    color: #60a5fa;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.regional-selected ul {
    margin: 0;
    padding-left: 1.25rem;
    color: #9ca3af;
}

.regional-grid {
    display: grid;
    gap: 2rem;
}

.regional-section {
    background: #0f1729;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1.5rem;
}

.regional-section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #60a5fa;
    font-size: 1.25rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #1e3a5f;
}

.regional-icon {
    font-size: 1rem;
}

.regional-news-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.regional-news-item {
    padding: 0.75rem;
    background: #0a1628;
    border-radius: 0.375rem;
    border-left: 3px solid #3b82f6;
}

.regional-news-item h3 {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}

.regional-news-item h3 a {
    color: #e5e7eb;
    text-decoration: none;
    transition: color 0.15s ease;
}

.regional-news-item h3 a:hover {
    color: #60a5fa;
}

.regional-item-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.8rem;
    color: #6b7280;
}

.regional-item-meta .source {
    color: #9ca3af;
}

.regional-custom {
    margin-top: 2rem;
    padding: 1.5rem;
    background: #0f1729;
    border: 1px solid #1e3a5f;
    border-radius: 0.5rem;
}

.regional-custom h2 {
    color: #e5e7eb;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.custom-location-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.regional-custom .custom-tag {
    background: rgba(16, 185, 129, 0.2);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #10b981;
    padding: 0.375rem 0.75rem;
    border-radius: 2rem;
    font-size: 0.875rem;
}

.custom-note {
    color: #6b7280;
    font-size: 0.8rem;
    margin: 0;
}

.regional-settings-link {
    text-align: center;
    margin-top: 2rem;
}

.regional-settings-link a {
    color: #3b82f6;
    text-decoration: none;
    font-size: 0.95rem;
}

.regional-settings-link a:hover {
    color: #60a5fa;
}

@media (max-width: 768px) {
    .regional-page {
        padding: 1rem;
    }

    .regional-section {
        padding: 1rem;
    }
}

/* ============================================
   Weather Widget Styles (Sidebar)
   ============================================ */
.weather-widget {
    border-color: #0ea5e9;
    background: linear-gradient(135deg, rgba(8,40,60,0.95) 0%, rgba(18,18,28,0.95) 100%);
}

.weather-widget .sidebar-widget-title {
    color: #38bdf8;
}

.weather-widget .weather-sidebar-item {
    padding: 0.4rem 0;
    border-bottom: 1px solid #1e3a4a;
}

.weather-widget .weather-sidebar-item:last-of-type {
    border-bottom: none;
}

.weather-widget .weather-sidebar-item:first-of-type {
    padding-top: 0;
}

/* Location name - MUST match .breaking-sidebar-story a exactly */
.weather-widget .weather-sidebar-location {
    color: #c9d1d9;
    font-size: 0.72rem;
    line-height: 1.35;
    display: block;
    font-family: 'Libre Franklin', 'Arial', sans-serif;
}

/* Temp and condition - MUST match .breaking-sidebar-meta exactly */
.weather-widget .weather-sidebar-main {
    display: block;
    font-size: 0.62rem;
    color: #6b7280;
    margin-top: 0.15rem;
    font-family: 'Libre Franklin', 'Arial', sans-serif;
}

.weather-widget .weather-sidebar-temp {
    color: #38bdf8;
    font-weight: 600;
    font-size: 0.62rem;
}

.weather-widget .weather-sidebar-condition {
    color: #6b7280;
    margin-left: 0.3rem;
    font-size: 0.62rem;
}

/* Regional Page Weather Section */
.regional-weather-section {
    margin-bottom: 2rem;
}

.regional-weather-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.regional-weather-card {
    background: linear-gradient(180deg, #0c2d48 0%, #1a1a2e 100%);
    border: 1px solid #1e4976;
    border-radius: 10px;
    padding: 1.25rem;
    text-align: center;
}

.weather-card-location {
    font-size: 0.8rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.75rem;
}

.weather-card-main {
    margin-bottom: 0.5rem;
}

.weather-card-temp {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #38bdf8;
    line-height: 1;
    margin-bottom: 0.25rem;
}

.weather-card-condition {
    display: block;
    font-size: 0.95rem;
    color: #e2e8f0;
}

.weather-card-forecast {
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 0.5rem;
    line-height: 1.4;
}

.weather-detail-link {
    margin-top: 1rem;
    text-align: center;
}

.weather-detail-link a {
    color: #3b82f6;
    font-size: 0.85rem;
    text-decoration: none;
}

.weather-detail-link a:hover {
    text-decoration: underline;
}

/* ============================================
   Traffic Widget Styles (Sidebar)
   ============================================ */
.traffic-widget {
    border-color: #f59e0b;
    background: linear-gradient(135deg, rgba(51,38,8,0.95) 0%, rgba(18,18,28,0.95) 100%);
}

.traffic-widget .sidebar-widget-title {
    color: #fbbf24;
}

.traffic-widget .widget-icon {
    margin-right: 0.35rem;
}

.traffic-items {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.traffic-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid #3d3520;
}

.traffic-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.traffic-item:first-child {
    padding-top: 0;
}

.traffic-location {
    color: #e5e7eb;
    font-size: 0.72rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.traffic-status {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.traffic-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.traffic-light .traffic-indicator {
    background: #22c55e;
    box-shadow: 0 0 4px #22c55e;
}

.traffic-moderate .traffic-indicator {
    background: #f59e0b;
    box-shadow: 0 0 4px #f59e0b;
}

.traffic-heavy .traffic-indicator {
    background: #ef4444;
    box-shadow: 0 0 4px #ef4444;
}

.traffic-condition {
    font-size: 0.72rem;
    font-weight: 600;
}

.traffic-light .traffic-condition {
    color: #22c55e;
}

.traffic-moderate .traffic-condition {
    color: #f59e0b;
}

.traffic-heavy .traffic-condition {
    color: #ef4444;
}

.traffic-desc {
    color: #9ca3af;
    font-size: 0.65rem;
    margin-top: 0.15rem;
}

.traffic-link {
    display: inline-block;
    margin-top: 0.35rem;
    font-size: 0.65rem;
    color: #3b82f6;
    text-decoration: none;
}

.traffic-link:hover {
    text-decoration: underline;
}

/* ============================================
   Regional Dashboard (Weather & Traffic Cards)
   ============================================ */
.regional-dashboard {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
    margin-bottom: 2rem;
}

.regional-dashboard-card {
    background: rgba(18, 18, 28, 0.95);
    border: 1px solid #252535;
    border-radius: 8px;
    padding: 1.25rem;
}

.regional-dashboard-card h3 {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 1rem 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #3a3a4a;
}

.regional-dashboard-card.weather-card {
    border-color: #0ea5e9;
    background: linear-gradient(135deg, rgba(8,51,68,0.9) 0%, rgba(18,18,28,0.95) 100%);
}

.regional-dashboard-card.weather-card h3 {
    color: #38bdf8;
}

.regional-dashboard-card.traffic-card {
    border-color: #f59e0b;
    background: linear-gradient(135deg, rgba(51,38,8,0.9) 0%, rgba(18,18,28,0.95) 100%);
}

.regional-dashboard-card.traffic-card h3 {
    color: #fbbf24;
}

.regional-dashboard-card .card-icon {
    margin-right: 0.5rem;
}

.dashboard-weather-items,
.dashboard-traffic-items {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.dashboard-weather-item,
.dashboard-traffic-item {
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
}

.dashboard-weather-item .weather-location,
.dashboard-traffic-item .traffic-location {
    font-size: 0.85rem;
    font-weight: 600;
    color: #e5e7eb;
    margin-bottom: 0.35rem;
}

.dashboard-weather-item .weather-main {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
}

.dashboard-weather-item .weather-temp {
    font-size: 1.5rem;
    font-weight: 700;
    color: #38bdf8;
}

.dashboard-weather-item .weather-condition {
    font-size: 0.85rem;
    color: #9ca3af;
}

.dashboard-weather-item .weather-forecast {
    font-size: 0.8rem;
    color: #6b7280;
    margin-top: 0.35rem;
}

.dashboard-traffic-item .traffic-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.dashboard-traffic-item .traffic-indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.dashboard-traffic-item .traffic-condition {
    font-size: 0.9rem;
    font-weight: 600;
}

.dashboard-traffic-item .traffic-desc {
    font-size: 0.8rem;
    color: #9ca3af;
    margin-bottom: 0.35rem;
}

.dashboard-traffic-item .traffic-link {
    font-size: 0.8rem;
    color: #3b82f6;
    text-decoration: none;
}

.dashboard-traffic-item .traffic-link:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .regional-dashboard {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   Regional Page - Category Sections
   ============================================ */
.regional-category {
    margin-bottom: 2.5rem;
}

.regional-category-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #e5e7eb;
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #3b82f6;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.regional-category-title .category-icon {
    font-size: 1.2rem;
}

.regional-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 1.5rem;
}

.regional-section {
    background: rgba(18, 18, 28, 0.95);
    border: 1px solid #252535;
    border-radius: 8px;
    padding: 1.25rem;
}

.regional-section-title {
    font-size: 1rem;
    font-weight: 600;
    color: #60a5fa;
    margin: 0 0 1rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #3a3a4a;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.regional-section-title .regional-icon {
    font-size: 0.9rem;
}

.regional-news-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 1.5rem;
}

.regional-news-item {
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    border: 1px solid #2a2a3a;
}

.regional-news-item h4 {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 0.35rem 0;
}

.regional-news-item h4 a {
    color: #c9d1d9;
    text-decoration: none;
}

.regional-news-item h4 a:hover {
    color: #fff;
}

.regional-item-meta {
    font-size: 0.75rem;
    color: #6b7280;
    display: flex;
    gap: 0.5rem;
}

.regional-item-meta .source {
    color: #9ca3af;
}

.regional-item-meta .time {
    color: #6b7280;
}

.regional-item-summary {
    font-size: 0.8rem;
    line-height: 1.5;
    color: #9ca3af;
    margin: 0.35rem 0 0.5rem;
    font-family: 'Georgia', 'Times New Roman', serif;
}

.no-stories {
    color: #6b7280;
    font-size: 0.85rem;
    font-style: italic;
    margin: 0;
}

.regional-no-news {
    background: rgba(18, 18, 28, 0.95);
    border: 1px solid #252535;
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    margin: 2rem 0;
}

.regional-no-news h3 {
    color: #f59e0b;
    margin-bottom: 0.75rem;
}

.regional-no-news p {
    color: #9ca3af;
    margin-bottom: 1.5rem;
}

.regional-no-news .your-locations {
    text-align: left;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    padding: 1rem;
    max-width: 400px;
    margin: 0 auto;
}

.regional-no-news .your-locations h4 {
    font-size: 0.85rem;
    color: #e5e7eb;
    margin-bottom: 0.5rem;
}

.regional-no-news .your-locations ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.regional-no-news .your-locations li {
    font-size: 0.8rem;
    color: #9ca3af;
    padding: 0.25rem 0;
}

@media (max-width: 900px) {
    .regional-news-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .regional-sections-grid {
        grid-template-columns: 1fr;
    }

    .regional-section {
        padding: 1rem;
    }
}

/* ============================================
   Team Directory Page
   ============================================ */
.team-page .page-header {
    margin-bottom: 2rem;
}

.team-page .page-subtitle {
    color: #9ca3af;
    font-size: 1rem;
    margin-top: 0.5rem;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.team-card {
    background: rgba(18, 18, 28, 0.95);
    border: 1px solid #252535;
    border-radius: 8px;
    padding: 1.5rem;
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.team-card:hover {
    border-color: #3a3a4a;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.team-card-photo {
    flex-shrink: 0;
}

.team-card-photo img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #2a2a3a;
}

.team-card-info {
    flex: 1;
    min-width: 0;
}

.team-card-name {
    font-size: 1.125rem;
    font-weight: 600;
    color: #e5e7eb;
    display: block;
    margin-bottom: 0.25rem;
}

.team-card-title {
    font-size: 0.8rem;
    color: #60a5fa;
    margin-bottom: 0.75rem;
    font-weight: 500;
}

.team-card-contact {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.team-card-contact .contact-link,
.team-card-contact .contact-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #9ca3af;
}

.team-card-contact .contact-link {
    text-decoration: none;
    transition: color 0.2s;
}

.team-card-contact .contact-link:hover {
    color: #60a5fa;
}

.team-card-contact .contact-link:hover svg {
    stroke: #60a5fa;
}

.team-card-contact svg {
    stroke: #6b7280;
    flex-shrink: 0;
    transition: stroke 0.2s;
}

.team-footer {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #252535;
    color: #9ca3af;
    font-size: 0.9rem;
}

.team-footer a {
    color: #60a5fa;
}

/* Team Contact Page */
.team-contact-page .page-subtitle {
    color: #9ca3af;
    margin-top: 0.5rem;
}

.team-contact-recipient {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(18, 18, 28, 0.95);
    border: 1px solid #252535;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.team-contact-recipient .recipient-photo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #2a2a3a;
}

.team-contact-recipient .recipient-info {
    display: flex;
    flex-direction: column;
}

.team-contact-recipient .recipient-info strong {
    color: #e5e7eb;
    font-size: 1rem;
}

.team-contact-recipient .recipient-info span {
    color: #60a5fa;
    font-size: 0.8rem;
}

.team-contact-form {
    max-width: 600px;
}

.team-contact-form .form-group {
    margin-bottom: 1.25rem;
}

.team-contact-form label {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    color: #c9d1d9;
    margin-bottom: 0.5rem;
}

.team-contact-form .required {
    color: #ef4444;
}

.team-contact-form input,
.team-contact-form textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    background: #0d1117;
    border: 1px solid #2a2a3a;
    border-radius: 6px;
    color: #e5e7eb;
    font-size: 0.95rem;
    font-family: inherit;
}

.team-contact-form input:focus,
.team-contact-form textarea:focus {
    outline: none;
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2);
}

.team-contact-form textarea {
    resize: vertical;
    min-height: 120px;
}

.team-contact-form .form-actions {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

@media (max-width: 480px) {
    .team-grid {
        grid-template-columns: 1fr;
    }

    .team-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .team-card-contact {
        align-items: center;
    }

    .team-contact-form .form-actions {
        flex-direction: column;
    }
}

/* ============================================
   Splash / Landing Page
   ============================================ */

.splash-page {
    background-color: #111111;
    color: #d0d0d0;
    font-family: 'Georgia', 'Times New Roman', Times, serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.splash-container {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 3rem;
    max-width: 1100px;
    margin: 0 auto;
    padding: 3rem 2rem;
    flex: 1;
    align-items: start;
}

.splash-logo-link {
    display: inline-block;
}

.splash-logo {
    height: 50px;
    width: auto;
    margin-bottom: 2rem;
}

.splash-title {
    font-family: 'Libre Franklin', 'Franklin Gothic Medium', Arial, sans-serif;
    font-size: 2.75rem;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 0.25rem;
}

.splash-tagline {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    color: #5ba3d9;
    margin-bottom: 2rem;
    letter-spacing: 0.02em;
}

.splash-description p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: #c8c8c8;
    margin-bottom: 1rem;
}

.splash-beta-notice {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.25rem;
    background: rgba(91, 163, 217, 0.08);
    border: 1px solid rgba(91, 163, 217, 0.2);
    border-radius: 8px;
    margin: 1.5rem 0;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    color: #b0b0b0;
}

.btn-large {
    padding: 1rem 2rem;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* Splash login column */
.splash-login {
    position: sticky;
    top: 2rem;
}

.splash-login .auth-box {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
    padding: 2rem;
}

.splash-login .auth-box h2 {
    font-size: 1.375rem;
    margin-bottom: 0.25rem;
}

/* Access request form wrapper */
.splash-access-form-wrapper {
    margin-top: 2rem;
    padding: 2rem;
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 12px;
}

.splash-access-form-wrapper h2 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.375rem;
    color: #ffffff;
    margin-bottom: 1.25rem;
}

.splash-access-form-wrapper textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    background: #111;
    border: 1px solid #3a3a4a;
    border-radius: 6px;
    color: #fff;
    font-size: 1rem;
    font-family: inherit;
    resize: vertical;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.splash-access-form-wrapper textarea:focus {
    outline: none;
    border-color: #5ba3d9;
    box-shadow: 0 0 0 3px rgba(91, 163, 217, 0.15);
}

/* Splash footer */
.splash-footer {
    text-align: center;
    padding: 2rem 1rem;
    border-top: 1px solid #222;
    margin-top: auto;
}

.splash-footer-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.splash-footer-links a {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.8125rem;
    color: #888;
    text-decoration: none;
}

.splash-footer-links a:hover {
    color: #5ba3d9;
}

.splash-footer-sep {
    color: #444;
}

.splash-footer-copy {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    color: #555;
    margin: 0;
}

/* Splash responsive */
@media (max-width: 768px) {
    .splash-container {
        grid-template-columns: 1fr;
        padding: 2rem 1.25rem;
        gap: 2rem;
    }

    .splash-title {
        font-size: 2rem;
    }

    .splash-login {
        position: static;
    }

    .splash-login .auth-box {
        padding: 1.5rem;
    }
}

/* Splash thank-you message */
.splash-thankyou {
    text-align: center;
    padding: 2rem 1.5rem;
}

.splash-thankyou-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(124, 184, 140, 0.15);
    color: #7cb88c;
    font-size: 1.75rem;
    margin-bottom: 1.25rem;
}

.splash-thankyou h3 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.375rem;
    color: #ffffff;
    margin-bottom: 1rem;
}

.splash-thankyou p {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #b0b0b0;
    margin-bottom: 0.75rem;
}

/* ============================================
   Splash Page - Conversion Optimized (2026)
   ============================================ */

/* Navigation */
.splash-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: rgba(17, 17, 17, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #222;
}

.splash-nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.875rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.splash-nav-logo img {
    height: 32px;
    width: auto;
}

.splash-nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.splash-nav-links a {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #999;
    text-decoration: none;
    transition: color 0.2s;
}

.splash-nav-links a:hover {
    color: #fff;
}

.btn-outline {
    background: transparent;
    border: 1px solid #444;
    color: #fff !important;
    padding: 0.5rem 1rem;
    border-radius: 6px;
}

.btn-outline:hover {
    border-color: #5ba3d9;
    color: #5ba3d9 !important;
}

.btn-sm {
    font-size: 0.8125rem;
    padding: 0.5rem 1rem;
}

/* Hero Section */
.splash-hero-section {
    min-height: 85vh;
    display: flex;
    align-items: center;
    padding: 6rem 2rem 4rem;
    background: linear-gradient(180deg, #111 0%, #0d0d15 100%);
}

.splash-hero-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.splash-eyebrow {
    display: inline-block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #5ba3d9;
    margin-bottom: 1.25rem;
    padding: 0.5rem 1rem;
    background: rgba(91, 163, 217, 0.1);
    border: 1px solid rgba(91, 163, 217, 0.2);
    border-radius: 4px;
}

.splash-headline {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 3.5rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
}

.splash-subheadline {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #b0b0b0;
    max-width: 700px;
    margin: 0 auto 2.5rem;
}

.splash-cta-row {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 3rem;
}

.btn-ghost {
    background: transparent;
    border: 1px solid #444;
    color: #ccc;
}

.btn-ghost:hover {
    border-color: #666;
    color: #fff;
}

.splash-trust-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #222;
}

.trust-item {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    color: #888;
}

.trust-item strong {
    color: #fff;
    font-weight: 700;
}

.trust-sep {
    width: 4px;
    height: 4px;
    background: #444;
    border-radius: 50%;
}

/* Section Styles */
.splash-section-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 5rem 2rem;
}

.splash-section-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 2.25rem;
    font-weight: 800;
    color: #fff;
    text-align: center;
    margin-bottom: 0.75rem;
}

.splash-section-subtitle {
    font-size: 1.0625rem;
    color: #888;
    text-align: center;
    max-width: 600px;
    margin: 0 auto 3rem;
}

/* Features Section */
.splash-features-section {
    background: #0a0a0f;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.feature-card {
    background: #111;
    border: 1px solid #1f1f2f;
    border-radius: 12px;
    padding: 2rem;
    transition: border-color 0.2s, transform 0.2s;
}

.feature-card:hover {
    border-color: #2a2a4a;
    transform: translateY(-2px);
}

.feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: rgba(91, 163, 217, 0.1);
    border-radius: 12px;
    color: #5ba3d9;
    margin-bottom: 1.25rem;
}

.feature-card h3 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.75rem;
}

.feature-card p {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #888;
    margin: 0;
}

/* Comparison Section */
.splash-compare-section {
    background: #111;
}

.compare-table-wrapper {
    overflow-x: auto;
    margin: 0 -1rem;
    padding: 0 1rem;
}

.compare-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
}

.compare-table thead th {
    background: #0a0a0f;
    color: #888;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 1rem;
    text-align: center;
    border-bottom: 1px solid #222;
}

.compare-table thead th:first-child {
    text-align: left;
}

.compare-table thead th.highlight-col {
    background: rgba(91, 163, 217, 0.1);
    color: #5ba3d9;
}

.compare-table tbody td {
    padding: 1rem;
    text-align: center;
    border-bottom: 1px solid #1a1a1a;
    color: #999;
}

.compare-table tbody td:first-child {
    text-align: left;
}

.compare-table tbody td.highlight-col {
    background: rgba(91, 163, 217, 0.05);
}

.compare-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.02);
}

.compare-table tbody tr:hover td.highlight-col {
    background: rgba(91, 163, 217, 0.08);
}

.feature-name {
    font-weight: 600;
    color: #ccc;
}

.compare-yes {
    color: #7cb88c;
    font-weight: 600;
}

.compare-no {
    color: #666;
}

.compare-partial {
    color: #d4a756;
}

.price-row td {
    font-weight: 600;
    color: #ccc;
    padding-top: 1.25rem;
    border-top: 1px solid #333;
}

.price-row td.highlight-col {
    color: #5ba3d9;
}

.compare-footnote {
    margin-top: 2rem;
    padding: 1.25rem 1.5rem;
    background: rgba(91, 163, 217, 0.08);
    border: 1px solid rgba(91, 163, 217, 0.15);
    border-radius: 8px;
    text-align: center;
}

.compare-footnote p {
    font-size: 0.9375rem;
    color: #b0b0b0;
    margin: 0;
    line-height: 1.6;
}

/* Access Section */
.splash-access-section {
    background: #0a0a0f;
}

.splash-access-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.splash-access-request,
.splash-login-box {
    background: #111;
    border: 1px solid #1f1f2f;
    border-radius: 12px;
    padding: 2.5rem;
}

.splash-access-request h2,
.splash-login-box h2 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.75rem;
}

.splash-access-request > p {
    font-size: 0.9375rem;
    color: #888;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.splash-access-note {
    font-size: 0.8125rem;
    color: #666;
    text-align: center;
    margin-top: 1rem;
}

.splash-footer-inner {
    max-width: 1100px;
    margin: 0 auto;
}

/* Responsive - Landing Page */
/* Value propositions: 3 columns on desktop */
.value-props-grid {
    grid-template-columns: repeat(3, 1fr);
}

/* How it works: 4 columns on desktop */
.how-it-works-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

@media (max-width: 900px) {
    .splash-headline {
        font-size: 2.5rem;
    }

    .features-grid {
        grid-template-columns: 1fr;
    }

    .value-props-grid {
        grid-template-columns: 1fr;
    }

    .how-it-works-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .splash-access-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .compare-table {
        font-size: 0.8125rem;
    }
}


@media (max-width: 600px) {
    .splash-nav-inner {
        padding: 0.75rem 1rem;
    }

    .splash-nav-links a:not(.btn) {
        display: none;
    }

    .splash-hero-section {
        padding: 5rem 1.25rem 3rem;
        min-height: auto;
    }

    .splash-headline {
        font-size: 2rem;
    }

    .splash-subheadline {
        font-size: 1rem;
    }

    .splash-cta-row {
        flex-direction: column;
    }

    .splash-trust-bar {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .trust-sep {
        display: none;
    }

    .splash-section-inner {
        padding: 3rem 1.25rem;
    }

    .splash-section-title {
        font-size: 1.75rem;
    }

    .feature-card {
        padding: 1.5rem;
    }

    .how-it-works-grid {
        grid-template-columns: 1fr;
    }

    .splash-access-request,
    .splash-login-box {
        padding: 1.5rem;
    }
}

/* ============================================
   Admin Access Requests Page
   ============================================ */

.admin-requests-page {
    max-width: 900px;
    margin: 2rem auto;
    padding: 0 1.5rem;
}

.admin-requests-header {
    margin-bottom: 1.5rem;
}

.admin-requests-header h1 {
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

.admin-requests-subtitle {
    color: #888;
    font-size: 0.9375rem;
    margin: 0;
}

.admin-requests-filters {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #2a2a3a;
    padding-bottom: 0;
}

.admin-filter-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #888;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.2s, border-color 0.2s;
}

.admin-filter-tab:hover {
    color: #c0c0c0;
}

.admin-filter-tab.active {
    color: #5ba3d9;
    border-bottom-color: #5ba3d9;
}

.admin-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: #2a2a3a;
    font-size: 0.75rem;
    font-weight: 700;
    color: #888;
}

.admin-filter-tab.active .admin-filter-count {
    background: rgba(91, 163, 217, 0.15);
    color: #5ba3d9;
}

.admin-requests-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: #666;
}

.admin-requests-empty p {
    font-size: 1rem;
    color: #666;
}

.admin-requests-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.admin-request-card {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 10px;
    padding: 1.5rem;
}

.admin-request-card.status-approved {
    border-left: 3px solid #7cb88c;
}

.admin-request-card.status-denied {
    border-left: 3px solid #888;
    opacity: 0.7;
}

.admin-request-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-request-status {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.25rem 0.625rem;
    border-radius: 4px;
}

.status-badge-pending {
    background: rgba(230, 168, 85, 0.15);
    color: #e6a855;
}

.status-badge-approved {
    background: rgba(124, 184, 140, 0.15);
    color: #7cb88c;
}

.status-badge-denied {
    background: rgba(136, 136, 136, 0.15);
    color: #888;
}

.admin-request-date {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.8125rem;
    color: #666;
}

.admin-request-details h3 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.admin-request-field {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.field-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-weight: 600;
    color: #888;
    flex-shrink: 0;
}

.field-value {
    color: #c8c8c8;
}

.field-value-muted {
    color: #666;
    font-size: 0.875rem;
}

.admin-request-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #2a2a3a;
}

.admin-request-actions .btn {
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
}

.btn-deny {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid #3a3a4a;
    background: #2a2a3a;
    color: #c0c0c0;
    text-decoration: none;
}

.btn-deny:hover {
    background: #3a3a4a;
    color: #fff;
    border-color: #4a4a5a;
}

@media (max-width: 640px) {
    .admin-requests-filters {
        overflow-x: auto;
    }

    .admin-request-field {
        flex-direction: column;
        gap: 0.125rem;
    }

    .admin-request-actions {
        flex-direction: column;
    }

    .admin-request-actions .btn,
    .admin-request-actions .btn-deny {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ============================================
   Admin Dashboard
   ============================================ */

.admin-dashboard {
    max-width: 900px;
    margin: 2rem auto;
    padding: 0 1.5rem;
}

.admin-dashboard-header {
    margin-bottom: 2rem;
}

.admin-dashboard-header h1 {
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

.admin-dashboard-subtitle {
    color: #888;
    font-size: 0.9375rem;
    margin: 0;
}

.admin-section {
    margin-bottom: 2.5rem;
}

.admin-section-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #c0c0c0;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #2a2a3a;
}

/* Admin tools grid */
.admin-tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.admin-tool-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 10px;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s;
    position: relative;
}

.admin-tool-card:hover {
    border-color: #5ba3d9;
    background: #1e1e34;
}

.admin-tool-icon {
    font-size: 1.75rem;
    flex-shrink: 0;
    width: 44px;
    text-align: center;
}

.admin-tool-info h3 {
    font-size: 1rem;
    margin-bottom: 0.125rem;
    color: #ffffff;
}

.admin-tool-info p {
    font-size: 0.8125rem;
    color: #888;
    margin: 0;
    line-height: 1.4;
}

.admin-tool-badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: #e6a855;
    color: #111;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Admin documents list */
.admin-docs-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 10px;
    overflow: hidden;
}

.admin-doc-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #222;
}

.admin-doc-row:last-child {
    border-bottom: none;
}

.admin-doc-row.admin-doc-missing {
    opacity: 0.4;
}

.admin-doc-icon {
    font-size: 1.25rem;
    flex-shrink: 0;
    width: 28px;
    text-align: center;
}

.admin-doc-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.admin-doc-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #d0d0d0;
}

.admin-doc-meta {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-doc-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.btn-doc {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    border: none;
}

.btn-doc-read {
    background: rgba(16, 185, 129, 0.12);
    color: #10b981;
}

.btn-doc-read:hover {
    background: rgba(16, 185, 129, 0.22);
}

.btn-doc-view {
    background: rgba(91, 163, 217, 0.12);
    color: #5ba3d9;
}

.btn-doc-view:hover {
    background: rgba(91, 163, 217, 0.22);
}

.btn-doc-download {
    background: #2a2a3a;
    color: #b0b0b0;
}

.btn-doc-download:hover {
    background: #3a3a4a;
    color: #fff;
}

.admin-doc-unavailable {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    color: #555;
    font-style: italic;
}

@media (max-width: 640px) {
    .admin-tools-grid {
        grid-template-columns: 1fr;
    }

    .admin-doc-row {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .admin-doc-actions {
        width: 100%;
        padding-left: 2.75rem;
    }
}

/* ============================================
   Kanban Board
   ============================================ */
.kanban-page {
    padding: 2rem 0;
}

.kanban-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.kanban-header h1 {
    margin-bottom: 0.25rem;
}

.kanban-subtitle {
    font-size: 0.875rem;
    color: #888;
    margin: 0;
}

.kanban-stats {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    background: #1a1a2a;
    border-radius: 8px;
}

.kanban-stat {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.kanban-stat-value {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.kanban-stat-label {
    font-size: 0.75rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kanban-stat-urgent .kanban-stat-value {
    color: #ef4444;
}

.kanban-quick-add {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.kanban-quick-input {
    flex: 1;
    padding: 0.625rem 1rem;
    background: #1a1a2a;
    border: 1px solid #333;
    border-radius: 6px;
    color: #fff;
    font-size: 0.9375rem;
}

.kanban-quick-input:focus {
    outline: none;
    border-color: #5ba3d9;
}

.kanban-quick-priority {
    padding: 0.625rem 0.75rem;
    background: #1a1a2a;
    border: 1px solid #333;
    border-radius: 6px;
    color: #ccc;
    font-size: 0.875rem;
}

.btn-kanban {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.625rem 1rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s;
}

.btn-kanban-primary {
    background: #5ba3d9;
    color: #fff;
}

.btn-kanban-primary:hover {
    background: #4a93c9;
    text-decoration: none;
    color: #fff;
}

.btn-kanban-secondary {
    background: #2a2a3a;
    color: #ccc;
}

.btn-kanban-secondary:hover {
    background: #3a3a4a;
    text-decoration: none;
    color: #fff;
}

.kanban-board {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    min-height: 500px;
}

.kanban-column {
    background: #151520;
    border-radius: 8px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
}

.kanban-column-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #2a2a3a;
}

.kanban-column-icon {
    font-size: 1rem;
}

.kanban-column-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #ccc;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.kanban-column-count {
    margin-left: auto;
    background: #2a2a3a;
    padding: 0.125rem 0.5rem;
    border-radius: 10px;
    font-size: 0.75rem;
    color: #888;
}

.kanban-column-cards {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow-y: auto;
}

.kanban-card {
    background: #1a1a2a;
    border: 1px solid #2a2a3a;
    border-radius: 6px;
    padding: 0.75rem;
    transition: border-color 0.15s;
}

.kanban-card:hover {
    border-color: #444;
}

.kanban-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
}

.kanban-priority-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.kanban-card-id {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    color: #666;
}

.kanban-card-commit {
    margin-left: auto;
    font-size: 0.75rem;
    color: #5ba3d9;
}

.kanban-card-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #e0e0e0;
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

.kanban-card-desc {
    font-size: 0.75rem;
    color: #888;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}

.kanban-card-meta {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

.kanban-card-date {
    font-size: 0.6875rem;
    color: #666;
}

.kanban-card-actions {
    display: flex;
    gap: 0.375rem;
    border-top: 1px solid #2a2a3a;
    padding-top: 0.5rem;
    margin-top: 0.25rem;
}

.btn-kanban-sm {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.15s;
}

.btn-kanban-forward {
    background: rgba(91, 163, 217, 0.15);
    color: #5ba3d9;
}

.btn-kanban-forward:hover {
    background: rgba(91, 163, 217, 0.25);
    text-decoration: none;
    color: #7dbde8;
}

.btn-kanban-back {
    background: rgba(136, 136, 136, 0.15);
    color: #888;
}

.btn-kanban-back:hover {
    background: rgba(136, 136, 136, 0.25);
    text-decoration: none;
    color: #aaa;
}

.btn-kanban-delete {
    margin-left: auto;
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.btn-kanban-delete:hover {
    background: rgba(239, 68, 68, 0.2);
    text-decoration: none;
    color: #f87171;
}

.kanban-empty {
    text-align: center;
    padding: 2rem 1rem;
    color: #555;
    font-size: 0.8125rem;
    font-style: italic;
}

.kanban-cli-ref {
    margin-top: 2rem;
    padding: 1rem 1.25rem;
    background: #1a1a2a;
    border-radius: 8px;
    font-size: 0.8125rem;
    color: #888;
}

.kanban-cli-ref h3 {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    margin-bottom: 0.5rem;
}

.kanban-cli-ref code {
    background: #252535;
    padding: 0.125rem 0.375rem;
    border-radius: 3px;
    font-size: 0.75rem;
    color: #5ba3d9;
}

@media (max-width: 1024px) {
    .kanban-board {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .kanban-board {
        grid-template-columns: repeat(2, 1fr);
    }

    .kanban-header {
        flex-direction: column;
        gap: 1rem;
    }

    .kanban-quick-add {
        flex-wrap: wrap;
    }

    .kanban-quick-input {
        width: 100%;
    }

    .kanban-stats {
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    .kanban-board {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   DEVELOPMENT HUB
   Aaron-Claude Async Command Center
   ======================================== */

.hub-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1.5rem 1rem 2rem;
}

.hub-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    gap: 1rem;
}

.hub-header h1 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.hub-subtitle {
    color: #9ca3af;
    font-size: 0.9rem;
    margin-top: 0.25rem;
}

.btn-hub {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.15s ease;
}

.btn-hub-primary {
    background: #3b82f6;
    color: #fff;
}

.btn-hub-primary:hover {
    background: #2563eb;
    color: #fff;
}

.btn-hub-secondary {
    background: #374151;
    color: #e5e7eb;
}

.btn-hub-secondary:hover {
    background: #4b5563;
    color: #fff;
}

/* Stats Bar */
.hub-stats {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.hub-stat {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 8px;
    padding: 0.75rem 1.25rem;
    text-align: center;
    min-width: 100px;
}

.hub-stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.hub-stat-label {
    display: block;
    font-size: 0.75rem;
    color: #9ca3af;
    margin-top: 0.25rem;
}

.hub-stat-alert {
    border-color: #f59e0b;
}

.hub-stat-alert .hub-stat-value {
    color: #f59e0b;
}

.hub-stat-active {
    border-color: #22c55e;
}

.hub-stat-active .hub-stat-value {
    color: #22c55e;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Main Layout */
.hub-main {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 1.5rem;
}

.hub-column-main {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hub-column-side {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Sections */
.hub-section {
    background: #1a1a2e;
    border: 1px solid #2a2a3a;
    border-radius: 10px;
    padding: 1.25rem;
}

.hub-section-alert {
    border-color: #f59e0b;
    background: linear-gradient(135deg, #1a1a2e 0%, #2a2010 100%);
}

.hub-section-active {
    border-color: #22c55e;
}

.hub-section-title {
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.hub-section-collapsed .hub-task-list-done {
    display: none;
}

.hub-section-toggle {
    cursor: pointer;
}

.hub-section-toggle:hover {
    color: #3b82f6;
}

.hub-toggle-icon {
    font-size: 0.75rem;
    transition: transform 0.2s;
}

.hub-section-collapsed .hub-toggle-icon {
    transform: rotate(-90deg);
}

.hub-section-count {
    background: #374151;
    color: #9ca3af;
    padding: 0.125rem 0.5rem;
    border-radius: 10px;
    font-size: 0.75rem;
    margin-left: auto;
}

/* Forms */
.hub-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.hub-form-row {
    display: flex;
    gap: 0.5rem;
}

.hub-form-row-compact {
    flex-wrap: wrap;
}

.hub-input,
.hub-select,
.hub-textarea {
    background: #0d1117;
    border: 1px solid #30363d;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    color: #c9d1d9;
    font-size: 0.875rem;
    font-family: inherit;
}

.hub-input:focus,
.hub-select:focus,
.hub-textarea:focus {
    outline: none;
    border-color: #3b82f6;
}

.hub-input-title {
    flex: 1;
}

.hub-select {
    min-width: 100px;
}

.hub-textarea {
    width: 100%;
    resize: vertical;
    min-height: 60px;
}

/* Messages */
.hub-messages {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.hub-message {
    background: #0d1117;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.hub-message-unread {
    border-left: 3px solid #f59e0b;
}

.hub-message-content {
    color: #e5e7eb;
    font-size: 0.9rem;
    line-height: 1.5;
}

.hub-message-meta {
    color: #6b7280;
    font-size: 0.75rem;
    margin-top: 0.5rem;
}

/* Tabs */
.hub-tabs {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.hub-tab {
    background: transparent;
    border: 1px solid #30363d;
    border-radius: 6px;
    padding: 0.375rem 0.75rem;
    color: #9ca3af;
    font-size: 0.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    transition: all 0.15s;
}

.hub-tab:hover {
    background: #21262d;
    color: #e5e7eb;
}

.hub-tab.active {
    background: #3b82f6;
    border-color: #3b82f6;
    color: #fff;
}

.hub-tab-count {
    background: rgba(0, 0, 0, 0.2);
    padding: 0.125rem 0.375rem;
    border-radius: 8px;
    font-size: 0.7rem;
}

/* Tasks */
.hub-task-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hub-task {
    background: #0d1117;
    border: 1px solid #21262d;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.hub-task:hover {
    border-color: #30363d;
}

.hub-task-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
}

.hub-task-priority {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.hub-task-id {
    color: #6b7280;
    font-size: 0.75rem;
    font-family: monospace;
}

.hub-task-category {
    color: #8b5cf6;
    font-size: 0.75rem;
    margin-left: auto;
}

.hub-task-assigned {
    font-size: 0.9rem;
}

.hub-task-title {
    color: #e5e7eb;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
}

.hub-task-desc {
    color: #6b7280;
    font-size: 0.8rem;
    margin-top: 0.25rem;
    line-height: 1.4;
}

.hub-task-actions {
    display: flex;
    gap: 0.25rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #21262d;
}

.hub-task-done {
    opacity: 0.6;
}

.hub-task-done .hub-task-title {
    text-decoration: line-through;
}

.hub-task-meta {
    color: #6b7280;
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.hub-inline-form {
    display: inline;
}

.btn-hub-sm {
    background: #21262d;
    border: 1px solid #30363d;
    border-radius: 4px;
    padding: 0.25rem 0.5rem;
    color: #9ca3af;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-hub-sm:hover {
    background: #30363d;
    color: #e5e7eb;
}

.btn-hub-forward {
    color: #22c55e;
}

.btn-hub-forward:hover {
    background: #22c55e;
    color: #fff;
}

.btn-hub-back {
    color: #6b7280;
}

.btn-hub-block {
    color: #f59e0b;
}

.btn-hub-block:hover {
    background: #f59e0b;
    color: #000;
}

.btn-hub-delete {
    color: #ef4444;
}

.btn-hub-delete:hover {
    background: #ef4444;
    color: #fff;
}

.hub-empty {
    color: #6b7280;
    font-size: 0.85rem;
    text-align: center;
    padding: 1rem;
}

/* Sessions */
.hub-sessions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hub-session {
    background: #0d1117;
    border-radius: 6px;
    padding: 0.625rem 0.75rem;
}

.hub-session-active {
    padding: 0.75rem;
    background: linear-gradient(135deg, #0d1117 0%, #0a1a0a 100%);
    border: 1px solid #22c55e;
    border-radius: 8px;
}

.hub-session-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.hub-session-status {
    font-size: 0.6rem;
}

.hub-session-active .hub-session-status,
.hub-session-status.hub-session-active {
    color: #22c55e;
}

.hub-session-completed {
    color: #6b7280;
}

.hub-session-error {
    color: #ef4444;
}

.hub-session-time {
    color: #9ca3af;
    font-size: 0.8rem;
}

.hub-session-id {
    color: #e5e7eb;
    font-family: monospace;
    font-size: 0.85rem;
}

.hub-session-meta {
    color: #6b7280;
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.hub-session-summary {
    color: #9ca3af;
    font-size: 0.8rem;
    margin-top: 0.375rem;
    line-height: 1.4;
}

/* Activity */
.hub-activity {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    max-height: 300px;
    overflow-y: auto;
}

.hub-activity-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.375rem 0;
    font-size: 0.8rem;
    border-bottom: 1px solid #21262d;
}

.hub-activity-item:last-child {
    border-bottom: none;
}

.hub-activity-actor {
    flex-shrink: 0;
}

.hub-activity-text {
    color: #9ca3af;
    flex: 1;
    line-height: 1.4;
}

.hub-activity-time {
    color: #6b7280;
    font-size: 0.7rem;
    white-space: nowrap;
}

/* File Upload */
.hub-upload-form {
    margin-top: 0.5rem;
}

.hub-file-input {
    background: #0d1117;
    border: 1px dashed #30363d;
    border-radius: 6px;
    padding: 0.75rem;
    color: #9ca3af;
    font-size: 0.85rem;
    width: 100%;
    cursor: pointer;
}

.hub-file-input:hover {
    border-color: #3b82f6;
}

/* Reference */
.hub-reference {
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    background: #0d1117;
    border: 1px solid #21262d;
    border-radius: 8px;
    text-align: center;
}

.hub-reference h3 {
    color: #6b7280;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem 0;
}

.hub-reference code {
    background: #161b22;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
    color: #8b5cf6;
    margin: 0 0.125rem;
}

/* Responsive */
@media (max-width: 1024px) {
    .hub-main {
        grid-template-columns: 1fr;
    }

    .hub-column-side {
        order: -1;
    }
}

@media (max-width: 640px) {
    .hub-header {
        flex-direction: column;
    }

    .hub-stats {
        justify-content: center;
    }

    .hub-form-row-compact {
        flex-direction: column;
    }

    .hub-select {
        width: 100%;
    }
}

/* ========================================
   BRIEFING ARCHIVE PAGE
   ======================================== */

.archive-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.archive-page .page-header {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #1e3a5f;
}

.archive-page .page-header h1 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
}

.archive-page .page-subtitle {
    color: #9ca3af;
    font-size: 0.95rem;
}

.archive-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.archive-month-header {
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid #1e3a5f;
}

.archive-month-header:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.archive-month-header h2 {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #60a5fa;
}

.archive-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.archive-item:last-child {
    border-bottom: none;
}

.archive-item-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 50px;
    padding: 0.5rem;
    background: #0f1729;
    border-radius: 0.375rem;
    border: 1px solid #1e3a5f;
}

.archive-item-date .day {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.archive-item-date .weekday {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    margin-top: 0.25rem;
}

.archive-item-content {
    flex: 1;
    min-width: 0;
}

.archive-item-content h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.archive-item-content h3 a {
    color: #e5e7eb;
    text-decoration: none;
    transition: color 0.2s;
}

.archive-item-content h3 a:hover {
    color: #60a5fa;
}

.archive-item-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.8rem;
    color: #6b7280;
}

.archive-item-meta .time::before {
    content: "\1F553";
    margin-right: 0.25rem;
}

.archive-item-meta .stories::before {
    content: "\1F4F0";
    margin-right: 0.25rem;
}

.archive-item-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
}

.btn-outline {
    background: transparent;
    border: 1px solid #374151;
    color: #9ca3af;
}

.btn-outline:hover {
    border-color: #60a5fa;
    color: #60a5fa;
}

.no-results {
    text-align: center;
    color: #6b7280;
    padding: 3rem 1rem;
}

@media (max-width: 640px) {
    .archive-item {
        flex-wrap: wrap;
    }

    .archive-item-content {
        flex: 1 1 calc(100% - 70px);
    }

    .archive-item-actions {
        width: 100%;
        margin-top: 0.5rem;
        padding-left: 66px;
    }
}
/* =====================================================
   Rebuild-specific CSS (FastAPI components)
   ===================================================== */

.footer-credibility-key {
    background: #0d0d14;
    border: 1px solid #1e1e2e;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.credibility-key-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #5ba3d9;
    margin-bottom: 1rem;
    text-align: center;
}

.credibility-scales {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.scale-section h4 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    margin-bottom: 0.75rem;
}

.scale-items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.scale-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #a0a0a0;
}

.scale-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rel-very-low { background: #c94040; }


.bluf-section {
    background: rgba(91, 163, 217, 0.08);
    border: 1px solid rgba(91, 163, 217, 0.2);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.bluf-section h2 {
    color: #5ba3d9;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.75rem 0;
    padding-bottom: 0;
    border-bottom: none;
}

.bluf-section p {
    margin: 0;
    color: #e0e0e0;
    font-size: 1rem;
    line-height: 1.7;
}

.key-judgments {
    margin: 1.5rem 0;
}

.key-judgments h2 {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.key-judgments ul {
    list-style: none;
    padding: 0;
}

.key-judgments li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
    color: #c0c0c0;
}

.key-judgments li::before {
    content: "▸";
    position: absolute;
    left: 0;
    color: #5ba3d9;
}

.confidence-badge {
    display: inline-block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    margin-left: 0.5rem;
}

.story-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.story-list li {
    padding: 0.875rem 0;
    border-bottom: 1px solid #2a2a2a;
}

.story-list li:last-child {
    border-bottom: none;
}

.story-list a {
    color: #e0e0e0;
    font-size: 0.9375rem;
    line-height: 1.4;
}

.story-list a:hover {
    color: #5ba3d9;
}

.story-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.35rem;
    font-size: 0.6875rem;
}

.bias-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.625rem;
    font-weight: 600;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    text-transform: uppercase;
    cursor: pointer;
}

.bias-badge.left {
    background: rgba(59, 130, 246, 0.2);
    color: #60a5fa;
}

.bias-badge.lean-left {
    background: rgba(96, 165, 250, 0.2);
    color: #93c5fd;
}

.bias-badge.center {
    background: rgba(168, 85, 247, 0.2);
    color: #c4b5fd;
}

.bias-badge.lean-right {
    background: rgba(249, 115, 22, 0.2);
    color: #fdba74;
}

.bias-badge.right {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}

.reliability-dots {
    display: inline-flex;
    gap: 2px;
}

.reliability-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #333;
}

.reliability-dot.filled {
    background: #7cb88c;
}

.sector-badge {
    display: inline-block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
}

.sector-badge.global-affairs {
    background: rgba(59, 130, 246, 0.15);
    color: #3b82f6;
}

.sector-badge.national {
    background: rgba(139, 92, 246, 0.15);
    color: #8b5cf6;
}

.sector-badge.defense {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.sector-badge.osint {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

.sector-badge.cyber {
    background: rgba(16, 185, 129, 0.15);
    color: #10b981;
}

.sector-badge.economic {
    background: rgba(99, 102, 241, 0.15);
    color: #6366f1;
}

.weather-sidebar-location {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    color: #888;
}

.weather-sidebar-main {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.weather-sidebar-temp {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
}

.weather-sidebar-condition {
    font-size: 0.75rem;
    color: #888;
}

.developing-topics-widget .topic-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid #1e1e2e;
}

.developing-topics-widget .topic-item:last-child {
    border-bottom: none;
}

.topic-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: #e0e0e0;
    margin-bottom: 0.25rem;
}

.topic-status {
    display: inline-block;
    font-size: 0.5625rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.1rem 0.3rem;
    border-radius: 2px;
    margin-left: 0.25rem;
}

.topic-status.active {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.topic-status.cooling {
    background: rgba(245, 158, 11, 0.2);
    color: #f59e0b;
}

.topic-meta {
    font-size: 0.625rem;
    color: #666;
}


/* ============================================
   LOADING STATES & SKELETON SCREENS
   Added: February 17, 2026
   ============================================ */

/* Skeleton loading animation */
@keyframes skeleton-pulse {
    0% { opacity: 0.6; }
    50% { opacity: 0.4; }
    100% { opacity: 0.6; }
}

.skeleton {
    background: linear-gradient(90deg, #1a1a2e 25%, #2a2a3e 50%, #1a1a2e 75%);
    background-size: 200% 100%;
    animation: skeleton-pulse 1.5s ease-in-out infinite;
    border-radius: 4px;
}

.skeleton-text {
    height: 1em;
    margin-bottom: 0.5em;
}

.skeleton-text-short {
    width: 60%;
}

.skeleton-text-medium {
    width: 80%;
}

.skeleton-title {
    height: 1.5em;
    margin-bottom: 1em;
}

.skeleton-card {
    padding: 1.5rem;
    background: #1a1a2e;
    border-radius: 8px;
    margin-bottom: 1rem;
}

/* Loading spinner */
.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(91, 163, 217, 0.3);
    border-radius: 50%;
    border-top-color: #5ba3d9;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Loading overlay */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(17, 17, 17, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
}

.loading-overlay.active {
    opacity: 1;
    visibility: visible;
}

.loading-overlay .loading-content {
    text-align: center;
    color: #c9d1d9;
}

.loading-overlay .loading-spinner {
    width: 40px;
    height: 40px;
    border-width: 3px;
    margin-bottom: 1rem;
}

/* Button loading state */
.btn.loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
}

.btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 0.8s linear infinite;
}

/* Content loading placeholder */
.content-loading {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

/* Fade in animation for loaded content */
.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================
   Briefing Content Styles
   Executive summary, sector sections, story cards,
   and importance indicators for BLUF briefings.
   ============================================ */

/* Executive Summary */
.executive-summary {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-left: 4px solid #5ba3d9;
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
}

.executive-summary h2 {
    color: #5ba3d9;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem 0;
}

.executive-summary .bluf {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #e5e7eb;
    font-weight: 500;
    margin: 0 0 0.75rem 0;
}

.executive-summary .source-summary {
    font-size: 0.8rem;
    color: #6b7280;
    margin: 0.5rem 0 0 0;
    line-height: 1.4;
}

.executive-summary .meta {
    font-size: 0.75rem;
    color: #4b5563;
    margin: 0.5rem 0 0 0;
}

/* Sector Sections */
.sector-section {
    margin-bottom: 1.75rem;
    padding-top: 1rem;
    border-top: 1px solid #2a2a3e;
}

.sector-section:first-of-type {
    border-top: none;
    padding-top: 0;
}

.sector-section h3 {
    color: #f59e0b;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 1rem 0;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #333;
}

/* Story Cards */
.story-card {
    background: #1a1a2e;
    border: 1px solid #2a2a3e;
    border-left: 3px solid #4b5563;
    border-radius: 4px;
    padding: 0.85rem 1rem;
    margin-bottom: 0.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.story-card:hover {
    border-color: #5ba3d9;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.story-card h4 {
    margin: 0 0 0.35rem 0;
    font-size: 0.95rem;
    line-height: 1.35;
}

.story-card h4 a {
    color: #e5e7eb;
    text-decoration: none;
    transition: color 0.15s ease;
}

.story-card h4 a:hover {
    color: #5ba3d9;
    text-decoration: underline;
}

.story-card .source {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0 0 0.35rem 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.story-card .summary {
    font-size: 0.85rem;
    color: #9ca3af;
    line-height: 1.5;
    margin: 0;
}

/* Importance indicators (colored left borders) */
.story-card.importance-breaking {
    border-left-color: #ef4444;
}

.story-card.importance-high {
    border-left-color: #f59e0b;
}

.story-card.importance-medium {
    border-left-color: #5ba3d9;
}

.story-card.importance-low,
.story-card.importance-standard {
    border-left-color: #4b5563;
}


/* ============================================
   EIN (ETHICAL INTELLIGENCE NETWORK) BADGES
   Added: February 19, 2026
   ============================================ */

/* EIN Tier Badges */
.tier-badge { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 3px; font-family: 'Libre Franklin', Arial, sans-serif; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
.tier-badge.tier1 { background: #22c55e; color: #fff; }
.tier-badge.tier2 { background: #3b82f6; color: #fff; }
.tier-badge.tier3 { background: #6b7280; color: #fff; }
.tier-badge.tier4 { background: #78716c; color: #fff; }

/* Fetch Method Badges */
.fetch-badge { display: inline-block; padding: 0.15rem 0.5rem; border-radius: 3px; font-family: 'Libre Franklin', Arial, sans-serif; font-size: 0.65rem; font-weight: 600; text-transform: uppercase; }
.fetch-badge.direct { background: rgba(34,197,94,0.15); color: #22c55e; }
.fetch-badge.archive { background: rgba(245,158,11,0.15); color: #f59e0b; }
.fetch-badge.cache { background: rgba(239,68,68,0.15); color: #ef4444; }

/* Factuality Badge */
.factuality-badge { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.7rem; }
.factuality-badge .bar { width: 4px; height: 12px; border-radius: 2px; }
.factuality-badge .bar.filled { background: #22c55e; }
.factuality-badge .bar.empty { background: #333; }

/* Source Card (Sources page) */
.source-card { background: #1a1a2e; border: 1px solid #2a2a3a; border-radius: 8px; padding: 1rem; transition: border-color 0.2s; }
.source-card:hover { border-color: #5ba3d9; }
.source-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
.source-card-name { font-weight: 600; color: #e5e7eb; font-size: 0.95rem; }
.source-card-badges { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.source-card-meta { font-size: 0.8rem; color: #888; margin-top: 0.5rem; }
.source-card-meta span { margin-right: 0.75rem; }

/* EIN Stat Cards (admin) */
.ein-stat-card { background: #0d1117; border: 1px solid #21262d; border-radius: 8px; padding: 1.25rem; text-align: center; }
.ein-stat-value { font-size: 1.75rem; font-weight: 700; }
.ein-stat-label { font-size: 0.8rem; color: #8b949e; margin-top: 0.25rem; }
.ein-stat-value.green { color: #22c55e; }
.ein-stat-value.blue { color: #3b82f6; }
.ein-stat-value.amber { color: #f59e0b; }
.ein-stat-value.red { color: #ef4444; }

/* Gauge/Meter */
.gauge-bar { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: #1a1a2e; }
.gauge-segment { transition: width 0.3s; }

/* Filter Controls (sources page) */
.filter-bar { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.filter-chip { padding: 0.35rem 0.75rem; border-radius: 20px; font-size: 0.8rem; border: 1px solid #3a3a4a; background: transparent; color: #c9d1d9; cursor: pointer; transition: all 0.2s; font-family: 'Libre Franklin', Arial, sans-serif; }
.filter-chip:hover, .filter-chip.active { background: #3b82f6; border-color: #3b82f6; color: #fff; }

/* Algorithm Decision Log (admin) */
.decision-row { padding: 0.75rem; border-bottom: 1px solid #1e1e2e; font-size: 0.85rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.decision-type { font-weight: 600; color: #58a6ff; white-space: nowrap; }
.decision-detail { color: #8b949e; flex: 1; }
.decision-time { color: #484f58; font-size: 0.75rem; white-space: nowrap; }

/* EIN Provenance Block (article page) */
.ein-provenance { margin: 1.5rem 0; padding: 1rem; background: #0d1117; border: 1px solid #21262d; border-radius: 8px; }
.ein-provenance-title { font-family: 'Libre Franklin', Arial, sans-serif; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: #8b949e; margin-bottom: 0.75rem; }
.ein-provenance-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0; font-size: 0.85rem; color: #c9d1d9; flex-wrap: wrap; }
.ein-provenance-summary { font-size: 0.8rem; color: #8b949e; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid #21262d; }

/* Sources page grid */
.sources-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.sources-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.sources-stat { background: #0d1117; border: 1px solid #21262d; border-radius: 8px; padding: 1rem; text-align: center; }
.sources-stat-value { font-size: 1.5rem; font-weight: 700; color: #5ba3d9; }
.sources-stat-label { font-size: 0.75rem; color: #8b949e; margin-top: 0.25rem; }

/* EIN Admin sections */
.ein-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.ein-section { background: #0d1117; border: 1px solid #21262d; border-radius: 8px; padding: 1.25rem; margin-bottom: 1.5rem; }
.ein-section-title { font-family: 'Libre Franklin', Arial, sans-serif; font-size: 0.9rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #c9d1d9; margin: 0 0 1rem 0; }
.ein-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.ein-table th { text-align: left; padding: 0.5rem; color: #8b949e; border-bottom: 1px solid #21262d; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.03em; }
.ein-table td { padding: 0.5rem; color: #c9d1d9; border-bottom: 1px solid #161b22; }
.ein-table tr:hover td { background: #161b22; }
.status-active { color: #22c55e; }
.status-quarantined { color: #ef4444; }

/* Methodology EIN tier cards */
.ein-tier-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.ein-tier-card { background: #0d0d14; border: 1px solid #1e1e2e; border-radius: 8px; padding: 1.25rem; text-align: center; }
.ein-tier-card h4 { margin: 0 0 0.5rem 0; color: #fff; }
.ein-tier-card .tier-count { font-size: 1.5rem; font-weight: 700; margin: 0.5rem 0; }
.ein-tier-card p { font-size: 0.8rem; color: #a0a0a0; margin: 0; }

/* Fallback chain diagram */
.fallback-chain { display: flex; align-items: center; justify-content: center; gap: 0.5rem; flex-wrap: wrap; margin: 1.5rem 0; padding: 1rem; background: #0d0d14; border-radius: 8px; }
.fallback-step { background: #1a1a2e; border: 1px solid #2a2a3a; border-radius: 6px; padding: 0.5rem 1rem; font-size: 0.85rem; color: #c9d1d9; font-weight: 600; }
.fallback-arrow { color: #5ba3d9; font-size: 1.25rem; }

/* ================================================================
   BREAKING NEWS — "NO BREAKING" STATE
   ================================================================ */

.no-breaking-widget {
    border-color: #374151;
    background: linear-gradient(135deg, rgba(15,15,22,0.95) 0%, rgba(18,18,28,0.95) 100%);
}

.no-breaking-badge {
    display: inline-block;
    background: #1f2937;
    color: #6b7280;
    border: 1px solid #374151;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    font-family: 'Libre Franklin', Arial, sans-serif;
    text-transform: uppercase;
}

/* ================================================================
   ANALYTICAL LENS / SOURCE SPECTRUM WIDGET
   ================================================================ */

.analytical-lens-widget {
    border-color: #2a3a5f;
    background: linear-gradient(135deg, rgba(14,20,35,0.95) 0%, rgba(18,18,28,0.95) 100%);
    margin-top: 1rem;
}

.analytical-lens-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5ba3d9;
}

.spectrum-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    background: rgba(245,158,11,0.08);
    border: 1px solid rgba(245,158,11,0.25);
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    font-size: 0.72rem;
    color: #d97706;
    line-height: 1.45;
    margin-top: 0.4rem;
}

.spectrum-alert-icon {
    font-size: 0.6rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.spectrum-balanced {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    background: rgba(34,197,94,0.07);
    border: 1px solid rgba(34,197,94,0.2);
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    font-size: 0.72rem;
    color: #16a34a;
    line-height: 1.45;
    margin-top: 0.4rem;
}

.spectrum-ok-icon {
    font-size: 0.75rem;
    flex-shrink: 0;
}

/* ================================================================
   STRATEGIC ASSESSMENT SECTION — ARTICLE VIEW
   ================================================================ */

/* Container that wraps the entire Strategic Assessment block */
.strategic-assessment-block {
    background: #0d1117;
    border: 1px solid #1e2a3a;
    border-top: 3px solid #1d4ed8;
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
}

.strategic-assessment-block .sa-heading {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #60a5fa;
    margin: 0 0 0.25rem 0;
}

.strategic-assessment-block .sa-subtitle {
    font-size: 0.8rem;
    color: #6b7280;
    line-height: 1.5;
    margin: 0 0 1.25rem 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #1e2a3a;
}

/* Sub-section label */
.sa-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    margin-bottom: 0.5rem;
    display: inline-block;
}

.sa-label-patterns  { background: rgba(96,165,250,0.12); color: #60a5fa; }
.sa-label-gaps      { background: rgba(245,158,11,0.12); color: #f59e0b; }
.sa-label-watch     { background: rgba(236,72,153,0.12); color: #ec4899; }
.sa-label-questions { background: rgba(167,139,250,0.12); color: #a78bfa; }
.sa-label-spectrum  { background: rgba(91,163,217,0.1);  color: #5ba3d9; }

.sa-body {
    font-size: 0.9rem;
    color: #c9d1d9;
    line-height: 1.7;
    margin: 0 0 1rem 0;
}

.sa-body:last-child { margin-bottom: 0; }

/* Watch items — ordered list */
.sa-watch-list {
    margin: 0 0 1rem 0;
    padding-left: 1.2rem;
    color: #c9d1d9;
}

.sa-watch-list li {
    font-size: 0.9rem;
    line-height: 1.65;
    margin-bottom: 0.4rem;
    padding-left: 0.25rem;
}

.sa-watch-list li:last-child { margin-bottom: 0; }

/* Key Questions list */
.sa-questions-list {
    margin: 0 0 1rem 0;
    padding: 0;
    list-style: none;
}

.sa-questions-list li {
    font-size: 0.9rem;
    line-height: 1.65;
    color: #c9d1d9;
    padding: 0.4rem 0 0.4rem 1rem;
    border-left: 2px solid #4c1d95;
    margin-bottom: 0.5rem;
}

.sa-questions-list li:last-child { margin-bottom: 0; }

/* Sub-section divider */
.sa-divider {
    border: none;
    border-top: 1px solid #1e2a3a;
    margin: 1rem 0;
}

/* Alternative Hypothesis block */
.alt-hypothesis-block {
    background: rgba(245,158,11,0.06);
    border: 1px solid rgba(245,158,11,0.2);
    border-left: 3px solid #d97706;
    border-radius: 4px;
    padding: 0.85rem 1rem;
    margin-bottom: 2rem;
}

.alt-hypothesis-block .ah-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #d97706;
    margin: 0 0 0.4rem 0;
}

.alt-hypothesis-block p {
    font-size: 0.9rem;
    color: #d4a843;
    line-height: 1.65;
    font-style: italic;
    margin: 0;
}

/* Methodology ribbon — scoring & ICD methods shown compactly */
.methodology-ribbon {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 1rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px solid #1e2a3a;
}

.methodology-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #111827;
    border: 1px solid #1f2937;
    border-radius: 20px;
    padding: 0.2rem 0.6rem;
    font-size: 0.65rem;
    color: #6b7280;
    font-family: 'Libre Franklin', Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.methodology-pill strong {
    color: #9ca3af;
}

/* ================================================================
   DASHBOARD BRIEFING DESIGN SYSTEM  (db-*)
   Full redesign — coherent visual hierarchy for the main dashboard
   briefing panel, Strategic Assessment, and sidebar widgets.
   ================================================================ */

/* ── Card shell ─────────────────────────────────────────────────── */
.db-briefing-card {
    background: #0a0a12;
    border: 1px solid #1c1c2e;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 2.5rem;
}

/* ── Masthead ───────────────────────────────────────────────────── */
.db-masthead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 1.75rem 1.25rem;
    border-bottom: 1px solid #1c1c2e;
    background: linear-gradient(180deg, #0d0d1a 0%, #0a0a12 100%);
}

.db-masthead-left { flex: 1; min-width: 0; }

.db-label {
    display: inline-block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #4b6290;
    margin-bottom: 0.5rem;
}

.db-briefing-title {
    font-family: 'Libre Franklin', 'Franklin Gothic Medium', Arial, sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 0.6rem 0;
    color: #f0f0f0;
}

.db-briefing-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}
.db-briefing-title a:hover { color: #5ba3d9; }

.db-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.db-meta-item {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem;
    color: #5a6480;
}

.db-meta-sep { color: #2a2a3e; font-size: 0.75rem; }

/* Confidence badge inline in meta */
.db-confidence {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
}
.db-confidence-high     { background: rgba(34,197,94,0.15);  color: #22c55e; border: 1px solid rgba(34,197,94,0.25); }
.db-confidence-moderate { background: rgba(59,130,246,0.15); color: #60a5fa; border: 1px solid rgba(59,130,246,0.25); }
.db-confidence-low      { background: rgba(249,115,22,0.15); color: #fb923c; border: 1px solid rgba(249,115,22,0.25); }

/* Action buttons */
.db-masthead-actions {
    display: flex;
    gap: 0.6rem;
    flex-shrink: 0;
    align-items: flex-start;
    padding-top: 0.15rem;
}

.db-btn-primary {
    display: inline-block;
    background: #1d4ed8;
    color: #fff;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 0.45rem 1rem;
    border-radius: 5px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s;
}
.db-btn-primary:hover { background: #2563eb; color: #fff; }

.db-btn-ghost {
    display: inline-block;
    background: transparent;
    color: #4b6290;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 0.45rem 0.9rem;
    border-radius: 5px;
    border: 1px solid #1c2a40;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s;
}
.db-btn-ghost:hover { border-color: #5ba3d9; color: #5ba3d9; }

/* ── Two-column body ────────────────────────────────────────────── */
.db-two-col {
    display: flex;
    gap: 0;
}

.db-main-col {
    flex: 1;
    min-width: 0;
    padding: 1.5rem 1.75rem;
    border-right: 1px solid #1c1c2e;
}

.db-sidebar-col {
    width: 260px;
    flex-shrink: 0;
    padding: 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: #07070f;
}

/* ── Section chrome ─────────────────────────────────────────────── */
.db-section {
    margin-bottom: 1.75rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid #131320;
}
.db-section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.db-section-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.85rem;
}

.db-section-eyebrow {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #8a9bb8;
}

.db-badge-group { display: flex; gap: 0.35rem; }

/* Badges / pills */
.db-badge {
    display: inline-flex;
    align-items: center;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 0.15rem 0.45rem;
    border-radius: 3px;
    white-space: nowrap;
}

.db-badge-bluf       { background: rgba(91,163,217,0.15); color: #5ba3d9; border: 1px solid rgba(91,163,217,0.3); }
.db-badge-icd        { background: rgba(99,102,241,0.15); color: #818cf8; border: 1px solid rgba(99,102,241,0.3); }
.db-badge-tradecraft { background: rgba(245,158,11,0.12); color: #f59e0b; border: 1px solid rgba(245,158,11,0.25); }

/* ── BLUF section ───────────────────────────────────────────────── */
.db-bluf-section { border-left: 3px solid #1d4ed8; padding-left: 1rem; }

.db-bluf-text {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.05rem !important;
    line-height: 1.75 !important;
    color: #d8dde8 !important;
    margin: 0 !important;
}

/* ── Key Judgments ──────────────────────────────────────────────── */
.db-judgments-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.db-judgment-item {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    font-family: 'Georgia', serif;
    font-size: 0.9rem !important;
    line-height: 1.6;
    color: #b8c0d0;
    padding: 0.5rem 0.75rem;
    background: #0d0d1a;
    border-left: 2px solid #1e3a5f;
    border-radius: 0 4px 4px 0;
}

.db-judgment-conf {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.15rem 0.4rem;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 0.1rem;
}
.db-judgment-conf-high     { background: rgba(34,197,94,0.15);  color: #22c55e; }
.db-judgment-conf-moderate { background: rgba(59,130,246,0.15); color: #60a5fa; }
.db-judgment-conf-low      { background: rgba(249,115,22,0.15); color: #fb923c; }

.db-judgment-text { flex: 1; }

/* ── Strategic Assessment ───────────────────────────────────────── */
.db-assessment-section {
    background: #080813;
    border: 1px solid #1a2035;
    border-top: 2px solid #1d4ed8;
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
}

.db-assessment-subtitle {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem !important;
    color: #4b5a78 !important;
    line-height: 1.5 !important;
    margin: 0 0 1.25rem 0 !important;
    padding-bottom: 1rem;
    border-bottom: 1px solid #131325;
}

/* SA sub-blocks */
.db-sa-block {
    margin-bottom: 1.1rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid #0e0e20;
}
.db-sa-block:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.db-sa-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.2rem 0.6rem 0.2rem 0.5rem;
    border-radius: 3px;
    margin-bottom: 0.6rem;
}

.db-sa-label-patterns  { background: rgba(96,165,250,0.12);  color: #60a5fa;  border: 1px solid rgba(96,165,250,0.2); }
.db-sa-label-gaps      { background: rgba(245,158,11,0.1);   color: #f59e0b;  border: 1px solid rgba(245,158,11,0.2); }
.db-sa-label-watch     { background: rgba(236,72,153,0.1);   color: #f472b6;  border: 1px solid rgba(236,72,153,0.2); }
.db-sa-label-questions { background: rgba(167,139,250,0.1);  color: #a78bfa;  border: 1px solid rgba(167,139,250,0.2); }

.db-sa-text {
    font-family: 'Georgia', serif;
    font-size: 0.9rem !important;
    line-height: 1.72 !important;
    color: #b8c2d8 !important;
    margin: 0 !important;
}

/* Watch items — numbered */
.db-watch-list {
    margin: 0;
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.db-watch-list li {
    font-family: 'Georgia', serif;
    font-size: 0.9rem;
    line-height: 1.65;
    color: #b8c2d8;
    padding-left: 0.25rem;
}

/* Key questions — distinctive left accent */
.db-questions-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.db-questions-list li {
    font-family: 'Georgia', serif;
    font-size: 0.88rem;
    line-height: 1.65;
    color: #9aa0b8;
    padding: 0.45rem 0.75rem;
    border-left: 2px solid #4c1d95;
    background: rgba(76,29,149,0.05);
    border-radius: 0 3px 3px 0;
    font-style: italic;
}

/* Methodology footer row */
.db-methodology-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #131325;
}

.db-meth-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #0d0d1a;
    border: 1px solid #1c1c30;
    border-radius: 20px;
    padding: 0.22rem 0.7rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    white-space: nowrap;
}

.db-meth-label {
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.db-meth-label::after { content: ":"; }

.db-meth-value {
    color: #4b5a78;
}

/* ── Alternative Hypothesis ─────────────────────────────────────── */
.db-alt-hypothesis {
    background: rgba(245,158,11,0.04);
    border: 1px solid rgba(245,158,11,0.18);
    border-left: 3px solid #d97706;
    border-radius: 5px;
    padding: 1rem 1.25rem;
    margin-top: 1.25rem;
}

.db-alt-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.db-alt-icon {
    font-size: 0.85rem;
    color: #d97706;
    line-height: 1;
}

.db-alt-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #d97706;
}

.db-alt-text {
    font-family: 'Georgia', serif;
    font-size: 0.88rem !important;
    line-height: 1.7 !important;
    color: #c8a45a !important;
    font-style: italic;
    margin: 0 !important;
}

/* ── Sidebar Widgets ────────────────────────────────────────────── */
.db-widget {
    background: #0c0c18;
    border: 1px solid #181828;
    border-radius: 7px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.db-widget-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #181828;
}

.db-widget-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #8a9bb8;
}

.db-widget-body {
    padding: 0.85rem;
    flex: 1;
}

.db-widget-footer-link {
    display: block;
    padding: 0.5rem 0.85rem;
    border-top: 1px solid #181828;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    font-weight: 600;
    color: #3b6eb5;
    text-decoration: none;
    transition: color 0.15s;
}
.db-widget-footer-link:hover { color: #60a5fa; }

/* Breaking widget */
.db-widget-breaking { border-color: rgba(220,38,38,0.35); }
.db-widget-breaking .db-widget-header { background: rgba(220,38,38,0.06); }

.db-breaking-pulse {
    width: 8px;
    height: 8px;
    background: #dc2626;
    border-radius: 50%;
    animation: db-pulse 2s infinite;
}
@keyframes db-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.85); }
}

.db-breaking-item {
    padding: 0.45rem 0;
    border-bottom: 1px solid #131320;
}
.db-breaking-item:last-child { border-bottom: none; }

.db-breaking-link {
    display: block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.72rem;
    line-height: 1.4;
    color: #c9d1d9;
    text-decoration: none;
    transition: color 0.15s;
}
.db-breaking-link:hover { color: #fff; }

.db-breaking-time {
    display: block;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    color: #4b5a78;
    margin-top: 0.15rem;
}

/* Quiet (no breaking) widget */
.db-widget-quiet { border-color: #181828; }

.db-quiet-dot {
    width: 8px;
    height: 8px;
    background: #2a3a4a;
    border-radius: 50%;
}

.db-quiet-label {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.72rem !important;
    color: #4b5a78 !important;
    margin: 0 0 0.5rem 0 !important;
    line-height: 1.4 !important;
}

.db-quiet-methodology {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem !important;
    color: #2e3a50 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* Source Spectrum widget */
.db-widget-spectrum { border-color: #1a2035; }

.db-spectrum-bar {
    display: flex;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.4rem;
}

.db-spectrum-seg { height: 100%; }
.db-seg-left   { background: #2563eb; }
.db-seg-center { background: #7c3aed; }
.db-seg-right  { background: #dc2626; }

.db-spectrum-legend {
    display: flex;
    justify-content: space-between;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    color: #4b5a78;
    margin-bottom: 0.5rem;
}

.db-leg-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 0.25rem;
}
.db-leg-left   { background: #2563eb; }
.db-leg-center { background: #7c3aed; }
.db-leg-right  { background: #dc2626; }

.db-spectrum-stats {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    color: #2e3a50;
    margin-bottom: 0.6rem;
}

.db-spectrum-status {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    line-height: 1.5;
    padding: 0.4rem 0.55rem;
    border-radius: 4px;
}

.db-spectrum-caution {
    background: rgba(245,158,11,0.07);
    border: 1px solid rgba(245,158,11,0.2);
    color: #b47a18;
}

.db-spectrum-ok {
    background: rgba(34,197,94,0.06);
    border: 1px solid rgba(34,197,94,0.18);
    color: #166534;
}

/* ── Sector nav ─────────────────────────────────────────────────── */
.db-sector-nav {
    margin: 0.5rem 0 2.5rem;
}

.db-sector-nav-title {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #3a4458;
    margin: 0 0 0.75rem 0;
}

.db-sector-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem;
}

.db-sector-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
    background: #0d0d1a;
    border: 1px solid #181828;
    border-left: 3px solid #1d4ed8;
    border-radius: 4px;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}
.db-sector-link:hover {
    background: #111125;
    border-left-color: #5ba3d9;
}

.db-sector-name {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: #c0c8d8;
}

.db-sector-count {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.7rem;
    color: #3a4a60;
    background: #0a0a18;
    padding: 0.1rem 0.4rem;
    border-radius: 10px;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 860px) {
    .db-two-col { flex-direction: column; }
    .db-main-col { border-right: none; border-bottom: 1px solid #1c1c2e; }
    .db-sidebar-col { width: 100%; flex-direction: row; flex-wrap: wrap; padding: 1rem; }
    .db-widget { flex: 1; min-width: 220px; }
}

@media (max-width: 560px) {
    .db-masthead { flex-direction: column; gap: 1rem; }
    .db-masthead-actions { align-self: stretch; }
    .db-btn-primary, .db-btn-ghost { flex: 1; text-align: center; }
    .db-sidebar-col { flex-direction: column; }
    .db-widget { min-width: unset; }
    .db-main-col { padding: 1.25rem 1rem; }
}


/* ================================================================
   BLUFIFY INTELLIGENCE BRIEFING — DESIGN SYSTEM v2
   Semantic color palette, section hierarchy, badge system.
   All rules use high specificity to win over older declarations.
   ================================================================

   PALETTE:
   Intelligence Blue   #1a56db / #3b82f6  → BLUF, primary
   Signal Amber        #d97706 / #fbbf24  → Caution, watch, alt hypothesis
   Verified Green      #059669 / #34d399  → High confidence, validated
   Coverage Orange     #ea580c / #fb923c  → Gaps, missing coverage
   Question Purple     #7c3aed / #a78bfa  → Unknowns, key questions
   Pattern Cyan        #0891b2 / #22d3ee  → Patterns, cross-sector
   Neutral Surface     #0d1117            → Card backgrounds
   Border default      #1e2433            → Subtle dividers
   ================================================================ */

/* ── RESET drop-caps site-wide ────────────────────────────────── */
.entry-content p::first-letter,
.entry-content p:first-of-type::first-letter,
.bluf::first-letter,
.db-bluf-text::first-letter,
.executive-summary p::first-letter,
.story-bluf::first-letter {
    font-size: inherit !important;
    font-weight: inherit !important;
    float: none !important;
    line-height: inherit !important;
    color: inherit !important;
}

/* ── EXECUTIVE SUMMARY (BLUF box) ──────────────────────────────── */
.executive-summary {
    position: relative;
    background: linear-gradient(135deg, #0d1525 0%, #0a1020 100%);
    border: 1px solid #1e3a5f;
    border-top: 3px solid #1a56db;
    border-radius: 8px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 2rem;
    overflow: hidden;
}

.executive-summary::before {
    content: "BLUF";
    position: absolute;
    top: 1.1rem;
    right: 1.25rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    color: #1a56db;
    opacity: 0.5;
}

.executive-summary h2 {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.65rem !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #3b82f6;
    margin: 0 0 0.85rem 0;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #1e3a5f;
}

.executive-summary .bluf {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.1rem !important;
    line-height: 1.75 !important;
    color: #e8edf5 !important;
    font-weight: 400;
    margin: 0 0 1rem 0 !important;
}

.executive-summary .source-summary {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.75rem !important;
    color: #3b5278 !important;
    margin: 0 0 0.25rem 0 !important;
    line-height: 1.5;
}

.executive-summary .meta {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.7rem !important;
    color: #2a3a52 !important;
    margin: 0 !important;
}

/* ── PRIOR BRIEFING DELTA NOTE ─────────────────────────────────── */
.briefing-delta-note {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.72rem;
    color: #3b5278;
    background: #080f1a;
    border: 1px solid #1a2535;
    border-radius: 5px;
    padding: 0.45rem 0.85rem;
    margin-bottom: 1.5rem;
}

/* ── SECTION SHELL — base for all analysis sections ────────────── */
.brf-section {
    border-radius: 8px;
    margin-bottom: 1.75rem;
    overflow: hidden;
}

.brf-section-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1.1rem;
}

.brf-section-eyebrow {
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    flex: 1;
}

.brf-section-body {
    padding: 1rem 1.25rem 1.25rem;
}

/* ── BRF BADGE SYSTEM ───────────────────────────────────────────── */
.brf-badge {
    display: inline-flex;
    align-items: center;
    font-family: 'Libre Franklin', Arial, sans-serif;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.18rem 0.55rem;
    border-radius: 3px;
    white-space: nowrap;
    line-height: 1.2;
}

.brf-badge-blue   { background: rgba(59,130,246,0.15);  color: #60a5fa;  border: 1px solid rgba(59,130,246,0.3); }
.brf-badge-amber  { background: rgba(217,119,6,0.15);   color: #fbbf24;  border: 1px solid rgba(217,119,6,0.3); }
.brf-badge-green  { background: rgba(5,150,105,0.15);   color: #34d399;  border: 1px solid rgba(5,150,105,0.3); }
.brf-badge-orange { background: rgba(234,88,12,0.15);   color: #fb923c;  border: 1px solid rgba(234,88,12,0.3); }
.brf-badge-purple { background: rgba(124,58,237,0.15);  color: #a78bfa;  border: 1px solid rgba(124,58,237,0.3); }
.brf-badge-cyan   { background: rgba(8,145,178,0.15);   color: #22d3ee;  border: 1px solid rgba(8,145,178,0.3); }
.brf-badge-gray   { background: rgba(107,114,128,0.15); color: #9ca3af;  border: 1px solid rgba(107,114,128,0.3); }

/* ── STRATEGIC ASSESSMENT BLOCK ─────────────────────────────────── */
/* Overrides the old .strategic-assessment-block everywhere */
.strategic-assessment-block {
    background: #080e1a !important;
    border: 1px solid #1a2535 !important;
    border-top: 3px solid #1a56db !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin-bottom: 2rem !important;
    overflow: hidden;
}

.strategic-assessment-block > .sa-heading,
.strategic-assessment-block > p.sa-heading {
    display: block !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: #3b82f6 !important;
    margin: 0 !important;
    padding: 0.75rem 1.25rem !important;
    border-bottom: 1px solid #1a2535 !important;
    background: #060c18 !important;
}

.strategic-assessment-block > .sa-subtitle {
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.72rem !important;
    color: #2e4060 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0.6rem 1.25rem 0 !important;
    display: block !important;
}

/* Sub-block wrapper — each labeled section */
.strategic-assessment-block .sa-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.58rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 0.2rem 0.6rem !important;
    border-radius: 3px !important;
    margin: 0.85rem 1.25rem 0.45rem !important;
}

.strategic-assessment-block > p {
    margin: 0 !important;
    padding: 0 1.25rem 0.85rem !important;
    font-size: 0.9rem !important;
    line-height: 1.75 !important;
    color: #c9d1d9 !important;
}

.strategic-assessment-block .sa-label-patterns { background: rgba(8,145,178,0.15) !important;   color: #22d3ee !important;  border: 1px solid rgba(8,145,178,0.25) !important; }
.strategic-assessment-block .sa-label-gaps     { background: rgba(234,88,12,0.12) !important;   color: #fb923c !important;  border: 1px solid rgba(234,88,12,0.25) !important; }
.strategic-assessment-block .sa-label-watch    { background: rgba(217,119,6,0.12) !important;   color: #fbbf24 !important;  border: 1px solid rgba(217,119,6,0.25) !important; }
.strategic-assessment-block .sa-label-questions{ background: rgba(124,58,237,0.12) !important;  color: #a78bfa !important;  border: 1px solid rgba(124,58,237,0.25) !important; }
.strategic-assessment-block .sa-label-spectrum { background: rgba(59,130,246,0.12) !important;  color: #60a5fa !important;  border: 1px solid rgba(59,130,246,0.25) !important; }

.strategic-assessment-block .sa-body,
.strategic-assessment-block p.sa-body {
    font-family: 'Georgia', serif !important;
    font-size: 0.925rem !important;
    line-height: 1.75 !important;
    color: #b8c4d8 !important;
    margin: 0 1.25rem 0 !important;
    padding: 0 !important;
}

.strategic-assessment-block .sa-divider,
.strategic-assessment-block hr.sa-divider {
    border: none !important;
    border-top: 1px solid #111b2a !important;
    margin: 0.75rem 1.25rem !important;
}

/* Watch list — numbered */
.strategic-assessment-block .sa-watch-list {
    margin: 0 1.25rem 0 2.5rem !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
}

.strategic-assessment-block .sa-watch-list li {
    font-family: 'Georgia', serif !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    color: #b8c4d8 !important;
}

/* Questions list — italic accent */
.strategic-assessment-block .sa-questions-list {
    list-style: none !important;
    margin: 0 1.25rem !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
}

.strategic-assessment-block .sa-questions-list li {
    font-family: 'Georgia', serif !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    color: #9aa8c0 !important;
    padding: 0.5rem 0.85rem !important;
    border-left: 2px solid #4c1d95 !important;
    background: rgba(124,58,237,0.04) !important;
    border-radius: 0 4px 4px 0 !important;
    font-style: italic !important;
}

/* Methodology ribbon at the bottom */
.strategic-assessment-block .methodology-ribbon {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    padding: 0.85rem 1.25rem !important;
    margin: 0.75rem 0 0 0 !important;
    border-top: 1px solid #111b2a !important;
    background: #060b15 !important;
}

.strategic-assessment-block .methodology-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    background: #0c1220 !important;
    border: 1px solid #1a2535 !important;
    border-radius: 20px !important;
    padding: 0.22rem 0.65rem !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.6rem !important;
    color: #3b5278 !important;
    white-space: nowrap !important;
}

.strategic-assessment-block .methodology-pill strong {
    color: #5a7298 !important;
    font-weight: 700 !important;
}

/* ── ALTERNATIVE HYPOTHESIS ────────────────────────────────────── */
.alt-hypothesis-block {
    background: #0f0a03 !important;
    border: 1px solid rgba(217,119,6,0.2) !important;
    border-left: 4px solid #d97706 !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin-bottom: 2rem !important;
    overflow: hidden;
}

.alt-hypothesis-block .ah-label {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #d97706 !important;
    margin: 0 !important;
    padding: 0.65rem 1.1rem !important;
    border-bottom: 1px solid rgba(217,119,6,0.12) !important;
    background: rgba(217,119,6,0.04) !important;
}

.alt-hypothesis-block p {
    font-family: 'Georgia', serif !important;
    font-size: 0.925rem !important;
    line-height: 1.75 !important;
    color: #c9a85a !important;
    font-style: italic !important;
    margin: 0 !important;
    padding: 0.85rem 1.1rem 1rem !important;
}

/* ── SECTOR SECTIONS — news story groups ────────────────────────── */
.sector-section {
    margin-bottom: 2rem !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* Section header bar — sector headings (Business, World, etc.) */
.sector-section h3 {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #c8d4e8 !important;
    margin: 0 0 0.85rem 0 !important;
    padding: 0.5rem 0 0.5rem 0 !important;
    border-bottom: 1px solid #1e2433 !important;
    border-top: none !important;
}

/* ── STORY CARDS ────────────────────────────────────────────────── */
.story-card {
    background: #0c111c !important;
    border: 1px solid #16202e !important;
    border-left: 3px solid #1e3a5f !important;
    border-radius: 6px !important;
    padding: 0.9rem 1.1rem !important;
    margin-bottom: 0.65rem !important;
    transition: border-color 0.2s, background 0.2s !important;
}

.story-card:hover {
    background: #0e1422 !important;
    border-left-color: #3b82f6 !important;
}

.story-card h4 {
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 0.4rem 0 !important;
}

.story-card h4 a {
    color: #c8d4e8 !important;
    text-decoration: none !important;
}
.story-card h4 a:hover { color: #60a5fa !important; text-decoration: underline !important; }

.story-card .source {
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.68rem !important;
    color: #3b5278 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 0.4rem 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.4rem !important;
}

.story-card .summary {
    font-family: 'Georgia', serif !important;
    font-size: 0.85rem !important;
    color: #7a8fa8 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Importance left borders */
.story-card.importance-breaking { border-left-color: #dc2626 !important; }
.story-card.importance-high     { border-left-color: #d97706 !important; }
.story-card.importance-medium   { border-left-color: #1a56db !important; }
.story-card.importance-standard,
.story-card.importance-low      { border-left-color: #1e3a5f !important; }

/* Why it matters within story card */
.story-card p strong { color: #60a5fa !important; font-weight: 600 !important; }

/* ── CONFIDENCE BADGES ──────────────────────────────────────────── */
.confidence-badge {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.58rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    padding: 0.18rem 0.5rem !important;
    border-radius: 3px !important;
    margin-left: 0 !important;
}

/* Override inline background colors set in aggregator — let CSS handle it */
span.confidence-badge[style*="22c55e"] { background: rgba(5,150,105,0.18) !important; color: #34d399 !important; border: 1px solid rgba(5,150,105,0.3) !important; }
span.confidence-badge[style*="3b82f6"],
span.confidence-badge[style*="10b981"] { background: rgba(59,130,246,0.15) !important; color: #60a5fa !important; border: 1px solid rgba(59,130,246,0.3) !important; }
span.confidence-badge[style*="f97316"],
span.confidence-badge[style*="ef4444"] { background: rgba(234,88,12,0.15) !important; color: #fb923c !important; border: 1px solid rgba(234,88,12,0.3) !important; }

/* Source count badge (green) */
span.confidence-badge[style*="10b981"] { background: rgba(5,150,105,0.12) !important; color: #34d399 !important; border: 1px solid rgba(5,150,105,0.25) !important; }

/* ── IMPORTANCE BADGES ──────────────────────────────────────────── */
.importance-badge {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.56rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 0.18rem 0.5rem !important;
    border-radius: 3px !important;
}

/* ── COVERAGE BALANCE ───────────────────────────────────────────── */
.sector-section:has(> h3:contains("Coverage")) { border-top: none !important; }

/* Coverage bar section — general .sector-section with the bar */
.coverage-bar-section {
    background: #080e1a;
    border: 1px solid #1a2535;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.75rem;
}

/* ── EIN PROVENANCE ─────────────────────────────────────────────── */
.ein-provenance {
    background: #07090f !important;
    border: 1px solid #111825 !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin: 1.5rem 0 !important;
    overflow: hidden;
}

.ein-provenance summary.ein-provenance-title {
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #2e3a50 !important;
    padding: 0.7rem 1rem !important;
    cursor: pointer !important;
    background: #060b14 !important;
    list-style: none !important;
}

.ein-provenance summary.ein-provenance-title:hover { color: #4a6080 !important; }

.ein-provenance-item {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.4rem 1rem !important;
    font-size: 0.8rem !important;
    color: #5a7298 !important;
    border-bottom: 1px solid #0e141f !important;
    flex-wrap: wrap !important;
}

.ein-provenance-item:last-of-type { border-bottom: none !important; }

.ein-provenance-summary {
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.68rem !important;
    color: #2e3a50 !important;
    padding: 0.6rem 1rem !important;
    border-top: 1px solid #111825 !important;
    background: #060b14 !important;
}

/* ── SOURCES & ATTRIBUTION ─────────────────────────────────────── */
.sector-section:last-of-type {
    /* Let it breathe */
    margin-bottom: 0.5rem !important;
}

/* Source pills in attribution section */
span[style*="inline-flex"][style*="1a1a2e"] {
    background: #0a101a !important;
    border: 1px solid #1a2535 !important;
    border-radius: 4px !important;
    font-size: 0.68rem !important;
}

/* ── BIAS BADGES ────────────────────────────────────────────────── */
.bias-badge { border-radius: 3px !important; font-size: 0.6rem !important; padding: 0.15rem 0.45rem !important; }
.bias-badge.left      { background: rgba(37,99,235,0.2)  !important; color: #93c5fd !important; }
.bias-badge.lean-left { background: rgba(59,130,246,0.12) !important; color: #7dd3fc !important; }
.bias-badge.center    { background: rgba(5,150,105,0.15)  !important; color: #6ee7b7 !important; }
.bias-badge.lean-right{ background: rgba(234,88,12,0.12)  !important; color: #fdba74 !important; }
.bias-badge.right     { background: rgba(220,38,38,0.18)  !important; color: #fca5a5 !important; }

/* ── TIER BADGES ────────────────────────────────────────────────── */
.tier-badge { font-size: 0.58rem !important; padding: 0.15rem 0.45rem !important; border-radius: 3px !important; }
.tier-badge.tier1 { background: rgba(5,150,105,0.2)  !important; color: #34d399 !important; border: 1px solid rgba(5,150,105,0.3) !important; }
.tier-badge.tier2 { background: rgba(59,130,246,0.15) !important; color: #60a5fa !important; border: 1px solid rgba(59,130,246,0.25) !important; }
.tier-badge.tier3 { background: rgba(107,114,128,0.15)!important; color: #9ca3af !important; border: 1px solid rgba(107,114,128,0.25) !important; }
.tier-badge.tier4 { background: rgba(120,113,108,0.12)!important; color: #a8a29e !important; border: 1px solid rgba(120,113,108,0.2) !important; }

/* ── RELIABILITY DOTS ───────────────────────────────────────────── */
.reliability-dots { gap: 3px !important; }
.reliability-dot { width: 7px !important; height: 7px !important; background: #111825 !important; border-radius: 50% !important; }
.reliability-dot.filled { background: #059669 !important; }

/* ── FACTUALITY BARS ────────────────────────────────────────────── */
.factuality-badge .bar { width: 4px !important; height: 13px !important; border-radius: 2px !important; }
.factuality-badge .bar.filled { background: #059669 !important; }
.factuality-badge .bar.empty  { background: #111825 !important; }

/* ── SOURCE CREDIBILITY KEY (footer) ───────────────────────────── */
/* The inline-styled div at bottom of article — make it blend in */
div[style*="Source Credibility Key"],
div > div[style*="font-weight:700"][style*="c9d1d9"] {
    background: #07090f !important;
    border: 1px solid #111825 !important;
    border-radius: 6px !important;
}

/* ── AI TRANSPARENCY BLOCK ─────────────────────────────────────── */
div[style*="AI Transparency"],
article div[style*="AI-assisted"] {
    background: #060b10 !important;
    border: 1px solid #111825 !important;
    border-radius: 6px !important;
}

/* ── ARTICLE HEADER METADATA ───────────────────────────────────── */
.entry-meta span { font-family: 'Libre Franklin', Arial, sans-serif !important; }

/* PDF / Print action buttons */
a[href*="/pdf"], a[href*="/print"] {
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
}

/* ── ENTRY CONTENT — body text ──────────────────────────────────── */
.entry-content {
    max-width: 760px !important;
    margin: 0 auto !important;
}

.entry-content p {
    font-family: 'Georgia', 'Times New Roman', serif !important;
    font-size: 0.975rem !important;
    line-height: 1.8 !important;
    color: #9aa8c0 !important;
    margin-bottom: 1.25rem !important;
}

/* ── UNRATED SOURCE BADGE ───────────────────────────────────────── */
span[style*="unrated"] {
    background: #0c111c !important;
    color: #3b5278 !important;
    border: 1px solid #1a2535 !important;
}

/* ── DEVELOPING TOPICS WIDGET ───────────────────────────────────── */
.developing-widget { border-color: rgba(217,119,6,0.3) !important; }

/* ── COVERAGE BALANCE bars in article ──────────────────────────── */
/* The inline-styled bar divs — make them use slightly rounded ends */
div[style*="border-radius:4px"][style*="overflow:hidden"][style*="height:28px"] {
    border-radius: 6px !important;
    height: 20px !important;
}

/* ── RESPONSIVE OVERRIDES ───────────────────────────────────────── */
@media (max-width: 700px) {
    .executive-summary { padding: 1.1rem 1.1rem; }
    .strategic-assessment-block .sa-body,
    .strategic-assessment-block p.sa-body { margin: 0 0.85rem 0 !important; }
    .strategic-assessment-block .sa-label { margin: 0.65rem 0.85rem 0.35rem !important; }
    .strategic-assessment-block .sa-watch-list,
    .strategic-assessment-block .sa-questions-list { margin: 0 0.85rem !important; }
    .strategic-assessment-block .sa-divider { margin: 0.6rem 0.85rem !important; }
    .strategic-assessment-block .methodology-ribbon { padding: 0.75rem 0.85rem !important; }
    .alt-hypothesis-block p { padding: 0.75rem 0.85rem !important; }
    .ein-provenance-item { padding: 0.4rem 0.75rem !important; }
}


/* ── JUDGMENT SOURCE BRACKET TAG ───────────────────────────────── */
.judgment-source {
    display: inline-block;
    font-family: 'Libre Franklin', Arial, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    color: #3b82f6 !important;
    background: rgba(59,130,246,0.1) !important;
    border: 1px solid rgba(59,130,246,0.25) !important;
    border-radius: 3px !important;
    padding: 0.05rem 0.35rem !important;
    letter-spacing: 0.02em !important;
    vertical-align: middle !important;
    margin-left: 0.15rem !important;
}

/* ── HEADER DICTIONARY DEFINITION LINE ─────────────────────────── */
.site-definition {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 0.78rem;
    font-style: italic;
    color: #555570;
    margin-top: 0.2rem;
    letter-spacing: 0.01em;
    display: block;
}

/* ── HEADER DEFINITION BAR (below nav) ─────────────────────────── */
.header-definition-bar {
    border-top: 1px solid #1e1e1e;
    border-bottom: 1px solid #1e1e1e;
    background: #0a0a0a;
    padding: 0.45rem 0;
    text-align: center;
}

.header-definition {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 0.72rem;
    font-style: italic;
    color: #aaa;
    letter-spacing: 0.03em;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.header-definition em {
    font-style: italic;
}
