.forecast-wrapper{background-color:#2c2e31;min-height:100vh}:root{--green:#198754;--red:#d64444;--bg:#2c2e31;--fg:#ffc107;--accent:#15afe4;--accent-active:#ffdc00;--surface:#1f2023;--radius:6px;--space-sm:8px;--space-md:16px;--shadow-soft:0 4px 16px rgba(0,0,0,.4)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line{height:450px;width:100%;background:linear-gradient(90deg,var(--bg) 25%,#3a3c3f 50%,var(--bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}.chart-dropdown{position:absolute;top:100%;left:0;width:auto;min-width:140px;white-space:nowrap;transform:translateY(-15px) scale(.95);opacity:0;visibility:hidden;background:rgba(31,32,35,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 24px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius);padding:var(--space-sm);transition:transform .2s ease-out,opacity .2s ease-out;z-index:10;max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.2) transparent}.chart-dropdown::-webkit-scrollbar{width:6px}.chart-dropdown::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:3px}.chart-dropdown::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:3px}.chart-dropdown::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.4)}.chart-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.chart-dropdown div{display:block;padding:var(--space-sm,8px) var(--space-md,12px);margin-bottom:var(--space-xs,4px);border-radius:var(--radius,6px);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;transition:background .2s ease,color .2s ease;color:#fff}.chart-dropdown div:last-child{margin-bottom:0}.chart-dropdown div:hover{background:rgba(21,175,228,.15);color:var(--accent,#15afe4)}.chart-dropdown div.selected{background:rgba(21,175,228,.25);font-weight:600}.recharts-line-curve:hover{transform:scale(1.03)}.recharts-bar-rectangle:hover{transform:translateY(-2px);transition:all .15s ease}h5{font-size:1.25rem;font-weight:600}p{font-size:1rem;line-height:1.5}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid #ffc107;border-radius:3px;position:relative;margin-right:8px;transition:background .15s}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:checked{background:#ffc107}input[type=checkbox]:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid #2c2e31;border-width:0 2px 2px 0;transform:rotate(45deg)}.dropdown-toggle{position:relative;display:inline-flex;gap:4px;cursor:pointer;transition:background .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dropdown-toggle:after{content:"";display:inline-block;width:0;height:0;margin-left:8px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--accent,#15afe4);transition:transform .2s ease,border-top-color .2s ease}.dropdown-toggle.dropdown-open:after{transform:rotate(180deg);border-top-color:var(
    --accent-active,#ffdc00
  )}.recharts-bar-rectangle:hover,.recharts-line-curve:hover{filter:drop-shadow(0 0 6px var(--accent,#15afe4));transition:filter .15s}.dropdown-toggle{display:flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.05);border-radius:4px;padding:6px 10px;transition:background .2s}.dropdown-toggle:hover{background:hsla(0,0%,100%,.1)}.dropdown-toggle svg{transition:transform .2s}.dropdown-open svg{transform:rotate(180deg)}.de-view{background:#2c2e31;background-image:radial-gradient(circle at top left,hsla(0,0%,100%,.02),transparent)}.chart-header{display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-md,24px)}.chart-title{color:#fff;font-size:1.25rem;line-height:1}.chart-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:var(--space-md)}.chart-card,.recharts-wrapper{margin-bottom:var(--space-md)}.recharts-legend-wrapper{margin-top:var(--space-md)}.app-header{padding:var(--space-sm,8px) 0}.app-logo{height:40px;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--radius);border:2px solid transparent;transition:none}.logo-container{position:relative;display:inline-block;cursor:pointer;text-decoration:none}.logo-container:hover .app-logo{filter:drop-shadow(0 0 10px var(--accent-active,#ffdc00));transform:scale(1.05);filter:brightness(1.2) saturate(1.3);transition:filter .2s ease}.logo-tooltip{top:100%;transform:translate(-50%,8px);background:var(--accent-active);color:#fff;padding:6px 10px;border-radius:4px;font-size:.8125rem;font-weight:500;pointer-events:none;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.4)}.logo-tooltip,.logo-tooltip:after{position:absolute;left:50%;text-decoration:none}.logo-tooltip:after{content:"";top:-6px;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--accent-active)}.logo-container *{text-decoration:none!important}.nav-buttons{display:flex;gap:var(--space-sm,8px)}.nav-btn{display:inline-flex;align-items:center;gap:var(--space-xs,6px);background:var(--surface);color:var(--accent);box-shadow:0 2px 6px rgba(0,0,0,.15);border:none;padding:8px 16px;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:background .3s ease-in-out,color .3s ease-in-out,box-shadow .3s ease-in-out,transform .2s ease-in-out}a.nav-btn{text-decoration:none!important}.nav-btn:hover{background:linear-gradient(135deg,var(--accent),var(--surface));color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.3);transform:translateY(-2px)}.btn-icon{font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.exclusive-services-dropdown{margin-left:16px;position:relative;z-index:20}.exclusive-services-dropdown .dropdown-menu{background:linear-gradient(145deg,#1f2023,#2c2e31);padding:10px 12px;border-radius:12px;min-width:260px;box-shadow:0 10px 30px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff}.dropdown-submenu{padding-top:6px;padding-bottom:6px;border-top:1px solid hsla(0,0%,100%,.05);margin-top:8px}.dropdown-submenu .dropdown-item-text{color:var(--accent-active);font-weight:700;padding:6px 10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;opacity:1}.dropdown-submenu ul{padding-left:12px;margin-top:6px;margin-bottom:8px;border-left:2px solid var(--accent);margin-left:6px}.dropdown-submenu .dropdown-item{font-size:13px;padding:6px 14px;border-radius:6px;transition:background .2s ease;color:#fff}.dropdown-item:hover,.dropdown-submenu .dropdown-item:hover{background-color:hsla(0,0%,100%,.08);color:var(--accent-active);font-weight:500;transform:translateX(2px);transition:all .2s ease}.exclusive-services-dropdown .dropdown-toggle{background:var(--surface);color:var(--fg);padding:8px 18px;border-radius:8px;font-weight:600;font-size:14px;transition:background .3s ease,color .3s ease}.exclusive-services-dropdown .dropdown-toggle:focus,.exclusive-services-dropdown .dropdown-toggle:hover{background:linear-gradient(to right,var(--accent),var(--bg));color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.3);font-weight:700}.dropdown-item-text{color:#15afe4!important}.growth-block{background:rgba(31,32,35,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0;border-radius:var(--radius)}.growth-header{font-size:.875rem;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.growth-rates{font-size:.875rem;color:hsla(0,0%,100%,.8)}.growth-rates .rate-item{display:flex;align-items:center;gap:6px}.growth-rates .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.graph-summary{font-size:1rem;line-height:1.4;text-align:center}.graph-description{font-size:.875rem;line-height:1.4}.summary{color:#fff;line-height:1.6;margin:.75rem 0;text-shadow:0 1px 2px rgba(0,0,0,.5)}.locked{opacity:.5;cursor:not-allowed}.has-tooltip{position:relative;cursor:not-allowed}.has-tooltip:hover:before{content:attr(data-tooltip);bottom:100%;transform:translateX(-50%) translateY(-8px);background:hsla(0,0%,8%,.95);border:1px solid var(--accent);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.5)}.has-tooltip:hover:after,.has-tooltip:hover:before{position:absolute;left:50%;z-index:1000;pointer-events:none;opacity:1}.has-tooltip:hover:after{content:"";bottom:calc(100% - 4px);transform:translateX(-50%);border:4px solid transparent;border-top-color:hsla(0,0%,8%,.95)}.has-tooltip:hover:after,.has-tooltip:hover:before{opacity:1}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-card{background:#2c2e31;padding:2rem;border-radius:12px;width:100%;max-width:360px;box-shadow:0 8px 24px rgba(0,0,0,.5);text-align:center;color:#fff}.modal-card h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.modal-card select{margin-bottom:1.5rem;background:#444;border:1px solid #555;border-radius:6px;color:#fff}.modal-card button,.modal-card select{width:100%;padding:.75rem;font-size:1rem}.modal-card button{background:var(--accent);color:#2c2e31;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:opacity .2s}.modal-card button:disabled{opacity:.5;cursor:not-allowed}.admin-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000}.admin-modal-card{background:#2c2e31;border:1px solid rgba(255,204,0,.4);border-radius:8px;padding:2rem;width:320px;box-shadow:0 8px 24px rgba(0,0,0,.6);color:#fff}.admin-modal-card h2{margin:0 0 1rem;font-size:1.4rem;color:var(--accent);text-shadow:0 0 4px rgba(255,204,0,.7)}.admin-modal-card input{width:100%;padding:.75rem 1rem;margin-bottom:1.25rem;background:#333;border:1px solid #555;border-radius:4px;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.5);font-size:1rem}.admin-modal-buttons{display:flex;justify-content:flex-end;gap:.75rem}.btn-secondary{padding:.6rem 1.2rem;background:transparent;border:1px solid #777;border-radius:5px;color:#ccc;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s}.btn-secondary:hover{background:hsla(0,0%,100%,.05);color:#fff}.btn-primary{padding:.6rem 1.2rem;background:var(--accent);border:none;border-radius:5px;color:#222;font-weight:600;font-size:.9rem;cursor:pointer;transition:opacity .2s,transform .1s}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:not(:disabled):hover{transform:translateY(-1px)}