*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0d1117;color:#c9d1d9;line-height:1.6}.app{max-width:1200px;margin:0 auto;padding:2rem}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #30363d}header h1{font-size:1.5rem;color:#58a6ff}.refresh-btn{background:#238636;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.refresh-btn:hover{background:#2ea043}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.grid.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 1100px){.grid.grid-3{grid-template-columns:1fr}}.card{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:1.5rem}.card h2{font-size:1.1rem;margin-bottom:1rem;color:#58a6ff}.card h3{font-size:.95rem;margin-bottom:.5rem;color:#8b949e}.metric{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #21262d}.metric:last-child{border-bottom:none}.metric-label{color:#8b949e}.metric-value{font-weight:600;color:#c9d1d9}.metric-value.warning{color:#d29922}.metric-value.danger{color:#f85149}.metric-value.good{color:#3fb950}.progress-bar{width:100%;height:8px;background:#21262d;border-radius:4px;overflow:hidden;margin:.5rem 0}.progress-fill{height:100%;border-radius:4px;transition:width .5s ease}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.status-ok{background:#238636;color:#fff}.status-warn{background:#9e6a03;color:#fff}.status-error{background:#da3633;color:#fff}.error-message{color:#f85149;text-align:center;padding:2rem}.loading{text-align:center;padding:2rem;color:#8b949e}.auth-form{max-width:400px;margin:4rem auto;padding:2rem;background:#161b22;border:1px solid #30363d;border-radius:8px}.auth-form h2{margin-bottom:1rem;color:#58a6ff}.auth-form input{width:100%;padding:.5rem;margin-bottom:1rem;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;font-size:.9rem}.auth-form button{width:100%;padding:.5rem;background:#238636;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.chart-container{margin-top:1rem}.header-actions{display:flex;gap:.5rem;align-items:center}.settings-btn{background:#30363d;color:#c9d1d9;border:1px solid #484f58;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.settings-btn:hover{background:#484f58}.settings-page{max-width:800px;margin:0 auto}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #30363d}.settings-header h2{color:#58a6ff;font-size:1.3rem}.back-btn{background:#30363d;color:#c9d1d9;border:1px solid #484f58;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem}.back-btn:hover{background:#484f58}.settings-card{margin-bottom:1.5rem}.settings-card h3{display:flex;align-items:center;gap:.5rem;color:#c9d1d9;font-size:1rem}.settings-card h4{color:#8b949e;font-size:.85rem;margin:1rem 0 .5rem}.settings-badge{font-size:.7rem;background:#30363d;color:#8b949e;padding:.15rem .5rem;border-radius:10px;font-weight:400}.settings-card-header{display:flex;justify-content:space-between;align-items:center}.settings-form-row{display:flex;gap:.5rem;align-items:center}.settings-form-row input,.settings-form-row select{flex:1;padding:.5rem;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;font-size:.85rem}.settings-form-row select{flex:0 0 auto;max-width:200px}.settings-form-row button{padding:.5rem 1rem;background:#238636;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;white-space:nowrap}.settings-form-row button:disabled{opacity:.5;cursor:not-allowed}.settings-creds-list{margin-top:.5rem}.settings-cred-item{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px solid #21262d}.settings-cred-item:last-child{border-bottom:none}.settings-cred-key{font-family:monospace;font-size:.85rem;color:#58a6ff;flex:1}.settings-cred-status{font-size:.8rem;color:#8b949e}.settings-form-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.settings-form-field label{font-size:.8rem;color:#8b949e}.settings-form-field input{padding:.5rem;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;font-size:.85rem}.settings-form-field input:focus{border-color:#58a6ff;outline:none}.save-btn{margin-top:.5rem;padding:.5rem 1.5rem;background:#238636;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.save-btn:hover{background:#2ea043}.save-btn:disabled{opacity:.5;cursor:not-allowed}.delete-btn{background:#da3633;color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem}.delete-btn:hover{background:#f85149}.delete-btn.small{padding:.2rem .5rem;font-size:.75rem}.settings-message{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;color:#58a6ff;font-size:.9rem}.settings-hint{font-size:.75rem;color:#6e7681;font-style:italic}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #30363d;border-top-color:#58a6ff;border-radius:50%;animation:spin .6s linear infinite}.spinner.large{width:40px;height:40px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:#8b949e}.toast{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;color:#fff;z-index:1000;animation:slideIn .3s ease-out;max-width:400px}.toast.success{background:#238636}.toast.error{background:#da3633}.toast.info{background:#1f6feb}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.last-updated{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#484f58;margin-top:.75rem;padding-top:.5rem;border-top:1px solid #21262d}.empty-state{text-align:center;padding:3rem 2rem;color:#484f58}.empty-state h3{color:#8b949e;margin-bottom:.5rem}.empty-state p{font-size:.9rem}@media (max-width: 768px){.app{padding:1rem}header{flex-direction:column;gap:1rem;align-items:flex-start}header h1{font-size:1.2rem}.header-actions{width:100%}.header-actions button{flex:1}.grid,.grid.grid-3{grid-template-columns:1fr}.card{padding:1rem}.settings-form-row{flex-direction:column}.settings-form-row select{max-width:100%}.auth-form{margin:2rem 1rem}}@media (max-width: 480px){.metric{flex-direction:column;gap:.25rem}.metric-value{font-size:1.1rem}}.audit-table-wrapper{overflow-x:auto}.audit-table{width:100%;border-collapse:collapse;font-size:.85rem}.audit-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid #30363d;color:#8b949e;font-weight:600;white-space:nowrap}.audit-table td{padding:.4rem .75rem;border-bottom:1px solid #21262d}.audit-table tr:hover{background:#161b22}.audit-date{white-space:nowrap;color:#8b949e;font-family:monospace;font-size:.8rem}.audit-badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.audit-badge.success{background:#23863633;color:#3fb950}.audit-badge.error{background:#da363333;color:#f85149}.audit-badge.skipped{background:#d2992233;color:#d29922}.audit-detail{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b949e;font-size:.8rem}.cost-summary{margin-bottom:1.5rem}.cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.cost-item{background:#0d1117;border:1px solid #21262d;border-radius:8px;padding:1rem}.cost-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.cost-icon{font-size:1.2rem}.cost-name{font-weight:600;color:#c9d1d9}.cost-plan{font-size:.75rem;color:#8b949e;background:#21262d;padding:.1rem .5rem;border-radius:10px;margin-left:auto}.cost-details{display:flex;flex-direction:column;gap:.4rem}.cost-metric{display:flex;justify-content:space-between;font-size:.85rem}.cost-metric span{color:#8b949e}.cost-metric strong{color:#c9d1d9}.cost-metric strong.danger{color:#f85149}.cost-metric strong.warning{color:#d29922}.cost-metric strong.good,.cost-metric strong.fresh{color:#3fb950}.cost-metric strong.stale{color:#d29922}.cost-total{display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid #30363d;font-size:1rem}.cost-total span{color:#8b949e}.cost-total strong{color:#58a6ff;font-size:1.1rem}
