:root{--accent-color: #6d28d9;--accent-color-dark: #5b21b6;--accent-color-light: #8b5cf6;--accent-color-lighter: #a78bfa;--accent-color-rgb: 109, 40, 217;--color-white: #ffffff;--color-black: #000000;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-light: #fee2e2;--color-info: #6d28d9;--color-info-dark: #5b21b6;--color-info-light: #ede9fe;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-disabled: #9ca3af;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-dark: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);font-size:var(--text-base)}html,body{height:100%}button{outline:none;cursor:pointer;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}a{text-decoration:none;color:inherit}.form-group{margin-bottom:var(--spacing-lg);position:relative}.form-group:last-child{margin-bottom:0}.form-group label:not(.floating-label):not(.checkbox-label):not(.radio-label){display:block;margin-bottom:var(--spacing-sm);color:var(--gray-700);font-weight:var(--font-semibold);font-size:var(--text-sm);letter-spacing:.01em}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:32px;top:50%;transform:translateY(-50%);color:var(--gray-400);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;transition:color var(--transition-base)}.input-icon svg{width:20px;height:20px;stroke-width:2}.input-icon:after{content:"";position:absolute;right:-24px;top:50%;transform:translateY(-50%);width:1px;height:24px;background:var(--border-light);transition:background var(--transition-base)}.form-control{width:100%;padding:14px 16px;border:2px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all var(--transition-base);background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.form-control:-webkit-autofill,.form-control:-webkit-autofill:hover,.form-control:-webkit-autofill:focus,.form-control:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;box-shadow:0 0 0 30px #fff inset!important;-webkit-text-fill-color:var(--text-primary)!important}.input-with-icon .form-control{padding-left:176px}.form-control::placeholder{color:var(--gray-400);font-weight:var(--font-normal)}.form-control:hover{border-color:var(--border-medium)}.form-control:focus{border-color:var(--border-light);box-shadow:none;background:var(--bg-primary)}.input-with-icon .form-control:focus~.input-icon{color:var(--accent-color)}.input-with-icon .form-control:focus~.input-icon:after{background:var(--accent-color)}.form-control:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.6}.form-floating{position:relative}.form-floating .form-control{padding-top:24px;padding-bottom:8px;height:58px}.form-floating .input-with-icon .form-control{padding-left:86px;padding-top:24px;padding-bottom:8px}.floating-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:var(--text-base);font-weight:var(--font-normal);pointer-events:none;transition:all var(--transition-base);background:transparent;z-index:1}.form-floating .input-with-icon .floating-label{left:86px}.form-control:focus~.floating-label,.form-control:not(:placeholder-shown)~.floating-label{top:12px;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--accent-color);transform:translateY(0)}.input-with-icon .form-control:focus~.floating-label,.input-with-icon .form-control:not(:placeholder-shown)~.floating-label{left:86px}.form-control-sm{padding:10px 12px;font-size:var(--text-sm)}.form-control-lg{padding:16px 20px;font-size:var(--text-lg)}.form-control.is-valid,.input-with-icon .form-control.is-valid,.form-control.is-invalid,.input-with-icon .form-control.is-invalid{padding-right:48px}.validation-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3;opacity:0;transition:opacity var(--transition-base)}.validation-icon svg{width:20px;height:20px}.form-control.is-valid~.validation-icon.validation-success{opacity:1}.validation-icon.validation-success{color:var(--color-success)}.validation-icon.validation-success svg{background:var(--color-success);border-radius:50%;padding:2px}.validation-icon.validation-success svg path,.validation-icon.validation-success svg polyline{stroke:#fff;stroke-width:3}.form-control.is-invalid~.validation-icon.validation-error{opacity:1}.validation-icon.validation-error{color:var(--color-error)}.validation-icon.validation-error svg{background:var(--color-error);border-radius:50%;padding:2px}.validation-icon.validation-error svg line{stroke:#fff;stroke-width:3}.invalid-feedback,.valid-feedback{display:block;margin-top:var(--spacing-sm);font-size:var(--text-sm);font-weight:var(--font-medium)}.invalid-feedback{color:var(--color-error)}.valid-feedback{color:var(--color-success)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%236b7280' d='M4.5 6l3.5 3.5L11.5 6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}textarea.form-control{resize:vertical;min-height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:14px 24px;font-size:var(--text-base);font-weight:var(--font-semibold);text-align:center;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);letter-spacing:.01em;line-height:1.5;white-space:nowrap}.btn:focus{outline:none;box-shadow:0 0 0 4px rgba(var(--accent-color-rgb),.2)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-sm{padding:8px 16px;font-size:var(--text-sm)}.btn-lg{padding:16px 32px;font-size:var(--text-lg)}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color-dark) 100%);color:var(--color-white);box-shadow:0 4px 12px rgba(var(--accent-color-rgb),.25)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--accent-color-rgb),.35)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:2px solid var(--gray-200)}.btn-secondary:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-300)}.btn-outline{background:transparent;color:var(--accent-color);border:2px solid var(--accent-color)}.btn-outline:hover:not(:disabled){background:var(--accent-color);color:var(--color-white)}.btn-success{background:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background:var(--color-success-dark)}.btn-warning{background:var(--color-warning);color:var(--color-white)}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark)}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-ghost{background:transparent;color:var(--gray-700)}.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn-link{background:transparent;color:var(--accent-color);padding:4px 8px}.btn-link:hover:not(:disabled){color:var(--accent-color-dark);text-decoration:underline}.alert{padding:14px 16px;border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:var(--text-sm);font-weight:var(--font-medium);border:2px solid}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-danger,.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-light);background:var(--bg-secondary)}.spinner-border{width:1rem;height:1rem;border:.125em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:.875rem;height:.875rem;border-width:.125em}.spinner-border-lg{width:1.5rem;height:1.5rem;border-width:.2em}@keyframes spinner-border{to{transform:rotate(360deg)}}.checkbox-label,.radio-label{display:flex;align-items:flex-start;cursor:pointer;color:var(--gray-700);font-size:var(--text-sm);font-weight:var(--font-medium);position:relative;padding-left:28px;-webkit-user-select:none;user-select:none}.checkbox-input,.radio-input{position:absolute;opacity:0;cursor:pointer;left:0;top:0}.checkmark,.radio-mark{position:absolute;top:1px;left:0;height:18px;width:18px;background-color:var(--bg-primary);border:2px solid var(--border-medium);transition:all var(--transition-base)}.checkmark{border-radius:var(--radius-sm)}.radio-mark{border-radius:50%}.checkbox-label:hover .checkmark,.radio-label:hover .radio-mark{border-color:var(--accent-color);background-color:var(--gray-50)}.checkbox-input:checked~.checkmark,.radio-input:checked~.radio-mark{background-color:var(--accent-color);border-color:var(--accent-color)}.checkmark:after,.radio-mark:after{content:"";position:absolute;display:none}.checkbox-input:checked~.checkmark:after,.radio-input:checked~.radio-mark:after{display:block}.checkbox-label .checkmark:after{left:5px;top:2px;width:4px;height:8px;border:solid var(--color-white);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.radio-label .radio-mark:after{top:4px;left:4px;width:6px;height:6px;border-radius:50%;background:var(--color-white)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--accent-color)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-error)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.app-layout{display:flex;min-height:100vh;background:var(--bg-secondary)}.app-layout.sidebar-collapsed .main-content{margin-left:80px}.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-light);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;transition:transform var(--transition-base),width var(--transition-base);box-shadow:var(--shadow-sm)}.sidebar.collapsed{width:80px}.sidebar.collapsed .sidebar-tenant-name,.sidebar.collapsed .sidebar-tenant-code,.sidebar.collapsed .menu-item-text,.sidebar.collapsed .menu-section-title{display:none}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:var(--spacing-md);min-height:80px}.sidebar-tenant-icon{width:48px;height:48px;background:var(--accent-color-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.sidebar-tenant-icon img{width:100%;height:100%;object-fit:cover}.sidebar-tenant-icon svg{width:24px;height:24px;color:var(--accent-color)}.sidebar-tenant-info{flex:1;min-width:0;overflow:hidden}.sidebar-tenant-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-tenant-code{font-size:var(--text-xs);color:var(--text-secondary);margin:0;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.sidebar-toggle-btn{width:32px;height:32px;border:none;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);flex-shrink:0;box-shadow:var(--shadow-sm)}.sidebar-toggle-btn:hover{background:var(--bg-primary);color:var(--accent-color);box-shadow:var(--shadow-md)}.sidebar-toggle-btn svg{width:20px;height:20px;transition:transform var(--transition-base)}.sidebar.collapsed .sidebar-toggle-btn svg{transform:rotate(180deg)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-md)}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.menu-section{margin-bottom:var(--spacing-lg)}.menu-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-md);margin:0 0 var(--spacing-sm) 0}.menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:8px var(--spacing-md);border-radius:var(--radius-lg);color:var(--text-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-base);cursor:pointer;margin-bottom:var(--spacing-xs)}.menu-item:hover{background:var(--gray-200);color:var(--text-primary)}.menu-item.active{background:var(--accent-color);color:#fff}.menu-item-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.menu-item-icon svg{width:18px;height:18px}.menu-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;margin-left:280px;transition:margin-left var(--transition-base);display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.main-content>*:not(app-content-header):not(.content-header){flex:1;overflow-y:auto}.sidebar-bottom-menu{padding:var(--spacing-md);border-top:1px solid var(--border-light);margin-top:auto}.sidebar-account{border-top:1px solid var(--border-light);position:relative}.account-trigger{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background var(--transition-base)}.account-trigger:hover{background:var(--bg-tertiary)}.account-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible;position:relative}.account-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initials{color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold)}.connection-status-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2px solid white;z-index:1}.connection-status-dot.connected{background-color:#10b981;animation:pulse-dot 2s infinite}.connection-status-dot.disconnected{background-color:#ef4444}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.8;box-shadow:0 0 0 4px #10b98100}}.account-info{flex:1;min-width:0;overflow:hidden}.account-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-email{font-size:var(--text-xs);color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-icon{flex-shrink:0;color:var(--text-secondary);transition:transform var(--transition-base)}.account-trigger:hover .account-menu-icon{color:var(--text-primary)}.sidebar.collapsed .account-info,.sidebar.collapsed .account-menu-icon{display:none}.account-dropdown{position:fixed;bottom:var(--spacing-lg);left:296px;width:240px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-light);padding:var(--spacing-sm);z-index:1000;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar.collapsed~* .account-dropdown{left:96px}.app-layout.sidebar-collapsed .account-dropdown{left:96px}.account-dropdown-item{display:flex;align-items:center;gap:var(--spacing-md);padding:10px var(--spacing-md);border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-base);cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.account-dropdown-item:hover{background:var(--bg-tertiary)}.account-dropdown-item svg{flex-shrink:0;color:var(--text-secondary)}.account-dropdown-item:hover svg{color:var(--accent-color)}.change-indicator{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px 6px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:4px}.change-increase{color:var(--color-success-dark);background-color:var(--color-success-light)}.change-decrease{color:var(--color-error-dark);background-color:var(--color-error-light)}.change-neutral{color:var(--gray-500);background-color:var(--gray-100)}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0!important}}
