:root{--color-primary: #2563eb;--color-primary-dark: #1e4bb0;--color-primary-light: #dbeafe;--color-secondary: #64748b;--color-secondary-dark: #475569;--color-success: #10b981;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-white: #ffffff;--color-black: #000000;--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;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #94a3b8;--border-color: #e2e8f0;--border-radius-sm: 4px;--border-radius: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--text-tertiary)}.bg-white{background-color:var(--color-white)}.bg-primary{background-color:var(--color-primary)}.bg-success{background-color:var(--color-success)}.bg-danger{background-color:var(--color-danger)}.font-bold{font-weight:var(--font-weight-bold)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],select,textarea{width:100%;padding:10px 14px;font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--color-white);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}input[type=text]:disabled,input[type=password]:disabled,input[type=email]:disabled,input[type=number]:disabled,select:disabled,textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:.7}label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);font-size:var(--font-size-sm)}button{font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:10px 20px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-danger{background-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark)}.btn-warning{background-color:var(--color-warning);color:var(--color-white)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark)}.btn-ghost{background-color:transparent;color:var(--color-primary);padding:6px 12px}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-sm{padding:6px 12px;font-size:var(--font-size-sm)}.btn-lg{padding:12px 24px;font-size:var(--font-size-lg)}.card{background-color:var(--color-white);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.card-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.card-body{padding:var(--spacing-md) 0}.table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--color-white);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse}table th,table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}table th{background-color:var(--color-gray-50);font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}table tbody tr:hover{background-color:var(--color-gray-50)}table tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius);text-align:center}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-success{background-color:#d1fae5;color:var(--color-success)}.badge-warning{background-color:#fef3c7;color:var(--color-warning)}.badge-danger{background-color:#fee2e2;color:var(--color-danger)}.badge-gray{background-color:var(--color-gray-200);color:var(--color-gray-700)}.message{padding:12px 16px;border-radius:var(--border-radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.message-success{background-color:#d1fae5;color:var(--color-success-dark);border:1px solid #a7f3d0}.message-error{background-color:#fee2e2;color:var(--color-danger-dark);border:1px solid #fecaca}.message-warning{background-color:#fef3c7;color:var(--color-warning-dark);border:1px solid #fde68a}.message-info{background-color:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid #bfdbfe}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background-color:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.form-group{margin-bottom:var(--spacing-md)}.form-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.form-row>*{flex:1;min-width:200px}.divider{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-lg) 0}.login-form[data-v-7a9e4a0a]{max-width:400px;margin:50px auto;padding:20px;border:1px solid #ccc;border-radius:8px;box-shadow:0 0 10px #0000001a}.form-group[data-v-7a9e4a0a]{margin-bottom:15px}.form-group label[data-v-7a9e4a0a]{display:block;margin-bottom:5px}.form-group input[data-v-7a9e4a0a]{width:calc(100% - 20px);padding:8px 10px;border:1px solid #ddd;border-radius:4px}button[data-v-7a9e4a0a]{background-color:#4caf50;color:#fff;padding:10px 15px;border:none;border-radius:4px;cursor:pointer;width:100%}button[data-v-7a9e4a0a]:disabled{background-color:#aaa}button[data-v-7a9e4a0a]:hover:not(:disabled){background-color:#45a049}.error-message[data-v-7a9e4a0a]{color:red;margin-top:10px}.dashboard[data-v-7dd47846]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.dashboard h1[data-v-7dd47846]{margin-bottom:var(--spacing-xl);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.dashboard-nav[data-v-7dd47846]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.nav-button[data-v-7dd47846]{padding:16px 24px;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius);transition:all var(--transition-fast);font-weight:var(--font-weight-semibold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow-sm)}.nav-button[data-v-7dd47846]:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.admin-btn[data-v-7dd47846]{background-color:var(--color-primary)}.admin-btn[data-v-7dd47846]:hover{background-color:var(--color-primary-dark)}.user-btn[data-v-7dd47846]{background-color:var(--color-secondary)}.user-btn[data-v-7dd47846]:hover{background-color:var(--color-secondary-dark)}.user-profile-summary[data-v-7dd47846]{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--border-radius);border:1px solid var(--border-color)}.user-profile-summary h3[data-v-7dd47846]{margin-top:0;margin-bottom:var(--spacing-md);color:var(--text-primary)}.user-profile-summary p[data-v-7dd47846]{margin:var(--spacing-xs) 0;color:var(--text-secondary)}.add-client-form[data-v-9204eea1]{padding:20px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000000d}.add-client-form h3[data-v-9204eea1]{margin-top:0;margin-bottom:20px;color:#333}.form-grid[data-v-9204eea1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.form-group[data-v-9204eea1]{display:flex;flex-direction:column}.form-group.full-width[data-v-9204eea1]{grid-column:1 / -1}.form-group label[data-v-9204eea1]{margin-bottom:5px;font-weight:500;color:#555}.form-group input[data-v-9204eea1],.form-group select[data-v-9204eea1],.form-group textarea[data-v-9204eea1]{padding:10px;border:1px solid #ccc;border-radius:4px;font-size:1em;box-sizing:border-box;width:100%}.form-group textarea[data-v-9204eea1]{resize:vertical}.submit-button[data-v-9204eea1]{background-color:#28a745;color:#fff;padding:12px 20px;border:none;border-radius:4px;cursor:pointer;font-size:1em}.submit-button[data-v-9204eea1]:disabled{background-color:#aaa}.submit-button[data-v-9204eea1]:hover:not(:disabled){background-color:#218838}.error-message[data-v-9204eea1]{color:#d32f2f;margin-top:10px;font-size:.9em}.success-message[data-v-9204eea1]{color:#388e3c;margin-top:10px;font-size:.9em}.modal-overlay[data-v-f177841c]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-f177841c]{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:700px}.modal-content h3[data-v-f177841c]{margin-top:0;margin-bottom:20px;color:#333}.form-grid[data-v-f177841c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.form-group[data-v-f177841c]{display:flex;flex-direction:column}.form-group.full-width[data-v-f177841c]{grid-column:1 / -1}.form-group label[data-v-f177841c]{margin-bottom:5px;font-weight:500}.form-group input[data-v-f177841c],.form-group select[data-v-f177841c],.form-group textarea[data-v-f177841c]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.form-group textarea[data-v-f177841c]{resize:vertical}.modal-actions[data-v-f177841c]{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.save-button[data-v-f177841c],.cancel-button[data-v-f177841c]{padding:10px 18px}.save-button[data-v-f177841c]{background-color:#28a745;color:#fff}.save-button[data-v-f177841c]:hover{background-color:#218838}.cancel-button[data-v-f177841c]{background-color:#6c757d;color:#fff}.cancel-button[data-v-f177841c]:hover{background-color:#5a6268}.error-message[data-v-f177841c]{color:red;margin-bottom:15px}.client-list-container[data-v-0a246b3d]{margin-top:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d}.client-list-container h3[data-v-0a246b3d]{margin-top:0;margin-bottom:15px}.controls[data-v-0a246b3d]{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.controls input[type=text][data-v-0a246b3d]{padding:8px 10px;border:1px solid #ccc;border-radius:4px;flex-grow:1;min-width:150px}.refresh-button[data-v-0a246b3d]{padding:8px 15px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-button[data-v-0a246b3d]:hover{background-color:#0056b3}.refresh-button[data-v-0a246b3d]:disabled{background-color:#6c757d}.client-table-wrapper[data-v-0a246b3d]{overflow-x:auto}table[data-v-0a246b3d]{width:100%;border-collapse:collapse;margin-top:15px}th[data-v-0a246b3d],td[data-v-0a246b3d]{border:1px solid #ddd;padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap}th[data-v-0a246b3d]{background-color:#f8f9fa;font-weight:600;color:#495057}tr[data-v-0a246b3d]:nth-child(2n){background-color:#f2f2f2}.actions-cell[data-v-0a246b3d]{white-space:nowrap}.action-button[data-v-0a246b3d]{padding:5px 8px;margin-right:5px;border-radius:4px;cursor:pointer;font-size:.85em;border:1px solid transparent}.edit-button[data-v-0a246b3d]{background-color:#ffc107;color:#212529;border-color:#dda800}.edit-button[data-v-0a246b3d]:hover{background-color:#e0a800}.delete-button[data-v-0a246b3d]{background-color:#dc3545;color:#fff;border-color:#c82333}.delete-button[data-v-0a246b3d]:hover{background-color:#c82333}.view-measures-button[data-v-0a246b3d]{background-color:#007bff;color:#fff;border-color:#007bff;text-decoration:none;display:inline-block;line-height:1}.view-measures-button[data-v-0a246b3d]:hover{background-color:#0056b3}.pagination-controls[data-v-0a246b3d]{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:10px}.pagination-controls button[data-v-0a246b3d]{padding:8px 12px}.pagination-controls span[data-v-0a246b3d]{font-size:.9em}.error-message[data-v-0a246b3d]{color:#d32f2f;margin-top:10px}.send-to-desktop-button[data-v-0a246b3d]{background-color:#4caf50}.send-to-desktop-button[data-v-0a246b3d]:hover{background-color:#45a049}.clients-view[data-v-9108e116]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.back-link[data-v-9108e116]{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 16px;background-color:var(--color-secondary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.back-link[data-v-9108e116]:hover{background-color:var(--color-secondary-dark)}.page-header[data-v-9108e116]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1[data-v-9108e116]{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.add-device-form[data-v-2fe580d6]{padding:20px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000000d}.add-device-form h3[data-v-2fe580d6]{margin-top:0;margin-bottom:20px;color:#333}.form-grid[data-v-2fe580d6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.form-group[data-v-2fe580d6]{display:flex;flex-direction:column}.form-group.full-width[data-v-2fe580d6]{grid-column:1 / -1}.form-group label[data-v-2fe580d6]{margin-bottom:5px;font-weight:500;color:#555}.form-group input[data-v-2fe580d6],.form-group select[data-v-2fe580d6],.form-group textarea[data-v-2fe580d6]{padding:10px;border:1px solid #ccc;border-radius:4px;font-size:1em;box-sizing:border-box;width:100%}.form-group textarea[data-v-2fe580d6]{resize:vertical}.submit-button[data-v-2fe580d6]{background-color:#28a745;color:#fff;padding:12px 20px;border:none;border-radius:4px;cursor:pointer;font-size:1em}.submit-button[data-v-2fe580d6]:disabled{background-color:#aaa}.submit-button[data-v-2fe580d6]:hover:not(:disabled){background-color:#218838}.error-message[data-v-2fe580d6]{color:#d32f2f;margin-top:10px;font-size:.9em}.success-message[data-v-2fe580d6]{color:#388e3c;margin-top:10px;font-size:.9em}.modal-overlay[data-v-9932c086]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-9932c086]{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:700px}.modal-content h3[data-v-9932c086]{margin-top:0;margin-bottom:20px;color:#333}.form-grid[data-v-9932c086]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.form-group[data-v-9932c086]{display:flex;flex-direction:column}.form-group.full-width[data-v-9932c086]{grid-column:1 / -1}.form-group label[data-v-9932c086]{margin-bottom:5px;font-weight:500}.form-group input[data-v-9932c086],.form-group select[data-v-9932c086],.form-group textarea[data-v-9932c086]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.form-group textarea[data-v-9932c086]{resize:vertical}.modal-actions[data-v-9932c086]{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.save-button[data-v-9932c086]{background-color:#28a745;color:#fff}.save-button[data-v-9932c086]:hover{background-color:#218838}.cancel-button[data-v-9932c086]{background-color:#6c757d;color:#fff}.cancel-button[data-v-9932c086]:hover{background-color:#5a6268}.error-message[data-v-9932c086]{color:red;margin-bottom:15px}.device-list-container[data-v-fef73491]{margin-top:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d}.device-list-container h3[data-v-fef73491]{margin-top:0;margin-bottom:15px}.controls[data-v-fef73491]{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.controls input[type=text][data-v-fef73491]{padding:8px 10px;border:1px solid #ccc;border-radius:4px;flex-grow:1;min-width:150px}.refresh-button[data-v-fef73491]{padding:8px 15px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-button[data-v-fef73491]:hover{background-color:#0056b3}.refresh-button[data-v-fef73491]:disabled{background-color:#6c757d}.device-table-wrapper[data-v-fef73491]{overflow-x:auto}table[data-v-fef73491]{width:100%;border-collapse:collapse;margin-top:15px}th[data-v-fef73491],td[data-v-fef73491]{border:1px solid #ddd;padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap}th[data-v-fef73491]{background-color:#f8f9fa;font-weight:600;color:#495057}tr[data-v-fef73491]:nth-child(2n){background-color:#f2f2f2}.actions-cell[data-v-fef73491]{white-space:nowrap}.action-button[data-v-fef73491]{padding:5px 8px;margin-right:5px;border-radius:4px;cursor:pointer;font-size:.85em;border:1px solid transparent}.edit-button[data-v-fef73491]{background-color:#ffc107;color:#212529;border-color:#dda800}.edit-button[data-v-fef73491]:hover{background-color:#e0a800}.delete-button[data-v-fef73491]{background-color:#dc3545;color:#fff;border-color:#c82333}.delete-button[data-v-fef73491]:hover{background-color:#c82333}.pagination-controls[data-v-fef73491]{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:10px}.pagination-controls button[data-v-fef73491]{padding:8px 12px}.pagination-controls span[data-v-fef73491]{font-size:.9em}.error-message[data-v-fef73491]{color:#d32f2f;margin-top:10px}.devices-view[data-v-f401cc01]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.back-link[data-v-f401cc01]{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 16px;background-color:var(--color-secondary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.back-link[data-v-f401cc01]:hover{background-color:var(--color-secondary-dark)}.page-header[data-v-f401cc01]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1[data-v-f401cc01]{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.modal-overlay[data-v-1dfc6177]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-1dfc6177]{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:1400px;max-height:90vh;overflow-y:auto}.chart-modal[data-v-1dfc6177]{max-width:1600px}.modal-content h3[data-v-1dfc6177]{margin-top:0;margin-bottom:15px;color:#333}.measure-info[data-v-1dfc6177]{margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:4px}.info-grid[data-v-1dfc6177]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.charts-container[data-v-1dfc6177]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.chart-wrapper[data-v-1dfc6177]{padding:15px;background-color:#fff;border:1px solid #ddd;border-radius:6px;position:relative;height:450px}.chart-wrapper h4[data-v-1dfc6177]{margin-top:0;margin-bottom:10px;font-size:14px;color:#333;text-align:center}.meridian-chart[data-v-1dfc6177]{width:100%!important;height:calc(100% - 30px)!important}.modal-actions[data-v-1dfc6177]{padding-top:20px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #ddd}.cancel-button[data-v-1dfc6177]{background-color:#6c757d;color:#fff;padding:10px 18px;border:none;border-radius:4px;cursor:pointer}.cancel-button[data-v-1dfc6177]:hover{background-color:#5a6268}.error-message[data-v-1dfc6177]{color:red;margin-bottom:15px}.modal-overlay[data-v-fa0b80dc]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-fa0b80dc]{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0003;width:95%;max-width:1100px;max-height:85vh;overflow-y:auto}.modal-content h3[data-v-fa0b80dc]{margin-top:0;margin-bottom:20px;color:#333}.table-responsive[data-v-fa0b80dc]{overflow-x:auto;margin-bottom:20px}.results-table[data-v-fa0b80dc]{width:100%;border-collapse:collapse;font-size:14px;min-width:900px}.results-table th[data-v-fa0b80dc]{background-color:#f2f2f2;color:#333;font-weight:600;padding:12px 8px;text-align:center;border:1px solid #ddd;white-space:nowrap}.results-table td[data-v-fa0b80dc]{padding:10px 8px;border:1px solid #ddd;text-align:center}.results-table tbody tr[data-v-fa0b80dc]:nth-child(2n){background-color:#f8f9fa}.results-table tbody tr[data-v-fa0b80dc]:hover{background-color:#e9ecef}.meridian-name[data-v-fa0b80dc]{font-weight:600;color:#007bff;white-space:nowrap}.range-min[data-v-fa0b80dc],.range-max[data-v-fa0b80dc]{font-family:monospace}.modal-actions[data-v-fa0b80dc]{padding-top:20px;display:flex;justify-content:flex-end;border-top:1px solid #ddd}.cancel-button[data-v-fa0b80dc]{background-color:#6c757d;color:#fff;padding:10px 18px;border:none;border-radius:4px;cursor:pointer}.cancel-button[data-v-fa0b80dc]:hover{background-color:#5a6268}.error-message[data-v-fa0b80dc]{color:red;margin-bottom:15px}.no-data[data-v-fa0b80dc]{text-align:center;color:#666;padding:30px;background:#f8f9fa;border-radius:6px;margin-bottom:20px}.measure-list-container[data-v-5b607c6c]{margin-top:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d}.measure-list-container h3[data-v-5b607c6c]{margin-top:0;margin-bottom:15px}.refresh-button[data-v-5b607c6c]{margin-bottom:15px;padding:8px 15px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-button[data-v-5b607c6c]:hover{background-color:#0056b3}.refresh-button[data-v-5b607c6c]:disabled{background-color:#6c757d}.measure-table-wrapper[data-v-5b607c6c]{overflow-x:auto}table[data-v-5b607c6c]{width:100%;border-collapse:collapse;margin-top:15px}th[data-v-5b607c6c],td[data-v-5b607c6c]{border:1px solid #ddd;padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap}th[data-v-5b607c6c]{background-color:#f8f9fa;font-weight:600;color:#495057}tr[data-v-5b607c6c]:nth-child(2n){background-color:#f2f2f2}.actions-cell[data-v-5b607c6c]{white-space:nowrap}.action-button[data-v-5b607c6c]{padding:5px 8px;margin-right:5px;border-radius:4px;cursor:pointer;font-size:.85em;border:1px solid transparent}.chart-button[data-v-5b607c6c]{background-color:#17a2b8;color:#fff;border-color:#138496}.chart-button[data-v-5b607c6c]:hover{background-color:#138496}.result-button[data-v-5b607c6c]{background-color:#28a745;color:#fff;border-color:#218838}.result-button[data-v-5b607c6c]:hover{background-color:#218838}.delete-button[data-v-5b607c6c]{background-color:#dc3545;color:#fff;border-color:#c82333}.delete-button[data-v-5b607c6c]:hover{background-color:#c82333}.error-message[data-v-5b607c6c]{color:#d32f2f;margin-top:10px}.measures-view[data-v-c445dc67]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.back-link[data-v-c445dc67]{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 16px;background-color:var(--color-secondary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.back-link[data-v-c445dc67]:hover{background-color:var(--color-secondary-dark)}.page-header[data-v-c445dc67]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1[data-v-c445dc67]{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.add-parameter-form[data-v-43e9b90f]{border:1px solid #ccc;padding:20px;border-radius:8px;background-color:#f9f9f9}.form-group[data-v-43e9b90f]{margin-bottom:15px}label[data-v-43e9b90f]{display:block;margin-bottom:5px;font-weight:700}input[data-v-43e9b90f],select[data-v-43e9b90f]{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}button[data-v-43e9b90f]{padding:10px 15px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}button[data-v-43e9b90f]:disabled{background-color:#ccc;cursor:not-allowed}.error-message[data-v-43e9b90f]{color:red;margin-bottom:15px}.parameter-list-container[data-v-6d819d54]{margin-top:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d}.parameter-list-container h3[data-v-6d819d54]{margin-top:0;margin-bottom:15px}.controls[data-v-6d819d54]{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.controls input[type=text][data-v-6d819d54],.controls input[data-v-6d819d54]{padding:8px 10px;border:1px solid #ccc;border-radius:4px;flex-grow:1;min-width:150px}.refresh-button[data-v-6d819d54]{padding:8px 15px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-button[data-v-6d819d54]:hover{background-color:#0056b3}.refresh-button[data-v-6d819d54]:disabled{background-color:#6c757d}.table-wrapper[data-v-6d819d54]{overflow-x:auto}table[data-v-6d819d54]{width:100%;border-collapse:collapse;margin-top:15px}th[data-v-6d819d54],td[data-v-6d819d54]{border:1px solid #ddd;padding:10px 12px;text-align:left;vertical-align:middle}th[data-v-6d819d54]{background-color:#f8f9fa;font-weight:600;color:#495057}tr[data-v-6d819d54]:nth-child(2n){background-color:#f2f2f2}.edit-input[data-v-6d819d54]{width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.actions-cell[data-v-6d819d54]{white-space:nowrap}.action-button[data-v-6d819d54]{padding:5px 8px;margin-right:5px;border-radius:4px;cursor:pointer;font-size:.85em;border:1px solid transparent}.edit-button[data-v-6d819d54]{background-color:#ffc107;color:#212529;border-color:#dda800}.edit-button[data-v-6d819d54]:hover{background-color:#e0a800}.delete-button[data-v-6d819d54]{background-color:#dc3545;color:#fff;border-color:#c82333}.delete-button[data-v-6d819d54]:hover{background-color:#c82333}.save-button[data-v-6d819d54]{background-color:#28a745;color:#fff;border-color:#218838}.save-button[data-v-6d819d54]:hover{background-color:#218838}.cancel-button[data-v-6d819d54]{background-color:#6c757d;color:#fff;border-color:#545b62}.cancel-button[data-v-6d819d54]:hover{background-color:#545b62}.error-message[data-v-6d819d54]{color:#d32f2f;margin-top:10px;padding:10px;border:1px solid #d32f2f;border-radius:4px;background-color:#ffebee}.parameters-view[data-v-abd9f4e4]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.back-link[data-v-abd9f4e4]{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 16px;background-color:var(--color-secondary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.back-link[data-v-abd9f4e4]:hover{background-color:var(--color-secondary-dark)}.page-header[data-v-abd9f4e4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1[data-v-abd9f4e4]{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.departments-view[data-v-6a01e9ac]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.back-link[data-v-6a01e9ac]{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 16px;background-color:var(--color-secondary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.back-link[data-v-6a01e9ac]:hover{background-color:var(--color-secondary-dark)}.page-header[data-v-6a01e9ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1[data-v-6a01e9ac]{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.form-grid[data-v-6a01e9ac]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-group[data-v-6a01e9ac]{display:flex;flex-direction:column}.form-group.full-width[data-v-6a01e9ac]{grid-column:1 / -1}.form-group label[data-v-6a01e9ac]{margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.form-group input[data-v-6a01e9ac],.form-group select[data-v-6a01e9ac],.form-group textarea[data-v-6a01e9ac]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);width:100%}.form-group textarea[data-v-6a01e9ac]{resize:vertical}.form-actions[data-v-6a01e9ac]{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}.form-group[data-v-e50eeceb]{margin-bottom:var(--spacing-md)}.form-actions[data-v-e50eeceb]{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-content[data-v-7892d050]{padding:var(--spacing-xl)}.modal-header[data-v-7892d050]{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-7892d050]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.form-group[data-v-7892d050]{margin-bottom:var(--spacing-md)}.modal-actions[data-v-7892d050]{margin-top:var(--spacing-lg);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.user-list-container[data-v-90a12425]{display:flex;flex-direction:column;gap:var(--spacing-md)}.list-header[data-v-90a12425]{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.empty-state[data-v-90a12425]{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.uuid-cell[data-v-90a12425]{font-size:var(--font-size-xs);font-family:monospace;max-width:150px;overflow:hidden;text-overflow:ellipsis}.users-view[data-v-c470ce93]{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.back-link[data-v-c470ce93]{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 16px;background-color:var(--color-secondary);color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.back-link[data-v-c470ce93]:hover{background-color:var(--color-secondary-dark)}.page-header[data-v-c470ce93]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1[data-v-c470ce93]{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}#app-container[data-v-1b47e9bf]{display:flex;flex-direction:column;min-height:100vh;font-family:var(--font-family)}header[data-v-1b47e9bf]{background-color:var(--color-primary);color:var(--color-white);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}header nav[data-v-1b47e9bf]{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}header nav .welcome-text[data-v-1b47e9bf]{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}header nav button[data-v-1b47e9bf]{background-color:#fff3;color:var(--color-white);border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:var(--border-radius);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}header nav button[data-v-1b47e9bf]:hover{background-color:#ffffff4d;border-color:#fff6}main[data-v-1b47e9bf]{flex-grow:1;padding:var(--spacing-2xl) var(--spacing-lg);max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}footer[data-v-1b47e9bf]{text-align:center;padding:var(--spacing-lg);background-color:var(--color-gray-100);color:var(--text-secondary);font-size:var(--font-size-sm);border-top:1px solid var(--border-color)}
