*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-w-full{min-width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--primary-blue: #007bff;--secondary-blue: #0d6efd;--primary-success: #28a745;--primary-warning: #ffc107;--primary-danger: #dc3545;--primary-info: #17a2b8;--background-primary: #ffffff;--background-secondary: #f8f9fa;--background-alternate: #f0f2f5;--container-primary: #ffffff;--text-primary: #333333;--text-secondary: #6c757d;--border-color: #dee2e6;--table-header: #e9ecef;--table-header-text: #495057;--table-stripe: rgba(0, 0, 0, .03);--accent: var(--primary-blue);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px rgba(0, 123, 255, .25);--transition-base: all .2s ease;--chart-grid: rgba(0, 0, 0, .05);--chart-text: #666666;--chart-tooltip-bg: rgba(0, 0, 0, .75);--chart-tooltip-text: #ffffff;--chart-border-radius: .5rem;--chart-inner-radius: .375rem;--chart-bg: var(--container-primary);--chart-border-color: var(--border-color);--chart-title-color: var(--text-primary);--chart-color-1: var(--primary-blue);--chart-color-2: var(--primary-success);--chart-color-3: var(--primary-warning);--chart-color-4: var(--primary-danger);--chart-color-5: var(--primary-info);--chart-color-1-alpha: rgba(0, 123, 255, .6);--chart-color-2-alpha: rgba(40, 167, 69, .6);--chart-color-3-alpha: rgba(255, 193, 7, .6);--chart-color-4-alpha: rgba(220, 53, 69, .6);--chart-color-5-alpha: rgba(23, 162, 184, .6)}@media (prefers-color-scheme: dark){:root{--background-primary: #121212;--background-secondary: #1e1e1e;--background-alternate: #2a2a2a;--container-primary: #2d2d2d;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--border-color: #444444;--table-header: #343a40;--table-header-text: #e0e0e0;--table-stripe: rgba(255, 255, 255, .03);--accent: var(--secondary-blue);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-focus: 0 0 0 3px rgba(13, 110, 253, .25);--chart-grid: rgba(255, 255, 255, .05);--chart-text: #e0e0e0;--chart-tooltip-bg: rgba(0, 0, 0, .85);--chart-tooltip-text: #ffffff}}body{background-color:var(--background-primary);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;margin:0;padding:0;font-size:16px;line-height:1.5;width:100%;min-width:280px;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}header{background-color:var(--background-secondary);padding:1.25rem 1rem;text-align:center;box-shadow:var(--shadow-md);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}h2{color:var(--text-primary);font-size:1.8em;font-weight:700;margin-bottom:1.5rem;text-align:left;padding-bottom:.5rem;border-bottom:2px solid var(--secondary-dark)}form{background-color:var(--background-secondary);box-shadow:var(--shadow-lg);padding:1.5rem;margin:1.5rem auto;border-radius:1rem;max-width:calc(100% - 2rem);border:1px solid var(--border-color);transition:var(--transition-base)}form:hover{box-shadow:var(--shadow-lg),0 0 0 3px #3b82f61a}form .form-group{display:flex;flex-direction:column}form .button-group{grid-column:span 3;display:flex;justify-content:space-between}form input[type=text],form input[type=date],form input[type=select],form input[type=number],form input[type=time],form textarea,form select{background-color:var(--background-primary);border:1px solid var(--border-color);color:var(--text-primary);width:100%;padding:.875rem;margin:.75rem 0;border-radius:.5rem;transition:var(--transition-base);font-size:1rem;min-height:2.75rem;line-height:1.4}select{text-overflow:ellipsis;white-space:nowrap;overflow:visible;width:100%;padding-right:2rem;padding-top:.5rem;padding-bottom:.5rem;appearance:auto;-webkit-appearance:auto;-moz-appearance:auto;line-height:1.4;min-height:2.75rem}option{white-space:normal;padding:8px 12px;font-size:inherit;overflow:visible;text-overflow:ellipsis;max-width:100%;line-height:1.4}button{background-color:var(--background-secondary);color:var(--text-primary);border:2px solid var(--border-color);padding:.875rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-sm)}button:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--accent)}button:focus{outline:none;box-shadow:0 0 0 3px var(--shadow-md)}button:disabled{background-color:#4b5563;cursor:not-allowed;opacity:.7}@media screen and (max-width: 360px){body{font-size:14px}form{padding:1rem .75rem;margin:.75rem}}table{width:100%;border-collapse:collapse;background-color:var(--background-secondary);border-radius:.5rem;margin:1rem 0;box-shadow:var(--shadow-md);overflow:hidden}tr:nth-child(2n){background-color:var(--background-primary)}tr:hover{background-color:var(--background-alternate)}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}th{background-color:var(--table-header);font-weight:600;color:var(--table-header-text)}tr:hover{background-color:var(--background-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background-primary);border-radius:5px}::-webkit-scrollbar-thumb{background:var(--background-secondary);border-radius:5px;border:2px solid var(--background-primary)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media screen and (max-width: 640px){table{display:block;overflow-x:auto}th,td{padding:.75rem;min-width:120px}}::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer}input[type=date],input[type=time]{color-scheme:dark;background-color:var(--primary-dark);border:1px solid var(--border-color);color:var(--text-primary);padding:.875rem;border-radius:.5rem;transition:var(--transition-base)}input[type=date]:focus,input[type=time]:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px (--border-color)}.content-container{padding:1.25rem;max-width:1200px;margin:0 auto}.card{background-color:var(--container-primary);border-radius:.5rem;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:1.25rem;margin-bottom:1rem;transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.grid-header{display:flex;padding:.75rem 1rem;background-color:var(--table-header);color:var(--table-header-text);font-weight:600;border-radius:.375rem .375rem 0 0}.grid-row{display:flex;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);transition:var(--transition-base)}.grid-row:hover{background-color:var(--background-alternate)}.text-secondary{color:var(--text-secondary)}.text-emphasis{color:var(--accent);font-weight:500}.chart-container{position:relative;margin:auto;height:300px;margin-bottom:1.5rem;background-color:var(--container-primary);border-radius:.5rem;overflow:hidden}.chart-header{padding:1rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.chart-legend{padding:.75rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.chart-legend .legend-item{display:flex;align-items:center;font-size:.85rem;color:var(--text-secondary)}.chart-legend .legend-color{width:12px;height:12px;margin-right:.5rem;border-radius:50%}:root .chartjs-tooltip{background-color:var(--chart-tooltip-bg)!important;color:var(--chart-tooltip-text)!important;border-radius:.25rem;padding:.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}:root .chart-legend-item{color:var(--text-primary);font-size:.85rem}.chart-card{background-color:var(--container-primary);border-radius:.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;overflow:hidden;border:1px solid var(--border-color);transition:var(--transition-base)}.chart-card-header{padding:1rem 1.25rem;font-weight:600;color:var(--text-primary);background-color:var(--background-secondary);border-bottom:1px solid var(--border-color)}.chart-card-body{padding:1.25rem}:root ::ng-deep .chart-legend .legend-label{color:var(--text-primary)!important;font-size:.85rem!important}:root ::ng-deep canvas[baseChart]{width:100%!important;height:100%!important}@media (max-width: 768px){.chart-container{height:250px}}@media (max-width: 480px){.chart-container{height:200px}}.chart-container{position:relative;margin:auto;height:300px;margin-bottom:1.5rem;background-color:var(--chart-bg);border-radius:var(--chart-border-radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--chart-border-color);transition:var(--transition-base)}.chart-container:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.chart-container canvas{width:100%!important;height:100%!important;border-radius:var(--chart-inner-radius)}.chart-card{display:flex;flex-direction:column;background-color:var(--chart-bg);border-radius:var(--chart-border-radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--chart-border-color);margin-bottom:1.5rem;transition:var(--transition-base)}.chart-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.chart-card-header{padding:1rem;font-size:1rem;font-weight:600;color:var(--chart-title-color);background-color:var(--background-secondary);border-bottom:1px solid var(--chart-border-color);display:flex;align-items:center;justify-content:space-between}.chart-card-body{flex:1;padding:1rem;display:flex;flex-direction:column}:root ::ng-deep .chart-legend{padding:.75rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}:root ::ng-deep .chart-legend .legend-labels{display:flex;flex-wrap:wrap;gap:.75rem}:root ::ng-deep .chart-legend .legend-label{color:var(--text-primary)!important;font-size:.85rem!important;display:flex!important;align-items:center!important;cursor:pointer;transition:opacity .2s ease}:root ::ng-deep .chart-legend .legend-label-inactive{opacity:.4}:root ::ng-deep .chart-legend .legend-label-text{padding-left:.5rem}:root ::ng-deep .chartjs-tooltip{background-color:var(--chart-tooltip-bg)!important;color:var(--chart-tooltip-text)!important;border-radius:var(--chart-inner-radius)!important;border:1px solid var(--chart-border-color)!important;padding:.75rem!important;box-shadow:var(--shadow-md)!important;opacity:1!important;pointer-events:none!important;font-family:inherit!important;z-index:100!important}:root ::ng-deep .chartjs-tooltip-key{display:inline-block!important;width:10px!important;height:10px!important;margin-right:8px!important;border-radius:50%!important}:root ::ng-deep .chartjs-tooltip-title{font-weight:600!important;margin-bottom:.5rem!important;color:var(--chart-tooltip-text)!important}:root ::ng-deep .chartjs-tooltip-body{font-size:.85rem!important}.chart-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));width:100%;margin-bottom:1.5rem}.chart-grid-item{min-height:300px}:root ::ng-deep .chart-legend .legend-color-0{background-color:var(--chart-color-1)}:root ::ng-deep .chart-legend .legend-color-1{background-color:var(--chart-color-2)}:root ::ng-deep .chart-legend .legend-color-2{background-color:var(--chart-color-3)}:root ::ng-deep .chart-legend .legend-color-3{background-color:var(--chart-color-4)}:root ::ng-deep .chart-legend .legend-color-4{background-color:var(--chart-color-5)}.content-card{background:var(--container-primary);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden;color:var(--text-primary);margin-bottom:1.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;background-color:var(--background-secondary);padding:1rem;border-radius:8px;transition:var(--transition-base)}.info-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.full-width{grid-column:1 / -1}.label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.4rem;font-weight:500}.value{font-size:1.05rem;color:var(--text-primary);font-weight:500}.progress-container{margin-top:1rem;background-color:var(--background-secondary);padding:1.5rem;border-radius:8px}.progress-bar-container{height:12px;background-color:var(--border-color);border-radius:6px;overflow:hidden;margin-bottom:.8rem}.progress-bar{height:100%;background:linear-gradient(to right,var(--accent),var(--accent));transition:width 1s ease-in-out}.progress-text{font-size:1rem;color:var(--text-secondary);text-align:right;font-weight:500}.custom-form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.8rem}.custom-form-group label{display:block;margin-bottom:.3rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.custom-form-group input{width:100%;padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:.375rem;background-color:var(--background-primary);color:var(--text-primary);font-size:.9rem;transition:var(--transition-base);box-shadow:var(--shadow-sm);min-height:38px}.custom-form-group input:focus{border-color:var(--accent);outline:none;box-shadow:var(--shadow-focus)}.success-message{color:var(--primary-success);background-color:#28a74514;border-left:4px solid var(--primary-success);padding:.75rem;border-radius:.6rem;margin-top:1.5rem;margin-bottom:.5rem}.error-message{color:var(--primary-danger);background-color:#dc354514;border-left:4px solid var(--primary-danger);padding:.75rem;border-radius:.6rem;margin-top:1.5rem;margin-bottom:.5rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:.5rem}.app-tabs-container{background:var(--container-primary);border-radius:.75rem;box-shadow:var(--shadow-md);overflow:hidden;border:1.5px solid var(--border-color);margin-bottom:2rem;position:relative;padding-top:.2rem}.app-tabs{display:flex;background:var(--background-secondary);border-bottom:2.5px solid var(--border-color);position:relative;z-index:1;gap:.25rem;padding:.25rem .5rem 0;box-shadow:0 2px 8px #00000008}.app-tab{background:var(--background-secondary);border:1.5px solid var(--border-color);border-bottom:none;color:var(--text-primary);font-weight:600;font-size:1.08rem;padding:.85rem 1.7rem .7rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s,box-shadow .2s;border-radius:.75rem .75rem 0 0;outline:none;margin-bottom:-2.5px;position:relative;z-index:2;box-shadow:0 2px 6px #00000005;opacity:.85}.app-tab.active{border-bottom:2.5px solid var(--container-primary);border-top:2.5px solid var(--accent);color:var(--accent);background:var(--container-primary);z-index:3;box-shadow:0 4px 12px #0000000a;opacity:1}.app-tab:hover:not(.active),.app-tab:focus-visible:not(.active){background:var(--background-alternate);color:var(--accent);border-color:var(--accent);z-index:2}.app-tab:focus-visible{outline:2px solid var(--accent);z-index:4}.app-tab-content{padding:1.5rem 1.25rem 1.25rem;background:var(--container-primary);border-radius:0 0 .75rem .75rem;border-top:1.5px solid var(--border-color);margin-top:-2.5px;box-shadow:0 2px 8px #00000005}@media (max-width: 700px),(max-width: 900px) and (max-height: 500px){.app-tabs{flex-direction:row!important;border-bottom:2.5px solid var(--border-color);border-right:none;width:100%;justify-content:stretch;gap:.15rem;padding:.15rem .2rem 0;box-shadow:none}.app-tab{flex:1 1 0;width:auto;min-width:0;padding:.7rem .2rem .5rem;font-size:.97rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border-radius:.75rem .75rem 0 0;margin-bottom:-2.5px;border:1.5px solid var(--border-color);border-bottom:none}.app-tab.active{border-top:2.5px solid var(--accent);border-bottom:2.5px solid var(--container-primary);color:var(--accent);background:var(--container-primary);z-index:3}}@media (max-width: 768px){.chart-container{height:250px}.chart-grid{grid-template-columns:1fr}select,.app-form-group select{width:100%;max-width:100%;font-size:.9rem}option{max-width:100%;padding:6px 10px}}@media (max-width: 480px){.chart-container{height:200px}.chart-card-header{padding:.75rem;font-size:.9rem}.chart-card-body{padding:.75rem}}.app-tabs-container{margin-bottom:1rem}.app-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.app-tab{padding:.75rem 1.25rem;background-color:var(--container-secondary);border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-weight:500;font-size:.95rem;flex:1;text-align:center;box-shadow:var(--shadow-sm)}.app-tab:hover{background-color:var(--container-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.app-tab.active{background-color:var(--accent);color:var(--accent-contrast);font-weight:500}.app-tab-content{animation:fadeIn .3s ease}.app-card{margin-bottom:1rem;padding:.85rem;background-color:var(--container-primary);border-radius:.75rem;border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.app-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.app-card h2{color:var(--text-primary);font-weight:600;font-size:1.2rem;margin-top:0;position:relative}.app-card-header{display:flex;justify-content:space-between;align-items:center}.app-form-group{margin-bottom:.75rem}.app-form-group label{display:block;margin-bottom:.4rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.app-form-group input,.app-form-group select,.app-form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--input-bg, var(--background-primary));color:var(--text-primary);font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;height:2.75rem;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:1.4}.app-form-group select{padding-right:2.5rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:left}.app-form-group select option{white-space:normal;padding:8px 12px;font-size:.9rem;overflow:visible;line-height:1.4}.app-btn{padding:.5rem .85rem;border:none;border-radius:.4rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;height:2.5rem;font-size:.9rem;min-width:100px;box-shadow:var(--shadow-sm)}.app-btn.primary{background-color:var(--accent);color:var(--accent-contrast);flex:2}.app-btn.primary:hover{background-color:var(--accent-hover, var(--accent));transform:translateY(-2px);box-shadow:var(--shadow-md)}.app-btn.secondary{background-color:var(--container-secondary);color:var(--text-primary);border:1px solid var(--border-color);flex:1}.app-btn.secondary:hover{background-color:var(--container-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.app-btn.danger{background-color:var(--danger-color, var(--primary-danger));color:#fff}.app-btn.danger:hover{background-color:var(--danger-hover-color, var(--danger-color));transform:translateY(-2px);box-shadow:var(--shadow-md)}.app-btn.small{padding:.25rem .5rem;font-size:.85rem;min-width:auto;height:auto;border-radius:.4rem}.app-btn:disabled{opacity:.7;cursor:not-allowed;background-color:var(--text-secondary);transform:none;box-shadow:none}.app-list{margin-top:1rem}.app-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:.75rem;background-color:var(--container-primary);transition:transform .2s ease,box-shadow .2s ease}.app-list-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background-color:var(--container-hover)}.app-list-item-info h3{margin-top:0;margin-bottom:.5rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.app-list-item-info p{margin:.2rem 0;color:var(--text-secondary);font-size:.9rem}.app-list-item-actions{display:flex;gap:.5rem}.app-table{width:100%;border-collapse:collapse;margin-top:.75rem;border-radius:.75rem;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background-color:var(--container-primary)}.app-table thead th{background-color:var(--container-secondary);color:var(--text-primary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;padding:.75rem;border-bottom:1px solid var(--border-color)}.app-table td{padding:.75rem;vertical-align:middle;border-bottom:1px solid var(--border-color);font-size:.9rem;color:var(--text-primary);text-align:left}.app-table tr:last-child td{border-bottom:none}.app-table tr:hover{background-color:var(--container-hover)}.app-empty-state{padding:1.5rem;text-align:center;color:var(--text-muted, var(--text-secondary));background-color:var(--container-secondary);border-radius:.75rem;font-style:italic;margin:1rem 0;border:1px dashed var(--border-color)}.app-empty-state p{margin:0;font-size:.9rem}.app-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .25s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-modal-content{background-color:var(--container-primary);border-radius:1rem;box-shadow:var(--shadow-lg),0 8px 32px #0000001a;width:90%;max-width:550px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color);animation:modalSlideIn .3s ease}.app-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--container-secondary);border-top-left-radius:1rem;border-top-right-radius:1rem;position:sticky;top:0;z-index:10}.app-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);position:relative;padding-left:1rem}.app-modal-header h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:1.25rem;background-color:var(--accent);border-radius:2px}.app-modal-body{padding:1.25rem}.app-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;transition:all .2s ease;background-color:var(--container-hover);margin-right:-.5rem}.app-close-btn:hover{color:var(--text-primary);transform:rotate(90deg)}.app-form-row{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.2rem}.app-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.app-filter-controls{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;align-items:flex-start}.app-filter-controls .app-form-group{flex:1;max-width:350px;margin-bottom:0}.app-section{margin-top:.75rem;border-top:1px solid var(--border-color);padding-top:.5rem}.app-section h3{font-size:1.1rem;color:var(--text-primary);font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center}.app-group-separator{background-color:transparent!important}.app-group-header{font-weight:600;font-size:.9rem;color:var(--accent);padding:.5rem 0;margin-top:.75rem;border-bottom:1px dashed var(--border-color);text-align:left}.app-help-text{font-size:.75rem;color:var(--text-secondary);margin-top:.2rem;font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.app-tabs{flex-wrap:wrap}.app-tab{padding:.6rem;font-size:.85rem}.app-card{padding:.5rem}.app-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.app-card-header .app-btn{width:100%}.app-list-item{flex-direction:column;align-items:flex-start}.app-list-item-actions{margin-top:.75rem;width:100%;justify-content:flex-end}.app-table,.app-table thead,.app-table tbody,.app-table th,.app-table td,.app-table tr{display:block}.app-table thead{display:none}.app-table tr{margin-bottom:.75rem;border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;background-color:var(--container-primary)}.app-table td{position:relative;padding:.75rem;padding-left:45%;text-align:right;border-bottom:1px solid var(--border-color);min-height:2.5rem;display:flex;align-items:center;justify-content:flex-end;font-size:.85rem;line-height:1.2}.app-table td:before{content:attr(data-label);position:absolute;left:.75rem;width:40%;padding-right:.5rem;text-align:left;font-weight:500;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.app-table td.app-actions-cell{padding-left:.75rem;display:flex;justify-content:center;border-top:1px solid var(--border-color);background-color:var(--container-secondary);border-bottom:none}.app-table td.app-actions-cell:before{display:none}.app-table-actions-wrapper{display:flex;width:100%;justify-content:space-around;gap:.75rem}.app-table-actions-wrapper .app-btn.small{flex:1;max-width:120px;font-size:.85rem}.app-table td:last-child{border-bottom:none}.app-group-separator{display:flex;margin:1rem 0 .5rem}.app-group-header{width:100%;padding:.5rem .75rem;background-color:var(--background-alternate);border-radius:.5rem;border:1px solid var(--border-color)}.app-filter-controls{flex-direction:column;gap:.5rem}.app-filter-controls .app-form-group{max-width:100%;width:100%}.app-modal-content{width:95%;max-height:90vh}.app-modal-header{padding:.75rem 1rem}.app-modal-body{padding:.5rem}.app-form-row{flex-direction:column;gap:0;margin-bottom:0}}@media (max-width: 480px){.app-modal-header h2{font-size:.95rem}.app-close-btn{width:1.5rem;height:1.5rem;font-size:1.1rem}}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}:root[data-theme=dark]{--accent: #348b88;--accent-contrast: #ffffff;--background-primary: #44b2af;--background-secondary: #3e454a;--background-alternate: rgb(143, 146, 147);--text-primary: #ffffff;--text-primary-invert: #8f9293;--text-secondary: #a5b4fc;--border-color: #266563;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6);--container-primary: #3e454a;--container-secondary: #3e454a;--container-tertiary: #348b88;--container-hover: #3e454a;--background-primary-rgb: #3e454a;--background-secondary-rgb: #3e454a;--accent-rgb: 52, 139, 136;--container-primary-rgb: 22, 32, 50;--container-secondary-rgb: 30, 41, 66;--container-tertiary-rgb: 37, 47, 74;--table-header: #348b88;--table-header-text: var(--text-primary)}:root[data-theme=light]{--accent: #2563eb;--accent-contrast: #ffffff;--background-primary: #ffffff;--background-secondary: #f3f4f6;--background-alternate: rgba(37, 99, 235, .12);--text-primary: #111827;--text-primary-invert: #ffffff;--text-secondary: #4b5563;--border-color: rgba(37, 99, 235, .25);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--container-primary: #ffffff;--container-secondary: #f8fafc;--container-tertiary: #f1f5f9;--container-hover: rgba(37, 99, 235, .15);--background-primary-rgb: 255, 255, 255;--background-secondary-rgb: 243, 244, 246;--accent-rgb: 37, 99, 235;--container-primary-rgb: 255, 255, 255;--container-secondary-rgb: 248, 250, 252;--container-tertiary-rgb: 241, 245, 249;--table-header: #e5e9ff;--table-header-text: var(--text-primary)}
