:root{font-family:Segoe UI,Tahoma,sans-serif;color:#0b2a4a;background:#eaf2ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#d9e9ff,#eaf2ff 40%,#f3f8ff)}.container{max-width:1280px;margin:0 auto;padding:1rem}.pageHeader h1{margin:0;font-size:1.8rem}.pageHeader p{margin-top:.4rem;color:#4b5563}.pageHeader{background:linear-gradient(130deg,#0f4ea8,#1d65c1 42%,#2a7ed9);border:1px solid #2563eb;border-radius:10px;padding:.9rem;color:#fff}.pageHeader p,.updateStatusText{color:#e6f0ff}.updateBar{margin-top:.8rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.updateStatusText{color:#374151;font-size:.95rem}.actionButtons{display:flex;gap:.6rem;flex-wrap:wrap}.filterPanelHeader{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.filterPanelHeader h2{margin:0;font-size:1.1rem}.searchField{margin-top:.85rem}.searchField input{width:100%;max-width:100%;padding:.5rem .55rem;border:1px solid #d1d5db;border-radius:6px;font:inherit}.btnPrimary,.btnSecondary{font:inherit;cursor:pointer;border-radius:6px;padding:.45rem .85rem;border:1px solid transparent}.btnPrimary{background:linear-gradient(130deg,#0f4ea8,#2a7ed9);color:#fff;border-color:#0f4ea8}.btnPrimary:hover:not(:disabled){background:linear-gradient(130deg,#0c428e,#1f6dc6)}.btnPrimary:disabled{opacity:.45;cursor:not-allowed}.btnSecondary{background:#f0f6ff;color:#0f4ea8;border-color:#9dc2f4}.btnSecondary:hover{background:#e4efff}.btnDisabled{opacity:.45;pointer-events:none}.sectionHeader{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.sectionHeader h2{margin:0;font-size:1.1rem}.loadingBanner{margin-top:1rem;padding:.65rem .75rem;border-radius:6px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.panel{background:linear-gradient(180deg,#fff,#f5f9ff);border:1px solid #c8ddfb;border-radius:8px;padding:.9rem;margin-top:1rem;box-shadow:0 8px 20px #1d4ed814}.kpiGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;margin-top:1rem}.kpiCard{background:linear-gradient(145deg,#0f4ea8,#1f6dc6);color:#f9fafb;border-radius:8px;padding:.9rem;border:1px solid #2a7ed9}.kpiCard p{margin:0;opacity:.85}.kpiCard strong{display:block;margin-top:.45rem;font-size:1.1rem}.filterGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.filterField{display:flex;flex-direction:column;gap:.3rem;font-size:.92rem}.filterField select{padding:.45rem;border:1px solid #d1d5db;border-radius:6px}.multiSelect{min-height:140px;line-height:1.35;padding:.4rem}.multiSelect option{white-space:normal;padding:.2rem .25rem}.fieldHint{color:#6b7280;font-size:.76rem}.multiSelectWrap{position:relative}.multiSelectButton{width:100%;text-align:left;padding:.45rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer}.multiSelectPanel{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.45rem;box-shadow:0 8px 24px #0f172a1f}.multiSelectOption{display:flex;gap:.45rem;align-items:flex-start;padding:.25rem .15rem}.multiSelectOption span{line-height:1.25}.multiSelectActions{display:flex;justify-content:flex-end;padding-top:.35rem}.filterField input[type=date]{padding:.45rem;border:1px solid #d1d5db;border-radius:6px}.dateFilters{margin-top:.75rem}.twoColumn{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.statusList{list-style:none;padding:0;margin:0}.statusList li{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid #f3f4f6}.tabBar{display:flex;gap:.6rem;margin-top:1rem}.tabBtn{border:1px solid #9dc2f4;background:#f0f6ff;color:#0f4ea8;padding:.45rem .9rem;border-radius:999px;cursor:pointer}.tabActive{background:linear-gradient(130deg,#0f4ea8,#2a7ed9);color:#fff;border-color:#0f4ea8}.companyLayout{display:grid;grid-template-columns:1.1fr 1fr;gap:1rem}.companyList{max-height:420px;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;padding:.4rem}.companyItem{width:100%;text-align:left;border:0;background:#fff;display:flex;justify-content:space-between;padding:.5rem;border-radius:6px;cursor:pointer}.companyItem:hover{background:#f9fafb}.companyItemActive{background:#dcecff}.companyDetails{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;background:#fff}.resourceIntro{margin-top:.25rem;color:#4b5563}.resourceGrid{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.9rem}.resourceCard{border:1px solid #bfdbfe;border-radius:10px;padding:.9rem;background:linear-gradient(180deg,#fff,#eef5ff)}.resourceCard h3{margin:0;font-size:1rem}.resourceCard p{margin:.5rem 0 0;color:#4b5563;line-height:1.4}.resourceActions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.resourceActions .btnPrimary,.resourceActions .btnSecondary{text-decoration:none}.solarPdfViewer{margin-top:.8rem;border:1px solid #bfdbfe;border-radius:10px;padding:.9rem;background:linear-gradient(180deg,#fff,#eef5ff)}.solarPdfFrame{width:100%;height:75vh;border:1px solid #dbeafe;border-radius:8px;background:#fff}.linkBtn{background:none;border:0;padding:0;color:#1d4ed8;cursor:pointer;text-align:left;text-decoration:none}.linkBtn:hover{text-decoration:underline}.miniBtn{margin-left:.45rem;border:1px solid #9dc2f4;background:#f0f6ff;color:#0f4ea8;border-radius:4px;font-size:.75rem;padding:.1rem .4rem;cursor:pointer}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.5rem;border-bottom:1px solid #dbeafe;text-align:left}th{background:#eaf2ff;color:#0f4ea8}.errorBanner{margin-top:1rem;color:#991b1b;background:#fee2e2;border:1px solid #fecaca;padding:.6rem;border-radius:6px}.chatbotDock{position:fixed;right:1rem;bottom:1rem;z-index:50}.chatbotPanel{width:min(400px,calc(100vw - 2rem));height:min(560px,calc(100vh - 2rem));background:#fff;border:1px solid #dbeafe;border-radius:12px;box-shadow:0 20px 45px #0f172a33;display:flex;flex-direction:column;overflow:hidden}.chatbotHeader{background:linear-gradient(120deg,#1d4ed8,#2563eb);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem}.chatbotHeader h3{margin:0;font-size:.95rem}.chatStatus{font-size:.72rem;padding:.12rem .4rem;border-radius:999px;border:1px solid rgba(255,255,255,.45)}.chatStatus-ready{background:#22c55e40}.chatStatus-offline{background:#ef444440}.chatStatus-checking{background:#eab30840}.chatToggleBtn{border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;border-radius:6px;padding:.2rem .5rem;cursor:pointer}.chatbotMessages{flex:1;overflow-y:auto;background:#f8fafc;padding:.7rem;display:flex;flex-direction:column;gap:.55rem}.chatBubble{border-radius:10px;padding:.6rem .7rem;max-width:95%;font-size:.86rem;line-height:1.35}.chatBubble p{margin:0;white-space:pre-wrap}.chatAssistant{align-self:flex-start;background:#fff;border:1px solid #e5e7eb}.chatUser{align-self:flex-end;background:#1d4ed8;color:#fff}.chatModeTag{display:block;margin-top:.35rem;opacity:.75}.chatCitations{margin:.4rem 0 0;padding-left:1rem}.chatCitations a{color:#1d4ed8;text-decoration:none}.chatCitations a:hover{text-decoration:underline}.chatInputRow{display:flex;gap:.45rem;border-top:1px solid #e5e7eb;padding:.6rem}.chatInputRow input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:.5rem .55rem;font:inherit}.chatLaunchBtn{border:1px solid #1d4ed8;background:#1d4ed8;color:#fff;border-radius:999px;padding:.62rem .95rem;cursor:pointer;box-shadow:0 10px 25px #1d4ed84d}@media (max-width: 900px){.twoColumn,.companyLayout{grid-template-columns:1fr}}
