:root{--color-bg-base:#0b0f19;--color-surface:#141928b3;--color-surface-hover:#283046cc;--color-primary:#0f8;--color-primary-dim:#0f83;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-border:#ffffff1a;--color-danger:#ef4444;--glass-bg:#ffffff08;--glass-border:1px solid #ffffff0d;--glass-shadow:0 4px 30px #0000004d;--glass-blur:blur(16px);--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg-base);color:var(--color-text-primary);line-height:inherit;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex}.glass-panel{background:var(--glass-bg);border:var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:16px;padding:1.5rem}h1,h2,h3{color:var(--color-text-primary);margin-bottom:1rem;font-weight:700}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}.btn{background:var(--glass-bg);color:var(--color-text-primary);border:var(--glass-border);cursor:pointer;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn:hover{background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.btn-primary{background:var(--color-primary);color:var(--color-bg-base);border:none}.btn-primary:hover{color:var(--color-bg-base);background:#00dd76;border-color:#0000}textarea.raw-input{border:var(--glass-border);width:100%;min-height:300px;color:var(--color-text-primary);resize:vertical;background:#0006;border-radius:8px;padding:1rem;font-family:monospace;font-size:1rem}textarea.raw-input:focus{border-color:var(--color-primary);outline:none}.app-container{flex:1;width:100%;max-width:800px;margin:0 auto;padding:2rem 1rem}.bottom-nav{width:100%;-webkit-backdrop-filter:var(--glass-blur);border-top:var(--glass-border);padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));z-index:100;background:#0b0f19d9;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0}.nav-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.nav-btn:hover{color:var(--color-text-primary)}.kpi-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=600px){.kpi-grid{grid-template-columns:repeat(1,1fr)}.kpi-value{font-size:1.5rem}}.kpi-card{background:var(--glass-bg);border:var(--glass-border);text-align:center;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.kpi-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.kpi-value{color:var(--color-primary);font-size:1.75rem;font-weight:800}.kpi-sub{color:var(--color-text-secondary);font-size:.75rem}.filter-container{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-chip{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border:1px solid #ffffff1a;border-radius:20px;padding:.4rem 1rem;font-size:.9rem;transition:all .2s}.filter-chip:hover{background:#ffffff14;border-color:#ffffff4d}.filter-chip.active{background:#ffffff0d;border-color:currentColor;font-weight:700}.filter-chip.active.row-1{color:#ff4d4d;border-color:#ff4d4d}.filter-chip.active.row-2{color:#fc0;border-color:#fc0}.filter-chip.active.row-3{color:#0f8;border-color:#0f8}.dashboard-layout{grid-template-columns:1fr;gap:1.5rem;width:100%;display:grid}@media (width<=768px){.glass-panel{border-radius:12px;padding:1rem}}@media (width>=768px){.dashboard-layout{grid-template-columns:1fr 1fr}.full-width{grid-column:1/-1}}.react-calendar-heatmap{width:100%}.react-calendar-heatmap rect{rx:3px;ry:3px;cursor:pointer;transition:opacity .2s}.react-calendar-heatmap rect:hover{opacity:.7}.react-calendar-heatmap text{fill:var(--color-text-secondary);font-size:10px;font-weight:500}.color-empty{fill:#ffffff08}.color-scale-1{fill:#064e3b}.color-scale-2{fill:#059669}.color-scale-3{fill:#34d399}.color-scale-4{fill:var(--color-primary)}.heatmap-legend{color:var(--color-text-secondary);justify-content:flex-end;align-items:center;gap:8px;margin-top:1rem;font-size:.75rem;display:flex}.legend-box{border-radius:2px;width:12px;height:12px}@keyframes pr-glow{0%{text-shadow:0 0 5px #ffd70033,0 0 10px #ffd70033;transform:scale(1)}50%{text-shadow:0 0 10px #ffd70099,0 0 20px #ffd70066;transform:scale(1.05)}to{text-shadow:0 0 5px #ffd70033,0 0 10px #ffd70033;transform:scale(1)}}.kpi-mini-grid{background:#ffffff05;border:1px solid #ffffff08;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.25rem;padding:1rem;display:grid}@media (width<=600px){.kpi-mini-grid{grid-template-columns:repeat(2,1fr)}}.kpi-mini-item{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.kpi-mini-label{color:#ff4d4d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.65rem;font-weight:700}.kpi-mini-val{color:var(--color-text-primary);font-size:1.25rem;font-weight:800}.kpi-mini-unit{color:var(--color-text-secondary);margin-left:2px;font-size:.7rem;font-weight:400}.badge-pr{color:gold;background:linear-gradient(135deg,#ffd7001a 0%,#ffa5001a 100%);border:1px solid #ffd7004d;border-radius:12px;align-items:center;gap:4px;padding:.1rem .5rem;font-size:.75rem;font-weight:700;animation:2s ease-in-out infinite pr-glow;display:inline-flex}.nav-btn.active{color:var(--color-primary)}.react-calendar-heatmap text{fill:#aaa;font-size:10px}.react-calendar-heatmap .react-calendar-heatmap-small-text{font-size:5px}.react-calendar-heatmap rect:hover{stroke:#555;stroke-width:1px}.react-calendar-heatmap .color-empty{fill:#eee}.react-calendar-heatmap .color-filled{fill:#8cc665}.react-calendar-heatmap .color-github-0{fill:#eee}.react-calendar-heatmap .color-github-1{fill:#d6e685}.react-calendar-heatmap .color-github-2{fill:#8cc665}.react-calendar-heatmap .color-github-3{fill:#44a340}.react-calendar-heatmap .color-github-4{fill:#1e6823}.react-calendar-heatmap .color-gitlab-0{fill:#ededed}.react-calendar-heatmap .color-gitlab-1{fill:#acd5f2}.react-calendar-heatmap .color-gitlab-2{fill:#7fa8d1}.react-calendar-heatmap .color-gitlab-3{fill:#49729b}.react-calendar-heatmap .color-gitlab-4{fill:#254e77}
