*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0f1117;color:#e2e8f0;min-height:100vh;}
header{background:linear-gradient(135deg,#1a1f2e,#0f1117);border-bottom:1px solid #2d3748;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;}
.logo h1{font-size:1.4rem;font-weight:700;color:#fff;}
.logo .sub{font-size:0.78rem;color:#64748b;margin-top:3px;}
.hmeta{text-align:right;font-size:0.75rem;color:#64748b;}
.hmeta .dr{font-size:0.8rem;color:#94a3b8;font-weight:500;}
.rbadge{display:inline-block;background:#1e3a5f;color:#60a5fa;font-size:0.7rem;padding:2px 8px;border-radius:10px;margin-top:4px;}
.container{max-width:1600px;margin:0 auto;padding:24px 32px;}
.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid #2d3748;}
.tab-btn{background:none;border:none;color:#64748b;font-size:0.88rem;font-weight:600;padding:10px 20px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;}
.tab-btn:hover{color:#94a3b8;}
.tab-btn.active{color:#60a5fa;border-bottom-color:#3b82f6;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.kpi-card{background:#1a1f2e;border:1px solid #2d3748;border-radius:12px;padding:20px 24px;position:relative;overflow:hidden;}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.kpi-card.blue::before{background:linear-gradient(90deg,#3b82f6,#60a5fa);}
.kpi-card.green::before{background:linear-gradient(90deg,#10b981,#34d399);}
.kpi-card.purple::before{background:linear-gradient(90deg,#8b5cf6,#a78bfa);}
.kpi-card.orange::before{background:linear-gradient(90deg,#f59e0b,#fbbf24);}
.kpi-card.red::before{background:linear-gradient(90deg,#ef4444,#f87171);}
.kpi-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:#64748b;font-weight:600;margin-bottom:10px;}
.kpi-value{font-size:2rem;font-weight:700;color:#f1f5f9;line-height:1;}
.kpi-sub{font-size:0.75rem;color:#64748b;margin-top:8px;}
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;}
.chart-card,.platform-card{background:#1a1f2e;border:1px solid #2d3748;border-radius:12px;padding:20px 24px;}
.platform-card{margin-bottom:24px;}
.chart-title{font-size:0.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px;}
.chart-container{position:relative;height:260px;}
.platform-card .chart-container{height:160px;}
.table-card{background:#1a1f2e;border:1px solid #2d3748;border-radius:12px;overflow:hidden;}
.table-header{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2d3748;flex-wrap:wrap;gap:10px;}
.table-title{font-size:0.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;}
.search-box{background:#0f1117;border:1px solid #2d3748;border-radius:8px;padding:7px 14px;color:#e2e8f0;font-size:0.82rem;width:260px;outline:none;}
.search-box::placeholder{color:#475569;}
.search-box:focus{border-color:#3b82f6;}
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:0.82rem;}
thead th{background:#141820;color:#64748b;font-weight:600;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;padding:10px 16px;text-align:left;border-bottom:1px solid #2d3748;white-space:nowrap;cursor:pointer;}
thead th:hover{color:#94a3b8;}
tbody tr{border-bottom:1px solid #1e2535;transition:background 0.15s;}
tbody tr:hover{background:#1e2535;}
tbody td{padding:11px 16px;vertical-align:middle;}
.award-link{color:#60a5fa;text-decoration:none;font-family:monospace;font-size:0.78rem;}
.award-link:hover{color:#93c5fd;text-decoration:underline;}
.amount-cell{font-weight:700;color:#34d399;white-space:nowrap;}
.vendor-cell{color:#e2e8f0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.agency-cell{color:#94a3b8;font-size:0.78rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.desc-cell{color:#64748b;font-size:0.78rem;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.table-footer{padding:12px 24px;border-top:1px solid #2d3748;color:#475569;font-size:0.75rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;white-space:nowrap;}
.tag-servicenow{background:#0f2d1a;color:#34d399;border:1px solid #166534;}
.tag-appian{background:#1a1040;color:#a78bfa;border:1px solid #4c1d95;}
.tag-power-platform{background:#1a2040;color:#60a5fa;border:1px solid #1e3a8a;}
.tag-outsystems{background:#1a1f10;color:#86efac;border:1px solid #14532d;}
.tag-mendix{background:#1a1020;color:#c4b5fd;border:1px solid #581c87;}
.tag-pega{background:#1f1a10;color:#fbbf24;border:1px solid #92400e;}
.tag-creatio{background:#1a1020;color:#e879f9;border:1px solid #701a75;}
.tag-nintex{background:#1a2010;color:#bef264;border:1px solid #365314;}
.tag-palantir{background:#1a1030;color:#c084fc;border:1px solid #6b21a8;}
.tag-uipath{background:#1a2010;color:#fb923c;border:1px solid #9a3412;}
.tag-automation-anywhere{background:#1a1520;color:#f472b6;border:1px solid #9d174d;}
.tag-blue-prism{background:#101a2d;color:#38bdf8;border:1px solid #075985;}
.tag-salesforce{background:#101a2d;color:#38bdf8;border:1px solid #0369a1;}
.tag-oracle-apex{background:#1f1510;color:#f87171;border:1px solid #991b1b;}
.tag-sap{background:#1a2010;color:#a3e635;border:1px solid #3f6212;}
.tag-smartsheet{background:#101a20;color:#2dd4bf;border:1px solid #115e59;}
.tag-quickbase{background:#1a1520;color:#e879f9;border:1px solid #7e22ce;}
.tag-mulesoft{background:#101a2d;color:#60a5fa;border:1px solid #1e40af;}
.tag-boomi{background:#1a1020;color:#a78bfa;border:1px solid #5b21b6;}
.tag-tableau{background:#101520;color:#818cf8;border:1px solid #3730a3;}
.tag-bizagi{background:#1a2010;color:#a3e635;border:1px solid #4d7c0f;}
.tag-retool{background:#1a1f2e;color:#fbbf24;border:1px solid #92400e;}
.tag-rpa-general{background:#1a1520;color:#f0abfc;border:1px solid #86198f;}
.tag-low-code{background:#1a1f2e;color:#94a3b8;border:1px solid #334155;}
.tag-no-code{background:#1a1f2e;color:#94a3b8;border:1px solid #334155;}
.tag-low-code-general{background:#1a1f2e;color:#94a3b8;border:1px solid #334155;}
.tag-no-code-general{background:#1a1f2e;color:#94a3b8;border:1px solid #334155;}
.tag-radcitizen-dev{background:#1a2030;color:#7dd3fc;border:1px solid #0c4a6e;}
.tag-other{background:#1a1f2e;color:#64748b;border:1px solid #1e293b;}
.tag-other-lcnc{background:#1a1f2e;color:#64748b;border:1px solid #1e293b;}
.hidden{display:none!important;}
.detail-row td{padding:0!important;border-bottom:1px solid #1e2535;}
.detail-row.collapsed .detail-content{display:none;}
.detail-content{background:#141820;padding:16px 24px;border-top:1px solid #2d3748;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.detail-section h4{font-size:0.78rem;color:#64748b;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px;}
.detail-desc{font-size:0.8rem;color:#94a3b8;line-height:1.6;max-height:200px;overflow-y:auto;}
.detail-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.detail-meta-item{font-size:0.75rem;color:#64748b;}
.detail-meta-item strong{color:#94a3b8;}
.doc-list{list-style:none;padding:0;margin:0;}
.doc-list li{padding:6px 0;border-bottom:1px solid #1e2535;font-size:0.78rem;}
.doc-list li:last-child{border-bottom:none;}
.doc-list a{color:#60a5fa;text-decoration:none;}
.doc-list a:hover{text-decoration:underline;}
.doc-summary{font-size:0.75rem;color:#64748b;margin-top:4px;line-height:1.5;}
.expand-btn{background:none;border:none;color:#475569;cursor:pointer;font-size:0.75rem;padding:2px 4px;transition:transform 0.15s;}
.expand-btn.open{transform:rotate(90deg);color:#60a5fa;}
.new-badge{display:inline-block;background:#1e3a1e;color:#4ade80;font-size:0.6rem;font-weight:700;padding:1px 6px;border-radius:3px;margin-left:6px;vertical-align:middle;}
.set-aside-cell{font-size:0.7rem;color:#fbbf24;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fetch-docs-btn{background:#1e293b;border:1px solid #334155;color:#60a5fa;font-size:0.7rem;padding:3px 8px;border-radius:4px;cursor:pointer;white-space:nowrap;}
.fetch-docs-btn:hover{background:#334155;}
.fetch-docs-btn:disabled{opacity:0.5;cursor:not-allowed;}
.location-cell{font-size:0.7rem;color:#64748b;}
.badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:0.72rem;font-weight:600;white-space:nowrap;}
.badge-red{background:#2d1515;color:#f87171;border:1px solid #7f1d1d;}
.badge-green{background:#0f2d1a;color:#34d399;border:1px solid #166534;}
.badge-gray{background:#1e2535;color:#64748b;border:1px solid #334155;}
.sol-info{background:#1a1f2e;border:1px solid #2d3748;border-radius:12px;padding:16px 24px;margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.sol-info-text{font-size:0.8rem;color:#64748b;line-height:1.6;}
.sol-info-text strong{color:#94a3b8;}
.star-note{font-size:0.75rem;color:#64748b;margin-top:4px;}
/* Army tab styles */
.army-hero{background:linear-gradient(135deg,#0f1a0f,#0d1a2d);border:1px solid #1e3a1e;border-radius:12px;padding:24px 28px;margin-bottom:20px;position:relative;overflow:hidden;}
.army-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#16a34a,#15803d,#166534);}
.army-hero-title{font-size:1.1rem;font-weight:700;color:#86efac;margin-bottom:6px;}
.army-hero-sub{font-size:0.82rem;color:#4ade80;opacity:0.75;margin-bottom:16px;}
.army-summary{font-size:0.83rem;color:#94a3b8;line-height:1.7;max-width:900px;}
.army-summary strong{color:#86efac;}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
.policy-card{background:#0f1a0f;border:1px solid #1e3a1e;border-radius:10px;padding:16px 18px;position:relative;overflow:hidden;}
.policy-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#16a34a,#166534);}
.policy-card-num{font-family:monospace;font-size:0.72rem;color:#4ade80;font-weight:600;margin-bottom:4px;}
.policy-card-title{font-size:0.82rem;font-weight:600;color:#e2e8f0;margin-bottom:6px;line-height:1.3;}
.policy-card-date{font-size:0.72rem;color:#64748b;}
.policy-card-desc{font-size:0.77rem;color:#94a3b8;margin-top:8px;line-height:1.5;}
.platforms-section{background:#1a1f2e;border:1px solid #2d3748;border-radius:12px;padding:20px 24px;margin-bottom:20px;}
.platforms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;}
.platform-pill{background:#0f1117;border:1px solid #1e3a1e;border-radius:8px;padding:12px 14px;}
.platform-pill-name{font-size:0.82rem;font-weight:600;color:#86efac;margin-bottom:4px;}
.platform-pill-type{font-size:0.72rem;color:#4ade80;margin-bottom:6px;}
.platform-pill-desc{font-size:0.72rem;color:#64748b;line-height:1.4;}
.platform-pill.special{border-color:#1e3a8a;background:#0d1a2d;}
.platform-pill.special .platform-pill-name{color:#60a5fa;}
.platform-pill.special .platform-pill-type{color:#93c5fd;}
.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
.signal-card{background:#1a1f2e;border:1px solid #2d3748;border-radius:12px;padding:20px 24px;}
.signal-card-title{font-size:0.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;}
.signal-item{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start;}
.signal-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.signal-dot.green{background:#16a34a;}
.signal-dot.blue{background:#3b82f6;}
.signal-dot.yellow{background:#f59e0b;}
.signal-dot.red{background:#ef4444;}
.signal-text{font-size:0.8rem;color:#94a3b8;line-height:1.5;}
.signal-text strong{color:#e2e8f0;}
.quote-card{background:#0f1a0f;border:1px solid #1e3a1e;border-radius:10px;padding:18px 20px;margin-bottom:12px;position:relative;}
.quote-card::before{content:'"';position:absolute;top:10px;left:14px;font-size:2rem;color:#16a34a;opacity:0.4;font-family:Georgia,serif;line-height:1;}
.quote-text{font-size:0.8rem;color:#94a3b8;line-height:1.65;padding-left:20px;font-style:italic;}
.quote-source{font-size:0.72rem;color:#4ade80;margin-top:8px;padding-left:20px;font-style:normal;font-weight:600;}
.army-opp{background:#0d1a2d;border:1px solid #1e3a8a;border-radius:12px;padding:20px 24px;margin-bottom:20px;}
.army-opp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.army-opp-title{font-size:1rem;font-weight:700;color:#93c5fd;line-height:1.3;}
.army-opp-badge{background:#1e3a8a;color:#60a5fa;font-size:0.72rem;font-weight:600;padding:3px 10px;border-radius:4px;white-space:nowrap;}
.army-opp-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;}
.army-opp-meta-item{font-size:0.78rem;color:#64748b;}
.army-opp-meta-item strong{color:#94a3b8;}
.army-opp-desc{font-size:0.8rem;color:#94a3b8;line-height:1.65;margin-bottom:14px;}
.army-opp-link{color:#60a5fa;font-size:0.82rem;text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.army-opp-link:hover{color:#93c5fd;}
.section-heading{font-size:0.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;}
.engage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
.engage-card{background:#1a1f2e;border:1px solid #2d3748;border-radius:10px;padding:16px 18px;}
.engage-step{font-size:0.7rem;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px;}
.engage-title{font-size:0.85rem;font-weight:600;color:#e2e8f0;margin-bottom:8px;}
.engage-desc{font-size:0.77rem;color:#64748b;line-height:1.5;}
.engage-desc strong{color:#94a3b8;}
.warning-card{background:#1a1207;border:1px solid #713f12;border-radius:10px;padding:16px 20px;margin-bottom:20px;}
.warning-title{font-size:0.82rem;font-weight:600;color:#fbbf24;margin-bottom:8px;}
.warning-text{font-size:0.78rem;color:#d97706;line-height:1.5;}
.timeline-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #1e2535;}
.timeline-row:last-child{border-bottom:none;}
.timeline-date{font-size:0.72rem;font-family:monospace;color:#4ade80;width:100px;flex-shrink:0;}
.timeline-doc{font-size:0.78rem;font-weight:600;color:#e2e8f0;flex:1;}
.timeline-desc{font-size:0.75rem;color:#64748b;flex:2;}
.tag-army{background:#0f2d1a;color:#4ade80;border:1px solid #166534;}
.tag-pending{background:#1a1207;color:#fbbf24;border:1px solid #713f12;}
.kpi-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;}
.loading-msg{text-align:center;color:#475569;padding:40px;font-size:0.85rem;}
.pagination{display:flex;gap:8px;align-items:center;justify-content:center;padding:12px;}
.pagination button{background:#1a1f2e;border:1px solid #2d3748;color:#94a3b8;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:0.78rem;}
.pagination button:hover{border-color:#3b82f6;color:#60a5fa;}
.pagination button:disabled{opacity:0.3;cursor:default;}
.pagination span{color:#64748b;font-size:0.78rem;}
