.graph-container{background:linear-gradient(135deg,#000 0%,#0a0a0a 100%);border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden}.card-graph{background:#000}.graph-loading{background:#000;justify-content:center;align-items:center;display:flex}.graph-loading-text{color:#888;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.graph-loading-text:before{content:"";border:2px solid #333;border-top-color:teal;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.graph-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(17,17,17,.95);border:1px solid #333;border-radius:6px;min-width:120px;padding:.75rem;box-shadow:0 4px 16px rgba(0,0,0,.8)}.tooltip-date{color:#ccc;text-transform:uppercase;letter-spacing:.02em;margin:0 0 .25rem;font-size:.75rem;font-weight:400}.tooltip-value{align-items:center;gap:.5rem;margin:0;display:flex}.tooltip-label{color:#888;font-size:.8rem;font-weight:400}.tooltip-number{color:#fff;letter-spacing:.02em;font-size:.9rem;font-weight:600}.recharts-cartesian-axis-line{stroke:#333!important;stroke-width:1px!important}.recharts-cartesian-axis-tick-line{stroke:#333!important}.recharts-cartesian-axis-tick-value,.recharts-label{fill:#888!important;font-size:10px!important;font-family:var(--font-ibm-plex-mono),"IBM Plex Mono",monospace!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#222!important;stroke-width:1px!important;opacity:.3!important}.recharts-active-dot{filter:drop-shadow(0 0 6px rgba(0,128,128,.79))!important}.recharts-area-area{fill:url(#areaGradient)!important}.recharts-area-curve{filter:drop-shadow(0 0 3px rgba(255,255,255,.3));stroke:#fff!important;stroke-width:2px!important}.recharts-responsive-container{background:0 0!important}.recharts-cartesian-grid{opacity:.6}@keyframes graph-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.graph-container{animation:.5s ease-out graph-fade-in}.recharts-tooltip-wrapper{pointer-events:none}.graph-error{color:#ff6b6b;text-align:center;background:linear-gradient(135deg,#1a0000 0%,#000 100%);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.graph-error h4{color:#ff6b6b;margin-bottom:.5rem;font-size:1rem}.graph-error p{color:#c55;margin:0;font-size:.8rem}.graph-no-data{color:#666;text-align:center;background:#000;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.graph-no-data h4{color:#888;margin-bottom:.5rem;font-size:1rem}.graph-no-data p{color:#666;margin:0;font-size:.8rem}.recharts-wrapper{background:#000!important}.recharts-surface{background:0 0!important}.graph-legend{color:#888;background:#111;border-top:1px solid #333;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.25rem;margin:0 .5rem;display:flex}.legend-color{background:#fff;width:12px;height:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.graph-container{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}
.graph-card-column{margin-bottom:2rem}.graph-card{background:linear-gradient(145deg,#ebebeb 0%,#949494 100%);border:2px solid #333;border-radius:8px;flex-direction:column;height:100%;transition:all .3s;display:flex;overflow:hidden}.graph-card:hover{border-color:#ececec;box-shadow:0 8px 32px rgba(0,123,255,.2)}.graph-thumbnail-container{background:#000;border-bottom:1px solid #333;height:280px;position:relative}.card-graph{width:100%;height:100%}.graph-loading-placeholder{color:#888;background:linear-gradient(135deg,#000 0%,#111 100%);flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.loading-spinner{border:2px solid #333;border-top-color:teal;border-radius:50%;width:24px;height:24px;margin-bottom:1rem;animation:1s linear infinite spin}.graph-loading-placeholder span{letter-spacing:.02em;font-size:.9rem}.graph-card-body{background:#111;flex-direction:column;flex-grow:1;justify-content:space-between;min-height:80px;padding:1rem;display:flex}.graph-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1rem;display:flex}.graph-card-title{color:#fff;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;margin:0;font-size:.9rem;font-weight:400;line-height:1.4;display:-webkit-box;overflow:hidden}.graph-card-units{color:#888;white-space:nowrap;flex-shrink:0;margin-left:.5rem;font-size:.75rem;font-weight:400}.time-frame-toggles{gap:.25rem;display:flex}.time-frame-toggles .btn{border-radius:4px;min-width:40px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s}.time-frame-toggles .btn-primary{color:#fff;background:teal;border-color:teal}.time-frame-toggles .btn-outline-primary{color:#ccc;background:0 0;border-color:#444}.time-frame-toggles .btn-outline-primary:hover{color:#fff;background:teal;border-color:teal}.time-frame-toggles .btn:disabled{opacity:.5;cursor:not-allowed}.series-frequency{color:#c2c2c2;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:400}.graph-grid .col{display:flex}.graph-loading-placeholder:before{content:"";border:3px solid #333;border-top-color:teal;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin;display:block}.graph-card-error{color:#ff6b6b;text-align:center;background:#1a0000;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.graph-card-error h4{color:#ff6b6b;margin-bottom:.5rem;font-size:1rem}.graph-card-error p{color:#c55;margin:0;font-size:.8rem}@media (max-width:768px){.graph-thumbnail-container{height:240px}.graph-card-title{-webkit-line-clamp:3;font-size:.85rem}.time-frame-toggles .btn{min-width:35px;padding:.2rem .6rem;font-size:.7rem}.series-frequency{font-size:.7rem}}@media (max-width:576px){.graph-card-body{padding:.75rem}.graph-thumbnail-container{height:200px}}
.graph-grid-container{min-height:70vh;background:#000!important}.graph-grid-container .container{max-width:1400px}.graph-grid{gap:1rem;margin-bottom:3rem}.graph-grid-loading{background:#000;justify-content:center;align-items:center;min-height:60vh;display:flex}.loading-message{text-align:center;color:#fff}.loading-message h3{color:#fff;margin-bottom:1rem;font-size:1.5rem;font-weight:400}.loading-message p{color:#888;margin-bottom:2rem;font-size:1rem}.loading-spinner-large{border:3px solid #333;border-top-color:teal;border-radius:50%;width:48px;height:48px;margin:0 auto 2rem;animation:1s linear infinite spin}.graph-grid-error{background:#000;justify-content:center;align-items:center;min-height:60vh;display:flex}.error-message{text-align:center;color:#ff6b6b;max-width:400px}.error-message h3{color:#ff6b6b;margin-bottom:1rem;font-size:1.5rem;font-weight:400}.error-message p{color:#c55;margin-bottom:2rem;font-size:1rem;line-height:1.5}.error-message .btn{color:#fff;background:teal;border-color:teal;border-radius:6px;padding:.75rem 1.5rem;transition:all .3s}.error-message .btn:hover{background:teal;border-color:teal;transform:translateY(-1px)}.no-data-message{text-align:center;color:#888;padding:4rem 2rem}.no-data-message h4{color:#ccc;margin-bottom:1rem;font-size:1.25rem;font-weight:400}.no-data-message p{color:#888;font-size:1rem;line-height:1.5}@media (max-width:1200px){.graph-grid{gap:1.5rem!important}}@media (max-width:768px){.graph-grid{gap:1rem!important}.graph-grid-container .container{padding:0 1rem}.loading-message h3{font-size:1.25rem}.loading-message p{font-size:.9rem}.error-message h3{font-size:1.25rem}.error-message p{font-size:.9rem}}@media (max-width:576px){.graph-grid{gap:.75rem!important}.loading-spinner-large{border-width:2px;width:36px;height:36px}}.graph-grid .col{animation:.6s ease-out both fade-in-up}.graph-grid .col:first-child{animation-delay:.1s}.graph-grid .col:nth-child(2){animation-delay:.2s}.graph-grid .col:nth-child(3){animation-delay:.3s}.graph-grid .col:nth-child(4){animation-delay:.4s}.graph-grid .col:nth-child(5){animation-delay:.5s}.graph-grid .col:nth-child(6){animation-delay:.6s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.graph-grid .col{flex-direction:column;display:flex}.graph-grid .card{flex:1}
.graph-page-container{color:#fff;min-height:100vh;font-family:var(--font-ibm-plex-mono),"IBM Plex Mono",monospace;background:#000}.graph-header .navbar{border-bottom:1px solid #333;background:#111!important}.graph-header .navbar-brand{letter-spacing:.02em;font-weight:500;color:#fff!important}.graph-header .navbar-brand:hover{color:teal!important}.graph-header svg{stroke:teal}.graph-page-container .py-5{background:linear-gradient(135deg,#000 0%,#111 100%);border-bottom:1px solid #222;padding-top:2rem!important;padding-bottom:2rem!important}.graph-page-container h1{color:#fff;letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem;font-weight:300}.graph-page-container .lead{color:#ccc;font-size:1.1rem;line-height:1.6}.view-toggle-container{margin-top:2rem}.view-toggle-container .btn{border:1px solid #333;border-radius:6px;padding:.75rem 1.5rem;font-weight:500;transition:all .3s}.view-toggle-container .btn-primary{color:#fff;background:teal;border-color:teal}.view-toggle-container .btn-primary:hover{background:teal;border-color:teal;transform:translateY(-1px)}.view-toggle-container .btn-secondary{color:#ccc;background:0 0;border-color:#444}.view-toggle-container .btn-secondary:hover{color:#fff;background:#222;border-color:#666}.graph-main{background:#000}.view-content{display:none}.view-content.active{display:block}.loading-spinner{color:#888;justify-content:center;align-items:center;min-height:400px;font-size:1.1rem;display:flex}.loading-spinner:before{content:"";border:2px solid #333;border-top-color:teal;border-radius:50%;width:20px;height:20px;margin-right:1rem;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.terminal-view-container{background:#000;padding:2rem}.terminal-placeholder{text-align:center;max-width:800px;margin:0 auto}.terminal-placeholder h3{color:#fff;margin-bottom:1rem;font-weight:400}.terminal-placeholder p{color:#888;margin-bottom:3rem}.terminal-mockup{text-align:left;background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.5)}.terminal-header{background:#2a2a2a;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.terminal-buttons{gap:.5rem;display:flex}.terminal-buttons span{border-radius:50%;width:12px;height:12px}.btn-close{background:#ff5f57}.btn-minimize{background:#ffbd2e}.btn-maximize{background:#28ca42}.terminal-title{color:#ccc;font-size:.9rem;font-weight:500}.terminal-body{padding:1.5rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.9rem;line-height:1.6}.terminal-body p{color:#fff;margin:.5rem 0}.terminal-output{color:teal!important}.terminal-cursor{color:#fff;animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width:768px){.graph-page-container h1{font-size:2rem}.view-toggle-container .btn{padding:.5rem 1rem;font-size:.9rem}.terminal-mockup{margin:0 1rem}}.hero-desc{color:#797979}
