@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Sora:wght@500;600;700&display=swap";:root{--color-brand-blue: #1010ee;--color-brand-indigo: #150366;--color-brand-navy: #171e43;--color-accent-medtronic-blue: #08528e;--color-accent-soft-teal-blue: #97b6bb;--color-accent-mid-purple: #473786;--color-accent-light-purple: #675b9b;--color-background-default: #ffffff;--color-background-muted: #f5f5f5;--color-background-nav: #171e43;--color-background-surface-on-navy: #f5f5f5;--color-text-primary: #303234;--color-text-secondary: #515252;--color-text-on-brand: #ffffff;--color-text-on-dark: #ffffff;--color-border-subtle: #f5f5f5;--color-border-default: #515252;--color-border-strong: #171e43;--color-state-info: #08528e;--color-state-highlight: #1010ee;--color-state-muted: #97b6bb;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-400: #f87171;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-700: #166534;--color-warning-100: #ffedd5;--color-warning-700: #9a3412;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-800: #1e40af;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 40px;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--font-family-base: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-background-muted);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}*,*:before,*:after{box-sizing:border-box}.container{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-brand-indigo);font-weight:var(--font-weight-bold)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}a{font-weight:var(--font-weight-medium);color:var(--color-accent-medtronic-blue);text-decoration:inherit}a:hover{color:var(--color-brand-blue)}.container{margin:0 auto;padding:var(--spacing-2xl);display:flex;flex-direction:column;justify-content:center;text-align:center;width:100%;max-width:100%}.row{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.logo{height:6em;padding:1.5em;will-change:filter;transition:.75s}.logo:hover{filter:drop-shadow(0 0 2em var(--color-state-highlight))}.text-secondary{color:var(--color-text-secondary)}.bg-muted{background-color:var(--color-background-muted)}.bg-red-50{background-color:var(--color-error-50)}.bg-amber-50{background-color:#fffbeb}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ml-auto{margin-left:auto}.card{background-color:var(--color-background-default);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg)}button{border-radius:var(--radius-lg);border:1px solid transparent;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-brand-blue);color:var(--color-text-on-brand);cursor:pointer;transition:background-color .25s}button:hover{background-color:var(--color-accent-medtronic-blue)}button:active{background-color:var(--color-brand-indigo)}button.secondary{background-color:var(--color-background-default);color:var(--color-brand-indigo);border-color:var(--color-border-default)}input{border-radius:var(--radius-lg);border:1px solid var(--color-border-default);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md);font-family:inherit;background-color:var(--color-background-default);color:var(--color-text-primary)}input:focus{outline:2px solid var(--color-brand-blue);border-color:transparent}#greet-input{margin-right:var(--spacing-xs)}.app-layout{display:flex;height:100vh;background-color:var(--color-background-muted);overflow:hidden}.sidebar{width:clamp(200px,18vw,380px);background-color:var(--color-background-nav);color:var(--color-text-on-dark);display:flex;flex-direction:column;padding:clamp(12px,2vh,var(--spacing-xl)) 0;flex-shrink:0}.sidebar-header{padding:0 clamp(12px,1.5vw,24px);margin-bottom:var(--spacing-2xl)}.brand{display:flex;align-items:center;gap:var(--spacing-sm)}.brand-logo{width:clamp(28px,2.2vw,40px);height:clamp(28px,2.2vw,40px);flex-shrink:0}.brand-logo img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md);display:block}.brand-name{font-weight:700;font-size:var(--font-size-lg)}.nav-menu{display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);transition:color .2s,background-color .2s;color:#ffffffb3;text-decoration:none}.nav-item:hover{color:#fff}.nav-item.active{color:var(--color-text-on-dark);background-color:#ffffff1a}.main-content{flex:1;padding:var(--spacing-2xl);overflow-y:auto}.dashboard-header{margin-bottom:var(--spacing-xl)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--spacing-xl)}.card{background-color:var(--color-background-default);color:var(--color-gray-900);padding:var(--spacing-xl);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.card-title{color:var(--color-gray-500);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.card-value{font-size:var(--font-size-2xl);font-weight:700}.text-info{color:var(--color-state-info)}.text-indigo{color:var(--color-brand-indigo)}.card-footer{color:var(--color-gray-500);font-size:var(--font-size-sm)}.charts-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);margin-top:var(--spacing-xl)}@media(min-width:768px){.charts-grid{grid-template-columns:1fr 1fr}}.view-container{display:flex;flex-direction:column;min-height:100%;gap:var(--spacing-lg);padding:1.5rem}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.view-title{display:none;font-size:1.5rem;font-weight:700;color:var(--color-brand-blue)}.btn-primary{background-color:var(--color-brand-blue);color:#fff;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.error-alert{background-color:var(--color-error-100);border:1px solid var(--color-error-400);color:var(--color-error-700);padding:.75rem 1rem;border-radius:.25rem;margin-bottom:1rem}.profile-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;height:calc(100vh - 140px);min-height:500px}@media(min-width:1024px){.profile-layout{grid-template-columns:320px 1fr}}.sidebar-list{background-color:#fff;border-radius:.5rem;border:1px solid var(--color-border-subtle);overflow:hidden;height:100%;display:flex;flex-direction:column}.sidebar-list-header{padding:1rem;background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100);font-weight:600}.sidebar-list-content{overflow-y:auto;flex:1}.list-item{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--color-gray-100);font-size:.875rem}.list-item:hover{background-color:var(--color-info-50)}.list-item.active{background-color:var(--color-info-100);border-left:4px solid var(--color-brand-blue)}.chart-container{background-color:#fff;padding:1rem;border-radius:.5rem;border:1px solid var(--color-border-subtle)}.chart-container>div{width:100%}.details-card{background-color:#fff;padding:1rem;border-radius:.5rem;border:1px solid var(--color-border-subtle);margin-top:1.5rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:.875rem}.text-muted{color:var(--color-gray-500)}.empty-state{text-align:center;color:var(--color-gray-500);margin-top:2.5rem;padding:2.5rem;border:2px dashed var(--color-gray-300);border-radius:.5rem}.empty-state-hint{margin-top:.5rem}.mb-xl{margin-bottom:var(--spacing-xl)}.table-container{background-color:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);overflow:hidden;overflow-x:auto;margin-top:var(--spacing-xl)}.data-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.data-table th{background-color:var(--color-gray-50);padding:var(--spacing-md) var(--spacing-xl);text-align:left;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-gray-200)}.data-table td{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-sm);color:var(--color-gray-900);border-bottom:1px solid var(--color-gray-200);white-space:nowrap}.data-table tr:hover{background-color:var(--color-gray-50)}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;flex-wrap:wrap;font-size:.875rem}.pagination-btn{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-background-default);cursor:pointer;font-size:.875rem;color:var(--color-gray-700)}.pagination-btn:hover:not(:disabled){background:var(--color-gray-100)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:var(--color-gray-500)}.pagination-page-size{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-background-default);font-size:.875rem;color:var(--color-gray-700)}.pagination-total{color:var(--color-gray-400);margin-left:auto}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--spacing-xl)}.log-card{background-color:var(--color-background-default);color:var(--color-gray-900);padding:var(--spacing-xl);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.log-card:hover{border-color:var(--color-border-default)}.log-card-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.log-icon{padding:.75rem;background-color:var(--color-info-50);border-radius:9999px;color:var(--color-brand-blue);display:flex;align-items:center;justify-content:center}.log-title{font-weight:600;font-size:var(--font-size-lg);margin:0}.log-card-footer{display:flex;justify-content:space-between;align-items:center}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-implemented{background-color:var(--color-success-100);color:var(--color-success-700)}.status-pending{background-color:var(--color-gray-100);color:var(--color-gray-800)}.view-link{color:var(--color-brand-blue);font-size:var(--font-size-sm);font-weight:500}.view-link:hover{text-decoration:underline}.filter-bar{display:flex;flex-wrap:wrap;gap:0;align-items:center;margin-bottom:16px;background-color:#fff;padding:0;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);overflow:hidden}.filter-bar__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;flex:1 1 auto;min-width:0}.filter-bar__time{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px}.filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.cgm-tir-summary{flex-basis:100%;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:10px;background:#fff}.cgm-tir-title{font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:600}.cgm-tir-bar{display:flex;width:100%;height:10px;border-radius:999px;overflow:hidden;background:var(--color-gray-100)}.cgm-tir-segment{height:100%}.cgm-tir-low{background:#ef4444a6}.cgm-tir-in-range{background:#10b981bf}.cgm-tir-high{background:#f59e0bbf}.cgm-tir-legend{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--color-gray-600)}.filter-actions{margin-left:auto}.filter-label{font-size:var(--font-size-sm);color:var(--color-gray-600)}.checkbox-label{display:flex;align-items:center;gap:4px;cursor:pointer}.input-field{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:.25rem .5rem;font-size:var(--font-size-sm)}.input-field:focus{outline:2px solid transparent;border-color:var(--color-brand-blue);box-shadow:0 0 0 1px var(--color-brand-blue)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-xs{font-size:.75rem}.mb-sm{margin-bottom:var(--spacing-sm)}.mt-sm{margin-top:var(--spacing-sm)}.ml-sm{margin-left:var(--spacing-sm)}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{background-color:var(--color-gray-100)}.sortable-header-content{display:flex;align-items:center;gap:4px}.sort-icon-placeholder{opacity:.3}.content-stack{display:flex;flex-direction:column;gap:var(--spacing-xl);height:100%;overflow-y:auto;padding-right:4px}.content-stack .chart-container{width:100%}.file-uploader{margin-bottom:var(--spacing-xl)}.drop-zone{border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s;background-color:#fff}.drop-zone:hover{border-color:var(--color-brand-blue);background-color:var(--color-gray-50)}.drop-zone.dragging{border-color:var(--color-brand-blue);background-color:var(--color-info-50)}.drop-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.upload-icon-wrapper{padding:1rem;border-radius:9999px;background-color:var(--color-gray-100);display:flex;align-items:center;justify-content:center}.drop-zone.dragging .upload-icon-wrapper{background-color:var(--color-info-100)}.upload-icon{color:var(--color-gray-500)}.drop-zone.dragging .upload-icon{color:var(--color-brand-blue)}.upload-title{font-size:1.125rem;font-weight:600;margin-bottom:.25rem;color:var(--color-gray-900)}.upload-hint{color:var(--color-gray-500);font-size:.875rem;line-height:1.25rem}.status-message{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem;border-radius:var(--radius-md);font-weight:500}.status-loading{background-color:var(--color-info-50);color:var(--color-brand-blue)}.status-error{background-color:var(--color-error-50);color:var(--color-error-600);border:1px solid var(--color-error-100)}.status-success{background-color:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-100)}.spinner{animation:spin 1s linear infinite;height:1rem;width:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-toolbar{display:flex;justify-content:flex-end;align-items:center;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-subtle)}.toolbar-actions{display:flex;gap:var(--spacing-md)}.btn-secondary{display:flex;align-items:center;gap:var(--spacing-sm);background-color:#fff;border:1px solid var(--color-border-default);color:var(--color-text-primary);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer}.btn-secondary:hover{background-color:var(--color-background-muted)}.btn-secondary.active{background-color:var(--color-brand-blue);color:#fff;border-color:var(--color-brand-blue)}.empty-dashboard{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--spacing-xl)}.empty-state-text{text-align:center;color:var(--color-text-secondary)}.analysis-layout{display:flex;gap:var(--spacing-lg);flex:1;min-height:500px;height:calc(100vh - 180px)}.analysis-main{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.chart-wrapper{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-border-subtle)}.chart-wrapper .chart-fill,.chart-fill{width:100%}.search-wrapper{display:flex;align-items:center;background:#fff;border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:.25rem .5rem;width:100%;max-width:300px}.search-icon{color:var(--color-text-secondary);margin-right:.5rem}.search-input{border:none;outline:none;width:100%;box-shadow:none;padding:0}.category-select{padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:#fff}.quick-filters{display:flex;gap:var(--spacing-sm)}.chip{padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:var(--font-size-sm);border:none;cursor:pointer;font-weight:500}.chip-red{background-color:var(--color-error-100);color:var(--color-error-700)}.chip-orange{background-color:var(--color-warning-100);color:var(--color-warning-700)}.chip-blue{background-color:var(--color-info-100);color:var(--color-info-800)}.chip-active{outline:2px solid currentColor;outline-offset:1px}.chip:hover{opacity:.8}.chart-time-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-start}.chart-width-controls{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:0}.chart-width-presets{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.chart-width-presets .chip{white-space:nowrap}.chart-width-presets .chip:disabled{cursor:not-allowed;opacity:.45}.chart-range-controls{display:flex;align-items:center}.date-time-range-selector,.date-time-range-fields{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.date-time-field{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-gray-600)}.date-time-input{min-width:170px}.btn-date-apply{padding:.25rem .75rem;min-height:auto}.date-time-error{color:var(--color-error-700);font-size:12px;width:100%}.details-panel{width:350px;background:#fff;border-left:1px solid var(--color-border-subtle);display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden}.panel-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center;background:var(--color-gray-50)}.panel-header h3{margin:0;font-size:var(--font-size-md)}.close-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary);box-shadow:none}.panel-content{padding:var(--spacing-md);overflow-y:auto;flex:1}.detail-row{margin-bottom:var(--spacing-md)}.detail-row label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:4px}.description-text{margin:0;white-space:pre-wrap;background:var(--color-gray-100);padding:8px;border-radius:4px;font-family:monospace;font-size:var(--font-size-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:var(--font-size-sm);font-weight:500}.badge-green{background:var(--color-success-100);color:var(--color-success-700)}.badge-red{background:var(--color-error-100);color:var(--color-error-700)}.badge-orange{background:var(--color-warning-100);color:var(--color-warning-700)}.badge-blue{background:var(--color-info-100);color:var(--color-info-800)}.alignment-panel{position:absolute;top:80px;right:20px;width:300px;z-index:100;background:#fff;border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-md);border-radius:var(--radius-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--font-size-sm);margin-bottom:4px}.form-group input{width:100%}.chart-header{margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.chart-title{margin:0;font-size:var(--font-size-lg);color:var(--color-brand-indigo)}.nav-shortcut-hint{margin-left:auto;font-size:10px;opacity:.5}.sidebar-footer{margin-top:auto;padding:clamp(12px,1.5vw,24px);padding-top:clamp(8px,1.2vh,16px);display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-help{width:100%;justify-content:center;background:#ffffff1a;color:#fff;border:none}.btn-help:hover{background:#fff3}.chart-container-wrapper{outline:none;border:2px solid transparent;border-radius:var(--radius-md);transition:border-color .2s;touch-action:pan-y}.chart-container-wrapper:focus{border-color:var(--color-brand-blue)}.chart-keyboard-help{margin-top:8px;font-size:11px;color:var(--color-text-secondary);line-height:1.35}@media(min-width:1440px){.main-content{padding:var(--spacing-3xl)}.analysis-layout,.view-container,.profile-layout{max-width:1600px}.details-panel{width:400px}}@media(min-width:1920px){.main-content{padding:var(--spacing-3xl) calc(var(--spacing-3xl) * 1.5)}.analysis-layout,.view-container,.profile-layout{max-width:1800px}.details-panel{width:420px}.filter-bar{padding:0;gap:0}.chart-wrapper{padding:var(--spacing-xl)}}@media(min-width:2560px){:root{font-size:18px}.main-content{padding:var(--spacing-3xl) calc(var(--spacing-3xl) * 2)}.analysis-layout,.view-container,.profile-layout{max-width:2200px}.details-panel{width:480px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.help-modal{max-width:900px}}@media(min-width:3840px){:root{font-size:20px}.main-content{padding:60px 80px}.analysis-layout,.view-container,.profile-layout{max-width:3200px}.details-panel{width:560px}.help-modal{max-width:1100px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.charts-grid{gap:var(--spacing-2xl)}}@media(max-width:1023px){.nav-item{min-height:36px;padding:7px 12px;font-size:var(--font-size-sm)}.nav-shortcut-hint{display:none}.main-content{padding:var(--spacing-lg)}.analysis-layout{height:calc(100vh - 160px)}.details-panel{width:280px}.filter-bar{flex-wrap:wrap}.filter-bar__filters{flex-basis:100%}.filter-bar__time{border-left:none;border-top:1px solid var(--color-border-subtle);flex-basis:100%}.quick-filters{margin-left:0;margin-top:var(--spacing-sm);width:100%}.chart-time-controls{flex-basis:100%}.chart-range-controls{max-width:100%;overflow:hidden}.date-time-input{min-width:150px}}@media(max-width:767px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;flex-direction:row;padding:var(--spacing-sm) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-header{display:none}.nav-menu{flex-direction:row;gap:0;width:100%;padding:0 var(--spacing-sm)}.nav-item{padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap;flex-shrink:0}.nav-item svg{width:16px;height:16px}.sidebar-footer{display:none}.main-content{padding:var(--spacing-md);height:calc(100vh - 60px)}.analysis-layout{flex-direction:column;height:auto;min-height:0}.analysis-main{min-height:400px}.details-panel{width:100%;max-height:50vh;border-left:none;border-top:1px solid var(--color-border-subtle)}.dashboard-toolbar{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.toolbar-actions{width:100%;justify-content:flex-end}.filter-bar,.filter-bar__filters{flex-direction:column;align-items:stretch}.filter-bar__time{flex-direction:column;align-items:stretch;border-left:none;border-top:1px solid var(--color-border-subtle)}.filter-group{width:100%}.filter-actions{margin-left:0}.filter-group select{flex:1}.chart-time-controls{width:100%;justify-content:flex-start}.date-time-range-selector,.date-time-range-fields{width:100%}.date-time-field{flex:1 1 220px}.date-time-input{width:100%;min-width:0}.quick-filters{justify-content:center}.chart-container,.chart-wrapper{min-height:300px}.chart-keyboard-help{display:none}.view-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.view-title{display:block;font-size:1.25rem}.table-container{margin-top:var(--spacing-md)}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.profile-layout{grid-template-columns:1fr;height:auto}.sidebar-list{max-height:200px}.alignment-panel{position:fixed;inset:auto 0 0;width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}@media(max-width:639px){:root{font-size:14px}.main-content{padding:var(--spacing-sm)}.nav-item{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.nav-item span{display:none}.nav-item svg{width:20px;height:20px}.view-title{font-size:1.125rem}.chart-header h2{font-size:var(--font-size-md)}.btn-secondary{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-secondary span{display:none}.chip{padding:.125rem .5rem;font-size:var(--font-size-xs)}.card{padding:var(--spacing-md)}.stats-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.card-value{font-size:var(--font-size-xl)}.details-panel{max-height:40vh}.panel-content{padding:var(--spacing-sm)}.detail-row{margin-bottom:var(--spacing-sm)}.empty-state{padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.drop-zone{padding:var(--spacing-lg)}.upload-icon-wrapper{padding:.75rem}.upload-title{font-size:1rem}.view-container{padding:.75rem}.details-grid{grid-template-columns:1fr}.pagination-controls{justify-content:center;gap:var(--spacing-sm)}.pagination-total{margin-left:0;width:100%;text-align:center}.data-table th:nth-child(n+4),.data-table td:nth-child(n+4){display:none}}@media(max-width:399px){.toolbar-actions{flex-wrap:wrap;gap:var(--spacing-xs)}.btn-secondary{flex:1;justify-content:center;min-width:0}.quick-filters{flex-wrap:wrap}.chip{flex:1;text-align:center}.nav-menu{justify-content:space-around}}@media(hover:none)and (pointer:coarse){.nav-item{min-height:44px}button,.btn-primary,.btn-secondary,.chip{min-height:44px;min-width:44px}.list-item{min-height:48px;display:flex;align-items:center}.input-field,select{min-height:44px;font-size:16px}}@media print{.sidebar,.filter-bar,.toolbar-actions,.chart-keyboard-help,.dataZoom,.details-panel{display:none!important}.app-layout{display:block}.main-content{padding:0;overflow:visible}.chart-container,.chart-wrapper{break-inside:avoid;page-break-inside:avoid}.table-container{overflow:visible}.data-table th:nth-child(n+4),.data-table td:nth-child(n+4){display:table-cell}}@media(max-height:500px)and (orientation:landscape){.app-layout{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:60px;flex-direction:column;z-index:100}.sidebar-header,.nav-item span,.sidebar-footer{display:none}.nav-menu{flex-direction:column;overflow-y:auto;flex:1;min-height:0}.nav-item{justify-content:center;padding:var(--spacing-md)}.main-content{margin-left:60px;height:100vh}.analysis-layout{height:calc(100vh - 80px)}}@media(prefers-contrast:high){:root{--color-border-subtle: #000;--color-border-default: #000}.card,.chart-container,.chart-wrapper,.filter-bar{border:2px solid #000}.nav-item.active{border-left:4px solid white}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner{animation:none;border:2px solid currentColor}}.help-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);overflow-y:auto}.help-modal{background-color:#fff;border-radius:var(--radius-lg);width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.help-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);background:var(--color-brand-blue);border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:#fff}.help-title-row{display:flex;align-items:center;gap:var(--spacing-md)}.help-header h2{margin:0;font-size:var(--font-size-xl);color:#fff}.help-header .close-btn{color:#fff;background:#ffffff1a;border-radius:var(--radius-md);padding:var(--spacing-xs)}.help-header .close-btn:hover{background:#fff3}.help-content{padding:var(--spacing-xl);overflow-y:auto;flex:1}.help-section{margin-bottom:var(--spacing-2xl)}.help-section:last-child{margin-bottom:0}.help-section h3{font-size:var(--font-size-lg);color:var(--color-brand-indigo);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-brand-blue);display:flex;align-items:center}.help-step{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-background-muted);border-radius:var(--radius-md)}.step-icon{flex-shrink:0;width:40px;height:40px;background:var(--color-brand-blue);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.step-content h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);color:var(--color-brand-indigo)}.step-content p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.help-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-background-muted);border-radius:var(--radius-md)}.help-item svg{flex-shrink:0;color:var(--color-brand-blue);margin-top:2px}.help-item strong{display:block;color:var(--color-text-primary);margin-bottom:2px}.help-item p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.help-subheading{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.help-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-style:italic}.shortcuts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.shortcut-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-muted);border-radius:var(--radius-md)}.shortcut-item kbd{background-color:var(--color-background-default);border:1px solid var(--color-gray-300);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:var(--font-size-sm);color:var(--color-gray-700);box-shadow:0 1px #0000001a}.shortcut-item span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.help-list{margin:0;padding-left:var(--spacing-xl);color:var(--color-text-secondary)}.help-list li{margin-bottom:var(--spacing-sm);line-height:1.5}.help-list strong{color:var(--color-text-primary)}.help-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border-subtle);display:flex;justify-content:flex-end;background:var(--color-background-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.help-footer .btn-primary{min-width:120px}@media(max-width:767px){.help-overlay{padding:var(--spacing-sm);align-items:flex-start}.help-modal{max-height:95vh;margin-top:var(--spacing-md)}.help-header{padding:var(--spacing-lg)}.help-header h2{font-size:var(--font-size-lg)}.help-content{padding:var(--spacing-lg)}.help-step{flex-direction:column;text-align:center}.step-icon{margin:0 auto}.help-grid,.shortcuts-grid{grid-template-columns:1fr}.shortcut-item{justify-content:space-between}}@media(max-width:639px){.sidebar-footer{display:none}}.mobile-nav-action{display:none;background:transparent;border:none;box-shadow:none}.mobile-nav-action:hover{background:#ffffff1a}.mobile-nav-signout{color:var(--color-error-400)}.mobile-nav-signout:hover{background:#f8717133}@media(max-width:767px){.mobile-nav-action{display:flex}}.auth-loading{display:grid;place-items:center;height:100vh}.auth-user-block{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;width:100%}.auth-user-block .text-xs{font-size:1rem}.auth-user-block .btn-secondary{width:100%;justify-content:center}.opacity-80{opacity:.8}:root{--font-family-base: "IBM Plex Sans", "Segoe UI", sans-serif;--font-family-display: "Sora", "IBM Plex Sans", sans-serif;--font-family-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--color-background-muted: #edf3f8;--color-background-default: #f7fafc;--color-background-nav: #0d1e35;--color-background-surface-on-navy: #142b47;--color-brand-blue: #1f4f8f;--color-brand-indigo: #17365f;--color-brand-navy: #0b1a2d;--color-accent-medtronic-blue: #2b68b2;--color-state-highlight: #2563eb;--color-text-primary: #15263d;--color-text-secondary: #435671;--color-text-on-brand: #f8fbff;--color-border-subtle: #d8e2ec;--color-border-default: #a9bbcf;--color-border-strong: #6f87a2;--shadow-sm: 0 10px 24px rgba(9, 30, 66, .08);--shadow-md: 0 20px 44px rgba(10, 32, 75, .12);--radius-md: 10px;--radius-lg: 14px}body{font-family:var(--font-family-base);background:radial-gradient(circle at 16% -12%,rgba(59,130,246,.18),transparent 44%),radial-gradient(circle at 85% 112%,rgba(30,64,175,.18),transparent 40%),var(--color-background-muted);color:var(--color-text-primary)}h1,h2,h3,h4{font-family:var(--font-family-display);letter-spacing:-.01em}a,button,[role=button],.nav-item,.chip{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-state-highlight);outline-offset:2px}.app-layout{background:transparent;gap:0}.sidebar{width:clamp(200px,18vw,380px);background:#0f2541;border-right:1px solid rgba(190,214,243,.18);position:relative;z-index:4}.sidebar-top{display:flex;flex-direction:column;min-height:0;flex:1;overflow:visible;justify-content:flex-start}.sidebar-header{margin-bottom:clamp(8px,1.5vh,var(--spacing-lg))}.brand{align-items:center;gap:clamp(6px,1vh,12px)}.brand-content{display:flex;flex-direction:column;justify-content:center}.brand-name{font-family:var(--font-family-display);font-size:clamp(.95rem,1.5vw,1.25rem);line-height:1.2;font-weight:600}.sidebar-subtitle{margin:clamp(4px,.8vh,10px) 0 0;font-size:clamp(.72rem,1.1vmin,.85rem);color:#d6e8fbbf;line-height:1.45}.nav-menu{gap:clamp(2px,.4vh,4px);padding:0 clamp(8px,1vw,14px)}.nav-item{border-radius:10px;margin:0;min-height:clamp(32px,4.5vh,42px);padding:clamp(5px,.9vh,9px) clamp(10px,1.2vw,18px);color:#dae9f8c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{background:#8fb5e026;color:#f7fbff}.nav-item.active{background:#3161a359;border:1px solid rgba(159,198,240,.44)}.nav-shortcut-hint{font-family:var(--font-family-mono);font-size:clamp(.55rem,.8vw,.72rem);opacity:.72}.nav-item svg{width:clamp(16px,1.4vw,22px);height:clamp(16px,1.4vw,22px);flex-shrink:0}.sidebar-footer button svg{width:clamp(14px,1.2vw,18px);height:clamp(14px,1.2vw,18px);flex-shrink:0}.sidebar-footer{border-top:1px solid rgba(164,197,233,.22);margin-top:clamp(8px,1.5vh,var(--spacing-lg));padding-top:clamp(8px,1.2vh,16px);position:relative;z-index:1}.btn-secondary,.btn-primary{min-height:clamp(36px,4vh,44px);border-radius:10px;font-size:clamp(.8rem,1.2vw,.95rem);font-weight:600;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.btn-secondary{background:#fff;border-color:var(--color-border-subtle);color:#224164}.btn-secondary:hover{background:#f2f7fd;border-color:var(--color-border-default);transform:translateY(-1px)}.btn-secondary.active{color:#fff;background:var(--color-brand-blue);border-color:var(--color-brand-blue)}.btn-help{background:#a8caf129;color:#edf6ff;border:1px solid rgba(171,206,246,.24)}.btn-help:hover{background:#a8caf13d}.btn-help-topbar{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid rgba(34,65,100,.3);background-color:#eaf1f8;color:#2a5080;cursor:pointer;flex-shrink:0;box-sizing:border-box;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-help-topbar:hover{background-color:#dce8f5;border-color:#22416473;color:#1a3a60}.workspace-shell{display:flex;flex:1;min-width:0;flex-direction:column;position:relative}.workspace-topbar{min-height:74px;padding:14px 30px;background:#f5faffc7;border-bottom:1px solid var(--color-border-subtle);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.workspace-heading{display:flex;flex-direction:column;gap:4px}.workspace-heading h1{margin:0;font-size:1.12rem;color:#132f51}.main-content{padding:28px;background:transparent}.view-container{border:none;border-radius:0;background:transparent;box-shadow:none;padding:0}.view-title{display:none}.dashboard-header{margin-bottom:var(--spacing-lg)}.analysis-layout{height:auto;min-height:0}.filter-bar{border:1px solid var(--color-border-subtle);border-radius:12px;background:#fff;padding:0;gap:0}.filter-label{color:#344b65;font-weight:600}.input-field,.category-select,.search-wrapper,.pagination-page-size{border:1px solid var(--color-border-default);border-radius:10px;background:#fff;color:#17395d}.input-field,.category-select{min-height:36px}.input-field:focus,.category-select:focus,.search-wrapper:focus-within{border-color:#2e6eb7;box-shadow:0 0 0 3px #2e6eb729}.search-wrapper{padding:6px 10px}.chip{border:1px solid transparent;background:#e9f1fb;color:#27588f;border-radius:999px;min-height:34px;transition:all .18s ease}.chip:hover{opacity:1;border-color:#3566a559;transform:translateY(-1px)}.chip-active{border-color:#245693;background:#1f4f8f;color:#fff}.chart-wrapper,.chart-container,.table-container,.details-card,.sidebar-list,.details-panel{border:1px solid var(--color-border-subtle);border-radius:14px}.chart-wrapper,.chart-container,.table-container,.details-card,.sidebar-list{background:#fff}.chart-title{color:#173f6e;font-size:1.05rem}.chart-keyboard-help{color:#496786;font-family:var(--font-family-mono);font-size:10px}.data-table th{background:#f3f8fe;color:#365377;border-bottom-color:#dbe6f2}.data-table td{border-bottom-color:#e7eef6}.data-table tr:hover{background:#f8fbff}.sortable-th:hover{background-color:#edf4fe}.pagination-btn{border-radius:9px;min-height:36px}.badge{border-radius:999px;font-size:.74rem;padding:4px 10px}.badge-blue{background:#2563eb24;color:#17438a}.badge-red{background:#dc262621;color:#941c1c}.badge-orange{background:#f59e0b2e;color:#8f4508}.badge-green{background:#16a34a29;color:#0f5d2a}.details-panel{background:#fdfefe}.panel-header{background:#f1f6fc}.description-text{font-family:var(--font-family-mono);background:#f4f8fc}.drop-zone{border:2px dashed #98b1cb;border-radius:14px;background:#fbfdff}.drop-zone:hover{border-color:#356aa8;background:#f4f9ff}.upload-icon-wrapper{background:#edf4fe}.upload-icon{color:#295b95}.file-uploader-demo{text-align:center;margin-top:.65rem}.file-uploader-demo-btn{background:none;border:none;box-shadow:none;color:#245896;text-decoration:underline;font-size:.86rem;padding:.25rem}.file-uploader-demo-btn:hover{color:#133f6f}.status-message{border-radius:10px;border:1px solid transparent}.status-loading{border-color:#2563eb40}.status-success{border-color:#16a34a33}.status-error{border-color:#dc262633}.help-overlay{backdrop-filter:blur(3px)}.help-modal{border:1px solid #c8d8eb}.help-header{background:linear-gradient(120deg,#1b4c87,#12365f 70%)}.help-step,.help-item,.shortcut-item{border:1px solid #dce8f4;background:#f8fbff}.help-footer{background:#f3f8fe}.auth-loading{background:#eef4fa}@media(max-width:1180px){.workspace-topbar{padding:12px 18px}}@media(max-width:767px){.app-layout{background:var(--color-background-muted)}.sidebar{width:100%;border-bottom:1px solid var(--color-border-subtle)}.nav-menu{padding:0 8px}.nav-item{margin:0 2px}.workspace-topbar{flex-wrap:wrap;align-items:flex-start;min-height:auto}.main-content{padding:12px}.view-container{border-radius:0}}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family-base, "IBM Plex Sans", "Segoe UI", sans-serif);background:var(--color-background-muted, #ffffff);color:var(--color-text-primary, #111827)}
