@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Nunito+Sans:wght@400;500;600;700&display=swap";*{font-family:Nunito Sans,Plus Jakarta Sans,system-ui,-apple-system,sans-serif;letter-spacing:0!important}:root,[data-theme=light]{--bg-base:oklch(98.2% .006 95);--bg-surface:oklch(99.2% .003 95);--bg-elevated:oklch(100% 0 0);--bg-inset:oklch(96.5% .007 100);--primary:oklch(42% .09 235);--primary-hover:oklch(36% .1 235);--primary-subtle:oklch(95% .012 235);--primary-muted:oklch(88% .022 235);--primary-gradient:linear-gradient(145deg, oklch(44% .12 240), oklch(36% .1 250));--primary-glass:oklch(42% .11 245/.08);--accent:oklch(56% .11 155);--accent-hover:oklch(50% .12 155);--accent-subtle:oklch(95% .02 155);--info:oklch(56% .09 240);--info-subtle:oklch(96% .018 240);--status-success:oklch(58% .1 155);--status-warning:oklch(72% .12 80);--status-error:oklch(55% .15 25);--text-primary:oklch(22% .02 245);--text-secondary:oklch(40% .018 245);--text-muted:oklch(56% .012 245);--text-faint:oklch(68% .008 245);--text-on-primary:oklch(98% .003 245);--border-subtle:oklch(94% .008 245);--border-muted:oklch(90% .012 245);--decor-dot-pattern:linear-gradient(90deg, oklch(42% .09 235/.012) 1px, transparent 1px), linear-gradient(0deg, oklch(56% .11 155/.01) 1px, transparent 1px);--decor-gradient-header:linear-gradient(180deg, oklch(99.5% .003 245/.9) 0%, oklch(97% .008 240/.82) 100%);--shadow-xs:0 1px 2px oklch(22% .02 245/.04);--shadow-sm:0 1px 3px oklch(22% .02 245/.035), 0 10px 28px oklch(42% .11 245/.035);--shadow-md:0 2px 4px oklch(22% .02 245/.03), 0 16px 38px oklch(42% .11 245/.07);--shadow-lg:0 8px 16px oklch(22% .02 245/.06), 0 26px 70px oklch(42% .11 245/.1);--shadow-glow:0 0 0 3px oklch(42% .11 245/.12);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-base:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:9999px;--ease-out:cubic-bezier(.33, 1, .68, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.16s;--duration-slow:.22s}[data-theme=dark]{--bg-base:oklch(18% .008 55);--bg-surface:oklch(20% .007 55);--bg-elevated:oklch(24% .008 55);--bg-inset:oklch(15% .006 55);--primary:oklch(68% .12 45);--primary-hover:oklch(72% .13 45);--primary-subtle:oklch(24% .03 45);--primary-muted:oklch(30% .04 45);--primary-gradient:linear-gradient(145deg, oklch(68% .12 48), oklch(60% .1 38));--primary-glass:oklch(68% .12 45/.1);--accent:oklch(68% .1 160);--accent-hover:oklch(72% .11 160);--accent-subtle:oklch(22% .02 160);--info:oklch(68% .08 255);--info-subtle:oklch(22% .02 255);--status-success:oklch(65% .12 155);--status-warning:oklch(72% .12 80);--status-error:oklch(62% .16 25);--text-primary:oklch(92% .005 55);--text-secondary:oklch(72% .005 55);--text-muted:oklch(55% .004 55);--text-faint:oklch(42% .003 55);--text-on-primary:oklch(15% .01 55);--border-subtle:oklch(28% .006 55);--border-muted:oklch(32% .008 55);--decor-dot-pattern:radial-gradient(circle, oklch(68% .12 45/.03) 1px, transparent 1px);--decor-gradient-header:linear-gradient(180deg, oklch(20% .007 55) 0%, oklch(18% .008 55) 100%);--shadow-xs:0 1px 2px oklch(0% 0 0/.15);--shadow-sm:0 1px 3px oklch(0% 0 0/.15), 0 4px 12px oklch(0% 0 0/.12);--shadow-md:0 2px 4px oklch(0% 0 0/.12), 0 8px 24px oklch(0% 0 0/.18);--shadow-lg:0 4px 8px oklch(0% 0 0/.15), 0 12px 40px oklch(0% 0 0/.22);--shadow-glow:0 0 0 3px oklch(68% .12 45/.15)}[data-theme=harmony]{--bg-base:oklch(94% .015 245);--bg-surface:oklch(96% .012 245);--bg-elevated:oklch(98% .008 245);--bg-inset:oklch(91% .018 245);--primary:oklch(50% .12 245);--primary-hover:oklch(46% .13 245);--primary-subtle:oklch(92% .025 245);--primary-muted:oklch(86% .035 245);--primary-gradient:linear-gradient(145deg, oklch(52% .12 240), oklch(44% .1 250));--primary-glass:oklch(50% .12 245/.1);--accent:oklch(48% .09 225);--accent-hover:oklch(44% .1 225);--accent-subtle:oklch(92% .02 225);--info:oklch(48% .08 248);--info-subtle:oklch(92% .02 248);--status-success:oklch(55% .1 150);--status-warning:oklch(70% .13 78);--status-error:oklch(52% .15 22);--text-primary:oklch(22% .018 245);--text-secondary:oklch(40% .014 245);--text-muted:oklch(56% .01 245);--text-faint:oklch(68% .006 245);--text-on-primary:oklch(97% .004 245);--border-subtle:oklch(88% .012 245);--border-muted:oklch(84% .015 245);--decor-dot-pattern:radial-gradient(circle, oklch(50% .12 245/.04) 1px, transparent 1px);--decor-gradient-header:linear-gradient(180deg, oklch(97% .01 245) 0%, oklch(94% .012 240) 100%);--shadow-xs:0 1px 2px oklch(22% .018 245/.06);--shadow-sm:0 1px 3px oklch(22% .018 245/.06), 0 4px 12px oklch(22% .018 245/.05);--shadow-md:0 2px 4px oklch(22% .018 245/.05), 0 8px 24px oklch(22% .018 245/.08);--shadow-lg:0 4px 8px oklch(22% .018 245/.06), 0 12px 40px oklch(22% .018 245/.1);--shadow-glow:0 0 0 3px oklch(50% .12 245/.14)}:root,[data-theme]{--surface:var(--bg-elevated);--surface-muted:var(--bg-inset);--bg-subtle:var(--bg-inset);--border:var(--border-subtle);--border-soft:var(--border-muted);--color-primary:var(--primary);--danger:var(--status-error);--brand-primary:var(--primary);--panel-highlight:linear-gradient(135deg, color-mix(in oklch, var(--primary) 10%, var(--bg-elevated)), color-mix(in oklch, var(--accent) 8%, var(--bg-elevated)))}body,.card,.header,.mobile-nav,.btn{transition:background-color var(--duration-slow) var(--ease-out), color var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}.app-container{background-image:var(--decor-dot-pattern);background-size:96px 96px,96px 96px;flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.app-container:before{content:none;z-index:0}.header,.main-layout,.mobile-nav{z-index:1;position:relative}.card{background:linear-gradient(180deg, color-mix(in oklch, var(--bg-elevated) 94%, white), color-mix(in oklch, var(--bg-elevated) 86%, var(--bg-inset))), var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid color-mix(in oklch, var(--border-muted) 76%, transparent);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.card:hover{box-shadow:var(--shadow-md)}.interactive-card{transition:background-color var(--duration-slow) var(--ease-out), color var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.interactive-card:hover{transform:translateY(-1px)}.btn{border-radius:var(--radius-pill);cursor:pointer;letter-spacing:0;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary-gradient);color:var(--text-on-primary);box-shadow:inset 0 1px 0 oklch(100% 5.96046e-8 none/.18), 0 10px 24px color-mix(in oklch, var(--primary) 24%, transparent)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px oklch(42% .11 245/.25)}.btn-primary:active{transform:translateY(0)}.btn-ghost{border-color:color-mix(in oklch, var(--border-subtle) 78%, transparent);background:color-mix(in oklch, var(--bg-elevated) 72%, transparent);color:var(--text-secondary);padding:8px 16px}.btn-ghost:hover{background:var(--bg-inset);color:var(--text-primary)}.btn-outline{color:var(--primary);border:2px solid var(--primary);background:0 0;padding:8px 16px;font-weight:700}.btn-outline:hover{background:var(--primary-subtle)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.badge{border-radius:var(--radius-pill);letter-spacing:0;padding:3px 10px;font-size:11px;font-weight:700}.badge-ai{background:var(--info-subtle);color:var(--info)}.badge-human{background:var(--accent-subtle);color:var(--accent)}.badge-waiting{background:var(--primary-subtle);color:var(--primary);animation:2.5s ease-in-out infinite pulse-subtle}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.65}}.page-title{color:var(--text-primary);letter-spacing:0;font-size:22px;font-weight:800;line-height:1.2}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px;font-weight:500}.section-label{text-transform:uppercase;letter-spacing:0;color:var(--text-faint);font-size:11px;font-weight:700}.loading-state{height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:oklch(50% .1 45/.08)}::-webkit-scrollbar-thumb:hover{background:oklch(50% .1 45/.15)}::selection{color:var(--text-primary);background:oklch(50% .1 45/.15)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}.skip-to-main{background:var(--primary);color:var(--text-on-primary);border-radius:var(--radius-sm);z-index:10000;padding:8px 16px;font-weight:600;text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-main:focus{top:8px;left:8px}button,a,input[type=radio],select{min-width:44px;min-height:44px}input[type=checkbox]{cursor:pointer;min-width:18px;min-height:18px}input[type=checkbox]:indeterminate{accent-color:var(--primary)}.selection-checkbox,.scenario-checkbox input[type=checkbox],.product-card-checkbox input[type=checkbox],.select-all-label input[type=checkbox]{appearance:none;border:1.5px solid color-mix(in oklch, var(--border-muted) 86%, var(--text-muted));border-radius:var(--radius-sm);background:linear-gradient(180deg, color-mix(in oklch, var(--bg-elevated) 96%, white), color-mix(in oklch, var(--bg-inset) 92%, white));width:20px;min-width:20px;height:20px;min-height:20px;box-shadow:inset 0 1px 0 oklch(100% 5.96046e-8 none/.48), 0 1px 2px color-mix(in oklch, var(--text-primary) 8%, transparent);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);place-items:center;display:inline-grid}.selection-checkbox:before,.scenario-checkbox input[type=checkbox]:before,.product-card-checkbox input[type=checkbox]:before,.select-all-label input[type=checkbox]:before{content:"";clip-path:polygon(14% 44%,0 59%,39% 100%,100% 18%,84% 4%,38% 72%);background:var(--text-on-primary);width:10px;height:10px;transition:transform var(--duration-fast) var(--ease-out);transform:scale(0)}.selection-checkbox:checked,.scenario-checkbox input[type=checkbox]:checked,.product-card-checkbox input[type=checkbox]:checked,.select-all-label input[type=checkbox]:checked,.selection-checkbox:indeterminate{border-color:var(--primary);background:var(--primary-gradient);box-shadow:inset 0 1px 0 oklch(100% 5.96046e-8 none/.18), 0 0 0 3px color-mix(in oklch, var(--primary) 16%, transparent)}.selection-checkbox:checked:before,.scenario-checkbox input[type=checkbox]:checked:before,.product-card-checkbox input[type=checkbox]:checked:before,.select-all-label input[type=checkbox]:checked:before{transform:scale(1)}.selection-checkbox:indeterminate:before{clip-path:none;border-radius:999px;width:10px;height:2px;transform:scale(1)}.btn-sm,.btn-text-sm{min-width:36px;min-height:36px}@media (prefers-contrast:high){:root{--border-subtle:oklch(50% .05 245);--border-muted:oklch(45% .08 245)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.page-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.header-actions{gap:var(--space-sm);flex-direction:column;width:100%}.search-box{width:100%}.btn{justify-content:center;width:100%}.card{padding:var(--space-md)}button,a,input{min-height:44px}}@media (width<=640px){.page-title{font-size:20px}.page-subtitle{font-size:12px}.filter-bar,.orders-toolbar{gap:var(--space-sm);flex-direction:column}.filter-group{width:100%}}@media print{.btn,.header-actions,.filter-bar,.pagination{display:none}.card{box-shadow:none;border:1px solid #ddd}}.sortable-header{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.sortable-header.align-center{justify-content:center}.sortable-header.align-right{justify-content:flex-end}.sortable-header__icon{width:16px;height:16px;color:var(--text-faint);flex:0 0 16px;place-items:center;font-size:11px;line-height:1;display:inline-grid;overflow:visible}.sortable-header.active .sortable-header__icon{color:var(--primary)}.action-dropdown-container{display:inline-block;position:relative}.btn-action-trigger{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-elevated);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast);place-items:center;padding:0;display:inline-grid}.btn-action-trigger:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-subtle)}.action-dropdown-menu{z-index:999;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);min-width:140px;box-shadow:var(--shadow-md);animation:dropdown-enter .15s var(--ease-out);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.action-dropdown-menu button,.action-dropdown-menu a{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;transition:all var(--duration-fast);background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.action-dropdown-menu button:hover,.action-dropdown-menu a:hover{background:var(--bg-inset);color:var(--text-primary)}.action-dropdown-menu button.danger:hover{color:var(--status-error);background:oklch(55% .15 25/.08)}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-4px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.dense-table th,.dense-table td{padding:10px 14px!important;font-size:13px!important}@media (width<=768px){.desktop-only-table{display:none!important}.mobile-only-cards{display:block!important}}@media (width>=769px){.desktop-only-table{display:table!important}.mobile-only-cards{display:none!important}}.mobile-scroll-row{gap:var(--space-base);width:100%;display:flex}@media (width<=768px){.mobile-scroll-row{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:8px;flex-wrap:nowrap!important;overflow-x:auto!important}.mobile-scroll-row::-webkit-scrollbar{display:none}.mobile-scroll-row>*{scroll-snap-align:start;box-sizing:border-box;flex:0 0 220px!important}}.mobile-card-list{flex-direction:column;gap:12px;padding:4px 0;display:flex}.mobile-data-card{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast), box-shadow var(--duration-fast);flex-direction:column;gap:10px;padding:16px;display:flex}.mobile-data-card:active{transform:scale(.98)}.mobile-data-card-header{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.mobile-data-card-header>*{min-width:0}.mobile-order-titleline{align-items:flex-start;gap:8px;min-width:0;display:flex}.mobile-order-titleline .order-id{flex:none}.mobile-data-card-title{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:800;line-height:1.35}.mobile-data-card-meta{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.mobile-data-card-meta-item{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;display:flex}.mobile-data-card-meta-item.is-note{align-items:flex-start;font-style:italic;line-height:1.45}.mobile-data-card-meta-item svg{flex-shrink:0}.mobile-data-card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.mobile-data-card-amount{color:var(--primary);overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:800}.mobile-card-empty{text-align:center;padding:20px}.status-dot-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;flex:none;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:850;display:inline-flex}.badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot-badge.success{color:var(--status-success);background:oklch(58% .1 155/.08);border-color:oklch(58% .1 155/.18)}.status-dot-badge.success .badge-dot{background-color:var(--status-success)}.status-dot-badge.warning{color:var(--status-warning);background:oklch(72% .12 80/.08);border-color:oklch(72% .12 80/.2)}.status-dot-badge.warning .badge-dot{background-color:var(--status-warning)}.status-dot-badge.error{color:var(--status-error);background:oklch(58% .13 20/.08);border-color:oklch(58% .13 20/.18)}.status-dot-badge.error .badge-dot{background-color:var(--status-error)}.status-dot-badge.info{color:var(--primary);background:oklch(55% .12 240/.08);border-color:oklch(55% .12 240/.18)}.status-dot-badge.info .badge-dot{background-color:var(--primary)}.select-all-label{align-items:center;gap:8px;min-width:0;display:inline-flex}@media (width<=768px){.mobile-data-card-header{align-items:flex-start}.mobile-order-titleline{flex:auto}.mobile-data-card-footer{gap:10px}.select-all-label span{min-width:0}.select-all-label input[type=checkbox]{flex:none}.status-dot-badge{max-width:100%}.mobile-data-card-header{flex-direction:column}.mobile-data-card-header .status-dot-badge{align-self:flex-start}.modal-overlay{z-index:2000!important;align-items:flex-end!important;padding:0!important}.add-form-modal,.product-detail-modal,.order-detail-modal,.scenario-form-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;background:var(--bg-elevated)!important;border-bottom:0!important;flex-direction:column!important;width:100%!important;max-width:none!important;height:auto!important;max-height:88dvh!important;padding:0!important;animation:.25s cubic-bezier(.16,1,.3,1) bottom-sheet-slide!important;display:flex!important}.modal-head,.modal-header,.modal-title-block{border-bottom:1px solid var(--border-subtle)!important;background:var(--bg-elevated)!important;z-index:10!important;box-sizing:border-box!important;flex-shrink:0!important;justify-content:space-between!important;align-items:center!important;width:100%!important;margin-bottom:0!important;padding:16px 20px!important;display:flex!important}.add-form-modal>:not(.modal-head):not(.modal-header):not(.modal-title-block):not(.detail-actions):not(.modal-footer),.product-detail-modal>:not(.modal-head):not(.modal-header):not(.modal-title-block):not(.detail-actions):not(.modal-footer),.order-detail-modal>:not(.modal-head):not(.modal-header):not(.modal-title-block):not(.detail-actions):not(.modal-footer),.scenario-form-modal>:not(.modal-head):not(.modal-header):not(.modal-title-block):not(.detail-actions):not(.modal-footer){flex:auto!important;padding:20px!important;overflow-y:auto!important}.detail-actions,.modal-footer{border-top:1px solid var(--border-subtle)!important;background:var(--bg-elevated)!important;box-sizing:border-box!important;flex-shrink:0!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;width:100%!important;margin-top:0!important;padding:16px 20px!important;display:flex!important}.detail-actions button,.modal-footer button{flex:1!important}.form-grid-2{grid-template-columns:1fr!important;gap:12px!important}}@keyframes bottom-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chart-container{gap:var(--space-base);flex-direction:column;width:100%;display:flex}.chart-container h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.empty-chart{min-height:200px;color:var(--text-faint);justify-content:center;align-items:center;font-size:13px;display:flex}.line-chart-wrapper{width:100%;height:240px;position:relative}.line-chart-svg{width:100%;height:100%}.line-chart-grid{stroke:var(--border-subtle);stroke-width:1px}.line-chart-path{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.line-chart-area{fill:url(#lineGradient);opacity:.2}.line-chart-point{fill:var(--primary);stroke:var(--bg-elevated);stroke-width:2px}.line-chart-label{fill:var(--text-muted);font-size:11px;font-weight:600}.pie-chart-wrapper{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.pie-chart-svg{width:200px;height:200px}.pie-legend{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.pie-legend-item{align-items:center;gap:var(--space-sm);font-size:13px;display:flex}.pie-legend-color{border-radius:2px;flex-shrink:0;width:12px;height:12px}.pie-legend-label{color:var(--text-primary);flex:1;font-weight:600}.pie-legend-value{color:var(--text-muted);font-weight:600}.bar-chart-wrapper{gap:var(--space-sm);flex-direction:column;display:flex}.bar-chart-item{align-items:center;gap:var(--space-sm);display:flex}.bar-chart-label{min-width:100px;color:var(--text-primary);font-size:13px;font-weight:600}.bar-chart-bar-wrapper{background:var(--bg-inset);border-radius:var(--radius-sm);flex:1;height:24px;overflow:hidden}.bar-chart-bar{background:var(--primary);border-radius:var(--radius-sm);height:100%;transition:width var(--duration-base)}.bar-chart-value{text-align:right;min-width:60px;color:var(--text-primary);font-size:13px;font-weight:700}.heatmap-wrapper{gap:var(--space-base);flex-direction:column;width:100%;display:flex}.heatmap-scroll-container{border-radius:var(--radius-md);scrollbar-width:thin;scrollbar-color:oklch(50% .1 45/.15) transparent;width:100%;overflow:auto hidden}.heatmap-scroll-container::-webkit-scrollbar{height:5px}.heatmap-scroll-container::-webkit-scrollbar-track{background:0 0}.heatmap-scroll-container::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:oklch(50% .1 45/.15)}.heatmap-grid{gap:2px;width:100%;display:grid}.heatmap-cell{aspect-ratio:1;border-radius:2px;flex:1;justify-content:center;align-items:center;min-width:0;font-size:10px;font-weight:600;display:flex}.heatmap-corner{aspect-ratio:auto;background:0 0!important}.heatmap-header{color:var(--text-faint);background:0 0;font-size:9px}.heatmap-label{color:var(--text-muted);padding-right:var(--space-xs);aspect-ratio:auto;background:0 0;justify-content:flex-end;font-size:11px;font-weight:700}.heatmap-value{background:var(--bg-inset);color:var(--text-primary);cursor:pointer;transition:transform var(--duration-fast)}.heatmap-value:hover{z-index:1;transform:scale(1.1)}.heatmap-legend{justify-content:center;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:11px;display:flex}.heatmap-gradient{align-items:center;gap:var(--space-xs);display:flex}.heatmap-gradient-bar{border-radius:var(--radius-sm);width:120px;height:12px}.cmd-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:oklch(20% .015 55/.5);justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.cmd-modal{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:560px;overflow:hidden}.cmd-search-box{align-items:center;gap:var(--space-md);padding:var(--space-base) var(--space-lg);border-bottom:1px solid var(--border-subtle);display:flex}.cmd-search-box input{color:var(--text-primary);background:0 0;border:none;flex:1;font-family:inherit;font-size:15px;font-weight:500}.cmd-search-box input::placeholder{color:var(--text-faint)}.cmd-search-box input:focus{outline:none}.cmd-esc{background:var(--bg-inset);border:1px solid var(--border-subtle);color:var(--text-faint);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.cmd-results{max-height:360px;padding:var(--space-sm);overflow-y:auto}.cmd-empty{padding:var(--space-lg);text-align:center;color:var(--text-faint);font-size:13px}.cmd-group{margin-bottom:var(--space-sm)}.cmd-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:4px var(--space-sm);font-size:10px;font-weight:800;display:block}.cmd-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast);text-align:left;background:0 0;border:none;font-family:inherit;display:flex}.cmd-item:hover{background:var(--bg-inset)}.cmd-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.cmd-item-title{color:var(--text-primary);font-size:14px;font-weight:600}.cmd-item-subtitle{color:var(--text-muted);margin-left:auto;font-size:12px}.cmd-hints{padding:var(--space-base) var(--space-lg) var(--space-lg);border-top:1px solid var(--border-subtle)}.cmd-hint-row{gap:var(--space-sm);flex-direction:column;display:flex}.cmd-hint-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px;font-weight:800}.cmd-hint-items{flex-wrap:wrap;gap:6px;display:flex}.cmd-hint-pill{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast);padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600}.cmd-hint-pill:hover{border-color:var(--primary);color:var(--primary)}.header{background:var(--decor-gradient-header);-webkit-backdrop-filter:none;z-index:100;border-bottom:1px solid oklch(90% .01 60/.72);align-items:center;height:56px;display:flex;position:sticky;top:0;box-shadow:0 1px oklch(100% 0 0/.65),0 12px 36px oklch(52% .09 38/.055)}.header-inner{width:100%;max-width:1440px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-lg);margin:0 auto;display:flex}.header-left{align-items:center;gap:var(--space-md);display:flex;text-decoration:none!important}.header-left *{text-decoration:none!important}.logo-mark{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-text{flex-direction:column;line-height:1;display:flex}.brand-name{max-width:100%;color:var(--text-primary);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:800;overflow:hidden}.brand-tag{color:var(--text-muted);letter-spacing:.03em;margin-top:1px;font-size:10px;font-weight:600}.header-center{justify-content:center;display:flex}.search-container{align-items:center;gap:var(--space-sm);width:100%;max-width:480px;transition:all var(--duration-normal) var(--ease-out);background:oklch(100% 0 0/.54);border:1px solid oklch(88% .012 60/.82);border-radius:12px;padding:7px 14px;display:flex}.search-container:focus-within{background:var(--bg-elevated);border-color:var(--border-muted);box-shadow:var(--shadow-glow)}.search-container{cursor:pointer}.search-container input,.search-container .search-placeholder{color:var(--text-primary);background:0 0;border:none;width:100%;font-size:13px;font-weight:500}.search-container .search-placeholder{color:var(--text-faint)}.search-container input:focus{outline:none}.search-shortcut{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-faint);white-space:nowrap;border-radius:5px;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:600;line-height:1}.header-right{align-items:center;gap:var(--space-md);display:flex}.theme-toggle{border-radius:var(--radius-pill);cursor:pointer;transition:all var(--duration-fast);background:oklch(100% 0 0/.5);border:1px solid oklch(88% .012 60/.85);align-items:center;gap:5px;padding:5px 12px 5px 8px;font-family:inherit;display:flex}.theme-toggle:hover{background:var(--bg-elevated);border-color:var(--border-muted);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.theme-icon{font-size:14px;line-height:1}.theme-label{color:var(--text-secondary);letter-spacing:.01em;font-size:11px;font-weight:700}.header-icon-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast);background:oklch(100% 0 0/.48);border:1px solid oklch(88% .012 60/.82);justify-content:center;align-items:center;display:flex;position:relative}.header-icon-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-muted)}.notif-badge{background:var(--primary);color:#fff;border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}.header-divider{background:var(--border-subtle);width:1px;height:24px}.user-pill{align-items:center;gap:var(--space-sm);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--duration-fast);background:oklch(100% 0 0/.5);border:1px solid oklch(88% .012 60/.82);padding:4px 12px 4px 4px;display:flex}.user-pill:hover{background:var(--bg-elevated);border-color:var(--border-muted)}.user-avatar-sm{background:var(--primary);width:26px;height:26px;color:var(--text-on-primary);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.user-name{color:var(--text-secondary);font-size:12px;font-weight:600}.main-layout{flex:1;width:100%;max-width:1440px;margin:0 auto;display:flex}.desktop-nav{width:220px;padding:var(--space-lg) var(--space-base) var(--space-lg) var(--space-lg);flex-direction:column;flex-shrink:0;height:calc(100vh - 56px);display:flex;position:sticky;top:56px}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 var(--space-md);margin-bottom:var(--space-sm);font-size:10px;font-weight:700}.nav-list{flex-direction:column;gap:2px;display:flex}.nav-item{align-items:center;gap:var(--space-md);padding:9px var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);transition:color var(--duration-fast), background var(--duration-fast);font-size:13px;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:oklch(100% 0 0/.42)}.nav-icon-wrap{z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative}.nav-label{z-index:1;position:relative}.nav-item.active{color:var(--primary)}.active-indicator{box-shadow:inset 3px 0 0 var(--primary), var(--shadow-xs);background:linear-gradient(90deg,oklch(52% .09 38/.13),#0000 92%),oklch(96% .018 48/.9);border:1px solid oklch(52% .09 38/.12);border-radius:10px;position:absolute;inset:0}.nav-footer{padding:var(--space-base) var(--space-md);border-top:1px solid var(--border-subtle);margin-top:auto}.system-status{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:12px;font-weight:600;display:flex}.status-indicator{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.status-indicator.online{background:var(--status-success);box-shadow:0 0 0 3px oklch(58% .1 155/.15)}.content-area{min-width:0;padding:28px var(--space-lg) var(--space-lg);padding-left:var(--space-base);flex:1}.page-wrapper{height:100%}.mobile-nav{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklch, var(--bg-elevated) 94%, transparent);pointer-events:auto;z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;gap:0;display:none;position:sticky;top:56px;box-shadow:0 10px 26px oklch(22% .02 245/.06)}.mobile-nav-bar{width:100%;padding:8px var(--space-base);pointer-events:auto;justify-content:center;align-items:center;margin:0;display:flex}.mobile-nav-panel{width:min(100% - 24px,560px);margin:0 auto var(--space-sm);padding:var(--space-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg);pointer-events:auto}.mobile-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.mobile-nav-grid-item{border-radius:var(--radius-md);min-width:0;min-height:62px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 4px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.mobile-nav-grid-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.mobile-nav-grid-item.active{background:var(--primary-subtle);color:var(--primary)}.mobile-item{color:var(--text-on-primary);border-radius:var(--radius-pill);transition:color var(--duration-fast);background:var(--primary);box-shadow:var(--shadow-md);border:0;flex-direction:row;justify-content:center;align-items:center;gap:6px;min-width:min(260px,100vw - 32px);max-width:calc(100vw - 32px);min-height:46px;padding:0 16px;font-family:inherit;text-decoration:none;display:flex}.mobile-nav-toggle{cursor:pointer}body:has(.modal-overlay) .mobile-nav{opacity:0;pointer-events:none;transform:translateY(16px)}.mobile-nav-toggle svg{transition:transform var(--duration-fast) var(--ease-out)}.mobile-nav-toggle svg.rotate{transform:rotate(180deg)}.mobile-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:800;overflow:hidden}.mobile-item.active{color:var(--text-on-primary);background:var(--primary-hover)}@media (width<=1024px){.header-inner{gap:var(--space-sm);padding:0 var(--space-base)}.header-left{gap:var(--space-sm);min-width:0}.logo-mark{flex-shrink:0}.brand-name{max-width:118px;font-size:14px}.brand-tag,.theme-label,.user-name{display:none}.header-right{gap:var(--space-sm);min-width:0}.theme-toggle{justify-content:center;min-width:44px;padding:5px}.user-pill{justify-content:center;min-width:44px;padding:4px}.header-divider,.desktop-nav{display:none}.content-area{padding:var(--space-base);padding-bottom:var(--space-lg)}.mobile-nav{display:flex}.header-center{display:none}}@media (width<=768px){.mobile-nav-bar{justify-content:center;width:100%;margin-bottom:0;margin-right:0}.mobile-item{border-radius:var(--radius-pill);width:100%;min-width:0;height:46px;padding:0 16px}.mobile-item span{display:inline}}@media (width>=1025px){.mobile-nav{display:none}}.error-boundary{min-height:400px;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.error-boundary-content{text-align:center;max-width:500px}.error-icon{margin-bottom:var(--space-lg);font-size:64px}.error-title{color:var(--text-primary);margin-bottom:var(--space-md);font-size:24px;font-weight:700}.error-message{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:14px;line-height:1.6}.error-details{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);text-align:left}.error-details summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600}.error-details summary:hover{color:var(--text-primary)}.error-stack{margin-top:var(--space-md);color:var(--status-error);white-space:pre-wrap;word-break:break-word;font-size:12px;overflow-x:auto}.error-actions{gap:var(--space-md);justify-content:center;display:flex}@media (width<=640px){.error-actions{flex-direction:column}.error-actions .btn{width:100%}}.loading-spinner{border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:.8s linear infinite spinner-rotate}.loading-spinner-sm{border-width:2px;width:16px;height:16px}.loading-spinner-md{border-width:3px;width:24px;height:24px}.loading-spinner-lg{border-width:4px;width:40px;height:40px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-overlay{background:var(--bg-base);opacity:.95;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay-content{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.loading-overlay-message{color:var(--text-secondary);font-size:14px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-page{background:oklch(19% .03 260);justify-content:flex-end;align-items:center;min-height:100vh;padding:clamp(20px,3vw,36px);display:flex;position:relative;overflow:hidden}.login-bg-media{position:absolute;inset:0}.login-bg-image{object-fit:cover;width:100%;height:100%}.login-bg-overlay{background:linear-gradient(90deg,oklch(17% .03 250/.82) 0%,oklch(17% .03 250/.62) 36%,oklch(17% .03 250/.38) 62%,oklch(17% .03 250/.64) 100%),radial-gradient(circle at 72% 22%,oklch(74% .11 72/.16),#0000 24%);position:absolute;inset:0}.login-bg-pattern{background-image:var(--decor-dot-pattern);opacity:.14;background-size:24px 24px;position:absolute;inset:0}.login-shell{z-index:1;grid-template-columns:minmax(0,1.1fr) minmax(360px,420px);align-items:end;gap:clamp(24px,4vw,64px);width:min(1180px,100%);margin:0 auto;display:grid;position:relative}.login-hero-copy{color:#fff;max-width:560px;padding:0 clamp(4px,1vw,8px) clamp(24px,4vw,48px)}.login-eyebrow{color:oklch(98% 0 0/.9);text-transform:uppercase;letter-spacing:.04em;background:oklch(100% 0 0/.12);border:1px solid oklch(100% 0 0/.12);border-radius:999px;align-items:center;min-height:32px;margin-bottom:18px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.login-display-title{color:#fff;max-width:11.5ch;margin:0 0 14px;font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1.08}.login-display-copy{color:oklch(95% .01 260/.88);max-width:48ch;margin:0 0 24px;font-size:clamp(15px,1.4vw,18px);line-height:1.6}.login-status-row{flex-wrap:wrap;gap:10px;display:flex}.login-status-pill{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(100% 0 0/.12);border:1px solid oklch(100% 0 0/.14);border-radius:999px;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:oklch(99% .01 95/.92);border:1px solid oklch(100% 0 0/.36);border-radius:24px;width:100%;max-width:420px;padding:clamp(24px,3vw,32px);position:relative;box-shadow:0 24px 80px oklch(0% 0 0/.24),inset 0 1px oklch(100% 0 0/.55)}.login-header{margin-bottom:20px}.login-logo{justify-content:flex-start;margin-bottom:18px;display:flex}.login-title{color:var(--text-primary);letter-spacing:0;margin:0 0 8px;font-size:28px;font-weight:800}.login-subtitle{color:var(--text-muted);margin:0;font-size:14px;font-weight:500}.login-form{gap:var(--space-base);flex-direction:column;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-input{width:100%;min-height:48px;color:var(--text-primary);border:1px solid var(--border-muted);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:oklch(100% 0 0/.84);border-radius:14px;outline:none;padding:12px 16px;font-size:14px;font-weight:500}.form-input::placeholder{color:var(--text-faint)}.form-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.login-error{border-radius:var(--radius-sm);color:var(--status-error);text-align:center;background:oklch(55% .15 25/.1);border:1px solid oklch(55% .15 25/.2);padding:10px 14px;font-size:13px;font-weight:600}.login-btn{width:100%;min-height:50px;margin-top:4px;padding:14px 20px;font-size:14px}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{border:2px solid oklch(100% 0 0/.3);border-top-color:var(--text-on-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.login-page{justify-content:center;padding:18px}.login-shell{grid-template-columns:1fr;align-items:stretch;gap:20px}.login-hero-copy{max-width:none;padding:0}.login-display-title{max-width:12ch}}@media (width<=640px){.login-shell{gap:16px}.login-hero-copy{display:none}.login-card{max-width:100%}}
