@charset "UTF-8";.sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:100;transition:width .3s ease}.sidebar.collapsed{width:64px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-subtle);min-height:64px}.sidebar-brand{display:flex;align-items:center;gap:.75rem;overflow:hidden}.sidebar-logo,.sidebar-logo-text{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.sidebar-title{font-size:1rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-title{display:none}.sidebar-toggle{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s ease;flex-shrink:0}.sidebar-toggle:hover{color:var(--text-primary);border-color:var(--accent-primary)}.sidebar.collapsed .sidebar-toggle{margin:0 auto}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto;overflow-x:hidden}.nav-section-label{padding:.5rem .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.25rem}.sidebar-persona-pill{margin:.25rem .75rem .75rem;padding:.45rem .7rem;border-radius:999px;background:rgba(var(--accent-primary-rgb),.08);color:var(--accent-primary);font-size:.72rem;font-weight:700;text-transform:capitalize;letter-spacing:.03em}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .15s ease;margin-bottom:2px}.nav-link:hover{background:rgba(var(--accent-primary-rgb),.08);color:var(--text-primary)}.nav-link.active{background:rgba(var(--accent-primary-rgb),.12);color:var(--accent-primary);position:relative}.nav-link.active:after{content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;background:var(--accent-primary);border-radius:0 4px 4px 0}[data-theme=light] .nav-link.active{background:rgba(var(--accent-primary-rgb),.1);font-weight:600}.nav-link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .nav-link{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-link-label{display:none}.nav-link-special{color:var(--accent-primary);border:1px dashed rgba(var(--accent-primary-rgb),.4);background:rgba(var(--accent-primary-rgb),.05);margin-top:.5rem}.nav-link-special:hover{background:rgba(var(--accent-primary-rgb),.12);border-color:var(--accent-primary)}.nav-link-special.active{background:rgba(var(--accent-primary-rgb),.2);border-style:solid}.nav-divider{height:1px;background:var(--border-subtle);margin:1rem .75rem}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.sidebar-signout-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border-radius:8px;border:1px solid var(--border-subtle);background:#ffffff08;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sidebar-signout-btn:hover:not(:disabled){background:rgba(var(--accent-primary-rgb, 0, 212, 255),.1);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 12px rgba(var(--accent-primary-rgb, 0, 212, 255),.15)}[data-theme=midnight] .sidebar-signout-btn:hover:not(:disabled){background:#14b8a61a;border-color:#14b8a6;color:#14b8a6;box-shadow:0 0 12px #14b8a626}[data-theme=light] .sidebar-signout-btn:hover:not(:disabled){background:#1e3a5f14;border-color:#1e3a5f;color:#1e3a5f;box-shadow:0 0 12px #1e3a5f1a}.sidebar-signout-btn.logging-out{background:rgba(var(--accent-primary-rgb, 0, 212, 255),.08);border-color:var(--accent-primary);color:var(--accent-primary);cursor:not-allowed;opacity:.9}[data-theme=midnight] .sidebar-signout-btn.logging-out{background:#14b8a614;border-color:#14b8a6;color:#14b8a6}[data-theme=light] .sidebar-signout-btn.logging-out{background:#1e3a5f0f;border-color:#1e3a5f;color:#1e3a5f}.signout-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent-primary, #00d4ff);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}[data-theme=midnight] .signout-spinner{border-top-color:#14b8a6}[data-theme=light] .signout-spinner{border:2px solid rgba(0,0,0,.1);border-top-color:#1e3a5f}.sidebar.collapsed .sidebar-signout-btn{justify-content:center;padding:.75rem}.sidebar.collapsed .sidebar-signout-btn span{display:none}.sidebar-version{font-size:.6875rem;color:var(--text-muted);text-align:center}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar:not(.collapsed){transform:translate(0);box-shadow:4px 0 24px #0000004d}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.date-input-wrapper{width:100%;position:relative}.date-input-wrapper .react-datepicker-wrapper,.date-input-wrapper .react-datepicker__input-container{width:100%}.date-input-wrapper .react-datepicker__input-container input{width:100%;padding:.625rem .75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.date-input-wrapper .react-datepicker__input-container input::placeholder{color:var(--text-muted)}.date-input-wrapper .react-datepicker__input-container input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.15)}.date-input-wrapper .react-datepicker__input-container input:disabled{background:var(--bg-secondary);border-color:var(--border-subtle);opacity:.7;cursor:not-allowed;color:var(--text-muted)}.react-datepicker-popper{z-index:1010!important}.react-datepicker{background:var(--bg-card)!important;border:1px solid var(--border-subtle)!important;border-radius:12px!important;box-shadow:0 12px 40px #0000004d!important;font-family:inherit!important;overflow:hidden}.react-datepicker__triangle{display:none!important}.react-datepicker__header{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-subtle)!important;padding-top:.75rem!important;border-radius:0!important}.react-datepicker__current-month{color:var(--text-primary)!important;font-weight:600!important;font-size:.9rem!important;margin-bottom:.25rem!important}.react-datepicker__day-names{margin-top:.25rem!important}.react-datepicker__day-name{color:var(--text-muted)!important;font-size:.75rem!important;font-weight:600!important;width:2rem!important;line-height:2rem!important}.react-datepicker__navigation{top:.75rem!important}.react-datepicker__navigation-icon:before{border-color:var(--text-secondary)!important;border-width:2px 2px 0 0!important;height:8px!important;width:8px!important}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--accent-primary)!important}.react-datepicker__month{margin:.4rem!important}.react-datepicker__day{color:var(--text-primary)!important;width:2rem!important;line-height:2rem!important;border-radius:6px!important;font-size:.8125rem!important;transition:all .15s ease!important}.react-datepicker__day:hover{background:rgba(var(--accent-primary-rgb),.15)!important;color:var(--accent-primary)!important}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:var(--accent-primary)!important;color:#fff!important;font-weight:600!important}.react-datepicker__day--selected:hover{background:var(--accent-secondary, var(--accent-primary))!important;color:#fff!important}.react-datepicker__day--today{font-weight:700!important;color:var(--accent-primary)!important}.react-datepicker__day--today.react-datepicker__day--selected{color:#fff!important}.react-datepicker__day--outside-month{color:var(--text-muted)!important;opacity:.4}.react-datepicker__day--disabled{color:var(--text-muted)!important;opacity:.3;cursor:not-allowed!important}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown{background:var(--bg-card)!important;border:1px solid var(--border-subtle)!important}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover{background:rgba(var(--accent-primary-rgb),.15)!important}.custom-range-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.custom-range-modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;width:90%;max-width:600px;box-shadow:0 20px 60px #0006;overflow:hidden}.custom-range-header{padding:1.5rem;border-bottom:1px solid var(--border-subtle)}.custom-range-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.custom-range-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.custom-range-body{padding:1.5rem}.period-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;padding:1rem;transition:all .2s ease}.period-section.locked{background:rgba(var(--accent-primary-rgb),.03);border-color:rgba(var(--accent-primary-rgb),.2);border-style:solid}.period-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.period-badge{padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.period-badge.period-1{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.period-badge.period-2{background:#ffffff1a;border:1px dashed var(--accent-primary);color:var(--accent-primary)}.period-description{font-size:.8125rem;color:var(--text-secondary)}.date-inputs{display:flex;align-items:flex-end;gap:.75rem}.date-input-group{flex:1}.date-input-group label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em}.date-input-group .date-input-wrapper{width:100%}.date-input-group.disabled .date-input-wrapper{pointer-events:none}.date-separator{padding-bottom:.75rem;color:var(--text-muted);font-size:.8125rem}.period-divider{display:flex;align-items:center;justify-content:center;padding:1rem 0}.vs-label{background:var(--accent-primary);color:#fff;padding:.25rem .75rem;border-radius:16px;font-size:.75rem;font-weight:700;letter-spacing:.05em}.custom-range-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:.75rem}.btn-cancel{padding:.625rem 1.25rem;background:transparent;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-secondary);border-color:var(--border-accent);color:var(--text-primary)}.btn-apply{padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-apply:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.3)}.btn-apply:disabled{opacity:.5;cursor:not-allowed}[data-theme=light] .custom-range-overlay{background:#0006}@media (max-width: 640px){.date-inputs{flex-direction:column}.date-separator{padding:.5rem 0}}.compare-toggle{position:relative}.compare-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card, #16161f);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:8px;color:var(--text-secondary, #94a3b8);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.compare-toggle-btn:hover{border-color:var(--accent-primary);background:var(--bg-card-hover);color:var(--text-primary, #f8fafc)}.compare-toggle-btn.active{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.25)}.compare-icon{font-size:1rem}.compare-label{white-space:nowrap}.dropdown-arrow{font-size:.625rem;opacity:.7}.compare-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;background:var(--bg-card, #16161f);border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:10px;padding:.5rem;box-shadow:0 8px 32px #0006;z-index:100;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.compare-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:6px;color:var(--text-secondary, #94a3b8);font-size:.8125rem;cursor:pointer;transition:all .15s ease;text-align:left}.compare-option:hover{background:var(--bg-card-hover, rgba(255, 255, 255, .05));color:var(--text-primary, #f8fafc)}.compare-option.selected{background:#00d4ff1a;color:var(--accent-primary, #00d4ff)}.option-icon{font-size:.875rem;opacity:.7;width:1.25rem;text-align:center}.option-label{flex:1}.check-icon{font-size:.75rem;color:var(--accent-primary, #00d4ff)}[data-theme=midnight] .compare-toggle-btn.active{background:#14b8a61a;border-color:var(--accent-primary, #14B8A6);color:var(--accent-primary, #14B8A6)}[data-theme=midnight] .compare-option.selected{background:#14b8a61a;color:var(--accent-primary, #14B8A6)}[data-theme=light] .compare-toggle-btn{background:var(--bg-card, #fff);color:var(--text-secondary, #4B5563)}[data-theme=light] .compare-toggle-btn.active{background:#1e3a5f1a;border-color:var(--accent-primary, #1E3A5F);color:var(--accent-primary, #1E3A5F)}[data-theme=light] .compare-dropdown{background:#fff;box-shadow:0 8px 32px #00000026}.dma-map-container{background:var(--card-bg, #0d1421);border-radius:12px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));overflow:hidden;display:flex;flex-direction:column}.dma-map-container.choropleth{background:var(--bg-card, #16161f)}.dma-map-container.compact{border-radius:10px}.dma-map-container.compact .dma-map-body{min-height:0}.dma-map-container.compact .leaflet-control-attribution{display:none}.dma-map-container.compact .leaflet-control-zoom{margin:10px}.dma-map-container.selection-mode{box-shadow:none}.dma-map-container.dma-view-map{margin-top:1rem}[data-theme=midnight] .dma-map-container.choropleth{background:#161927}[data-theme=light] .dma-map-container.choropleth{background:#fff}.dma-map-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.3rem 1.25rem 1.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08));gap:1rem;flex-wrap:wrap}.dma-map-container.choropleth .dma-map-header{border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));background:var(--bg-card, #16161f)}[data-theme=midnight] .dma-map-container.choropleth .dma-map-header{border-bottom:1px solid rgba(255,255,255,.08);background:#161927}[data-theme=light] .dma-map-container.choropleth .dma-map-header{border-bottom:1px solid #e5e7eb;background:#f9fafb}.dma-map-title-section{display:flex;flex-direction:column;gap:.25rem;flex:1}.dma-map-title-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.dma-map-container.drillable{box-shadow:0 0 8px rgba(var(--accent-primary-rgb),.12),0 0 20px rgba(var(--accent-primary-rgb),.06);border-color:rgba(var(--accent-primary-rgb),.25);animation:dma-drillable-glow 3s ease-in-out infinite}.dma-map-container.drillable:hover{box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.2),0 0 30px rgba(var(--accent-primary-rgb),.1);border-color:rgba(var(--accent-primary-rgb),.4)}@keyframes dma-drillable-glow{0%,to{box-shadow:0 0 8px rgba(var(--accent-primary-rgb),.12),0 0 20px rgba(var(--accent-primary-rgb),.06)}50%{box-shadow:0 0 14px rgba(var(--accent-primary-rgb),.18),0 0 28px rgba(var(--accent-primary-rgb),.09)}}.dma-map-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #ffffff)}.dma-map-container.choropleth .dma-map-title{color:var(--text-primary, #ffffff)}[data-theme=light] .dma-map-container.choropleth .dma-map-title{color:#1f2937}.dma-map-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .6))}.dma-map-container.choropleth .dma-map-subtitle{color:var(--text-secondary, rgba(255, 255, 255, .6))}[data-theme=light] .dma-map-container.choropleth .dma-map-subtitle{color:#6b7280}.dma-map-wrapper{position:relative}.dma-map-body{position:relative;background:#0a1628;min-height:400px}.dma-map-body.choropleth-map{background:#0a0a0f}[data-theme=midnight] .dma-map-body.choropleth-map{background:#0f111a}[data-theme=light] .dma-map-body.choropleth-map{background:#f5f5f5}.dma-map-body .leaflet-container{height:100%;width:100%;background:#0a1628}.dma-map-body.choropleth-map .leaflet-container{background:#0a0a0f}[data-theme=midnight] .dma-map-body.choropleth-map .leaflet-container{background:#0f111a}[data-theme=light] .dma-map-body.choropleth-map .leaflet-container{background:#f5f5f5}.dma-map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#0a0a0fe6;color:#ffffffb3;font-size:.9rem;z-index:1000}[data-theme=midnight] .dma-map-loading{background:#0f111ae6;color:#ffffffb3}[data-theme=light] .dma-map-loading{background:#f5f5f5e6;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-primary, #00d4ff);border-radius:50%;animation:spin 1s linear infinite}[data-theme=midnight] .loading-spinner{border-top-color:#14b8a6}[data-theme=light] .loading-spinner{border:3px solid rgba(0,0,0,.1);border-top-color:#1e3a5f}.dma-map-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;gap:1.5rem;flex-wrap:wrap;background:var(--bg-card);border-bottom:1px solid var(--border-subtle)}.dma-map-stats-bar{display:flex;gap:2rem;background:var(--bg-primary);padding:.625rem 1.25rem;border-radius:8px;border:1px solid var(--border-subtle);box-shadow:inset 0 2px 4px #0000001a}[data-theme=light] .dma-map-stats-bar{background:#f1f5f9}.dma-stat{display:flex;flex-direction:column;align-items:center;min-width:100px}.dma-stat .stat-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.125rem;opacity:.8}.dma-stat .stat-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);line-height:1.2}.dma-info-tooltip{position:absolute;top:16px;left:16px;background:#16161ff2;color:#fff;padding:10px 14px;border-radius:6px;font-size:.85rem;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(0,212,255,.2)}[data-theme=midnight] .dma-info-tooltip{background:#161927f2;border:1px solid rgba(20,184,166,.2)}[data-theme=light] .dma-info-tooltip{background:#fffffff2;color:#1f2937;border:1px solid rgba(30,58,95,.2);box-shadow:0 4px 12px #0000001a}.dma-info-tooltip .tooltip-title{font-weight:600;margin-bottom:4px;color:var(--accent-primary, #00d4ff)}[data-theme=midnight] .dma-info-tooltip .tooltip-title{color:#14b8a6}[data-theme=light] .dma-info-tooltip .tooltip-title{color:#1e3a5f}.dma-info-tooltip .tooltip-value{color:#ffffffd9}[data-theme=light] .dma-info-tooltip .tooltip-value{color:#4b5563}[data-theme=light] .choropleth-legend{background:#fffffff2;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(30,58,95,.15)}.choropleth-legend .legend-color{width:20px;height:14px;border-radius:2px;flex-shrink:0}[data-theme=light] .dma-map-container.choropleth .dma-stat .stat-value{color:#1f2937}.dma-map-body.choropleth-map .leaflet-control-zoom{border:none;box-shadow:0 2px 8px #0000004d}.dma-map-body.choropleth-map .leaflet-control-zoom a{background:#16161f;color:#fff;border:none}.dma-map-body.choropleth-map .leaflet-control-zoom a:hover{background:#1a1a25}.dma-map-body.choropleth-map .leaflet-control-attribution{background:#0a0a0f99;color:#ffffff80;font-size:.65rem}.dma-map-body.choropleth-map .leaflet-control-attribution a{color:#00d4ffb3}[data-theme=midnight] .dma-map-body.choropleth-map .leaflet-control-zoom a{background:#161927}[data-theme=midnight] .dma-map-body.choropleth-map .leaflet-control-zoom a:hover{background:#21263a}[data-theme=midnight] .dma-map-body.choropleth-map .leaflet-control-attribution{background:#0f111a99}[data-theme=midnight] .dma-map-body.choropleth-map .leaflet-control-attribution a{color:#14b8a6b3}[data-theme=light] .dma-map-body.choropleth-map .leaflet-control-zoom{box-shadow:0 2px 8px #00000026}[data-theme=light] .dma-map-body.choropleth-map .leaflet-control-zoom a{background:#fff;color:#374151}[data-theme=light] .dma-map-body.choropleth-map .leaflet-control-zoom a:hover{background:#f3f4f6}[data-theme=light] .dma-map-body.choropleth-map .leaflet-control-attribution{background:#fffc;color:#0006}[data-theme=light] .dma-map-body.choropleth-map .leaflet-control-attribution a{color:#0009}@media (max-width: 768px){.dma-map-header{flex-direction:column;align-items:stretch}.choropleth-legend{top:auto;bottom:16px;right:16px}.dma-map-footer{flex-wrap:wrap;gap:1rem}.dma-stat{flex:1;min-width:80px}}.state-map-container{background:var(--card-bg, #0d1421);border-radius:12px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));overflow:hidden;display:flex;flex-direction:column}.state-map-container.choropleth{background:var(--bg-card, #16161f)}.state-map-container.compact{border-radius:10px}.state-map-container.compact .state-map-body{min-height:0}.state-map-container.compact .leaflet-control-attribution{display:none}.state-map-container.compact .leaflet-control-zoom{margin:10px}.state-map-container.selection-mode{box-shadow:none}[data-theme=midnight] .state-map-container.choropleth{background:#161927}[data-theme=light] .state-map-container.choropleth{background:#fff}.state-map-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.3rem 1.25rem 1.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08));gap:1rem;flex-wrap:wrap;background:var(--bg-card, #16161f)}[data-theme=midnight] .state-map-container.choropleth .state-map-header{border-bottom:1px solid rgba(255,255,255,.08);background:#161927}[data-theme=light] .state-map-container.choropleth .state-map-header{border-bottom:1px solid #e5e7eb;background:#f9fafb}.state-map-title-section{display:flex;flex-direction:column;gap:.25rem}.state-map-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #ffffff)}[data-theme=light] .state-map-container.choropleth .state-map-title{color:#1f2937}.state-map-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .6))}[data-theme=light] .state-map-container.choropleth .state-map-subtitle{color:#6b7280}.state-map-wrapper{position:relative;background:#0a0a0f}.state-map-body.choropleth-map{position:relative;background:#0a0a0f;min-height:400px}[data-theme=midnight] .state-map-body.choropleth-map{background:#0f111a}[data-theme=light] .state-map-body.choropleth-map{background:#f5f5f5}.state-map-body.choropleth-map .leaflet-container{height:100%;width:100%;background:#0a0a0f}[data-theme=midnight] .state-map-body.choropleth-map .leaflet-container{background:#0f111a}[data-theme=light] .state-map-body.choropleth-map .leaflet-container{background:#f5f5f5}.state-map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#0a0a0fe6;color:#ffffffb3;font-size:.9rem;z-index:1000}.state-map-stats-bar{display:flex;gap:2rem;background:var(--bg-primary);padding:.625rem 1.25rem;border-radius:8px;border:1px solid var(--border-subtle);box-shadow:inset 0 2px 4px #0000001a}[data-theme=light] .state-map-stats-bar{background:#f1f5f9}.state-stat{display:flex;flex-direction:column;align-items:center;min-width:100px}.state-stat .stat-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.125rem;opacity:.8}.state-stat .stat-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);line-height:1.2}.state-info-tooltip{position:absolute;top:16px;left:16px;background:#16161ff2;color:#fff;padding:10px 14px;border-radius:6px;font-size:.85rem;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(0,212,255,.2)}[data-theme=midnight] .state-info-tooltip{background:#161927f2;border:1px solid rgba(20,184,166,.2)}[data-theme=light] .state-info-tooltip{background:#fffffff2;color:#1f2937;border:1px solid rgba(30,58,95,.2)}.state-info-tooltip .tooltip-title{font-weight:600;margin-bottom:4px;color:var(--accent-primary, #00d4ff)}.state-info-tooltip .tooltip-value{color:#ffffffd9}[data-theme=light] .state-info-tooltip .tooltip-value{color:#4b5563}.choropleth-legend{position:absolute;top:16px;right:16px;background:#16161ff2;border-radius:6px;padding:12px 14px;box-shadow:0 2px 8px #0000004d;z-index:1000;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(0,212,255,.15)}[data-theme=midnight] .choropleth-legend{background:#161927f2;border:1px solid rgba(20,184,166,.15)}[data-theme=light] .choropleth-legend{background:#fffffff2;border:1px solid rgba(30,58,95,.15)}.choropleth-legend .legend-item{display:flex;align-items:center;gap:8px}.choropleth-legend .legend-color{width:20px;height:14px;border-radius:2px}.choropleth-legend .legend-text{font-size:.72rem;color:#ffffffd9;white-space:nowrap}[data-theme=light] .choropleth-legend .legend-text{color:#374151}.state-map-body.choropleth-map .leaflet-control-zoom{border:none;box-shadow:0 2px 8px #0000004d}.state-map-body.choropleth-map .leaflet-control-zoom a{background:#16161f!important;color:#fff!important;border:none!important}.state-map-body.choropleth-map .leaflet-control-zoom a:hover{background:#1a1a25!important}.state-map-body.choropleth-map .leaflet-control-attribution{background:#0a0a0f99!important;color:#ffffff80!important;font-size:.65rem}.state-map-body.choropleth-map .leaflet-control-attribution a{color:#00d4ffb3!important}[data-theme=midnight] .state-map-body.choropleth-map .leaflet-control-zoom a{background:#161927!important}[data-theme=midnight] .state-map-body.choropleth-map .leaflet-control-zoom a:hover{background:#21263a!important}[data-theme=midnight] .state-map-body.choropleth-map .leaflet-control-attribution{background:#0f111a99!important}[data-theme=midnight] .state-map-body.choropleth-map .leaflet-control-attribution a{color:#14b8a6b3!important}[data-theme=light] .state-map-body.choropleth-map .leaflet-control-zoom{box-shadow:0 2px 8px #00000026}[data-theme=light] .state-map-body.choropleth-map .leaflet-control-zoom a{background:#fff!important;color:#374151!important}[data-theme=light] .state-map-body.choropleth-map .leaflet-control-zoom a:hover{background:#f3f4f6!important}[data-theme=light] .state-map-body.choropleth-map .leaflet-control-attribution{background:#fffc!important;color:#0006!important}[data-theme=light] .state-map-body.choropleth-map .leaflet-control-attribution a{color:#0009!important}@media (max-width: 768px){.state-map-header{flex-direction:column;align-items:stretch}.choropleth-legend{top:auto;bottom:16px;right:16px}.state-stat{flex:1;min-width:80px}}.ga-timeframe-picker{position:relative;z-index:20;isolation:isolate}.ga-timeframe-picker.open{z-index:5000}.ga-timeframe-trigger{width:100%;min-height:35px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .65rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.ga-timeframe-trigger.open,.ga-timeframe-trigger:hover{border-color:var(--accent-primary)}.ga-timeframe-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.2)}.ga-timeframe-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.82rem}.ga-timeframe-panel{position:absolute;top:calc(100% + .4rem);left:0;z-index:3000;width:min(740px,calc(100vw - 4rem));max-width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 16px 36px #00000059;display:grid;grid-template-columns:220px 1fr;overflow:hidden}.ga-timeframe-presets{padding:.5rem;border-right:1px solid var(--border-subtle);background:rgba(var(--accent-primary-rgb),.05);max-height:440px;overflow-y:auto}.ga-preset-option{width:100%;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:8px;padding:.52rem .55rem;font-size:.8rem;text-align:left;cursor:pointer;transition:all .15s ease}.ga-preset-option:hover{background:rgba(var(--accent-primary-rgb),.1);color:var(--text-primary)}.ga-preset-option.active{background:rgba(var(--accent-primary-rgb),.16);border-color:rgba(var(--accent-primary-rgb),.38);color:var(--accent-primary);font-weight:600}.ga-timeframe-calendar-panel{padding:.6rem .7rem .65rem;display:flex;flex-direction:column;gap:.55rem}.ga-timeframe-date-inputs{display:flex;align-items:center;gap:.45rem}.ga-timeframe-date-chip{flex:1;min-width:0;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(var(--accent-primary-rgb),.04);color:var(--text-primary);padding:.46rem .55rem;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;transition:border-color .2s ease,background .2s ease}.ga-timeframe-date-chip span{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ga-timeframe-date-chip strong{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ga-timeframe-date-chip.active{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.12)}.ga-timeframe-date-input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.85rem;font-weight:600;width:100%;padding:0;margin:0;font-family:inherit}.ga-timeframe-date-input::placeholder{color:var(--text-muted);opacity:.6;font-weight:400}.ga-timeframe-date-separator{color:var(--text-muted);font-size:.9rem}.ga-timeframe-calendar-nav{display:flex;justify-content:flex-end;gap:.32rem}.ga-calendar-nav-btn{width:26px;height:26px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.ga-calendar-nav-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.ga-timeframe-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.ga-timeframe-month{border:1px solid var(--border-subtle);border-radius:8px;padding:.45rem;background:rgba(var(--accent-primary-rgb),.03)}.ga-timeframe-month-label{font-size:.74rem;font-weight:700;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.3rem}.ga-timeframe-weekdays,.ga-timeframe-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.ga-timeframe-weekdays span{text-align:center;font-size:.63rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.ga-day-cell{height:28px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-primary);font-size:.78rem;cursor:pointer;transition:all .12s ease}.ga-day-cell.empty{pointer-events:none;visibility:hidden}.ga-day-cell:hover{border-color:rgba(var(--accent-primary-rgb),.5);background:rgba(var(--accent-primary-rgb),.08)}.ga-day-cell.in-range{background:rgba(var(--accent-primary-rgb),.18);border-color:rgba(var(--accent-primary-rgb),.24)}.ga-day-cell.selected{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);font-weight:700}.ga-day-cell.today{border-color:rgba(var(--accent-primary-rgb),.55)}.ga-timeframe-footer{border-top:1px solid var(--border-subtle);padding-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.ga-timeframe-selection-label{font-size:.74rem;color:var(--text-muted)}.ga-timeframe-actions{display:inline-flex;align-items:center;gap:.45rem}.ga-timeframe-btn{min-height:30px;border-radius:7px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);padding:0 .75rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}.ga-timeframe-btn.cancel:hover{border-color:var(--text-muted);color:var(--text-primary)}.ga-timeframe-btn.apply{background:var(--accent-primary);border-color:rgba(var(--accent-primary-rgb),.5);color:#fff}.ga-timeframe-btn.apply:hover{background:var(--accent-hover)}.ga-timeframe-error{color:#ef4444;font-size:.73rem;font-weight:600;margin-top:-.15rem}@media (max-width: 900px){.ga-timeframe-panel{position:fixed;left:50%;transform:translate(-50%);width:min(94vw,760px);max-height:min(82vh,650px);grid-template-columns:1fr;overflow-y:auto}.ga-timeframe-presets{max-height:210px;border-right:0;border-bottom:1px solid var(--border-subtle)}.ga-timeframe-months{grid-template-columns:1fr}}.global-filter-bar{display:flex;flex-direction:column;gap:.85rem;padding:.9rem 1.5rem 1rem;background:linear-gradient(180deg,rgba(var(--accent-primary-rgb),.09),rgba(var(--accent-primary-rgb),.03));border-bottom:1px solid var(--border-subtle)}.global-filter-bar.popup{padding:1rem 1.15rem 1.2rem;border:0;background:transparent;max-height:calc(100vh - 10rem);overflow-y:auto}.global-filter-row{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.global-filter-groups{display:flex;flex-direction:column;gap:.75rem}.global-filter-group{border:1px solid var(--border-subtle);border-radius:12px;padding:.75rem;background:rgba(var(--accent-primary-rgb),.04)}.geo-filter-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}.geo-filter-map-card{border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card);padding:.6rem;display:flex;flex-direction:column;gap:.45rem}.geo-filter-map-header h4{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.geo-filter-map-header p{margin:.2rem 0 0;font-size:.74rem;color:var(--text-muted)}.geo-filter-map-card .state-map-container,.geo-filter-map-card .dma-map-container{box-shadow:none}.geo-filter-map-card .state-map-container .state-map-body{min-height:220px}.global-filter-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.global-filter-group-header h3{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.group-dimensions-row{margin-bottom:0}.top-controls-row{flex-wrap:nowrap}.dimensions-row .global-filter-control{min-width:160px;flex:1 1 160px}.preset-row .global-filter-control{min-width:260px;flex:1 1 260px}.wide-control{min-width:220px;flex:1 1 220px}.global-filter-control-group{display:flex;align-items:flex-end;gap:.55rem}.custom-range-group .global-filter-control{min-width:150px}.custom-range-row{justify-content:flex-start}.global-filter-control{display:flex;flex-direction:column;gap:.32rem}.multi-select-control{min-width:250px;flex:1 1 250px}.multi-select-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.multi-select-header-actions{display:inline-flex;align-items:center;gap:.5rem}.multi-select-all-btn{border:0;background:transparent;color:var(--accent-primary);font-size:.72rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.multi-select-all-btn:hover{color:var(--text-primary)}.multi-select-options,.competitor-option-list{display:flex;flex-wrap:wrap;gap:.45rem}.competitor-option-btn{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;min-height:30px;padding:.2rem .6rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s ease}.competitor-option-btn:hover{border-color:var(--accent-primary)}.competitor-option-btn.selected{background:rgba(var(--accent-primary-rgb),.14);border-color:rgba(var(--accent-primary-rgb),.35);color:var(--accent-primary)}.dma-search-input-row{position:relative}.dma-list-toggle-btn{width:100%;height:33px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;padding:0 .65rem;cursor:pointer;transition:border-color .2s ease,color .2s ease}.dma-list-toggle-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.dma-search-input{width:100%;height:35px;padding:.48rem 2.15rem .48rem .7rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.82rem}.dma-search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.2)}.dma-search-clear-btn{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dma-search-clear-btn:hover{color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1)}.dma-search-results{display:flex;flex-direction:column;gap:.35rem;max-height:190px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:10px;background:rgba(var(--accent-primary-rgb),.03);padding:.35rem}.multi-select-option{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;min-height:30px;padding:.2rem .6rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s ease}.multi-select-option:hover{border-color:var(--accent-primary)}.multi-select-option.selected{background:rgba(var(--accent-primary-rgb),.14);border-color:rgba(var(--accent-primary-rgb),.35);color:var(--accent-primary)}.multi-select-option.dma-search-option{width:100%;justify-content:flex-start;border-radius:8px}.dma-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-option-check{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--accent-primary-rgb),.14)}.multi-select-excluded{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.multi-select-excluded-label{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.multi-select-excluded-chip{border:1px dashed var(--border-subtle);background:transparent;color:var(--text-muted);border-radius:999px;min-height:25px;padding:.1rem .45rem;display:inline-flex;align-items:center;gap:.28rem;font-size:.7rem;cursor:pointer;transition:all .15s ease}.multi-select-excluded-chip:hover{color:var(--accent-primary);border-color:rgba(var(--accent-primary-rgb),.35);background:rgba(var(--accent-primary-rgb),.08)}.global-filter-control label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.global-filter-control select,.global-filter-control input{height:35px;padding:.48rem .7rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.84rem;transition:border-color .2s ease,box-shadow .2s ease}.global-filter-control select:focus,.global-filter-control input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.2)}.global-filter-hint{font-size:.72rem;color:var(--text-muted)}.global-filter-actions{display:flex;align-items:center;gap:.45rem;margin-top:.1rem}.global-filter-btn{height:35px;display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;border-radius:8px;padding:0 .85rem;font-size:.78rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;transition:transform .15s ease,box-shadow .15s ease,background .2s ease,border-color .2s ease}.global-filter-btn:hover{transform:translateY(-1px)}.global-filter-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.apply-btn,.save-btn{background:var(--accent-primary);color:#fff;box-shadow:0 6px 12px rgba(var(--accent-primary-rgb),.24)}.apply-btn:hover,.save-btn:hover{background:var(--accent-hover)}.reset-btn{background:rgba(var(--accent-primary-rgb),.12);border-color:rgba(var(--accent-primary-rgb),.35);color:var(--accent-primary)}.delete-btn{background:#ef44441f;border-color:#ef444459;color:#ef4444}.global-filter-error{color:#ef4444;font-size:.74rem;font-weight:600}.active-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;border-top:1px solid var(--border-subtle);padding-top:.65rem}.summary-title{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-right:.15rem}.active-chip{display:inline-flex;align-items:center;border:1px solid rgba(var(--accent-primary-rgb),.35);background:rgba(var(--accent-primary-rgb),.1);color:var(--accent-primary);border-radius:999px;padding:.18rem .55rem;font-size:.73rem;font-weight:600}.active-chip.compare-chip{background:#22c55e24;border-color:#22c55e59;color:#22a35c}.active-chip.time-chip{background:#3b82f624;border-color:#3b82f659;color:#3177d8}@media (max-width: 900px){.global-filter-bar{padding:.8rem 1rem}.dimensions-row .global-filter-control,.preset-row .global-filter-control,.wide-control{min-width:0;flex:1 1 100%}.top-controls-row{flex-wrap:wrap}.geo-filter-map-grid{grid-template-columns:1fr}.global-filter-actions{width:100%;justify-content:flex-end}.multi-select-control{min-width:0;flex:1 1 100%}.global-filter-btn{flex:1 1 auto;justify-content:center}}.app-header{display:flex;flex-direction:column;align-items:stretch;padding:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:50}.app-header-main{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;min-height:56px}.header-left{display:flex;align-items:center;gap:.75rem}.header-menu-btn{display:none;background:none;border:none;padding:.5rem;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s ease}.header-menu-btn:hover{background:var(--bg-card);color:var(--text-primary)}@media (max-width: 768px){.header-menu-btn{display:flex}}.header-center{display:flex;align-items:center;justify-content:center;flex:1}.time-filter-wrapper{position:relative}.time-filter{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.time-filter:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.time-filter.active{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.25);color:var(--accent-primary)}.time-filter.active .time-filter-label{color:var(--accent-primary)}.time-filter svg{color:var(--accent-primary);flex-shrink:0}.time-filter-label{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.time-filter-chevron{color:var(--text-muted);transition:transform .25s ease}.time-filter-chevron.open{transform:rotate(180deg)}.time-filter-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:200px;max-height:min(550px,80vh);overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-card);padding:.5rem;z-index:100;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.time-filter-dropdown-header{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.5rem .75rem .375rem;border-bottom:1px solid var(--border-subtle);margin-bottom:.375rem}.time-filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left}.time-filter-option:hover{background:var(--bg-card-hover);color:var(--text-primary)}.time-filter-option.active{background:var(--border-accent);color:var(--accent-primary)}.time-filter-option .option-label{flex:1}.time-filter-option .option-check{color:var(--accent-primary);flex-shrink:0}.header-right{display:flex;align-items:center;gap:.75rem}.header-home-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border:1px solid rgba(var(--accent-primary-rgb),.25);border-radius:999px;background:rgba(var(--accent-primary-rgb),.08);color:var(--accent-primary);font-size:.8rem;font-weight:700;letter-spacing:.02em;transition:all .2s ease}.header-home-btn:hover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.14);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.14)}.theme-switcher{display:flex;gap:.125rem;padding:.125rem;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:6px}.theme-btn{padding:.3rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.theme-btn:hover{color:var(--text-secondary);background:#ffffff0d}.theme-btn.active{background:var(--bg-card);color:var(--accent-primary);box-shadow:0 2px 4px #0000001a}.header-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.header-action-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.share-btn{position:relative}.share-btn.success{border-color:#22c55e;background:#22c55e1a;color:#22c55e}.share-icon.success{color:#22c55e}.share-feedback{position:absolute;top:110%;left:50%;transform:translate(-50%);background:#22c55e;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;pointer-events:none;white-space:nowrap;animation:share-feedback-fade 2s ease forwards;box-shadow:0 4px 12px #22c55e33}@keyframes share-feedback-fade{0%{opacity:0;transform:translate(-50%) translateY(-5px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-5px)}}.filterbar-toggle-btn{width:auto;padding:0 .6rem;gap:.35rem;position:relative}.filterbar-toggle-btn.active{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.08);color:var(--accent-primary)}.filterbar-toggle-btn.has-filters{border-color:var(--accent-primary);box-shadow:0 0 10px rgba(var(--accent-primary-rgb),.18)}.global-filter-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:flex;align-items:flex-start;justify-content:center;padding:5rem 1rem 1rem;background:#0408129e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.global-filter-popup{width:min(1160px,100%);max-height:calc(100vh - 6rem);border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-secondary);box-shadow:0 24px 48px #00000059;overflow:hidden;display:flex;flex-direction:column}.global-filter-popup-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1.15rem;border-bottom:1px solid var(--border-subtle);background:rgba(var(--accent-primary-rgb),.06)}.global-filter-popup-header h2{margin:0;font-size:.94rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary)}.global-filter-popup-close{width:32px;height:32px;border:1px solid var(--border-subtle);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.global-filter-popup-close:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.filterbar-toggle-label{font-size:.72rem;font-weight:600;white-space:nowrap}.filterbar-active-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent-primary);color:#fff;font-size:.68rem;font-weight:700;line-height:1}.refresh-icon.spinning{animation:header-refresh-spin .6s linear}@keyframes header-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cache-clear-icon.clearing{animation:header-cache-clear .6s ease-out}@keyframes header-cache-clear{0%{transform:scale(1)}50%{transform:scale(1.2);color:var(--accent-primary)}to{transform:scale(1)}}.header-action-group{position:relative;display:inline-flex;align-items:center}.comparison-dropdown{position:absolute;top:110%;right:0;min-width:180px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.5rem;box-shadow:0 12px 24px #0000001f;padding:.5rem 0;z-index:20}.comparison-dropdown-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:.25rem .75rem .5rem}.comparison-dropdown button{width:100%;background:transparent;border:none;text-align:left;padding:.4rem .75rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.comparison-dropdown button:hover{background:#94a3b81f}@media (max-width: 768px){.app-header-main{padding:.75rem 1rem}.theme-switcher{display:none}.time-filter{padding:.375rem .75rem}.time-filter-select{font-size:.8125rem}.filterbar-toggle-btn{width:36px;padding:0}.header-home-btn span,.filterbar-toggle-label{display:none}.filterbar-active-count{position:absolute;top:3px;right:3px;min-width:14px;height:14px;padding:0 3px;font-size:.6rem}.global-filter-popup-backdrop{padding:4.3rem .55rem .55rem}.global-filter-popup{max-height:calc(100vh - 4.8rem)}}.global-filter-dropdown{min-width:220px}.filter-indicator,.compare-indicator{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 6px rgba(var(--accent-primary-rgb),.6)}.header-action-btn.has-filters,.header-action-btn.has-compare{position:relative;border-color:var(--accent-primary);box-shadow:0 0 10px rgba(var(--accent-primary-rgb),.2);background:rgba(var(--accent-primary-rgb),.05)}.comparison-dropdown button{display:flex;align-items:center;gap:.5rem}.comparison-dropdown button.active{background:#6366f11a;color:var(--accent-primary, #6366f1)}.comparison-dropdown button .filter-value{margin-left:auto;font-size:.7rem;padding:.15rem .4rem;background:var(--accent-primary, #6366f1);color:#fff;border-radius:999px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-dropdown button .check-icon{margin-left:auto;color:var(--accent-primary, #6366f1)}.dropdown-divider{height:1px;background:var(--border-subtle);margin:.5rem 0}.comparison-dropdown button.clear-filters-btn{color:var(--text-muted)}.comparison-dropdown button.clear-filters-btn:hover{background:#ef44441a;color:#ef4444}.vizzy-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--accent-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.vizzy-toggle-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.2)}.vizzy-toggle-btn:active{transform:none;box-shadow:0 1px 2px #0000001a}.vizzy-toggle-btn svg{flex-shrink:0;stroke:var(--accent-primary)}[data-theme=midnight] .vizzy-toggle-btn:hover{box-shadow:0 4px 12px #14b8a626}[data-theme=light] .vizzy-toggle-btn{background:var(--bg-primary);border-color:var(--border-subtle);color:var(--accent-primary)}[data-theme=light] .vizzy-toggle-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 0 10px #0000001a}.custom-range-inputs{padding:.75rem;background:var(--bg-secondary);border-radius:8px;margin:.5rem;margin-top:0}.custom-range-row{margin-bottom:.75rem}.custom-range-row:last-of-type{margin-bottom:.5rem}.custom-range-row label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em}.custom-range-row .date-input-wrapper{width:100%}.custom-range-apply-btn{width:100%;padding:.625rem 1rem;background:var(--accent-primary);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.custom-range-apply-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.custom-range-apply-btn:disabled{opacity:.5;cursor:not-allowed}.time-filter-option .rotated{transform:rotate(180deg)}.time-filter-option svg{transition:transform .2s ease}.breadcrumbs{padding:.75rem 1.5rem;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle)}.breadcrumb-list{display:flex;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.8125rem}.breadcrumb-item{display:flex;align-items:center;gap:.5rem}.breadcrumb-separator{color:var(--text-muted);font-size:.75rem}.breadcrumb-link{color:var(--text-secondary);text-decoration:none;transition:color .2s ease;display:flex;align-items:center}.breadcrumb-link:hover{color:var(--accent-primary)}.breadcrumb-text{color:var(--text-muted)}.breadcrumb-text.current{color:var(--text-primary);font-weight:500}.breadcrumb-text.context{color:var(--accent-secondary);font-size:.75rem;padding:.125rem .5rem;background:rgba(var(--accent-secondary-rgb),.1);border-radius:4px}@media (max-width: 768px){.breadcrumbs{padding:.5rem 1rem}.breadcrumb-list{font-size:.75rem;flex-wrap:wrap}}.vizzy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.vizzy-panel{position:fixed;top:0;left:0;height:100vh;width:380px;max-width:90vw;background:var(--bg-card, #111827);border-right:1px solid var(--border-subtle, rgba(255, 255, 255, .1));z-index:1000;display:flex;flex-direction:column;box-shadow:4px 0 24px #0000004d;transition:none}.vizzy-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:1001;background:transparent;transition:background .2s}.vizzy-resize-handle:hover,.vizzy-resize-handle:active{background:var(--accent-primary, #3b82f6);opacity:.5}.vizzy-panel.vizzy-fullscreen{width:100vw;max-width:100vw}[data-theme=light] .vizzy-panel{box-shadow:4px 0 24px #0000001a}.vizzy-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .1));background:var(--bg-secondary, #1f2937)}.vizzy-info{display:flex;align-items:center;gap:.75rem}.vizzy-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.vizzy-info h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #ffffff)}.vizzy-status{margin:0;font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .6))}.vizzy-header-actions{display:flex;align-items:center;gap:.25rem}.vizzy-action-btn{background:transparent;border:none;color:var(--text-secondary, rgba(255, 255, 255, .6));cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.vizzy-action-btn:hover{background:var(--bg-card-hover, rgba(255, 255, 255, .1));color:var(--text-primary, #ffffff)}.vizzy-chat-box{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:var(--bg-primary, #0a0a0f)}.vizzy-message{display:flex;gap:.75rem;max-width:90%}.vizzy-panel.vizzy-fullscreen .vizzy-message{max-width:70%}.vizzy-message.bot-message{align-self:flex-start}.vizzy-message.user-message{align-self:flex-end;flex-direction:row-reverse}.vizzy-message .message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))}.vizzy-message .message-avatar.user-avatar{background:linear-gradient(135deg,var(--accent-success),#059669)}.vizzy-message .message-content-wrap{display:flex;flex-direction:column;gap:.25rem;min-width:0}.vizzy-message .message-content{background:var(--bg-card, #1f2937);border-radius:12px;padding:.75rem 1rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));overflow-x:auto}.vizzy-message.user-message .message-content{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none}.vizzy-message .message-content p{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-primary, #ffffff)}.vizzy-message .message-content div{font-size:.875rem;line-height:1.5;color:var(--text-primary, #ffffff)}.vizzy-message .message-content strong{font-weight:700;color:var(--accent-primary, #60a5fa)}.vizzy-message.user-message .message-content p{color:#fff}.vizzy-table-wrap{overflow-x:auto;margin:.5rem 0;border-radius:8px}.vizzy-md-table{border-collapse:collapse;width:100%;font-size:.8rem}.vizzy-md-table th,.vizzy-md-table td{padding:.4rem .75rem;text-align:left;border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));white-space:nowrap}.vizzy-md-table th{background:var(--bg-secondary, rgba(255, 255, 255, .05));font-weight:600;color:var(--text-primary, #ffffff);position:sticky;top:0}.vizzy-md-table td{color:var(--text-secondary, rgba(255, 255, 255, .8))}.vizzy-md-table tr:hover td{background:var(--bg-card-hover, rgba(255, 255, 255, .03))}.vizzy-paginated-table{margin-top:.5rem}.vizzy-pagination{display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem 0;gap:.5rem}.vizzy-page-btn{background:var(--bg-secondary, rgba(255, 255, 255, .08));border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));color:var(--text-secondary, rgba(255, 255, 255, .7));padding:.3rem .6rem;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.vizzy-page-btn:hover:not(:disabled){background:var(--accent-primary, #3b82f6);color:#fff;border-color:transparent}.vizzy-page-btn:disabled{opacity:.3;cursor:not-allowed}.vizzy-page-info{font-size:.7rem;color:var(--text-muted, rgba(255, 255, 255, .4));white-space:nowrap}.message-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s;padding-left:.25rem}.vizzy-message:hover .message-actions{opacity:1}.msg-action-btn{display:flex;align-items:center;gap:.25rem;background:transparent;border:none;color:var(--text-muted, rgba(255, 255, 255, .4));cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;transition:all .2s}.msg-action-btn:hover{background:var(--bg-card-hover, rgba(255, 255, 255, .1));color:var(--text-primary, #ffffff)}.copied-badge{color:var(--accent-success, #10b981);font-size:.7rem;font-weight:600}.csv-btn span{font-weight:500}.vizzy-suggestions{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.suggestions-label{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .4));margin:0}.suggestions-grid{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-chip{padding:.5rem .75rem;border-radius:20px;border:1px solid var(--border-subtle, rgba(255, 255, 255, .15));background:var(--bg-card, rgba(255, 255, 255, .05));color:var(--text-secondary, rgba(255, 255, 255, .7));font-size:.8rem;cursor:pointer;transition:all .2s}.suggestion-chip:hover{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.vizzy-message .message-content.typing{display:flex;gap:4px;padding:1rem}.vizzy-message .message-content.typing .dot{width:8px;height:8px;background:var(--text-muted, rgba(255, 255, 255, .5));border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.vizzy-message .message-content.typing .dot:nth-child(1){animation-delay:-.32s}.vizzy-message .message-content.typing .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.vizzy-input-area{display:flex;gap:.75rem;padding:1rem;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .1));background:var(--bg-secondary, #1f2937)}.vizzy-input-area input{flex:1;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));background:var(--bg-primary, rgba(0, 0, 0, .2));color:var(--text-primary, #ffffff);font-size:.875rem;outline:none;transition:all .2s}.vizzy-input-area input:focus{border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 3px var(--border-accent, rgba(59, 130, 246, .2))}.vizzy-input-area input::placeholder{color:var(--text-muted, rgba(255, 255, 255, .4))}.vizzy-send-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.vizzy-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow, 0 4px 12px rgba(59, 130, 246, .4))}.vizzy-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.vizzy-panel{width:100vw;max-width:100vw}}.app-shell{display:flex;min-height:100vh;background:var(--bg-primary)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:240px;transition:margin-left .3s ease}.app-shell.sidebar-collapsed .app-main{margin-left:64px}.app-content{flex:1;padding:0;overflow-y:auto}.page-wrapper{min-height:100%}@media (max-width: 1024px){.app-main{margin-left:64px}.app-shell.sidebar-collapsed .app-main{margin-left:0}}@media (max-width: 768px){.app-main{margin-left:0}}.grouping-toast{position:fixed;bottom:24px;right:24px;max-width:400px;display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-card, #1e293b);border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:12px;box-shadow:0 10px 40px #0000004d;z-index:1000;animation:toast-slide-up .3s ease-out}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grouping-toast-icon{font-size:1.25rem;flex-shrink:0}.grouping-toast-message{flex:1;font-size:.875rem;color:var(--text-secondary, #94a3b8);line-height:1.4}.grouping-toast-message strong{color:var(--primary, #6366f1)}.grouping-toast-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-muted, #64748b);font-size:1rem;cursor:pointer;transition:all .15s ease;flex-shrink:0}.grouping-toast-dismiss:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.kpi-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:1.8rem 1.25rem 1.25rem;position:relative;overflow:hidden;transition:all .3s ease}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));opacity:0;transition:opacity .3s ease}.kpi-card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-card)}.kpi-card:hover:before{opacity:1}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-right:1.3rem}.kpi-title{font-size:.8125rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.kpi-icon{font-size:1.25rem;opacity:.8}.kpi-body{display:flex;flex-direction:column;gap:.5rem}.kpi-value-section{display:flex;flex-direction:column;gap:.375rem}.kpi-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.02em;line-height:1.2}.kpi-prefix,.kpi-suffix{font-size:1rem;font-weight:500;color:var(--text-secondary);margin:0 .125rem}.kpi-trend{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500}.kpi-trend.trend-up{color:var(--accent-success, #10b981)}.kpi-trend.trend-down{color:#ef4444}.kpi-trend.trend-flat{color:var(--text-muted)}.trend-value{font-family:var(--font-mono)}.trend-label{color:var(--text-muted);font-weight:400}[data-theme=light] .kpi-card{box-shadow:0 1px 3px #0000000d}[data-theme=light] .kpi-card:hover{box-shadow:0 4px 12px #0000001a}.data-table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease;width:100%;height:100%;min-height:450px;display:flex;flex-direction:column;box-sizing:border-box}.data-table-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.data-table-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card)}[data-theme=light] .data-table-container{box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}.data-table-container.drillable{box-shadow:0 0 8px rgba(var(--accent-primary-rgb),.12),0 0 20px rgba(var(--accent-primary-rgb),.06);border-color:rgba(var(--accent-primary-rgb),.25);animation:drillable-glow 3s ease-in-out infinite}.data-table-container.drillable:hover{box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.2),0 0 30px rgba(var(--accent-primary-rgb),.1);border-color:rgba(var(--accent-primary-rgb),.4)}[data-theme=light] .data-table-container.drillable{box-shadow:0 0 10px rgba(var(--accent-primary-rgb),.1),0 0 24px rgba(var(--accent-primary-rgb),.05),0 1px 3px #0000000f}@keyframes drillable-glow{0%,to{box-shadow:0 0 8px rgba(var(--accent-primary-rgb),.12),0 0 20px rgba(var(--accent-primary-rgb),.06)}50%{box-shadow:0 0 14px rgba(var(--accent-primary-rgb),.18),0 0 28px rgba(var(--accent-primary-rgb),.09)}}.table-title-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.drillable-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:rgba(var(--accent-primary-rgb),.9);background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.2);border-radius:20px;white-space:nowrap;line-height:1;flex-shrink:0}[data-theme=light] .drillable-badge{background:rgba(var(--accent-primary-rgb),.08);border-color:rgba(var(--accent-primary-rgb),.18)}.data-table-container.drillable .clickable-row:hover{background:rgba(var(--accent-primary-rgb),.07)!important}.data-table-container.drillable .clickable-row td:first-child{position:relative}.data-table-container.drillable .clickable-row:hover td:first-child:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:2px;background:var(--accent-primary);border-radius:2px}.table-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap;flex-shrink:0;padding-right:36px}.table-title-section{flex:1;min-width:200px}.table-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.table-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.table-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.search-wrapper,.filter-wrapper{position:relative;display:flex;align-items:center}.search-wrapper svg,.filter-wrapper svg{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.search-input,.filter-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:.5rem .75rem .5rem 2.25rem;font-size:.8125rem;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.search-input{width:160px}.filter-input{width:280px}.search-input:focus,.filter-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1)}.search-input::placeholder,.filter-input::placeholder{color:var(--text-muted)}.filter-help{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem;z-index:100;box-shadow:0 4px 16px #0003}[data-theme=light] .filter-help{box-shadow:0 4px 16px #0000001a}.filter-help-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.filter-help-item{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.filter-help-item code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-family:var(--font-mono);font-size:.6875rem;color:var(--accent-primary)}.filter-help-example{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-subtle);font-size:.6875rem;color:var(--text-muted)}.filter-help-example code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-family:var(--font-mono);color:var(--accent-secondary)}.clear-filters-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#ef4444;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#ef444426;border-color:#ef44444d}.table-info{margin-bottom:.75rem;flex-shrink:0}.results-count{font-size:.75rem;color:var(--text-muted)}.filtered-note{color:var(--accent-primary)}.table-body{overflow-x:auto;overflow-y:auto;border-radius:8px;border:1px solid var(--border-subtle);flex:1;min-height:0;width:100%!important}table{width:100%!important;min-width:100%!important;border-collapse:collapse;table-layout:fixed!important}th,td{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}th:first-child,td:first-child{width:auto}th:last-child,td:last-child{text-align:right;width:auto}table:has(th:nth-child(2):last-child) th:first-child,table:has(td:nth-child(2):last-child) td:first-child{width:60%}table:has(th:nth-child(2):last-child) th:last-child,table:has(td:nth-child(2):last-child) td:last-child{width:40%}thead{background:var(--bg-secondary)}th{padding:.75rem 1rem;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);white-space:nowrap}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}th.sortable:hover{color:var(--text-primary)}.th-content{display:flex;align-items:center;gap:.5rem}.sort-icon{opacity:.5;transition:opacity .2s ease}th:hover .sort-icon{opacity:1}td{padding:.875rem 1rem;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .15s ease}tbody tr:hover{background:rgba(var(--accent-primary-rgb),.03)}.data-table-container.striped tbody tr:nth-child(2n){background:var(--bg-secondary)}.data-table-container.striped tbody tr:nth-child(2n):hover{background:rgba(var(--accent-primary-rgb),.05)}.data-table-container.compact th,.data-table-container.compact td{padding:.5rem .75rem}.data-table-container.compact td{font-size:.8125rem}.percent-value{font-family:var(--font-mono);font-weight:500}.percent-value.positive{color:var(--accent-success, #10b981)}.percent-value.negative{color:#ef4444}.no-results{text-align:center!important;color:var(--text-muted);padding:2rem!important;font-style:italic}.table-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.pagination-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent-primary);color:var(--accent-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.8125rem;color:var(--text-muted)}@media (max-width: 768px){.table-header{flex-direction:column}.table-controls{width:100%}.search-input,.filter-input{width:100%;flex:1}.filter-wrapper{width:100%}}.comparison-table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem}.comparison-header{margin-bottom:1rem}.comparison-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.comparison-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.comparison-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th{padding:.75rem 1rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.comparison-table th.metric-col{text-align:left;width:40%}.comparison-table th.value-col,.comparison-table th.change-col{text-align:right}.comparison-table td{padding:1rem;border-bottom:1px solid var(--border-subtle)}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tbody tr:hover{background:var(--bg-secondary)}.metric-cell{display:flex;flex-direction:column;gap:.125rem}.metric-label{font-weight:500;color:var(--text-primary)}.metric-sublabel{font-size:.75rem;color:var(--text-muted)}.value-cell{text-align:right;font-family:var(--font-mono);font-size:.9375rem}.value-cell.current{color:var(--text-primary);font-weight:600}.value-cell.previous{color:var(--text-secondary)}.change-cell{text-align:right}.change-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;font-family:var(--font-mono)}.change-indicator.positive{background:#10b9811a;color:#10b981}.change-indicator.negative{background:#ef44441a;color:#ef4444}.change-indicator.neutral{background:var(--bg-secondary);color:var(--text-muted)}.pivot-table-container{background:var(--bg-card, #16161f);border-radius:16px;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));overflow:hidden!important;display:flex;flex-direction:column;height:100%;width:100%}.pivot-header{padding:1.25rem 36px 1rem 1.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0}.pivot-title{font-size:1.1rem;font-weight:600;color:var(--text-primary, #f8fafc);margin:0}.pivot-subtitle{font-size:.85rem;color:var(--text-secondary, #94a3b8);margin:.25rem 0 0}.pivot-meta{display:flex;align-items:center;gap:.75rem}.pivot-info{font-size:.75rem;color:var(--text-secondary, #94a3b8);background:var(--bg-elevated, rgba(255, 255, 255, .05));padding:.35rem .75rem;border-radius:6px}.pivot-body{flex:1;overflow:auto!important;overflow-x:scroll!important;padding:.5rem;min-height:0}.pivot-table{width:max-content!important;min-width:100%;border-collapse:separate;border-spacing:2px;font-size:.85rem}.pivot-table thead th{padding:.75rem 1rem;text-align:center;font-weight:500;color:var(--text-secondary, #94a3b8);background:var(--bg-elevated, rgba(255, 255, 255, .03));white-space:nowrap;position:sticky;top:0;z-index:10;border-radius:6px;min-width:80px!important}.pivot-row-header{text-align:left!important;min-width:150px!important;max-width:250px}.pivot-col-header{min-width:80px!important;max-width:150px}.pivot-total-header{background:var(--accent-bg, rgba(37, 99, 235, .1))!important;color:var(--accent-color, #60a5fa)!important;font-weight:600}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.sortable:hover{background:var(--bg-hover, rgba(255, 255, 255, .08))!important}.sort-arrow{margin-left:.5rem;opacity:.8}.pivot-table tbody td{padding:.6rem .75rem;text-align:center;color:var(--text-primary, #f8fafc);border-radius:4px;min-width:80px}.pivot-row-label{text-align:left!important;font-weight:500;background:var(--bg-elevated, rgba(255, 255, 255, .02));white-space:nowrap;position:sticky;left:0;z-index:5;min-width:150px;max-width:250px}.pivot-cell{font-variant-numeric:tabular-nums;min-width:80px}.pivot-cell.clickable{cursor:pointer}.pivot-cell.clickable:hover{background:var(--bg-hover, rgba(255, 255, 255, .08))!important}.pivot-row-total{font-weight:600;background:var(--accent-bg, rgba(37, 99, 235, .08))!important;color:var(--accent-color, #60a5fa)}.pivot-table tfoot td{padding:.75rem 1rem;text-align:center;font-weight:600;background:var(--bg-elevated, rgba(255, 255, 255, .05));border-radius:6px}.pivot-total-label{text-align:left!important;color:var(--text-secondary, #94a3b8)}.pivot-col-total{color:var(--accent-color, #60a5fa)}.pivot-grand-total{background:var(--accent-gradient, linear-gradient(135deg, #2563eb, #3b82f6))!important;color:#fff!important}.pivot-empty{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary, #94a3b8);font-size:.9rem}[data-theme=electric] .pivot-table-container,[data-theme=midnight] .pivot-table-container,[data-theme=light] .pivot-table-container{background:var(--bg-card);border-color:var(--border-subtle)}.pivot-body::-webkit-scrollbar{width:8px;height:8px}.pivot-body::-webkit-scrollbar-track{background:transparent}.pivot-body::-webkit-scrollbar-thumb{background:var(--text-secondary, #94a3b8);border-radius:4px;opacity:.3}.pivot-body::-webkit-scrollbar-thumb:hover{opacity:.5}@media (max-width: 768px){.pivot-header{flex-direction:column;align-items:flex-start}.pivot-table{font-size:.75rem}.pivot-table thead th,.pivot-table tbody td,.pivot-table tfoot td{padding:.5rem}}.bar-chart-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-card);transition:all .3s ease;position:relative;overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column}.bar-chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.bar-chart-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}[data-theme=light] .bar-chart-container{box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}[data-theme=light] .bar-chart-container:hover{box-shadow:0 4px 20px #0000001a}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;padding-right:1.3rem}.chart-title-section{flex:1;min-width:0}.chart-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.chart-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.chart-stats{display:flex;gap:1rem;flex-shrink:0}.stat{text-align:right;padding:.5rem .75rem;background:#ffffff05;border-radius:8px;border:1px solid transparent;transition:all .2s ease}.stat.highlighted{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb, 0, 212, 255),.08),rgba(var(--accent-secondary-rgb, 124, 58, 237),.08));border-color:var(--border-accent)}[data-theme=light] .stat.highlighted{background:linear-gradient(135deg,#1e3a5f0f,#3b82f60f)}[data-theme=midnight] .stat.highlighted{background:linear-gradient(135deg,#14b8a61a,#3b82f61a)}.stat-value{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.02em}.stat.highlighted .stat-value,[data-theme=light] .stat.highlighted .stat-value{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem}.chart-body{position:relative;padding:.5rem 0;flex:1;min-height:0}.chart-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.chart-meta{display:flex;gap:1.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.meta-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;opacity:.7}[data-theme=light] .meta-dot{opacity:1}@media (max-width: 640px){.bar-chart-container{padding:1.25rem}.chart-header{flex-direction:column;gap:1rem}.chart-stats{width:100%;justify-content:flex-start}.stat{flex:1;text-align:center}}@keyframes chartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bar-chart-container{animation:chartFadeIn .5s ease-out}.pie-chart-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;height:100%}.pie-chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.pie-chart-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}.pie-chart-container .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;padding-right:1.3rem}.pie-chart-container .chart-title-section{flex:1;min-width:0}.pie-chart-container .chart-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.pie-chart-container .chart-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.pie-chart-container .chart-stats{display:flex;gap:1rem;flex-shrink:0}.pie-chart-container .stat{text-align:right;padding:.5rem .75rem;background:#ffffff05;border-radius:8px;border:1px solid transparent;transition:all .2s ease}.pie-chart-container .stat.highlighted{background:linear-gradient(135deg,#00d4ff14,#7c3aed14);border-color:#00d4ff26}[data-theme=light] .pie-chart-container .stat.highlighted{background:linear-gradient(135deg,#1e3a5f0f,#3b82f60f)}.pie-chart-container .stat-value{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.02em}.pie-chart-container .stat.highlighted .stat-value{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pie-chart-container .stat-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem}.pie-chart-container .chart-body{position:relative;padding:.5rem 0}@media (max-width: 640px){.pie-chart-container .chart-header{flex-direction:column;gap:1rem}.pie-chart-container .chart-stats{width:100%;justify-content:flex-start}.pie-chart-container .stat{flex:1;text-align:center}}.line-chart-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease}.line-chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.line-chart-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}[data-theme=light] .line-chart-container{box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}[data-theme=light] .line-chart-container:hover{box-shadow:0 4px 20px #0000001a}.line-chart-container .chart-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1rem;gap:.75rem;padding-right:1.3rem}.line-chart-container .chart-title-section{flex:0 1 auto;min-width:0}.line-chart-container .chart-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.line-chart-container .chart-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.line-chart-container .chart-stats{display:flex;gap:.75rem;flex-shrink:0;margin-bottom:2px}.line-chart-container .stat{text-align:right;padding:.5rem .75rem;background:#ffffff05;border-radius:8px;border:1px solid transparent;transition:all .2s ease}.line-chart-container .stat.highlighted{background:linear-gradient(135deg,#00d4ff14,#7c3aed14);border-color:#00d4ff26}[data-theme=light] .line-chart-container .stat.highlighted{background:linear-gradient(135deg,#1e3a5f0f,#3b82f60f)}[data-theme=midnight] .line-chart-container .stat.highlighted{background:linear-gradient(135deg,#14b8a61a,#3b82f61a)}.line-chart-container .stat-value{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.02em}.line-chart-container .stat.highlighted .stat-value{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.line-chart-container .stat-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem}.line-chart-container .chart-body{position:relative;padding:.5rem 0}.line-chart-container .chart-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.line-chart-container .chart-meta{display:flex;gap:1.5rem;padding-left:2.5rem}.line-chart-container .meta-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.line-chart-container .meta-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;opacity:.7}[data-theme=light] .line-chart-container .meta-dot{opacity:1}.chart-legend-scroller{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:8px;padding:.5rem 1rem;margin-bottom:1rem;gap:1.5rem;width:100%}.legend-viewport{flex:1;overflow:hidden;position:relative;min-height:32px;display:flex;align-items:center}.legend-page{display:flex;gap:1rem;width:100%;justify-content:space-between;flex-wrap:nowrap}.legend-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;background:transparent;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .2s ease;flex-shrink:0}.legend-item:hover{background:#ffffff0d}.legend-item.inactive{opacity:.5}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.legend-controls{display:flex;align-items:center;gap:.6rem;border-left:1px solid var(--border-subtle);padding-left:.75rem;flex-shrink:0}.control-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.control-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.control-btn:disabled{opacity:.3;cursor:not-allowed}.page-indicator{font-size:.7rem;font-weight:600;color:var(--text-muted);min-width:2.5rem;text-align:center}@media (max-width: 640px){.line-chart-container .chart-header{flex-direction:column;gap:1rem}.line-chart-container .chart-stats{width:100%;justify-content:flex-start}.line-chart-container .stat{flex:1;text-align:center}}.scatter-chart-container{background:var(--bg-card);border-radius:16px;padding:1.5rem;border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);transition:all .3s ease;position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column}.scatter-chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.scatter-chart-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}.scatter-chart-container .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;padding-right:1.3rem}.scatter-chart-container .chart-title-section{flex:1}.scatter-chart-container .chart-title{font-size:1rem;font-weight:600;color:var(--text-primary, #f8fafc);margin:0 0 .25rem}.scatter-chart-container .chart-subtitle{font-size:.8rem;color:var(--text-secondary, #94a3b8);margin:0}.scatter-chart-container .chart-stats{display:flex;gap:1rem}.scatter-chart-container .stat{text-align:right}.scatter-chart-container .stat-value{display:block;font-size:1.1rem;font-weight:600;color:var(--text-primary, #f8fafc)}.scatter-chart-container .stat-label{font-size:.7rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.scatter-chart-container .stat.highlighted .stat-value{color:var(--accent-primary, #00d4ff)}.scatter-chart-container .chart-body{flex:1;position:relative;min-height:0}.scatter-chart-container .chart-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .06))}.scatter-chart-container .chart-meta{display:flex;gap:1.5rem;font-size:.75rem;color:var(--text-secondary, #94a3b8)}.scatter-chart-container .meta-item{display:flex;align-items:center;gap:.5rem}.scatter-chart-container .meta-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary, #00d4ff)}[data-theme=light] .scatter-chart-container{background:var(--card-bg, rgba(255, 255, 255, .9));border-color:var(--card-border, rgba(0, 0, 0, .08))}[data-theme=light] .scatter-chart-container .chart-title,[data-theme=light] .scatter-chart-container .stat-value{color:var(--text-primary, #1f2937)}[data-theme=light] .scatter-chart-container .stat.highlighted .stat-value{color:var(--accent-primary, #1E3A5F)}.chart-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chart-modal-container{background:var(--bg-card, #16161f);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:20px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;animation:modalEnter .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}@keyframes modalEnter{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.chart-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .06));display:flex;align-items:center;justify-content:space-between}.chart-modal-title{display:flex;flex-direction:column;gap:.25rem}.chart-modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #f8fafc)}.chart-modal-title p{margin:0;font-size:.875rem;color:var(--text-muted, #64748b)}.chart-modal-controls{display:flex;align-items:center;gap:.5rem}.chart-modal-close{background:transparent;border:none;color:var(--text-muted, #64748b);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.export-dropdown-wrapper{position:relative;display:flex}.chart-modal-export{background:rgba(var(--accent-primary-rgb, 0, 212, 255),.1);border:1px solid rgba(var(--accent-primary-rgb, 0, 212, 255),.2);color:var(--accent-primary, #00d4ff);cursor:pointer;padding:.5rem .875rem;display:flex;align-items:center;gap:.5rem;border-radius:8px;transition:all .2s;font-size:.8125rem;font-weight:500}.chart-modal-export:hover,.chart-modal-export.active{background:rgba(var(--accent-primary-rgb, 0, 212, 255),.18);border-color:rgba(var(--accent-primary-rgb, 0, 212, 255),.35)}.export-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-card, #16161f);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:12px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;width:220px;z-index:1001;box-shadow:0 10px 25px -5px #00000080;animation:menuEnter .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes menuEnter{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.export-menu-item{display:flex;align-items:center;gap:.875rem;padding:.75rem;background:transparent;border:none;border-radius:8px;color:var(--text-primary, #f8fafc);cursor:pointer;text-align:left;transition:all .15s ease}.export-menu-item:hover{background:#ffffff0d}.item-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;flex-shrink:0}.item-icon.png{background:rgba(var(--accent-primary-rgb, 0, 212, 255),.1);color:var(--accent-primary, #00d4ff);border:1px solid rgba(var(--accent-primary-rgb, 0, 212, 255),.2)}.item-icon.html{background:#7c3aed1a;color:#a78bfa;border:1px solid rgba(124,58,237,.2)}.item-text{display:flex;flex-direction:column}.item-title{font-size:.8125rem;font-weight:600}.item-desc{font-size:.6875rem;color:var(--text-muted, #64748b)}.chart-modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:400px}.chart-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .06));display:flex;justify-content:flex-end;gap:1rem}.modal-action-btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.modal-action-btn.primary{background:var(--accent-primary, #00d4ff);color:#000;border:none}.modal-action-btn.primary:hover{filter:brightness(1.1);box-shadow:0 0 15px #00d4ff4d}.chart-modal-body .bar-chart-container,.chart-modal-body .scatter-chart-container,.chart-modal-body .pie-chart-container,.chart-modal-body .line-chart-container{height:auto!important}.chart-modal-body .chart-body{flex:none!important}.ag-grid-table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.ag-grid-table-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.ag-grid-table-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card)}[data-theme=light] .ag-grid-table-container{box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}.ag-grid-table-container.drillable{box-shadow:0 0 8px rgba(var(--accent-primary-rgb),.12),0 0 20px rgba(var(--accent-primary-rgb),.06);border-color:rgba(var(--accent-primary-rgb),.25);animation:ag-drillable-glow 3s ease-in-out infinite}.ag-grid-table-container.drillable:hover{box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.2),0 0 30px rgba(var(--accent-primary-rgb),.1);border-color:rgba(var(--accent-primary-rgb),.4)}@keyframes ag-drillable-glow{0%,to{box-shadow:0 0 8px rgba(var(--accent-primary-rgb),.12),0 0 20px rgba(var(--accent-primary-rgb),.06)}50%{box-shadow:0 0 14px rgba(var(--accent-primary-rgb),.18),0 0 28px rgba(var(--accent-primary-rgb),.09)}}.ag-grid-table-container .ag-grid-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap;flex-shrink:0;padding-right:1.3rem}.ag-grid-table-container .ag-grid-title-section{flex:1;min-width:200px}.ag-grid-table-container .ag-grid-title-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.ag-grid-table-container .ag-grid-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.ag-grid-table-container .ag-grid-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.ag-grid-wrapper{width:100%;border-radius:8px;overflow:hidden}.ag-grid-table-container .ag-root-wrapper{border:none!important;border-radius:8px;background:transparent!important;min-height:0!important}.ag-grid-table-container .ag-root-wrapper-body{min-height:0!important}.ag-grid-table-container .ag-body-viewport{min-height:120px!important;overflow-y:hidden!important}.ag-grid-table-container .ag-center-cols-viewport,.ag-grid-table-container .ag-center-cols-container{min-height:0!important}.ag-grid-table-container .ag-body-vertical-scroll{display:none!important}.ag-grid-table-container .ag-header{border-bottom:1px solid var(--border-subtle)!important}.ag-grid-table-container .ag-header-cell-label{font-family:var(--font-sans);letter-spacing:.05em}.ag-grid-table-container .ag-row{border-bottom:1px solid var(--border-subtle)!important;transition:background .15s ease}.ag-grid-table-container .ag-row:last-child{border-bottom:none!important}.ag-grid-table-container .ag-row-hover{background:rgba(var(--accent-primary-rgb),.04)!important}.ag-rank-cell{font-weight:600;color:var(--text-muted)!important;font-size:.8125rem;justify-content:center!important;text-align:center}.ag-grid-table-container .ag-top-three{background:rgba(var(--accent-primary-rgb),.04)!important}.ag-grid-table-container .ag-top-three:hover{background:rgba(var(--accent-primary-rgb),.08)!important}.ag-grid-table-container .ag-pinned-total-row{font-weight:700!important;border-top:2px solid var(--accent-primary)!important;background:rgba(var(--accent-primary-rgb),.06)!important;color:var(--text-primary)!important}.ag-grid-table-container .ag-pinned-total-row .ag-cell{font-weight:700;cursor:default!important}.ag-grid-table-container .ag-cell-range-selected:not(.ag-cell-focus){background:rgba(var(--accent-primary-rgb),.1)!important}.ag-grid-table-container .ag-cell-focus{outline:2px solid var(--accent-primary)!important;outline-offset:-2px}.ag-clickable-row{cursor:pointer!important;transition:background-color .15s ease}.ag-clickable-row:hover{background-color:rgba(var(--accent-primary-rgb),.05)!important}.ag-clickable-row:active{background-color:rgba(var(--accent-primary-rgb),.1)!important}.ag-grid-table-container .ag-cell{font-family:var(--font-sans);font-size:.875rem;line-height:1.5;display:flex;align-items:center}.ag-grid-table-container .ag-right-aligned-header .ag-header-cell-label{justify-content:flex-end}.ag-grid-table-container .ag-right-aligned-cell{justify-content:flex-end;text-align:right}.ag-grid-table-container .ag-center-aligned-header .ag-header-cell-label{justify-content:center}.ag-grid-table-container .ag-center-aligned-cell{justify-content:center;text-align:center}.ag-percent-value{font-family:var(--font-mono);font-weight:500}.ag-percent-positive{color:var(--accent-success, #10b981)}.ag-percent-negative{color:#ef4444}.ag-grid-table-container .ag-overlay-no-rows-wrapper{background:rgba(var(--bg-card-rgb),.7)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:100}.ag-no-rows-overlay{display:flex;align-items:center;justify-content:center;padding:3rem;width:100%;height:100%}.ag-no-rows-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:300px;color:var(--text-muted)}.ag-no-rows-content svg{color:var(--accent-primary);margin-bottom:1.25rem;opacity:.8}.ag-no-rows-content h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.ag-no-rows-content p{font-size:.875rem;line-height:1.5;margin:0}.ag-grid-table-container .table-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.ag-grid-table-container .search-wrapper,.ag-grid-table-container .filter-wrapper{position:relative;display:flex;align-items:center}.ag-grid-table-container .search-wrapper svg,.ag-grid-table-container .filter-wrapper svg{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.ag-grid-table-container .search-input,.ag-grid-table-container .filter-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:.5rem .75rem .5rem 2.25rem;font-size:.8125rem;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.ag-grid-table-container .search-input{width:160px}.ag-grid-table-container .filter-input{width:280px}.ag-grid-table-container .search-input:focus,.ag-grid-table-container .filter-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1)}.ag-grid-table-container .search-input::placeholder,.ag-grid-table-container .filter-input::placeholder{color:var(--text-muted)}.ag-grid-table-container .filter-help{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem;z-index:100;box-shadow:0 4px 16px #0003}[data-theme=light] .ag-grid-table-container .filter-help{box-shadow:0 4px 16px #0000001a}.ag-grid-table-container .filter-help-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.ag-grid-table-container .filter-help-item{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.ag-grid-table-container .filter-help-item code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-family:var(--font-mono);font-size:.6875rem;color:var(--accent-primary)}.ag-grid-table-container .filter-help-example{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-subtle);font-size:.6875rem;color:var(--text-muted)}.ag-grid-table-container .filter-help-example code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-family:var(--font-mono);color:var(--accent-secondary)}.ag-grid-table-container .clear-filters-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#ef4444;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ag-grid-table-container .clear-filters-btn:hover{background:#ef444426;border-color:#ef44444d}.ag-grid-table-container .table-context-area{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;min-height:42px;flex-shrink:0;gap:1rem;flex-wrap:wrap}.ag-grid-table-container .results-count{font-size:.75rem;color:var(--text-muted)}.ag-grid-table-container .filtered-note{color:var(--accent-primary)}.ag-grid-table-container .export-csv-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.2);border-radius:8px;color:var(--accent-primary);cursor:pointer;transition:all .2s ease;font-family:inherit;line-height:1}.ag-grid-table-container .export-csv-btn:hover{background:rgba(var(--accent-primary-rgb),.18);border-color:rgba(var(--accent-primary-rgb),.35)}.visualize-wrapper{position:relative;display:flex;align-items:center}.visualize-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:.5rem;min-width:38px;height:38px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary, #7c3aed));border:none;border-radius:8px;color:#000;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.2)}.visualize-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--accent-primary-rgb),.3);filter:brightness(1.1)}.visualize-btn svg{width:16px;height:16px}.chart-type-selector{position:absolute;top:100%;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:.5rem;z-index:110;box-shadow:0 10px 30px -5px #0006,0 4px 10px -5px #0000004d;min-width:150px;display:flex;flex-direction:column;gap:.25rem;animation:dropdownEnter .28s cubic-bezier(.34,1.56,.64,1);transform-origin:top left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chart-type-selector.placement-left{left:0;right:auto;transform-origin:top left}.chart-type-selector.placement-right{right:0;left:auto;transform-origin:top right}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(-8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.chart-type-option{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;text-align:left;transition:all .15s ease}.chart-type-option:hover{background:rgba(var(--accent-primary-rgb),.1);color:var(--accent-primary)}.chart-type-option svg{width:14px;height:14px}.ag-grid-table-container .ag-paging-panel{border-top:1px solid var(--border-subtle)!important;color:var(--text-muted)!important;font-size:.8125rem;padding:.75rem 0 0!important;margin-top:.5rem}.ag-grid-table-container .ag-paging-button{color:var(--text-primary)!important;cursor:pointer}.ag-grid-table-container .ag-paging-button:hover{color:var(--accent-primary)!important}.ag-grid-table-container .ag-disabled .ag-paging-button{opacity:.35;cursor:not-allowed}.ag-grid-table-container .ag-pinned-left-header,.ag-grid-table-container .ag-pinned-left-cols-container{border-right:2px solid rgba(var(--accent-primary-rgb),.2)!important}.ag-grid-table-container .ag-popup{font-family:var(--font-sans)}.ag-grid-wrapper{user-select:none;-webkit-user-select:none}.ag-cell-selected-custom{background:rgba(var(--accent-primary-rgb),.15)!important;transition:background .1s ease,box-shadow .1s ease;cursor:cell;box-shadow:var(--selected-top, inset 0 0 0 transparent),var(--selected-bottom, inset 0 0 0 transparent),var(--selected-left, inset 0 0 0 transparent),var(--selected-right, inset 0 0 0 transparent);z-index:10!important}.selected-top{--selected-top: inset 0 2px 0 0 var(--accent-primary)}.selected-bottom{--selected-bottom: inset 0 -2px 0 0 var(--accent-primary)}.selected-left{--selected-left: inset 2px 0 0 0 var(--accent-primary)}.selected-right{--selected-right: inset -2px 0 0 0 var(--accent-primary)}.ag-cell-selected-custom:hover{background:rgba(var(--accent-primary-rgb),.2)!important}.table-status-right{display:flex;align-items:center;justify-content:flex-end;flex:1}.selection-info{display:flex;align-items:center;gap:.75rem}.selection-count{font-size:.75rem;color:var(--accent-primary);font-weight:600;background:rgba(var(--accent-primary-rgb),.1);padding:.25rem .625rem;border-radius:12px}.clear-selection-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.clear-selection-btn:hover{background:#ef444426;border-color:#ef44444d}.clear-selection-btn svg{width:10px;height:10px}.selection-hint{font-size:.75rem;color:var(--text-muted);padding:.375rem .75rem;background:rgba(var(--accent-primary-rgb),.04);border:1px solid rgba(var(--accent-primary-rgb),.08);border-radius:6px;animation:hintFadeIn .3s ease-out}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.selection-hint kbd{display:inline-block;padding:.1rem .35rem;font-size:.625rem;font-family:var(--font-mono);color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.2);border-radius:3px;line-height:1;vertical-align:middle}.visualize-btn.has-selection{box-shadow:0 4px 20px rgba(var(--accent-primary-rgb),.4);animation:visualizePulse 2s infinite ease-in-out}.visualize-btn.disabled{filter:grayscale(1);opacity:.5;cursor:not-allowed;animation:none!important;pointer-events:auto}.selection-warning{font-size:.6875rem;color:#f59e0b;font-weight:500;background:#f59e0b1a;padding:.2rem .5rem;border-radius:6px;border:1px solid rgba(245,158,11,.2)}@keyframes visualizePulse{0%,to{box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.2)}50%{box-shadow:0 4px 20px rgba(var(--accent-primary-rgb),.4)}}@media (max-width: 768px){.ag-grid-table-container .ag-grid-header{flex-direction:column}.ag-grid-table-container .table-controls{width:100%}.ag-grid-table-container .search-input,.ag-grid-table-container .filter-input{width:100%;flex:1}.ag-grid-table-container .filter-wrapper{width:100%}}.stacked-bar-container{background:linear-gradient(145deg,#16161fe6,#12121af2);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease}.stacked-bar-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.stacked-bar-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}[data-theme=light] .stacked-bar-container{box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}[data-theme=light] .stacked-bar-container:hover{box-shadow:0 4px 20px #0000001a}.stacked-bar-container .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;padding-right:1.3rem}.stacked-bar-container .chart-title-section{flex:1;min-width:0}.stacked-bar-container .chart-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.stacked-bar-container .chart-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.stacked-bar-container .chart-stats{display:flex;gap:1rem;flex-shrink:0}.stacked-bar-container .stat{text-align:right;padding:.5rem .75rem;background:#ffffff05;border-radius:8px;border:1px solid transparent;transition:all .2s ease}.stacked-bar-container .stat.highlighted{background:linear-gradient(135deg,#00d4ff14,#7c3aed14);border-color:#00d4ff26}[data-theme=light] .stacked-bar-container .stat.highlighted{background:linear-gradient(135deg,#1e3a5f0f,#3b82f60f)}[data-theme=midnight] .stacked-bar-container .stat.highlighted{background:linear-gradient(135deg,#14b8a61a,#3b82f61a)}.stacked-bar-container .stat-value{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.02em}.stacked-bar-container .stat.highlighted .stat-value{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stacked-bar-container .stat-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem}.stacked-bar-container .chart-body{position:relative;padding:.5rem 0}.stacked-bar-container .chart-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.stacked-bar-container .chart-meta{display:flex;gap:1.5rem}.stacked-bar-container .meta-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.stacked-bar-container .meta-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;opacity:.7}[data-theme=light] .stacked-bar-container .meta-dot{opacity:1}@media (max-width: 640px){.stacked-bar-container .chart-header{flex-direction:column;gap:1rem}.stacked-bar-container .chart-stats{width:100%;justify-content:flex-start}.stacked-bar-container .stat{flex:1;text-align:center}}.tree-chart-container{background:var(--card-bg, rgba(22, 22, 31, .6));border-radius:16px;padding:1.5rem;border:1px solid var(--card-border, rgba(255, 255, 255, .06));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;display:flex;flex-direction:column}.tree-chart-container .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;padding-right:1.3rem}.tree-chart-container .chart-title-section{flex:1}.tree-chart-container .chart-title{font-size:1rem;font-weight:600;color:var(--text-primary, #f8fafc);margin:0 0 .25rem}.tree-chart-container .chart-subtitle{font-size:.8rem;color:var(--text-secondary, #94a3b8);margin:0}.tree-chart-container .chart-stats{display:flex;gap:1rem}.tree-chart-container .stat{text-align:right}.tree-chart-container .stat-value{display:block;font-size:1.1rem;font-weight:600;color:var(--text-primary, #f8fafc)}.tree-chart-container .stat-label{font-size:.7rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.tree-chart-container .stat.highlighted .stat-value{color:var(--accent-primary, #00d4ff)}.tree-chart-container .chart-body{flex:1;position:relative;min-height:0;overflow:hidden}.tree-chart-container .treemap-body{overflow-y:auto}.tree-chart-container .treemap-grid{display:flex;flex-wrap:wrap;gap:.75rem;height:100%}.tree-chart-container .treemap-group{background:#ffffff08;border-radius:12px;border-left:3px solid;padding:.75rem;min-width:200px;max-width:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.tree-chart-container .treemap-group:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.tree-chart-container .group-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.tree-chart-container .group-name{font-size:.85rem;font-weight:600;color:var(--text-primary, #f8fafc)}.tree-chart-container .group-value{font-size:.75rem;color:var(--accent-primary, #00d4ff);font-weight:500}.tree-chart-container .group-items{display:flex;flex-direction:column;gap:.35rem}.tree-chart-container .treemap-item{display:flex;justify-content:space-between;align-items:center;padding:.35rem .5rem;border-radius:6px;font-size:.75rem;transition:background .2s}.tree-chart-container .treemap-item:hover{background:#ffffff14!important}.tree-chart-container .item-label{color:var(--text-secondary, #94a3b8);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-chart-container .item-value{color:var(--text-primary, #f8fafc);font-weight:500;margin-left:.5rem}.tree-chart-container .treemap-more{font-size:.7rem;color:var(--text-secondary, #64748b);text-align:center;padding:.25rem;font-style:italic}.tree-chart-container .chart-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .06))}.tree-chart-container .chart-meta{display:flex;gap:1.5rem;font-size:.75rem;color:var(--text-secondary, #94a3b8)}.tree-chart-container .meta-item{display:flex;align-items:center;gap:.5rem}.tree-chart-container .meta-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary, #00d4ff)}[data-theme=light] .tree-chart-container{background:var(--card-bg, rgba(255, 255, 255, .9));border-color:var(--card-border, rgba(0, 0, 0, .08))}[data-theme=light] .tree-chart-container .chart-title,[data-theme=light] .tree-chart-container .group-name,[data-theme=light] .tree-chart-container .item-value{color:var(--text-primary, #1f2937)}[data-theme=light] .tree-chart-container .treemap-group{background:#00000005}[data-theme=light] .tree-chart-container .treemap-item:hover{background:#0000000d!important}.gauge-chart-container{background:var(--bg-card);border-radius:16px;padding:1.5rem;border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);transition:all .3s ease;position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column;align-items:flex-start}.gauge-chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.gauge-chart-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}.gauge-chart-container .gauge-header{text-align:left;margin-bottom:.5rem;width:100%;padding-right:1.3rem}.gauge-chart-container .gauge-title{font-size:1rem;font-weight:600;color:var(--text-primary, #f8fafc);margin:0 0 .25rem}.gauge-chart-container .gauge-subtitle{font-size:.8rem;color:var(--text-secondary, #94a3b8);margin:0}.gauge-chart-container .gauge-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}.gauge-chart-container .gauge-svg{display:block}.gauge-chart-container .gauge-label{font-size:11px;font-family:DM Sans,sans-serif}.gauge-chart-container .gauge-value-container{position:absolute;bottom:30px;left:0;width:200px;display:flex;flex-direction:column;align-items:center}.gauge-chart-container .gauge-value{font-size:2rem;font-weight:700;display:block;line-height:1}.gauge-chart-container .gauge-unit{font-size:.8rem;color:var(--text-secondary, #94a3b8);margin-left:.25rem}.gauge-chart-container .gauge-footer{margin-top:.5rem;width:100%}.gauge-chart-container .gauge-legend{display:flex;justify-content:space-between;gap:0;font-size:.75rem;color:var(--text-secondary, #94a3b8);width:184px;margin-left:8px}.gauge-chart-container .legend-item{display:flex;align-items:center;gap:.35rem}.gauge-chart-container .legend-dot{width:8px;height:8px;border-radius:50%}[data-theme=light] .gauge-chart-container{background:var(--card-bg, rgba(255, 255, 255, .9));border-color:var(--card-border, rgba(0, 0, 0, .08))}[data-theme=light] .gauge-chart-container .gauge-title{color:var(--text-primary, #1f2937)}.us-map-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease;--map-empty-state: rgba(100, 116, 139, .15);--map-state-border: var(--bg-primary);--map-boundary: var(--border-accent)}[data-theme=light] .us-map-container{--map-empty-state: rgba(100, 116, 139, .1);--map-state-border: #fff;--map-boundary: rgba(30, 58, 95, .3)}[data-theme=midnight] .us-map-container{--map-empty-state: rgba(100, 116, 139, .12);--map-state-border: var(--bg-primary);--map-boundary: rgba(20, 184, 166, .3)}.us-map-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),var(--border-accent),transparent)}.us-map-container:hover{border-color:var(--border-accent);box-shadow:var(--shadow-card),var(--shadow-glow);transform:translateY(-2px)}.us-map-container.compact{padding:.6rem;border-radius:10px}.us-map-container.compact:before{display:none}.us-map-container.compact:hover{transform:none;box-shadow:none;border-color:var(--border-subtle)}[data-theme=light] .us-map-container{box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}[data-theme=light] .us-map-container:hover{box-shadow:0 4px 20px #0000001a}.map-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;padding-right:1.3rem}.map-title-section{flex:1}.map-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .25rem}.map-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.map-legend{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.5rem .75rem;background:#ffffff05;border-radius:8px;border:1px solid var(--border-subtle)}[data-theme=light] .map-legend{background:#00000005}.legend-gradient{width:80px;height:8px;border-radius:4px;box-shadow:inset 0 1px 2px #0000001a}.legend-label{font-size:.6875rem;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.map-body{position:relative;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-subtle)}.us-map-container.compact .map-body{padding:.45rem;border-radius:8px}.us-map-svg{width:100%;height:100%;max-height:100%}.state-path{cursor:pointer;transition:all .2s ease;stroke-width:1}.state-path:hover,.state-path.hovered{stroke:var(--accent-primary);stroke-width:2;filter:brightness(1.2);transform-origin:center}.map-tooltip{position:absolute;background:var(--bg-card);border:1px solid var(--border-accent);border-radius:8px;padding:.5rem .75rem;pointer-events:none;z-index:100;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;gap:.125rem;min-width:80px}[data-theme=light] .map-tooltip{box-shadow:0 4px 12px #00000026}.map-tooltip strong{font-size:.875rem;color:var(--text-primary);font-weight:600}.map-tooltip span{font-size:.75rem;color:var(--text-secondary);font-family:var(--font-mono)}@media (max-width: 640px){.map-header{flex-direction:column;gap:.75rem}.map-legend{width:100%;justify-content:center}.legend-gradient{flex:1;max-width:120px}}.dynamic-page{padding:var(--grid-padding, 2rem);min-height:100%;animation:page-fade-in .2s ease-out;will-change:opacity}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-header{margin-bottom:2rem}.page-header-content{max-width:800px}.page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.page-subtitle{font-size:.9375rem;color:var(--text-secondary);margin:0;line-height:1.5}.compare-by-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:popup-fade-in .2s ease-out}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}.compare-by-popup{background:var(--bg-card, #1e293b);border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:16px;padding:1.5rem;max-width:420px;width:90%;box-shadow:0 20px 60px #0006;animation:popup-scale-in .2s ease-out}@keyframes popup-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.popup-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.popup-icon{font-size:1.5rem;flex-shrink:0}.popup-content{flex:1}.popup-title{font-size:1rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 .5rem}.popup-message{font-size:.875rem;color:var(--text-secondary, #94a3b8);line-height:1.5;margin:0}.popup-message strong{color:var(--primary, #6366f1)}.popup-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.popup-btn{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.popup-btn-primary{background:var(--primary, #6366f1);border:none;color:#fff}.popup-btn-primary:hover{background:var(--primary-hover, #4f46e5)}.page-grid{display:grid;grid-template-columns:repeat(var(--grid-columns, 3),1fr);gap:var(--grid-gap, 1.5rem);align-items:stretch;justify-items:stretch}.chart-container{min-height:0;width:100%;display:flex;flex-direction:column;position:relative}.explore-preset-btn{position:absolute;top:.5rem;right:.9rem;z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:rgba(var(--accent-primary-rgb, 0, 212, 255),.08);color:var(--text-muted);opacity:0;transition:all .2s ease;text-decoration:none}.chart-container:hover .explore-preset-btn{opacity:1}.explore-preset-btn:hover{background:rgba(var(--accent-primary-rgb, 0, 212, 255),.18);color:var(--accent-primary);transform:scale(1.1)}.applied-filters-badge{position:absolute;top:.5rem;left:.5rem;z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:rgba(var(--accent-primary-rgb, 0, 212, 255),.12);color:var(--accent-primary, #00d4ff);cursor:default;transition:all .2s ease;opacity:.7}.chart-container:hover .applied-filters-badge{opacity:1}.applied-filters-badge:hover{background:rgba(var(--accent-primary-rgb, 0, 212, 255),.25);opacity:1}.applied-filters-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#0f172af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.4rem .65rem;width:max-content;max-width:400px;box-shadow:0 8px 24px #0006;overflow:hidden;z-index:100;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.applied-filters-badge:hover .applied-filters-tooltip{display:block}.filters-tooltip-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem;font-size:.75rem;line-height:1.7}.filters-tooltip-row+.filters-tooltip-row{border-top:1px solid rgba(255,255,255,.06);padding-top:.25rem;margin-top:.25rem}.filters-tooltip-label{font-weight:600;white-space:nowrap;flex-shrink:0}.filters-tooltip-label.applied{color:var(--accent-primary, #00d4ff)}.filters-tooltip-label.skipped{color:var(--text-muted, #475569)}.filters-tooltip-values{color:var(--text-secondary, #94a3b8);white-space:normal;word-break:break-word}.chart-container .data-table-container,.chart-container .bar-chart-container,.chart-container .line-chart-container,.chart-container .stacked-bar-container,.chart-container .scatter-chart-container,.chart-container .pivot-table{width:100%;flex:1;min-height:0;height:100%}.chart-container .ag-grid-table-container{width:100%;min-height:0}.chart-loading{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;height:100%;min-height:200px}.loading-skeleton{display:flex;flex-direction:column;gap:1rem;height:100%}.skeleton-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.skeleton-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.75rem}.skeleton-bar{height:12px;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--border-subtle) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:6px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-error{background:var(--bg-card);border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.error-icon{font-size:2rem;margin-bottom:.75rem}.error-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.error-message{font-size:.8125rem;color:var(--text-muted);max-width:300px}.page-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.not-found-icon{font-size:4rem;margin-bottom:1.5rem}.page-not-found h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.page-not-found p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 .5rem}@media (max-width: 1200px){.page-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dynamic-page{padding:1.5rem 1rem}.page-grid{grid-template-columns:1fr}.page-title{font-size:1.5rem}.chart-container{grid-column:span 1!important}}.page-builder{max-width:900px;margin:0 auto;padding:2rem}.page-builder-header{margin-bottom:2rem;text-align:center}.page-builder-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.page-builder-header p{color:var(--text-secondary);font-size:.9375rem}.page-builder-steps{display:flex;justify-content:center;gap:.5rem;margin-bottom:2.5rem;padding:0 1rem}.step{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .2s ease}.step:hover:not(.active){border-color:var(--border-accent)}.step.active{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary)}.step.completed{background:rgba(var(--accent-success-rgb, 34, 197, 94),.1);border-color:var(--accent-success, #22c55e)}.step-indicator{width:24px;height:24px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-muted)}.step.active .step-indicator{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.step.completed .step-indicator{background:var(--accent-success, #22c55e);border-color:var(--accent-success, #22c55e);color:#fff}.step-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.step.active .step-label{color:var(--accent-primary)}.step.completed .step-label{color:var(--accent-success, #22c55e)}.page-builder-error{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;margin-bottom:1.5rem}.page-builder-error span{flex:1;font-size:.875rem}.page-builder-error button{background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;opacity:.7;transition:opacity .2s}.page-builder-error button:hover{opacity:1}.page-builder-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:2rem;margin-bottom:1.5rem}.step-content h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.step-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-size:.9375rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.375rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.icon-picker{display:flex;flex-wrap:wrap;gap:.5rem}.icon-option{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.icon-option:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.icon-option.selected{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.column-selector{display:flex;gap:1rem}.column-option{flex:1;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center}.column-option:hover{border-color:var(--accent-primary)}.column-option.selected{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary)}.column-preview{display:flex;gap:4px;justify-content:center;margin-bottom:.5rem}.column-bar{width:12px;height:24px;background:var(--text-muted);border-radius:2px;opacity:.3}.column-option.selected .column-bar{background:var(--accent-primary);opacity:1}.column-option span{font-size:.75rem;color:var(--text-secondary)}.column-option.selected span{color:var(--accent-primary)}.layout-preview{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.layout-preview h4{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem}.preview-grid{display:grid;background:var(--bg-secondary);border-radius:8px}.preview-cell{height:60px;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-muted)}.template-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.template-option{padding:.875rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.template-option:hover{border-color:var(--accent-primary)}.template-option.selected{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary)}.template-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.template-option.selected .template-label{color:var(--accent-primary)}.template-desc{display:block;font-size:.6875rem;color:var(--text-muted)}.added-charts{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.added-charts h4{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.charts-list{display:flex;flex-direction:column;gap:.5rem}.chart-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px}.chart-item-info{display:flex;align-items:center;gap:1rem}.chart-item-title{font-size:.875rem;font-weight:500;color:var(--text-primary)}.chart-item-type{font-size:.75rem;color:var(--accent-primary);padding:.125rem .5rem;background:rgba(var(--accent-primary-rgb),.1);border-radius:4px}.chart-item-query{font-size:.75rem;color:var(--text-muted)}.chart-item-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;transition:color .2s}.chart-item-remove:hover{color:#ef4444}.add-chart-form{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:1.5rem}.add-chart-form h4{font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:1rem}.btn-add-chart{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(var(--accent-primary-rgb),.1);border:1px dashed var(--accent-primary);border-radius:8px;color:var(--accent-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:1rem}.btn-add-chart:hover{background:rgba(var(--accent-primary-rgb),.2)}.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.review-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:1.25rem}.review-section h4{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.review-section dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.review-section dt{font-size:.8125rem;color:var(--text-muted)}.review-section dd{font-size:.875rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.review-charts{list-style:none;padding:0;margin:0}.review-charts li{padding:.5rem 0;border-bottom:1px solid var(--border-subtle);font-size:.875rem;color:var(--text-primary)}.review-charts li:last-child{border-bottom:none}.review-charts .chart-query{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.yaml-preview-toggle{margin-bottom:1rem}.yaml-preview{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:1rem;overflow-x:auto;margin-bottom:1.5rem}.yaml-preview pre{margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.review-note{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:rgba(var(--accent-primary-rgb),.05);border:1px solid rgba(var(--accent-primary-rgb),.2);border-radius:8px;color:var(--text-secondary);font-size:.8125rem}.review-note p{margin:0;line-height:1.5}.review-note code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-size:.75rem}.page-builder-actions{display:flex;justify-content:space-between;gap:1rem}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent-primary);border:none;color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.page-builder-success{text-align:center;padding:4rem 2rem}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:#22c55e1a;border:2px solid #22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#22c55e}.page-builder-success h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.page-builder-success p{color:var(--text-secondary)}@media (max-width: 768px){.page-builder{padding:1rem}.page-builder-steps{flex-wrap:wrap}.step{flex:1 1 calc(50% - .25rem);justify-content:center}.step-label{display:none}.page-builder-content{padding:1.5rem}.template-picker{grid-template-columns:1fr}.column-selector{flex-wrap:wrap}.column-option{flex:1 1 calc(50% - .5rem)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#312e81);position:relative;overflow:hidden}.login-container{position:relative;z-index:10;background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:48px;width:100%;max-width:420px;border:1px solid rgba(148,163,184,.1);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #94a3b80d}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.logo-icon{width:48px;height:48px}.logo-text{font-size:28px;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.login-title{font-size:24px;font-weight:600;color:#f1f5f9;margin:0 0 8px}.login-subtitle{font-size:14px;color:#94a3b8;margin:0}.login-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#fca5a5;font-size:14px;margin-bottom:24px}.error-icon{width:20px;height:20px;flex-shrink:0;color:#ef4444}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:none;border-radius:12px;font-size:16px;font-weight:500;color:#1f2937;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a}.google-signin-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 15px -3px #0003}.google-signin-btn:active:not(:disabled){transform:translateY(0)}.google-signin-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:20px;height:20px}.btn-loading{display:flex;align-items:center;gap:12px}.loading-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.domain-notice{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding:12px;background:#6366f11a;border-radius:8px;color:#a5b4fc;font-size:13px}.notice-icon{width:16px;height:16px;flex-shrink:0}.login-bg-decoration{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.decoration-circle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%)}.circle-1{width:600px;height:600px;top:-200px;right:-200px;animation:float 20s ease-in-out infinite}.circle-2{width:400px;height:400px;bottom:-100px;left:-100px;animation:float 15s ease-in-out infinite reverse}.circle-3{width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse 10s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.5}}@media (max-width: 480px){.login-container{margin:16px;padding:32px 24px}.login-title{font-size:20px}}.auth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#312e81)}.callback-container{text-align:center;padding:48px;background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;border:1px solid rgba(148,163,184,.1);max-width:400px}.callback-container h2{color:#f1f5f9;font-size:20px;margin:24px 0 8px}.callback-container p{color:#94a3b8;font-size:14px;margin:0}.callback-spinner{position:relative;width:80px;height:80px;margin:0 auto}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid transparent;border-radius:50%;animation:spin 1.5s linear infinite}.spinner-ring:nth-child(1){border-top-color:#60a5fa;animation-delay:0s}.spinner-ring:nth-child(2){top:8px;right:8px;bottom:8px;left:8px;border-right-color:#a78bfa;animation-delay:.2s;animation-direction:reverse}.spinner-ring:nth-child(3){top:16px;right:16px;bottom:16px;left:16px;border-bottom-color:#34d399;animation-delay:.4s}@keyframes spin{to{transform:rotate(360deg)}}.callback-container.error{border-color:#ef44444d}.callback-icon{width:64px;height:64px;margin:0 auto;padding:16px;border-radius:50%}.callback-icon.error-icon{background:#ef44441a;color:#ef4444}.callback-icon svg{width:100%;height:100%}.error-message{color:#fca5a5!important;margin:16px 0 24px!important}.retry-btn{padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px -5px #6366f166}.persona-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.persona-section{border:1px solid var(--border-subtle);border-radius:24px;background:radial-gradient(circle at top right,rgba(var(--accent-primary-rgb),.14),transparent 32%),linear-gradient(180deg,#ffffff08,#fff0),var(--bg-card);box-shadow:var(--shadow-card)}.section-kicker{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary)}.persona-section h2{margin-top:.75rem;color:var(--text-primary);letter-spacing:-.04em}.persona-section h2{font-size:clamp(1.2rem,2vw,1.8rem)}.persona-card p,.layer-preview-card p,.persona-empty-state{color:var(--text-secondary)}.persona-section{padding:1.5rem}.persona-section-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.persona-reset-btn{padding:.75rem 1rem;border-radius:999px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-weight:700}.persona-reset-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.persona-reset-btn:disabled{opacity:.45;cursor:not-allowed}.persona-grid,.layer-preview-grid{display:grid;gap:1rem}.persona-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.layer-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.persona-card,.layer-preview-card{width:100%;text-align:left;border-radius:20px;border:1px solid var(--border-subtle);background:linear-gradient(180deg,#ffffff06,#ffffff03);color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.persona-card{display:flex;flex-direction:column;gap:1rem;min-height:220px;padding:1.2rem}.persona-card.active{border-color:var(--accent-primary);background:radial-gradient(circle at top right,rgba(var(--accent-primary-rgb),.15),transparent 34%),rgba(var(--accent-primary-rgb),.07)}.persona-card:hover,.layer-preview-card:hover{transform:translateY(-2px);border-color:rgba(var(--accent-primary-rgb),.28);box-shadow:0 10px 26px #00000029}.persona-card-top,.persona-card-footer,.layer-preview-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.persona-icon,.layer-preview-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:rgba(var(--accent-primary-rgb),.12);color:var(--accent-primary)}.persona-badge,.layer-preview-pill{display:inline-flex;align-items:center;min-height:28px;padding:.35rem .7rem;border-radius:999px;font-size:.74rem;font-weight:700}.persona-badge{background:#ffffff0f;color:var(--text-secondary)}.layer-preview-pill{background:rgba(var(--accent-primary-rgb),.1);color:var(--accent-primary)}.persona-card-copy h3,.layer-preview-card h3{color:var(--text-primary);font-size:1.08rem}.persona-card-copy p,.layer-preview-card p{margin-top:.55rem;line-height:1.55}.persona-default-filter{margin-top:.75rem;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:8px;background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.2);color:var(--accent-primary);font-size:.72rem;font-weight:700;letter-spacing:.02em}.persona-default-filter svg{opacity:.8}.persona-card-footer{margin-top:auto;color:var(--text-muted);font-size:.83rem}.layer-preview-card{padding:1.15rem}.persona-empty-state{padding:1.2rem;border-radius:18px;border:1px dashed rgba(var(--accent-primary-rgb),.24);background:rgba(var(--accent-primary-rgb),.05)}@media (max-width: 1180px){.persona-grid,.layer-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.persona-page{padding:1rem}.persona-section{padding:1.1rem;border-radius:20px}.persona-section-header{flex-direction:column;align-items:stretch}.persona-grid,.layer-preview-grid{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}::selection{background:rgba(var(--accent-primary-rgb),.3);color:var(--text-primary)}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#312e81);gap:16px}.auth-loading p{color:#94a3b8;font-size:14px}.auth-loading-spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}:root{--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #16161f;--bg-card-hover: #1a1a25;--accent-primary: #00d4ff;--accent-primary-rgb: 0, 212, 255;--accent-secondary: #7c3aed;--accent-tertiary: #f472b6;--accent-success: #10b981;--accent-warning: #f59e0b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(0, 212, 255, .3);--shadow-glow: 0 0 40px rgba(0, 212, 255, .15);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4)}[data-theme=electric]{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #16161f;--bg-card-hover: #1a1a25;--accent-primary: #00d4ff;--accent-secondary: #7c3aed;--accent-tertiary: #f472b6;--accent-success: #10b981;--accent-warning: #f59e0b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(0, 212, 255, .3);--shadow-glow: 0 0 40px rgba(0, 212, 255, .15);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4)}[data-theme=midnight]{--bg-primary: #0F111A;--bg-secondary: #1B1F2B;--bg-card: #161927;--bg-card-hover: #21263A;--accent-primary: #14B8A6;--accent-primary-rgb: 20, 184, 166;--accent-secondary: #3B82F6;--accent-tertiary: #A855F7;--accent-success: #22C55E;--accent-warning: #EAB308;--text-primary: #FFFFFF;--text-secondary: #C0C2C8;--text-muted: #6B7280;--border-subtle: rgba(255, 255, 255, .08);--border-accent: rgba(20, 184, 166, .3);--shadow-glow: 0 0 40px rgba(20, 184, 166, .12);--shadow-card: 0 4px 24px rgba(0, 0, 0, .5)}[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F8F9FA;--bg-card: #FFFFFF;--bg-card-hover: #F1F5F9;--accent-primary: #1E3A5F;--accent-primary-rgb: 30, 58, 95;--accent-secondary: #3B82F6;--accent-tertiary: #F97316;--accent-success: #14B8A6;--accent-warning: #EAB308;--text-primary: #1F2937;--text-secondary: #4B5563;--text-muted: #9CA3AF;--border-subtle: rgba(0, 0, 0, .08);--border-accent: rgba(30, 58, 95, .2);--shadow-glow: none;--shadow-card: 0 4px 16px rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:auto;transition:background-color .3s ease,color .3s ease}html,body,#root{height:auto}*{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}html[data-theme=electric]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(0,212,255,.04),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(124,58,237,.03),transparent),radial-gradient(ellipse 50% 30% at 0% 100%,rgba(244,114,182,.02),transparent);pointer-events:none;z-index:-1}html[data-theme=midnight]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(20,184,166,.04),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(59,130,246,.03),transparent),radial-gradient(ellipse 50% 30% at 0% 100%,rgba(168,85,247,.02),transparent);pointer-events:none;z-index:-1}html[data-theme=light]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(30,58,95,.03),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(59,130,246,.04),transparent);pointer-events:none;z-index:-1}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:#00d4ff4d;color:var(--text-primary)}
