:root{--color-bg: #f9f9f7;--color-surface: #fcfcfb;--color-border: #e1e0d9;--color-border-strong: #c3c2b7;--color-text: #0b0b0b;--color-text-muted: #52514e;--color-text-faint: #898781;--color-accent: #2a78d6;--color-accent-hover: #1c5cab;--color-accent-soft: #e8f0fc;--color-danger: #d03b3b;--color-danger-soft: #fbeaea;--color-success: #006300;--viz-series-1: #2a78d6;--viz-series-2: #eb6834;--viz-series-3: #1baf7a;--viz-series-4: #eda100;--viz-series-5: #e87ba4;--viz-gridline: #e1e0d9;--viz-baseline: #c3c2b7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(11, 11, 11, .05);--shadow-md: 0 4px 16px rgba(11, 11, 11, .06);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--duration-fast: .12s;--duration-base: .18s;--ease-standard: cubic-bezier(.2, 0, 0, 1);color-scheme:light}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--color-bg: #0d0d0d;--color-surface: #1a1a19;--color-border: #2c2c2a;--color-border-strong: #383835;--color-text: #ffffff;--color-text-muted: #c3c2b7;--color-text-faint: #898781;--color-accent: #3987e5;--color-accent-hover: #5598e7;--color-accent-soft: rgba(57, 135, 229, .14);--color-danger: #e66767;--color-danger-soft: rgba(230, 103, 103, .14);--color-success: #0ca30c;--viz-series-1: #3987e5;--viz-series-2: #d95926;--viz-series-3: #199e70;--viz-series-4: #c98500;--viz-series-5: #d55181;--viz-gridline: #2c2c2a;--viz-baseline: #383835;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em}button,input,select{font:inherit;color:inherit}a{color:var(--color-accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.tabular-nums{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.login-page{min-height:100svh;display:flex;flex-direction:column}.login-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);padding:var(--space-5);min-height:240px;background:linear-gradient(160deg,var(--viz-series-1),var(--viz-series-2));color:#fff}.login-blob{position:absolute;border-radius:50%;filter:blur(30px);pointer-events:none}.login-blob-1{width:220px;height:220px;top:-80px;right:-60px;background:#ffffff38}.login-blob-2{width:160px;height:160px;bottom:-50px;left:-40px;background:#ffffff24}.login-blob-3{width:120px;height:120px;bottom:30%;right:10%;background:#0000001a}.login-brand-top{position:relative;display:flex;align-items:center;gap:var(--space-3);animation:login-rise .48s var(--ease-standard) both}.login-brand-mark{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm);background:#ffffff2e;border:1px solid rgba(255,255,255,.3)}.login-eyebrow{margin:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd9}.login-brand-bottom{position:relative;display:flex;flex-direction:column;gap:var(--space-2);max-width:480px;animation:login-rise .52s var(--ease-standard) both;animation-delay:80ms}.login-brand-bottom h1{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.25;color:#fff;text-wrap:balance}.login-subtitle{margin:0;color:#ffffffd9;font-size:var(--text-sm);line-height:1.5}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--color-bg)}.login-card{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center;animation:login-rise .52s var(--ease-standard) both;animation-delay:.12s}.login-card-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-accent);background:var(--color-accent-soft);margin-bottom:var(--space-3)}.login-card-title{margin:0;font-size:var(--text-lg);font-weight:700}.login-card-subtitle{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.login-field{width:100%;display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.login-field label{font-size:var(--text-sm);font-weight:600}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:var(--space-3);display:flex;color:var(--color-text-faint);pointer-events:none}.login-field input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) calc(var(--space-3) * 2 + 18px);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-standard)}.login-field input:hover{border-color:var(--color-text-faint)}.login-card button{width:100%;margin-top:var(--space-2);padding:var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-base);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.login-card button:hover:not(:disabled){background:var(--color-accent-hover)}.login-card button:active:not(:disabled){transform:scale(.98)}.login-card button:disabled{opacity:.7;cursor:default}.login-error{width:100%;margin:0;padding:var(--space-2) var(--space-3);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:left}.spinner{animation:spin .8s linear infinite}.spinner-track{stroke:#ffffff59}.spinner-head{stroke:#fff}@keyframes spin{to{transform:rotate(360deg)}}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1024px){.login-page{flex-direction:row}.login-brand-panel{flex:0 0 44%;min-height:100svh;padding:var(--space-8)}.login-brand-bottom h1{font-size:var(--text-2xl)}.login-form-panel{flex:1;padding:var(--space-8)}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filter-bar{display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.filter-field{display:flex;flex-direction:column;gap:var(--space-1)}.filter-field label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.filter-field input,.filter-field select{padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-standard)}.filter-field input:hover,.filter-field select:hover{border-color:var(--color-text-faint)}.generate-button{padding:var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-base);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.generate-button:hover:not(:disabled){background:var(--color-accent-hover)}.generate-button:active:not(:disabled){transform:scale(.98)}.generate-button:disabled{opacity:.7;cursor:default}@media (min-width: 768px){.filter-bar{flex-direction:row;align-items:flex-end}.filter-field{flex:1}.generate-button{flex-shrink:0}}.stat-tile{position:relative;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);animation:tile-rise .48s var(--ease-standard) both;transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.stat-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tile-accent)}.stat-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-tile-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--color-text-muted)}.stat-tile-value{font-size:var(--text-2xl);font-weight:600;line-height:1.15}.stat-tile-delta{font-size:var(--text-xs);color:var(--color-text-faint)}@keyframes tile-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.breakdown-empty{color:var(--color-text-muted);padding:var(--space-6);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.breakdown-table{width:100%;display:block;border-collapse:collapse;font-variant-numeric:tabular-nums}.breakdown-table thead{display:none}.breakdown-table tbody{display:block}.breakdown-table tr{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.breakdown-table td{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;border:none}.breakdown-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted)}@media (min-width: 1024px){.breakdown-table{display:table;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.breakdown-table thead{display:table-header-group}.breakdown-table thead th{background:var(--color-bg);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.breakdown-table tbody{display:table-row-group}.breakdown-table tr{display:table-row;border:none;margin-bottom:0;padding:0;transition:background-color var(--duration-fast) var(--ease-standard)}.breakdown-table tbody tr:hover{background:var(--color-accent-soft)}.breakdown-table th,.breakdown-table td{display:table-cell;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.breakdown-table tbody tr:last-child td{border-bottom:none}.breakdown-table td:before{content:none}}.trend-chart{position:relative}.chart-crosshair{stroke:var(--color-text-faint);stroke-width:1;stroke-dasharray:2 2}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-marker-ring{fill:var(--color-surface)}.chart-svg{width:100%;height:auto;display:block}.chart-legend{display:flex;gap:var(--space-4);margin-bottom:var(--space-2)}.chart-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.chart-swatch{display:inline-block;width:10px;height:10px;border-radius:999px;flex-shrink:0}.chart-gridline{stroke:var(--viz-gridline);stroke-width:1}.chart-baseline{stroke:var(--viz-baseline);stroke-width:1}.chart-end-label,.chart-axis-label{font-size:9px;fill:var(--color-text-muted);font-family:var(--font-sans)}.chart-tooltip{position:absolute;top:0;right:0;display:flex;flex-direction:column;gap:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);pointer-events:none}.chart-tooltip span{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.chart-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-6)}.volume-chart{position:relative}.chart-bar{fill:var(--viz-series-1);transition:opacity var(--duration-fast) var(--ease-standard)}.chart-bar-hover{opacity:.8}.chart-bar-label{font-size:10px;font-weight:600;fill:var(--color-text);font-family:var(--font-sans)}.widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);animation:widget-rise .52s var(--ease-standard) both;transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.widget:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.widget-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.widget-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-accent);background:var(--color-accent-soft)}.widget-title{flex:1;font-size:var(--text-sm);font-weight:700;margin:0}.widget-badge{flex-shrink:0;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:2px var(--space-2)}@keyframes widget-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:calc(var(--space-2) * -1)}.section-label-icon{display:flex;color:var(--color-text-faint)}.dashboard{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5);background:var(--color-bg)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);animation:header-rise .48s var(--ease-standard) both}.dashboard-header-text{display:flex;align-items:center;gap:var(--space-3)}.dashboard-brand-mark{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--text-sm);background:linear-gradient(135deg,var(--viz-series-1),var(--viz-series-2));box-shadow:var(--shadow-md)}.dashboard-eyebrow{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.dashboard-header h1{font-size:var(--text-xl);font-weight:700;margin:0}@keyframes header-rise{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.logout-button{flex-shrink:0;background:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.logout-button:hover{background:var(--color-bg);border-color:var(--color-text-faint)}.dashboard-prompt{margin:0;padding:var(--space-4);text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.dashboard-prompt-error{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger)}.dashboard-content{display:flex;flex-direction:column;gap:var(--space-5)}.dashboard-content-updating{opacity:.5;transition:opacity var(--duration-base) var(--ease-standard);pointer-events:none}.dashboard-updating-hint{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.stat-grid,.chart-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.skeleton-chart{display:block;width:100%;height:220px;border-radius:var(--radius-sm)}.stat-skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-line{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line-sm{width:60%;height:.7rem}.skeleton-line-lg{width:80%;height:1.5rem}.table-skeleton{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-row{width:100%;height:3rem;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (min-width: 768px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.dashboard{max-width:1180px;margin:0 auto;padding:var(--space-6)}.stat-grid{grid-template-columns:repeat(5,1fr)}.chart-grid{grid-template-columns:repeat(2,1fr)}}
