:root{--color-primary:#2196f3;--color-primary-dark:#1976d2;--color-primary-light:#64b5f6;--color-secondary:#757575;--color-secondary-dark:#616161;--color-secondary-light:#9e9e9e;--color-success:#4caf50;--color-success-dark:#388e3c;--color-success-light:#81c784;--color-error:#f44336;--color-error-dark:#d32f2f;--color-error-light:#ef5350;--color-warning:#ff9800;--color-warning-dark:#f57c00;--color-warning-light:#ffb74d;--color-background:#fafafa;--color-background-secondary:#f5f5f5;--color-surface:#fff;--color-text:#212121;--color-text-primary:#212121;--color-text-secondary:#757575;--color-text-disabled:#bdbdbd;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-400:#9ca3af;--color-border:#e0e0e0;--color-border-dark:#d0d0d0;--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-h1:32px;--font-size-h2:24px;--font-size-h3:20px;--font-size-body:16px;--font-size-small:14px;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-semibold:600;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--spacing-xl:48px;--spacing-xxl:64px;--shadow-shallow:0 2px 4px #0000001a;--shadow-medium:0 4px 8px #00000026;--shadow-deep:0 8px 16px #0003;--radius-small:4px;--radius-medium:8px;--radius-large:16px;--border-radius-md:8px;--border-radius-sm:4px;--transition-standard:200ms ease-in-out;--transition-fast:100ms ease-in-out;--transition-slow:300ms ease-in-out;--nav-width:280px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa;background-color:var(--color-background);color:#212121;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:16px;font-size:var(--font-size-body);line-height:1.5;line-height:var(--line-height-normal);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}h1{font-size:32px;font-size:var(--font-size-h1)}h1,h2{color:#212121;color:var(--color-text-primary);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.2;line-height:var(--line-height-tight);margin:0 0 16px;margin:0 0 var(--spacing-sm) 0}h2{font-size:24px;font-size:var(--font-size-h2)}h3{color:#212121;color:var(--color-text-primary);font-size:20px;font-size:var(--font-size-h3);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.2;line-height:var(--line-height-tight);margin:0 0 8px;margin:0 0 var(--spacing-xs) 0}p{margin:0 0 16px;margin:0 0 var(--spacing-sm) 0}small{font-size:14px;font-size:var(--font-size-small)}.text-primary{color:#212121;color:var(--color-text-primary)}.text-secondary{color:#757575;color:var(--color-text-secondary)}.text-success{color:#4caf50;color:var(--color-success)}.text-error{color:#f44336;color:var(--color-error)}.text-warning{color:#ff9800;color:var(--color-warning)}.text-muted{color:#bdbdbd;color:var(--color-text-disabled)}.bg-primary{background-color:#2196f3;background-color:var(--color-primary)}.bg-secondary{background-color:#757575;background-color:var(--color-secondary)}.bg-success{background-color:#4caf50;background-color:var(--color-success)}.bg-error{background-color:#f44336;background-color:var(--color-error)}.bg-warning{background-color:#ff9800;background-color:var(--color-warning)}.bg-surface{background-color:#fff;background-color:var(--color-surface)}.bg-background{background-color:#fafafa;background-color:var(--color-background)}.p-xs{padding:8px;padding:var(--spacing-xs)}.p-sm{padding:16px;padding:var(--spacing-sm)}.p-md{padding:24px;padding:var(--spacing-md)}.p-lg{padding:32px;padding:var(--spacing-lg)}.px-xs{padding-left:8px;padding-left:var(--spacing-xs);padding-right:8px;padding-right:var(--spacing-xs)}.px-sm{padding-left:16px;padding-left:var(--spacing-sm);padding-right:16px;padding-right:var(--spacing-sm)}.px-md{padding-left:24px;padding-left:var(--spacing-md);padding-right:24px;padding-right:var(--spacing-md)}.py-xs{padding-bottom:8px;padding-bottom:var(--spacing-xs);padding-top:8px;padding-top:var(--spacing-xs)}.py-sm{padding-bottom:16px;padding-bottom:var(--spacing-sm);padding-top:16px;padding-top:var(--spacing-sm)}.py-md{padding-bottom:24px;padding-bottom:var(--spacing-md);padding-top:24px;padding-top:var(--spacing-md)}.pt-xs{padding-top:8px;padding-top:var(--spacing-xs)}.pt-sm{padding-top:16px;padding-top:var(--spacing-sm)}.pt-md{padding-top:24px;padding-top:var(--spacing-md)}.m-xs{margin:8px;margin:var(--spacing-xs)}.m-sm{margin:16px;margin:var(--spacing-sm)}.m-md{margin:24px;margin:var(--spacing-md)}.m-lg{margin:32px;margin:var(--spacing-lg)}.mx-xs{margin-left:8px;margin-left:var(--spacing-xs);margin-right:8px;margin-right:var(--spacing-xs)}.mx-sm{margin-left:16px;margin-left:var(--spacing-sm);margin-right:16px;margin-right:var(--spacing-sm)}.mx-md{margin-left:24px;margin-left:var(--spacing-md);margin-right:24px;margin-right:var(--spacing-md)}.my-xs{margin-bottom:8px;margin-bottom:var(--spacing-xs);margin-top:8px;margin-top:var(--spacing-xs)}.my-sm{margin-bottom:16px;margin-bottom:var(--spacing-sm);margin-top:16px;margin-top:var(--spacing-sm)}.my-md{margin-bottom:24px;margin-bottom:var(--spacing-md);margin-top:24px;margin-top:var(--spacing-md)}.mb-xs{margin-bottom:8px;margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:16px;margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:24px;margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:32px;margin-bottom:var(--spacing-lg)}.mt-xs{margin-top:8px;margin-top:var(--spacing-xs)}.mt-sm{margin-top:16px;margin-top:var(--spacing-sm)}.mt-md{margin-top:24px;margin-top:var(--spacing-md)}.flex{display:flex}.flex-column{flex-direction:column}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.align-center{align-items:center}.gap-xs{gap:8px;gap:var(--spacing-xs)}.gap-sm{gap:16px;gap:var(--spacing-sm)}.gap-md{gap:24px;gap:var(--spacing-md)}.container{margin:0 auto;max-width:1200px;padding:0 16px;padding:0 var(--spacing-sm)}.border{border:1px solid #e0e0e0;border:1px solid var(--color-border)}.border-top{border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border)}.border-bottom{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border)}.rounded{border-radius:8px;border-radius:var(--radius-medium)}.rounded-sm{border-radius:4px;border-radius:var(--radius-small)}.rounded-lg{border-radius:16px;border-radius:var(--radius-large)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-medium);cursor:pointer;display:inline-flex;font-size:16px;font-size:var(--font-size-body);font-weight:500;font-weight:var(--font-weight-medium);justify-content:center;padding:10px 16px;text-decoration:none;transition:all .2s ease-in-out;transition:all var(--transition-standard);-webkit-user-select:none;user-select:none;vertical-align:middle}.btn:focus{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#2196f3;background-color:var(--color-primary);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);color:#fff}.btn-primary:hover:not(:disabled){background-color:#1976d2;background-color:var(--color-primary-dark);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium)}.btn-primary:active:not(:disabled){background-color:#1976d2;background-color:var(--color-primary-dark);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}.btn-secondary{background-color:#757575;background-color:var(--color-secondary);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);color:#fff}.btn-secondary:hover:not(:disabled){background-color:#616161;background-color:var(--color-secondary-dark);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium)}.btn-secondary:active:not(:disabled){background-color:#616161;background-color:var(--color-secondary-dark);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}.btn-danger{background-color:#f44336;background-color:var(--color-error);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);color:#fff}.btn-danger:hover:not(:disabled){background-color:#d32f2f;background-color:var(--color-error-dark);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium)}.btn-danger:active:not(:disabled){background-color:#d32f2f;background-color:var(--color-error-dark);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}.form-actions{border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.btn-link-text{background:none;border:none;color:#2196f3;color:var(--color-primary);cursor:pointer;font-size:inherit;font-weight:inherit;padding:4px 0;text-decoration:underline;transition:color .2s ease-in-out;transition:color var(--transition-standard)}.btn-link-text:hover{color:#1976d2;color:var(--color-primary-dark)}.btn-link-text:focus-visible{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.page-header-fixed{align-items:center;background:#fff;border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);display:flex;gap:16px;height:70px;justify-content:space-between;left:280px;left:var(--nav-width,280px);padding:12px 24px;position:fixed;right:0;top:0;z-index:100}.page-content{margin-left:280px;margin-left:var(--nav-width,280px);margin-top:70px}.page-header-fixed h1{flex:1 1;font-size:24px;font-size:var(--font-size-h2);line-height:1;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header-fixed .btn-back{background:#0000;border:none;color:#757575;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:400;min-width:-webkit-max-content;min-width:max-content;padding:8px 12px;transition:color .2s ease-in-out}.page-header-fixed .btn-back:hover{color:#212121;color:var(--color-text-primary)}.page-header-fixed .btn-back:focus-visible{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.page-header-fixed .btn{min-width:-webkit-max-content;min-width:max-content;padding:10px 20px}.composition-card{background:#f9fafb;background:var(--color-gray-50);border:2px solid #64b5f6;border:2px solid var(--color-primary-light);margin-top:24px}.composition-card h3{color:#2196f3;color:var(--color-primary);font-size:18px;font-weight:600;margin-top:0}.composition-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.composition-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:12px}.composition-info{flex:1 1;min-width:0}.composition-percentage{color:#2196f3;color:var(--color-primary);font-weight:600;min-width:60px;text-align:right}.composition-percentage-input{max-width:100px;min-width:80px}.percentage-control{font-size:13px!important;height:32px!important;padding:6px 8px!important}.btn-sm{font-size:12px}.composition-total{background:#2196f3;background:var(--color-primary);border-radius:6px;color:#fff;font-weight:600;margin-bottom:16px;padding:12px;text-align:right}.composition-add{margin-bottom:20px}.percentage-input{display:none}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:16px;gap:8px;margin:0}.form-checkbox{cursor:pointer;height:20px;width:20px}.form-help{color:#757575;color:var(--color-text-secondary);font-size:13px;margin:0 0 12px}.btn-sm{font-size:14px;font-size:var(--font-size-small);padding:6px 12px}.action-buttons-group{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-sm);justify-content:center}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-label{color:#212121;color:var(--color-text-primary);display:block;font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:6px}.form-label .required{color:#f44336;color:var(--color-error);margin-left:2px}.form-control{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);color:#212121;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:16px;font-size:var(--font-size-body);padding:10px 12px;transition:all .2s ease-in-out;transition:all var(--transition-standard);width:100%}.form-control::placeholder{color:#757575;color:var(--color-text-secondary)}.form-control:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a;outline:none}.form-control:disabled{background-color:#fafafa;background-color:var(--color-background);color:#bdbdbd;color:var(--color-text-disabled);cursor:not-allowed}textarea.form-control{min-height:100px;resize:vertical}select.form-control{cursor:pointer}.form-helper{color:#757575;color:var(--color-text-secondary)}.form-error,.form-helper{display:block;font-size:14px;font-size:var(--font-size-small);margin-top:4px}.form-error{color:#f44336;color:var(--color-error)}.is-invalid,.is-invalid:focus{border-color:#f44336;border-color:var(--color-error)}.is-invalid:focus{box-shadow:0 0 0 3px #f443361a}.is-valid,.is-valid:focus{border-color:#4caf50;border-color:var(--color-success)}.is-valid:focus{box-shadow:0 0 0 3px #4caf501a}.invalid-feedback{color:#f44336;color:var(--color-error)}.invalid-feedback,.valid-feedback{font-size:14px;font-size:var(--font-size-small);margin-top:4px}.valid-feedback{color:#4caf50;color:var(--color-success);display:block}.form-check{align-items:center;display:flex;margin-bottom:12px}.form-check-input{accent-color:#2196f3;accent-color:var(--color-primary);cursor:pointer;height:20px;margin-right:8px;margin-top:0;width:20px}.form-check-input:focus{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.form-check-input:disabled{cursor:not-allowed;opacity:.6}.form-check-label{cursor:pointer;font-size:16px;font-size:var(--font-size-body);margin-bottom:0}.form-check-label:hover{color:#2196f3;color:var(--color-primary)}.form-check-input:checked{background-color:#2196f3;background-color:var(--color-primary);border-color:#2196f3;border-color:var(--color-primary)}.form-check-input[type=radio]:checked{background-image:radial-gradient(circle,#fff 35%,#0000 0)}.type-selector{display:flex;gap:16px;margin-bottom:16px}.type-option{cursor:pointer;flex:1 1;position:relative}.type-option input[type=radio]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.type-option .type-label{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;padding:16px 20px;transition:all .3s ease}.type-option.type-entree .type-label{border-color:#c3e6cb;color:#155724}.type-option.type-entree input[type=radio]:checked+.type-label{background-color:#28a745;border-color:#28a745;box-shadow:0 4px 12px #28a7454d;color:#fff;transform:scale(1.02)}.type-option.type-entree input[type=radio]:focus+.type-label{outline:2px solid #28a745;outline-offset:2px}.type-option.type-sortie .type-label{border-color:#f5c6cb;color:#721c24}.type-option.type-sortie input[type=radio]:checked+.type-label{background-color:#dc3545;border-color:#dc3545;box-shadow:0 4px 12px #dc35454d;color:#fff;transform:scale(1.02)}.type-option.type-sortie input[type=radio]:focus+.type-label{outline:2px solid #dc3545;outline-offset:2px}.type-option:hover .type-label{border-color:#999}.table{background-color:#fff;background-color:var(--color-surface);border-collapse:collapse;border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);margin:24px 0;margin:var(--spacing-md) 0;overflow:hidden;width:100%}.table thead{background-color:#757575;background-color:var(--color-secondary);color:#fff}.table thead th{border-bottom:2px solid #d0d0d0;border-bottom:2px solid var(--color-border-dark);font-size:16px;font-size:var(--font-size-body);font-weight:700;font-weight:var(--font-weight-bold);padding:16px;padding:var(--spacing-sm);text-align:center}.table tbody tr{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.table tbody tr:nth-child(2n){background-color:#fafafa;background-color:var(--color-background)}.table tbody tr:hover{background-color:#f5f5f5;background-color:var(--color-background-secondary);cursor:pointer}.table tbody td{color:#212121;color:var(--color-text-primary);padding:16px;padding:var(--spacing-sm)}.table-action-buttons{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs)}.card{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);overflow:visible;transition:box-shadow .2s ease-in-out;transition:box-shadow var(--transition-standard)}.card:hover{box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium)}.card-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);color:#fff;font-size:20px;font-size:var(--font-size-h3);font-weight:700;font-weight:var(--font-weight-bold)}.card-body,.card-footer,.card-header{padding:24px;padding:var(--spacing-md)}.card-footer{background-color:#fafafa;background-color:var(--color-background);border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border);display:flex;gap:16px;gap:var(--spacing-sm);justify-content:flex-end}.modal-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1040}.modal{animation:slideIn .3s ease-out;background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep);max-width:500px;width:90%;z-index:1050}.modal-title{color:#212121;color:var(--color-text-primary);font-size:20px;font-size:var(--font-size-h3);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.modal-close{align-items:center;background:none;border:none;color:#757575;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:color .2s ease-in-out;transition:color var(--transition-standard);width:32px}.modal-close:hover{color:#212121;color:var(--color-text-primary)}.badge{border-radius:4px;border-radius:var(--radius-small);font-size:14px;font-size:var(--font-size-small);font-weight:500;font-weight:var(--font-weight-medium);padding:4px 8px;white-space:nowrap}.badge-success{background-color:#4caf50;background-color:var(--color-success);color:#fff}.badge-error{background-color:#f44336;background-color:var(--color-error);color:#fff}.badge-warning{background-color:#ff9800;background-color:var(--color-warning);color:#fff}.badge-info{background-color:#2196f3;background-color:var(--color-primary);color:#fff}.toast{align-items:center;animation:slideInRight .3s ease-out;border-radius:8px;border-radius:var(--radius-medium);bottom:24px;bottom:var(--spacing-md);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep);display:flex;font-weight:500;font-weight:var(--font-weight-medium);gap:24px;gap:var(--spacing-md);max-width:400px;min-width:300px;padding:24px;padding:var(--spacing-md);position:fixed;right:24px;right:var(--spacing-md);z-index:9999}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100px)}}.toast-success{background-color:#4caf50;background-color:var(--color-success);border-left:4px solid #388e3c;border-left:4px solid var(--color-success-dark);color:#fff}.toast-error{background-color:#f44336;background-color:var(--color-error);border-left:4px solid #d32f2f;border-left:4px solid var(--color-error-dark);color:#fff}.toast-warning{background-color:#ff9800;background-color:var(--color-warning);border-left:4px solid #f57c00;border-left:4px solid var(--color-warning-dark);color:#fff}.toast-info{background-color:#2196f3;background-color:var(--color-primary);border-left:4px solid #1976d2;border-left:4px solid var(--color-primary-dark);color:#fff}.toast-icon{font-size:20px;font-weight:700;font-weight:var(--font-weight-bold);min-width:24px;text-align:center}.toast-message{flex:1 1;line-height:1.5;line-height:var(--line-height-normal)}.toast-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;opacity:.8;padding:0;transition:opacity .2s ease-in-out;transition:opacity var(--transition-standard);width:24px}.toast-close:hover{opacity:1}.loading{animation:spin 1s linear infinite;border:3px solid #e0e0e0;border-top-color:#2196f3;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:20px;width:20px}.empty-state{padding:32px;padding:var(--spacing-lg)}.empty-state-icon{font-size:48px;margin-bottom:24px;margin-bottom:var(--spacing-md)}.empty-state-title{font-size:20px;font-size:var(--font-size-h3);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:8px;margin-bottom:var(--spacing-xs)}.empty-state-text{font-size:16px;font-size:var(--font-size-body)}.alert{border-left:4px solid;border-radius:8px;border-radius:var(--radius-medium);margin-bottom:24px;margin-bottom:var(--spacing-md);padding:24px;padding:var(--spacing-md)}.alert-success{background-color:#4caf501a;border-left-color:#4caf50;border-left-color:var(--color-success);color:#388e3c;color:var(--color-success-dark)}.alert-error{background-color:#f443361a;border-left-color:#f44336;border-left-color:var(--color-error);color:#d32f2f;color:var(--color-error-dark)}.alert-danger{background:#ffebee;border:1px solid #ef5350;border-radius:4px;color:#c62828;margin-bottom:16px;padding:12px 16px}.alert-warning{background-color:#ff98001a;border-left-color:#ff9800;border-left-color:var(--color-warning);color:#f57c00;color:var(--color-warning-dark)}.alert-info{background-color:#2196f31a;border-left-color:#2196f3;border-left-color:var(--color-primary);color:#1976d2;color:var(--color-primary-dark)}.navbar{background-color:#757575;background-color:var(--color-secondary);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium);padding:0}.navbar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;min-height:60px;padding:0 16px;padding:0 var(--spacing-sm)}.navbar-brand{color:#2196f3;color:var(--color-primary);font-size:24px;font-size:var(--font-size-h2);font-weight:700;font-weight:var(--font-weight-bold);margin:0;padding:16px 0;padding:var(--spacing-sm) 0;text-decoration:none}.navbar-menu{display:flex;gap:0;list-style:none}.navbar-item,.navbar-menu{margin:0;padding:0}.navbar-link{align-items:center;color:#fff;display:flex;font-weight:500;font-weight:var(--font-weight-medium);padding:20px 16px;padding:20px var(--spacing-sm);text-decoration:none;transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.navbar-link:hover{background-color:#616161;background-color:var(--color-secondary-dark)}.navbar-link.active{background-color:#2196f3;background-color:var(--color-primary);color:#fff}.navbar-link:focus{outline:2px solid #fff;outline-offset:-2px}.navbar-divider{background-color:#9e9e9e;background-color:var(--color-secondary-light);height:30px;margin:0 8px;margin:0 var(--spacing-xs);width:1px}.admin-nav{background:#fafafa;border-right:1px solid #e8e0e8;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;color:#1f1a1f;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;padding:0;position:fixed;top:0;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);width:clamp(240px,20vw,280px);z-index:1000}.admin-nav::-webkit-scrollbar{width:8px}.admin-nav::-webkit-scrollbar-track{background:#0000}.admin-nav::-webkit-scrollbar-thumb{background:#3133384d;border-radius:4px}.admin-nav::-webkit-scrollbar-thumb:hover{background:#31333880}.nav-container{display:flex;flex-direction:column;height:100%;padding:0}.nav-header{border-bottom:1px solid #e8e0e8;gap:0;padding:0}.nav-header,.nav-logo{align-items:center;display:flex}.nav-logo{color:#6750a4;font-size:18px;font-weight:600;gap:12px;line-height:26px;margin:0;padding:8px 12px;text-decoration:none;transition:opacity .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.nav-logo:hover{opacity:.92}.nav-logo:focus{border-radius:12px;outline:2px solid #6750a4;outline-offset:2px}.nav-menu{display:flex;flex:1 1;flex-direction:column;gap:8px;list-style:none;margin:0;padding:12px 8px}.nav-item{margin:0;padding:0;position:relative}.nav-link{align-items:center;background:#0000;border:none;border-radius:12px;color:#1f1a1f;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;line-height:20px;opacity:.8;overflow:hidden;padding:12px 16px;position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.nav-link:before{background:#6750a4;border-radius:0 4px 4px 0;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);width:4px}.nav-link:hover{background:#31333814;opacity:1}.nav-link:focus-visible{outline:2px solid #6750a4;outline-offset:2px}.nav-link.active{background:#0000000d;color:#6750a4;font-weight:600;opacity:1}.nav-link.active:before{opacity:1}.nav-link span{align-items:center;display:flex;white-space:nowrap}.nav-link span:first-child{display:flex;font-size:18px;justify-content:center;min-width:24px}.nav-divider{background-color:#e8e0e8;height:1px;margin:8px 16px;width:calc(100% - 32px)}.nav-user{border-top:1px solid #e8e0e8;flex-direction:column;gap:12px;margin-top:auto;padding:16px;text-align:center}.nav-user,.user-email{align-items:center;display:flex;justify-content:center}.user-email{color:#1f1a1f;font-size:14px;font-weight:500;gap:6px;line-height:20px;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.user-info{display:flex;flex-direction:column;gap:8px;width:100%}.user-company{color:#1976d2;font-size:13px;font-weight:600;gap:6px;line-height:18px;overflow:hidden;padding:6px 0;text-overflow:ellipsis;word-break:break-word}.nav-logout-btn,.user-company{align-items:center;display:flex;justify-content:center}.nav-logout-btn{background:#b91c1c1f;border:1px solid #b91c1c33;border-radius:12px;color:#b91c1c;cursor:pointer;font-size:14px;font-weight:500;gap:8px;line-height:20px;padding:10px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.nav-logout-btn:hover{background:#b91c1c33;border-color:#b91c1c66}.nav-logout-btn:focus-visible{outline:2px solid #b91c1c;outline-offset:2px}.nav-logout-btn span{align-items:center;display:flex;white-space:nowrap}.nav-logout-btn span:first-child{display:flex;font-size:18px;justify-content:center;min-width:24px}.nav-logout{border-left:3px solid #0000;color:#fff;padding:24px;padding:var(--spacing-md);width:100%}.nav-logout:hover{background-color:#616161;background-color:var(--color-secondary-dark)}.menu-toggle{align-items:center;background:#0000;border:none;border-radius:12px;color:#1f1a1f;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:40px;justify-content:center;margin:4px;overflow:hidden;padding:8px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.menu-toggle:before{background:radial-gradient(circle,#00000014 0,#0000 70%);border-radius:12px;content:"";height:100%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s cubic-bezier(.4,0,.2,1);width:100%}.menu-toggle:hover:before{opacity:1}.menu-toggle:focus-visible{outline:2px solid #6750a4;outline-offset:2px}.menu-toggle.active{color:#6750a4}.admin-nav.closed{width:80px}.admin-nav.closed .nav-logo{align-items:center;border-bottom:1px solid #e8e0e8;font-size:24px;height:56px;justify-content:center;padding:12px}.admin-nav.closed .nav-container{align-items:center}.admin-nav.closed .menu-toggle{border-radius:12px;height:48px;margin:8px 0;padding:12px;width:48px}.admin-nav.closed .nav-menu{gap:8px;padding:12px 8px}.admin-nav.closed .nav-item{width:100%}.admin-nav.closed .nav-link{border-radius:12px;font-size:0;height:48px;justify-content:center;margin:0;opacity:.8;padding:12px;text-align:center;white-space:nowrap;width:48px}.admin-nav.closed .nav-link:before{border-radius:2px;bottom:8px;height:4px;left:50%;opacity:0;transform:translateX(-50%);transition:opacity .2s cubic-bezier(.4,0,.2,1);width:4px}.admin-nav.closed .nav-link.active:before{opacity:1}.admin-nav.closed .nav-link:hover{background:#31333814;opacity:1}.admin-nav.closed .nav-divider{margin:8px auto;width:48px}.admin-nav.closed .nav-user{align-items:center;border-top:1px solid #e8e0e8;flex-direction:column;gap:8px;padding:8px;width:100%}.admin-nav.closed .user-email{display:none}.admin-nav.closed .nav-logout-btn{font-size:0;height:48px;margin:0;padding:12px;width:48px}@media (max-width:1024px){.admin-nav{width:256px}.nav-logo{font-size:20px;font-size:var(--font-size-h3)}.nav-link{padding:16px;padding:var(--spacing-sm)}.nav-link:hover{padding-left:20px;padding-left:calc(var(--spacing-sm) + 4px)}}@media (max-width:768px){.admin-nav{height:100vh;left:0;max-width:300px;position:fixed;top:0;transition:transform .3s ease;width:75vw;z-index:999}.admin-nav.open{transform:translateX(0)}.nav-container{padding:0}.nav-logo{font-size:16px;gap:10px;margin-bottom:12px;padding:8px 12px}.nav-link,.nav-logo{justify-content:flex-start}.nav-link{font-size:14px;gap:12px;padding:10px 12px}.nav-link:hover{padding-left:12px}.nav-menu{flex:1 1;padding:8px}.nav-user{align-items:flex-start;flex-direction:column;gap:10px;padding:12px}.user-email{display:block;font-size:13px;white-space:normal;width:100%}.nav-logout-btn{font-size:13px;padding:8px 12px}.nav-divider{margin:10px 12px;width:calc(100% - 24px)}.menu-toggle{display:flex;min-width:44px;width:auto}.page-header-fixed{left:0}.toast{bottom:1rem;left:1rem;margin:auto;max-width:calc(100vw - 2rem);min-width:280px;right:1rem}}@media (max-width:900px){.admin-nav{width:240px}.nav-logo{font-size:16px;gap:10px;padding:6px 10px}.nav-link{font-size:14px;padding:10px}.nav-menu{gap:6px;padding:8px 6px}.nav-user{padding:10px}.nav-user-avatar{font-size:12px;height:32px;width:32px}}@media (max-width:480px){.admin-nav{width:min(85vw,280px)}.nav-logo{font-size:14px;gap:8px;margin-bottom:8px;padding:6px 8px}.nav-link{font-size:13px;padding:8px}.nav-menu{gap:4px;padding:6px 4px}.nav-user{border-top:1px solid #e8e0e8;padding:8px}.user-email{font-size:12px}.nav-logout-btn{font-size:13px;padding:8px 12px}.menu-toggle{display:flex;margin:4px}.nav-divider{margin:8px 0}.toast{border-radius:0;bottom:.5rem;font-size:.9rem;left:.5rem;max-width:100%;min-width:auto;padding:.75rem 1rem;right:.5rem}.toast-message{line-height:1.3}}.offline-indicator{animation:slideDown .3s ease-out;background-color:#ff6b6b;border-bottom:2px solid #c92a2a;left:0;padding:12px 16px;position:fixed;right:0;top:0;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-indicator-content{align-items:center;color:#fff;display:flex;gap:8px;justify-content:center;margin:0 auto;max-width:1200px}.offline-indicator-icon{font-size:18px}.offline-indicator-text{font-size:14px;font-weight:500}main{padding-top:0;padding-top:var(--offline-indicator-height,0)}@media (max-width:600px){.offline-indicator{padding:10px 12px}.offline-indicator-content{gap:6px}.offline-indicator-text{font-size:13px}.offline-indicator-icon{font-size:16px}}.session-timeout-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.session-timeout-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:2rem;width:90%}.session-timeout-modal .modal-header{border-bottom:2px solid #fee2e2;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.session-timeout-modal .modal-header h2{color:#ef4444;font-size:1.3rem;margin:0}.session-timeout-modal .modal-body{margin-bottom:2rem;text-align:center}.warning-message{color:#666;font-size:1rem;font-weight:500;margin:0 0 1rem}.countdown-display{background:linear-gradient(135deg,#fee2e2,#fecaca);border:3px solid #ef4444;border-radius:12px;margin:1rem 0;padding:1.5rem}.countdown-time{color:#dc2626;display:block;font-family:Courier New,monospace;font-size:3rem;font-weight:700;letter-spacing:2px}.info-message{color:#999;font-size:.9rem;line-height:1.5;margin:1rem 0 0}.modal-actions{align-items:center;display:flex;flex-direction:column;gap:24px;gap:var(--spacing-md);justify-content:center}.btn-logout-now,.btn-stay-logged-in{border:none;border-radius:8px;border-radius:var(--radius-medium);cursor:pointer;font-size:16px;font-size:var(--font-size-body);font-weight:500;font-weight:var(--font-weight-medium);min-width:140px;padding:16px 24px;padding:var(--spacing-sm) var(--spacing-md);text-align:center;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.btn-stay-logged-in{background-color:#4caf50;background-color:var(--color-success);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);color:#fff}.btn-stay-logged-in:hover{box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium)}.btn-stay-logged-in:active,.btn-stay-logged-in:hover{background-color:#388e3c;background-color:var(--color-success-dark)}.btn-stay-logged-in:active{box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}.btn-logout-now{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);color:#212121;color:var(--color-text)}.btn-logout-now:hover{background-color:#f44336;background-color:var(--color-error);border-color:#f44336;border-color:var(--color-error);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium);color:#fff}.btn-logout-now:active{background-color:#d32f2f;background-color:var(--color-error-dark);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}@media (max-width:480px){.session-timeout-modal{padding:1.5rem}.session-timeout-modal .modal-header h2{font-size:1.1rem}.countdown-time{font-size:2.2rem}.modal-actions{gap:.75rem}.btn-logout-now,.btn-stay-logged-in{font-size:.9rem;padding:.6rem 1rem}}.dialog-message{color:#757575;color:var(--color-text-secondary);line-height:1.5;line-height:var(--line-height-normal);margin:0 0 8px;margin:0 0 var(--spacing-xs) 0}.dialog-item-name,.dialog-message{font-size:16px;font-size:var(--font-size-body)}.dialog-item-name{background-color:#f443361a;border-left:4px solid #f44336;border-left:4px solid var(--color-error);border-radius:4px;border-radius:var(--radius-small);color:#d32f2f;color:var(--color-error-dark);margin:0;padding:16px;padding:var(--spacing-sm)}.product-list-page{margin:0 auto 0 280px;margin:0 auto 0 var(--nav-width);padding:24px;padding:var(--spacing-md);transition:margin-left .3s ease}.product-list-header{align-items:center;display:flex;gap:24px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-lg)}.product-list-header h1{font-size:32px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.product-list-header button,.product-list-header h1{flex-shrink:0;white-space:nowrap}.product-filters{grid-gap:24px;grid-gap:var(--spacing-md);display:grid;gap:24px;gap:var(--spacing-md);grid-template-columns:1fr 1fr;margin-bottom:24px;margin-bottom:var(--spacing-md)}.filter-group label{font-size:16px;font-size:var(--font-size-body);margin-bottom:8px}.product-table{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-collapse:collapse;border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);margin:24px 0;margin:var(--spacing-md) 0;overflow:hidden;width:100%}.product-table thead{background-color:#757575;background-color:var(--color-secondary);color:#fff}.product-table th{border-bottom:2px solid #d0d0d0;border-bottom:2px solid var(--color-border-dark);font-weight:700;font-weight:var(--font-weight-bold);text-align:center}.product-table td,.product-table th{font-size:16px;font-size:var(--font-size-body);padding:16px;padding:var(--spacing-sm)}.product-table td{color:#212121;color:var(--color-text-primary)}.product-table tbody tr{transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.product-table tbody tr:nth-child(2n){background-color:#fafafa;background-color:var(--color-background)}.product-table .clickable-row:hover{background-color:#f5f5f5;background-color:var(--color-background-secondary);cursor:pointer}.product-table .code{color:#2196f3;color:var(--color-primary);font-weight:700;font-weight:var(--font-weight-bold)}.product-table .description{color:#757575;color:var(--color-text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-table .type{color:#757575;color:var(--color-text-secondary);font-size:14px;font-size:var(--font-size-small)}.table tbody td{text-align:center}.product-table .stock-level{font-weight:500;font-weight:var(--font-weight-medium);text-align:center}.product-table .unit{color:#bdbdbd;color:var(--color-text-disabled);font-size:14px;font-size:var(--font-size-small)}.product-table .actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-sm);justify-content:center}.product-table .actions button{flex-shrink:0;font-size:.8rem;padding:4px 10px;white-space:nowrap;width:auto}.product-loading{align-items:center;color:#2196f3;color:var(--color-primary);display:flex;gap:16px;gap:var(--spacing-sm);justify-content:center;padding:32px;padding:var(--spacing-lg);text-align:center}.product-loading:before{animation:spin 1s linear infinite;border:3px solid #e0e0e0;border-top-color:#2196f3;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);content:"";height:20px;width:20px}.product-no-data{background-color:#fafafa;background-color:var(--color-background);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);color:#757575;color:var(--color-text-secondary);margin-top:24px;margin-top:var(--spacing-md);padding:32px;padding:var(--spacing-lg);text-align:center}.product-stock-info h4{color:#212121;color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.stock-levels-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stock-level-item{background-color:#fafafa;background-color:var(--color-background);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:4px;border-radius:var(--radius-small);display:flex;flex-direction:column;gap:6px;padding:12px;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.stock-level-item:hover{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow)}.stock-company,.stock-company-header{color:#2196f3;color:var(--color-primary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stock-quantity{color:#212121;color:var(--color-text-primary);font-size:18px;font-weight:700}.stock-valuation{border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px}.valuation-row{display:flex;font-size:13px;justify-content:space-between}.valuation-label{color:#757575;color:var(--color-text-secondary);font-weight:500}.valuation-value{color:#212121;color:var(--color-text-primary);font-weight:600}@media (max-width:768px){.product-filters{grid-template-columns:1fr}.product-list-header{align-items:flex-start;gap:24px;gap:var(--spacing-md)}.product-list-header,.product-table .actions{flex-direction:column}}.supplier-list-page{margin:0 auto 0 280px;margin:0 auto 0 var(--nav-width);max-width:1200px;padding:24px;padding:var(--spacing-md);transition:margin-left .3s ease}.supplier-list-header{align-items:center;display:flex;gap:24px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-lg)}.supplier-list-header h1{font-size:32px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.supplier-list-header button,.supplier-list-header h1{flex-shrink:0;white-space:nowrap}.supplier-filters{grid-gap:24px;grid-gap:var(--spacing-md);display:grid;gap:24px;gap:var(--spacing-md);grid-template-columns:1fr 1fr;margin-bottom:24px;margin-bottom:var(--spacing-md)}.supplier-table{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-collapse:collapse;border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);margin:24px 0;margin:var(--spacing-md) 0;overflow:hidden;width:100%}.supplier-table thead{background-color:#757575;background-color:var(--color-secondary);color:#fff}.supplier-table th{border-bottom:2px solid #d0d0d0;border-bottom:2px solid var(--color-border-dark);font-weight:700;font-weight:var(--font-weight-bold);text-align:center}.supplier-table td,.supplier-table th{font-size:16px;font-size:var(--font-size-body);padding:16px;padding:var(--spacing-sm)}.supplier-table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);color:#212121;color:var(--color-text-primary)}.supplier-table tbody tr{transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.supplier-table tbody tr:nth-child(2n){background-color:#fafafa;background-color:var(--color-background)}.supplier-table .clickable-row:hover{background-color:#f5f5f5;background-color:var(--color-background-secondary);cursor:pointer}.supplier-table .code{color:#2196f3;color:var(--color-primary);font-weight:700;font-weight:var(--font-weight-bold)}.supplier-table .type{color:#757575;color:var(--color-text-secondary)}.supplier-table .created-date{color:#bdbdbd;color:var(--color-text-disabled);font-size:14px;font-size:var(--font-size-small)}.supplier-table .actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-sm);justify-content:center}.supplier-table .actions button{flex-shrink:0;font-size:.8rem;padding:4px 10px;white-space:nowrap;width:auto}.supplier-loading{color:#666;padding:32px;text-align:center}.supplier-no-data{background:#f9f9f9;border-radius:4px;color:#999;margin-top:16px;padding:32px;text-align:center}@media (max-width:768px){.supplier-filters{grid-template-columns:1fr}.supplier-list-header{align-items:flex-start;flex-direction:column;gap:24px;gap:var(--spacing-md)}.supplier-table .actions{flex-direction:column}}.product-detail-page,.supplier-detail-page,.user-detail-page{background-color:#fafafa;background-color:var(--color-background);margin:0 auto 0 280px;margin:0 auto 0 var(--nav-width);min-height:100vh;padding:32px 16px;padding:var(--spacing-lg) var(--spacing-sm);transition:margin-left .3s ease}.product-detail-page h1,.supplier-detail-page h1,.user-detail-page h1{color:#212121;color:var(--color-text-primary);font-size:32px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:32px;margin-bottom:var(--spacing-lg)}.user-management-container{align-items:flex-start;background:#fafafa;background:var(--color-background);display:flex;flex-direction:column;justify-content:flex-start;margin-left:280px;margin-left:var(--nav-width);min-height:100vh;padding:32px;padding:var(--spacing-lg);transition:margin-left .3s ease}.user-management-container h1{color:#212121;color:var(--color-text);font-size:32px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:24px;margin-bottom:var(--spacing-md)}.management-controls{align-items:center;display:flex;flex-wrap:wrap;gap:24px;gap:var(--spacing-md);margin-bottom:32px;margin-bottom:var(--spacing-lg);width:100%}.search-box{align-items:center;display:flex;flex:1 1;min-width:250px;position:relative}.btn-clear-search{background:none;border:none;color:#9ca3af;color:var(--color-gray-400);cursor:pointer;font-size:1.2rem;padding:8px 16px;padding:var(--spacing-xs) var(--spacing-sm);position:absolute;right:16px;right:var(--spacing-sm);transition:color .2s ease-in-out;transition:color var(--transition-standard)}.btn-clear-search:hover{color:#212121;color:var(--color-text)}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-sm);justify-content:center}.action-grid{grid-gap:24px;grid-gap:var(--spacing-md);display:grid;gap:24px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));place-items:center}.table-wrapper{border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--border-radius-md);margin:24px 0;margin:var(--spacing-md) 0;overflow:hidden;width:100%}.users-table{border-collapse:collapse;font-size:.95rem;width:100%}.users-table thead{background:#757575;background:var(--color-secondary);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);color:#fff}.users-table th{font-weight:700;font-weight:var(--font-weight-bold);padding:24px;padding:var(--spacing-md);text-align:center}.users-table tbody tr{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.users-table tbody tr:hover{background-color:#f3f4f6;background-color:var(--color-gray-100)}.users-table td{color:#212121;color:var(--color-text);padding:24px;padding:var(--spacing-md)}.users-table tbody tr:nth-child(2n){background-color:#f9fafb;background-color:var(--color-gray-50)}.action-cell{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-sm);justify-content:center}.action-cell button{flex-shrink:0;font-size:.8rem;padding:4px 10px;white-space:nowrap;width:auto}.empty-state{color:#9ca3af;color:var(--color-gray-400);padding:48px 24px;padding:var(--spacing-xl) var(--spacing-md);width:100%}.pagination{align-items:center;background:#f9fafb;background:var(--color-gray-50);border-radius:8px;border-radius:var(--border-radius-md);display:flex;gap:24px;gap:var(--spacing-md);justify-content:center;margin:32px 0;margin:var(--spacing-lg) 0;padding:24px;padding:var(--spacing-md)}.page-info{color:#757575;color:var(--color-text-secondary);font-weight:600;font-weight:var(--font-weight-semibold);min-width:150px;text-align:center}.table-info{color:#9ca3af;color:var(--color-gray-400);font-size:.9rem;margin-top:24px;margin-top:var(--spacing-md);text-align:right}.error-message,.success-message{border-radius:8px;border-radius:var(--border-radius-md);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:24px;margin-bottom:var(--spacing-md);padding:24px;padding:var(--spacing-md)}.error-message{background:#ef5350;background:var(--color-error-light);border-left:4px solid #f44336;border-left:4px solid var(--color-error);color:#d32f2f;color:var(--color-error-dark)}.success-message{background:#81c784;background:var(--color-success-light);border-left:4px solid #4caf50;border-left:4px solid var(--color-success);color:#388e3c;color:var(--color-success-dark)}.detail-section{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);padding-bottom:32px;padding-bottom:var(--spacing-lg)}.detail-section:last-child{border-bottom:none}.detail-section h2{color:#212121;color:var(--color-text);font-size:24px;font-size:var(--font-size-h2);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:24px;margin-bottom:var(--spacing-md)}.info-row{grid-gap:24px;grid-gap:var(--spacing-md);align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:grid;gap:24px;gap:var(--spacing-md);grid-template-columns:150px 1fr;padding:16px 0;padding:var(--spacing-sm) 0}.info-row:last-child{border-bottom:none}.info-row label{color:#757575;color:var(--color-text-secondary);font-weight:600;font-weight:var(--font-weight-semibold)}.info-row span{color:#212121;color:var(--color-text);word-break:break-all}.uid-text{background:#f3f4f6;background:var(--color-gray-100);border-radius:4px;border-radius:var(--border-radius-sm);font-family:Courier New,monospace;font-size:.9rem;padding:8px 16px;padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width:768px){.user-management-container{padding:24px;padding:var(--spacing-md)}.management-controls{align-items:stretch;flex-direction:column}.search-box{min-width:auto}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.users-table{font-size:.85rem}.users-table td,.users-table th{padding:16px;padding:var(--spacing-sm)}.action-cell{flex-direction:column}.info-row{gap:8px;gap:var(--spacing-xs);grid-template-columns:1fr}.info-row label{font-size:.9rem}.action-grid{grid-template-columns:1fr}.pagination{flex-direction:column;gap:16px;gap:var(--spacing-sm)}.page-info{min-width:auto}.table-wrapper{border-radius:0}}@media (max-width:480px){.users-table{font-size:.75rem}.users-table td,.users-table th{padding:8px;padding:var(--spacing-xs)}.pagination{padding:24px;padding:var(--spacing-md)}.detail-section h2{font-size:20px;font-size:var(--font-size-h3)}}.dashboard-page{background-color:#fafafa;background-color:var(--color-background);min-height:100vh;position:relative}.dashboard-container{margin:0 auto 0 280px;margin:0 auto 0 var(--nav-width);max-width:1200px;padding:32px 16px;padding:var(--spacing-lg) var(--spacing-sm);transition:margin-left .3s ease}.dashboard-header{margin-bottom:64px;margin-bottom:var(--spacing-xxl);text-align:center}.dashboard-header h1{color:#212121;color:var(--color-text-primary);font-size:32px;font-size:var(--font-size-h1);margin:0 0 16px;margin:0 0 var(--spacing-sm) 0}.dashboard-header p{color:#757575;color:var(--color-text-secondary);font-size:16px;font-size:var(--font-size-body);margin:0}.stats-grid{grid-gap:32px;grid-gap:var(--spacing-lg);display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:64px;margin-bottom:var(--spacing-xxl)}.stat-card,.stats-grid{gap:32px;gap:var(--spacing-lg)}.stat-card{align-items:center;background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);display:flex;padding:32px;padding:var(--spacing-lg);transition:all .2s ease-in-out;transition:all var(--transition-standard)}.stat-card:hover{box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.stat-icon{font-size:32px;min-width:60px;text-align:center}.stat-content h3{color:#757575;color:var(--color-text-secondary);font-size:14px;font-size:var(--font-size-small);letter-spacing:1px;margin:0 0 8px;margin:0 0 var(--spacing-xs) 0;text-transform:uppercase}.stat-number{color:#2196f3;color:var(--color-primary);font-size:24px;font-weight:700;font-weight:var(--font-weight-bold);margin:0}.quick-actions{margin-bottom:64px;margin-bottom:var(--spacing-xxl)}.quick-actions h2{border-bottom:2px solid #667eea;color:#333;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.5rem}.action-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.action-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:1.5rem;padding:2rem;text-decoration:none;transition:all .3s ease}.action-card:hover{border-left-color:#667eea;box-shadow:0 5px 20px #0000001f;transform:translateX(5px)}.action-icon{font-size:2.5rem;min-width:60px;text-align:center}.action-content{flex:1 1}.action-content h3{color:#333;font-size:1.1rem;margin:0 0 .5rem}.action-content p{color:#666;font-size:.9rem;margin:0}.action-arrow{color:#667eea;font-size:1.5rem;font-weight:700;transition:transform .3s ease}.action-card:hover .action-arrow{transform:translateX(3px)}.current-user-info{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:2rem}.current-user-info h2{border-bottom:2px solid #667eea;color:#333;font-size:1.3rem;margin:0 0 1.5rem;padding-bottom:.5rem}.user-card{grid-gap:1rem;display:grid;gap:1rem}.user-card p{color:#555;font-size:1rem;margin:0}.user-card p strong{color:#333;display:inline-block;min-width:80px}.status{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:600;padding:.3rem .8rem}.status.active{background:#d1fae5;color:#10b981}.status.inactive{background:#fee2e2;color:#ef4444}.loading-state{color:#999;font-size:1.1rem;padding:3rem 1rem;text-align:center}.dashboard-error-message{background:#fee2e2;border-left:4px solid #ef4444;border-radius:8px;color:#991b1b;margin-bottom:2rem;padding:1rem}@media (max-width:768px){.dashboard-container{padding:1.5rem 1rem}.dashboard-header h1{font-size:1.8rem}.dashboard-header p{font-size:1rem}.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1.5rem}.action-cards{grid-template-columns:1fr}.action-card{flex-direction:column;text-align:center}.action-icon{font-size:2rem}.action-arrow{display:none}.action-card:hover .action-arrow{transform:none}}@media (max-width:480px){.dashboard-header h1{font-size:1.5rem}.action-card,.current-user-info,.stat-card{padding:1rem}.stat-content h3{font-size:.8rem}.stat-number{font-size:1.5rem}.action-content h3{font-size:1rem}.action-content p{font-size:.85rem}}.profile-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:40px auto 40px 280px;margin:40px auto 40px var(--nav-width);max-width:800px;padding:20px;transition:margin-left .3s ease}.profile-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.profile-card h1{border-bottom:2px solid #667eea;color:#333;margin-top:0;padding-bottom:15px}.profile-card h1,.profile-section{margin-bottom:30px}.profile-section h2{color:#555;font-size:20px;margin-bottom:20px;margin-top:0}.profile-info{background:#f9f9f9;border-left:4px solid #667eea;border-radius:4px;padding:15px 20px}.profile-info-row{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:10px 0}.profile-info-row:last-child{border-bottom:none}.profile-info-row .label{color:#666;font-weight:600;min-width:120px}.profile-info-row .value{color:#333;flex:1 1;text-align:right}.role-badge,.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.role-badge{background-color:#e3f2fd;color:#1976d2}.status-badge{background-color:#f0f0f0;color:#666}.status-badge.active{background-color:#e8f5e9;color:#2e7d32}.status-badge.inactive{background-color:#ffebee;color:#c62828}.profile-form-group{margin-bottom:20px}.profile-form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.profile-form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.profile-form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.profile-form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.profile-form-group input[aria-invalid=true]{border-color:#dc3545}.error-field{color:#dc3545;display:block;font-size:12px;margin-top:4px}.profile-error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:14px;margin-bottom:20px;padding:12px}.profile-success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-size:14px;margin-bottom:20px;padding:12px}.profile-btn-danger,.profile-btn-primary{border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:opacity .2s,transform .1s}.profile-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%}.profile-btn-primary:hover:not(:disabled){opacity:.9}.profile-btn-primary:active:not(:disabled){transform:scale(.98)}.profile-btn-primary:disabled{cursor:not-allowed;opacity:.6}.profile-btn-danger{background-color:#dc3545;color:#fff}.profile-btn-danger:hover{background-color:#c82333}.profile-btn-danger:active{transform:scale(.98)}@media (max-width:600px){.profile-container{padding:10px}.profile-card{padding:20px}.profile-info-row{flex-direction:column}.profile-info-row .label{margin-bottom:5px;text-align:left}.profile-info-row .value{text-align:left}}.auth-container{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#4facfe 75%,#00f2fe);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;padding:24px;padding:var(--spacing-md)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.auth-card{animation:slideUp .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff;background-color:var(--color-surface);border:1px solid #ffffff80;border-radius:20px;box-shadow:0 20px 60px #00000026,0 0 1px #0000001a;max-width:420px;padding:48px;padding:var(--spacing-xl);width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#212121;color:var(--color-text-primary);font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;margin-top:0}.auth-card p{color:#757575;color:var(--color-text-secondary);line-height:1.75;line-height:var(--line-height-relaxed);margin-bottom:24px;margin-bottom:var(--spacing-md)}.auth-card .btn-primary,.auth-card button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 8px 20px #667eea4d;color:#fff;font-weight:600;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s ease}.auth-card .btn-primary:before,.auth-card button[type=submit]:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.auth-card .btn-primary:hover:not(:disabled),.auth-card button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 12px 30px #667eea66;transform:translateY(-2px)}.auth-card .btn-primary:hover:not(:disabled):before,.auth-card button[type=submit]:hover:not(:disabled):before{left:100%}.auth-card .form-group{margin-bottom:24px}.auth-card .form-group label{font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.auth-card .form-control{background-color:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;padding:14px 16px;transition:all .3s ease}.auth-card .form-control::placeholder{color:#999}.auth-card .form-control:focus{background-color:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26;outline:none}.auth-card .error-message{background:linear-gradient(135deg,#ef44440d,#ef444405);border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;color:#991b1b;font-size:14px;font-weight:500;margin-bottom:24px;padding:14px 16px}.auth-card .error-field{color:#ef4444;font-size:12px;font-weight:500;margin-top:6px}.auth-card .form-control[aria-invalid=true]{background-color:#fff5f5;border-color:#ef4444}.auth-card .form-control[aria-invalid=true]:focus{box-shadow:0 0 0 4px #ef44441a,0 4px 12px #ef444426}.auth-form-group{margin-bottom:24px}.auth-form-group label{color:#212121;color:var(--color-text-primary);display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.auth-form-group input{background-color:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;color:#212121;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:16px;font-size:var(--font-size-body);letter-spacing:.3px;padding:14px 16px;transition:all .3s ease;width:100%}.auth-form-group input::placeholder{color:#999}.auth-form-group input:focus{background-color:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26;outline:none}.auth-form-group input:disabled{background-color:#f0f0f0;color:#999;cursor:not-allowed;opacity:.6}.auth-form-group input[aria-invalid=true]{background-color:#fff5f5;border-color:#ef4444}.auth-form-group input[aria-invalid=true]:focus{box-shadow:0 0 0 4px #ef44441a,0 4px 12px #ef444426}.auth-error-field{color:#ef4444;display:block;font-size:12px;font-weight:500;margin-top:6px}.auth-error-message{align-items:center;background:linear-gradient(135deg,#ef44440d,#ef444405);border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;color:#991b1b;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:24px;margin-bottom:var(--spacing-md);padding:14px 16px}.auth-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 8px 20px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s ease;width:100%}.auth-btn-primary:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.auth-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 12px 30px #667eea66;transform:translateY(-2px)}.auth-btn-primary:hover:not(:disabled):before{left:100%}.auth-btn-primary:active:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(0)}.auth-btn-primary:focus:not(:disabled){outline:2px solid #667eea;outline-offset:2px}.auth-btn-primary:disabled{cursor:not-allowed;opacity:.65;transform:none}.auth-links{align-items:center;display:flex;font-size:14px;gap:12px;justify-content:center;margin-top:28px}.auth-links a{color:#667eea;font-weight:600;position:relative;text-decoration:none;transition:all .3s ease}.auth-links a:after{background:linear-gradient(90deg,#667eea,#764ba2);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.auth-links a:hover{color:#764ba2}.auth-links a:hover:after{width:100%}.auth-links a:focus{border-radius:2px;outline:2px solid #667eea;outline-offset:2px}.auth-links span{color:#d0d0d0;font-weight:300}@media (max-width:480px){.auth-container{min-height:auto;padding:16px;padding:var(--spacing-sm);padding-bottom:60px;padding-top:60px}.auth-card{border-radius:16px;max-width:100%;padding:32px 24px;padding:var(--spacing-lg) var(--spacing-md)}.auth-card h1{font-size:24px;margin-bottom:12px}.auth-form-group{margin-bottom:20px}.auth-form-group input{font-size:16px;padding:12px 14px}.auth-btn-primary{font-size:15px;margin-top:8px;padding:12px 18px}.auth-links{flex-wrap:wrap;font-size:13px;gap:10px;margin-top:24px}}@media (max-width:320px){.auth-card{padding:24px 16px;padding:var(--spacing-md) var(--spacing-sm)}.auth-card h1{font-size:20px}.auth-links{flex-direction:column;gap:8px}.auth-links span{display:none}}.stock-movement-list-page{margin-left:280px;margin-left:var(--nav-width);padding:24px;transition:margin-left .3s ease}.loader-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 120px)}.loader-content{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.loader-content p{color:#757575;color:var(--color-text-secondary);font-size:16px;margin:0}.stock-movement-list-page h1{color:#1f1a1f;font-size:28px;font-weight:600;margin-bottom:24px}.page-header{align-items:center;display:flex;justify-content:space-between}.filters-section,.page-header{margin-bottom:24px}.movements-sections-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:12px}.movements-section{display:flex;flex-direction:column}.movements-section-title{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);color:#212121;color:var(--color-text-primary);font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:10px}.movements-grid{display:flex;flex-wrap:wrap;gap:6px}.movement-card{border:1px solid #00000014;border-radius:6px;box-shadow:0 1px 2px #00000014;cursor:pointer;flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;max-width:300px;min-width:200px;padding:8px 10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.movement-card:hover{border-color:#00000026;box-shadow:0 2px 4px #0000001f}.movement-header{align-items:center;border-bottom:1px solid #00000014;display:flex;justify-content:space-between;margin-bottom:4px;padding-bottom:4px}.movement-header h3{font-size:12px;font-weight:600;margin:0}.movement-date{color:#888;font-size:10px;white-space:nowrap}.movement-body{margin-bottom:4px}.movement-info{display:flex;font-size:11px;justify-content:space-between;padding:1px 0}.movement-actions{border-top:1px solid #0000000d;display:flex;gap:4px;justify-content:flex-end;padding-top:4px}@media (max-width:1024px){.movements-sections-container{gap:16px;grid-template-columns:1fr}}@media (max-width:768px){.movements-section-title{font-size:14px}.movement-card{padding:6px 8px}.movement-info{font-size:10px}}.stock-movement-detail-page{margin-left:280px;margin-left:var(--nav-width);overflow:visible;padding:24px;transition:margin-left .3s ease}.stock-movement-detail-page h1{color:#1f1a1f;font-size:28px;font-weight:600;margin-bottom:24px}.movement-info-card,.summary-card{background-color:#fafbfc;border:1px solid #dfe4e8;border-radius:8px;box-shadow:0 1px 3px #0000000a;margin-bottom:16px;transition:box-shadow .2s ease}.summary-card:hover{box-shadow:0 2px 6px #0000000f}.movement-info-card .card-body,.summary-card .card-body{padding:20px}.info-row,.summary-row{align-items:center;display:flex;font-size:14px;justify-content:space-between;line-height:1.6;padding:10px 0}.summary-row{color:#424242}.summary-row strong{color:#1f1a1f;font-weight:600;margin-right:16px;min-width:100px}.summary-card h3{border-bottom:2px solid #e8eaef;color:#1f1a1f;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.company-list-page{margin:0 auto 0 280px;margin:0 auto 0 var(--nav-width);max-width:1200px;padding:24px;padding:var(--spacing-md);transition:margin-left .3s ease}.company-list-header{align-items:center;display:flex;gap:24px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-lg)}.company-list-header h1{font-size:32px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.company-list-header button,.company-list-header h1{flex-shrink:0;white-space:nowrap}.company-filters{grid-gap:24px;grid-gap:var(--spacing-md);display:grid;gap:24px;gap:var(--spacing-md);grid-template-columns:1fr;margin-bottom:24px;margin-bottom:var(--spacing-md)}.company-table{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-collapse:collapse;border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);margin:24px 0;margin:var(--spacing-md) 0;overflow:hidden;width:100%}.company-table thead{background-color:#757575;background-color:var(--color-secondary);color:#fff}.company-table th{border-bottom:2px solid #d0d0d0;border-bottom:2px solid var(--color-border-dark);font-size:16px;font-size:var(--font-size-body);font-weight:700;font-weight:var(--font-weight-bold);padding:16px;padding:var(--spacing-sm);text-align:center}.company-table tbody tr{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.company-table tbody tr:nth-child(2n){background-color:#fafafa;background-color:var(--color-background)}.company-table .clickable-row:hover{background-color:#f5f5f5;background-color:var(--color-background-secondary);cursor:pointer}.company-table td{color:#212121;color:var(--color-text-primary);padding:16px;padding:var(--spacing-sm)}.company-table .code{color:#2196f3;color:var(--color-primary);font-weight:700;font-weight:var(--font-weight-bold)}.company-table .created-date{color:#bdbdbd;color:var(--color-text-disabled);font-size:14px;font-size:var(--font-size-small)}.company-table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-sm);justify-content:center}.company-table-actions button{flex-shrink:0;font-size:.8rem;padding:4px 10px;white-space:nowrap;width:auto}.company-loading{color:#666;padding:32px;text-align:center}.company-no-data{background:#f9f9f9;border-radius:4px;color:#999;margin-top:16px;padding:32px;text-align:center}@media (max-width:768px){.company-filters{grid-template-columns:1fr}.company-list-header{align-items:flex-start;gap:24px;gap:var(--spacing-md)}.company-list-header,.company-table-actions{flex-direction:column}}.payment-transaction-list-page{margin-left:280px;margin-left:var(--nav-width);padding:24px;transition:margin-left .3s ease}.payment-transaction-list-page h1{color:#1f1a1f;font-size:28px;font-weight:600;margin-bottom:24px}.payment-transaction-list-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.payment-transaction-list-page .filters-section{margin-bottom:24px}.payment-transaction-detail-page{margin-left:280px;margin-left:var(--nav-width);max-width:800px;padding:24px;transition:margin-left .3s ease}.payment-transaction-detail-page h1{color:#1f1a1f;font-size:28px;font-weight:600;margin-bottom:24px}.payment-info-card{background-color:#f5f5f5;border:1px solid #e0e0e0;margin-bottom:16px}.payment-info-card .card-body{padding:16px}.payment-info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.payment-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:24px 0;padding:var(--spacing-md) 0}.payment-item{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:1px solid #6750a426;border-radius:10px;box-shadow:0 2px 8px #0000000f;cursor:default;display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.payment-item:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .6s ease;width:100%}.payment-item:hover{background:linear-gradient(135deg,#e8f0ff,#d5e3ff);border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 8px 24px #6750a433;transform:translateY(-4px) scale(1.02)}.payment-item:hover:before{left:100%}.payment-company{align-items:center;color:#2196f3;color:var(--color-primary);display:flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.5px;text-transform:uppercase}.payment-company:before{content:"💳";font-size:14px}.payment-amount{font-size:22px;font-weight:800;letter-spacing:-.5px;word-break:break-word}@media (max-width:768px){.payment-transaction-detail-page,.payment-transaction-list-page{padding:16px}.payment-transaction-detail-page{max-width:100%}.payment-grid{grid-template-columns:1fr}}.company-detail-page,.supplier-detail-page,.user-detail-page{background-color:#fafafa;background-color:var(--color-background);margin:0 auto 0 280px;margin:0 auto 0 var(--nav-width);max-width:1000px;min-height:100vh;padding:32px 16px;padding:var(--spacing-lg) var(--spacing-sm);transition:margin-left .3s ease}.company-detail-page h1,.supplier-detail-page h1,.user-detail-page h1{color:#212121;color:var(--color-text-primary);font-size:32px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:32px;margin-bottom:var(--spacing-lg)}.company-detail-page.detail-page-content,.formula-detail-page.detail-page-content,.product-detail-page.detail-page-content,.stock-movement-detail-page.detail-page-content,.supplier-detail-page.detail-page-content,.user-management-card.detail-page-content,.user-management-container.detail-page-content{margin-left:280px;margin-left:var(--nav-width,280px);margin-top:70px}.movements-summary{margin-bottom:32px;margin-bottom:var(--spacing-lg)}.summary-card{grid-gap:24px;grid-gap:var(--spacing-md);background:#fff;border:1px solid #e0e0e0;display:grid;gap:24px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card,.summary-item{padding:24px;padding:var(--spacing-md)}.summary-item{background-color:#f9f9f9;border:1px solid #f0f0f0;border-radius:4px;border-radius:var(--radius-small);box-shadow:none;display:flex;flex-direction:column;gap:8px;text-align:left;transition:background-color .2s ease-in-out;transition:background-color var(--transition-standard)}.summary-item:hover{background-color:#f5f5f5;transform:none}.summary-item.highlight{background:#f5f5f5;border:1px solid #e0e0e0;color:inherit}.summary-label{color:#757575;font-size:.7rem;font-weight:600;letter-spacing:.8px;margin:0;text-transform:uppercase}.summary-item.highlight .summary-label{color:#757575}.summary-value{color:#333;font-size:1.1rem;font-weight:600;margin:0}.summary-item.highlight .summary-value{color:#333}.movement-total-value{border-top:1px solid #0000001a!important;color:#1f1a1f!important;font-weight:600!important;margin-top:4px!important;padding:8px 0!important}@media (max-width:768px){.summary-card{gap:16px;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card,.summary-item{padding:16px;padding:var(--spacing-sm)}.summary-value{font-size:20px}}@media (max-width:480px){.summary-card{grid-template-columns:1fr}.summary-value{font-size:18px}}.filters-container{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);margin-bottom:32px;margin-bottom:var(--spacing-lg);padding:12px}.filters-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.filters-header h3{color:#212121;color:var(--color-text-primary);font-size:20px;font-size:var(--font-size-h3);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.filters-status{align-items:center;color:#757575;color:var(--color-text-secondary);display:flex;font-size:14px;font-size:var(--font-size-small);gap:16px;gap:var(--spacing-sm)}.filter-status-badge{align-items:center;background-color:#2196f3;background-color:var(--color-primary);border-radius:20px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;font-weight:var(--font-weight-medium);justify-content:center;padding:4px 10px}.filters-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:12px}.filter-group{display:flex;flex-direction:column;gap:3px}.filter-group label{color:#212121;color:var(--color-text-primary);display:block;font-size:12px;font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-transform:uppercase}.filter-group input,.filter-group select{background-color:#fafafa;background-color:var(--color-background);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:4px;border-radius:var(--radius-small);color:#212121;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:13px;height:32px;padding:6px 8px;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.filter-group input::placeholder,.filter-group select::placeholder{color:#757575;color:var(--color-text-secondary)}.filter-group input:focus,.filter-group select:focus{background-color:#fff;background-color:var(--color-surface);border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #6750a41a;outline:none}.filter-group input:disabled,.filter-group select:disabled{background-color:#fafafa;background-color:var(--color-background);color:#bdbdbd;color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.filters-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-apply-filters{align-items:center;background-color:#2196f3;background-color:var(--color-primary);border:none;border-radius:8px;border-radius:var(--radius-medium);color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;font-weight:var(--font-weight-medium);gap:6px;height:32px;padding:6px 16px;transition:all .2s ease-in-out;transition:all var(--transition-standard);white-space:nowrap}.btn-apply-filters:hover{box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium)}.btn-apply-filters:active,.btn-apply-filters:hover{background-color:#1976d2;background-color:var(--color-primary-dark)}.btn-apply-filters:active{box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}.btn-apply-filters:disabled{cursor:not-allowed;opacity:.6}.btn-apply-filters:focus{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.btn-clear-filters{align-items:center;background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);color:#212121;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:500;font-weight:var(--font-weight-medium);gap:6px;height:32px;padding:6px 16px;transition:all .2s ease-in-out;transition:all var(--transition-standard);white-space:nowrap}.btn-clear-filters:hover{background-color:#f44336;background-color:var(--color-error);border-color:#f44336;border-color:var(--color-error);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium);color:#fff}.btn-clear-filters:active{background-color:#d32f2f;background-color:var(--color-error-dark);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep)}.btn-clear-filters:disabled{cursor:not-allowed;opacity:.6}.btn-clear-filters:focus{outline:2px solid #f44336;outline:2px solid var(--color-error);outline-offset:2px}.filters-active-indicator{align-items:center;background-color:#6750a41a;border-radius:4px;border-radius:var(--radius-small);color:#2196f3;color:var(--color-primary);display:flex;font-size:14px;font-size:var(--font-size-small);gap:8px;padding:8px 12px}.filters-active-indicator:before{content:"●";font-size:8px}@media (max-width:768px){.filters-grid{gap:6px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.filters-actions{gap:6px;justify-content:flex-start;width:100%}.filters-actions button{flex:0 1 auto}.filters-container{padding:8px}.filters-header{align-items:flex-start;flex-direction:column;gap:16px;gap:var(--spacing-sm)}.filters-status{width:100%}}@media (max-width:480px){.filters-grid{grid-template-columns:1fr}.filters-actions{flex-direction:column}.filters-actions button{width:100%}.filter-group{gap:4px}.filter-group input,.filter-group label,.filter-group select{font-size:14px;font-size:var(--font-size-small)}.filter-group input,.filter-group select{padding:8px 10px}}@media (max-width:768px){.form-row,.movements-grid{grid-template-columns:1fr}}.tabs-container{background:#fff;background:var(--color-surface);border-radius:8px 8px 0 0;border-radius:var(--radius-medium) var(--radius-medium) 0 0;box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);margin-bottom:32px;margin-bottom:var(--spacing-lg);overflow:hidden}.tabs-header{background:linear-gradient(90deg,#6750a405,#6750a400);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);display:flex;flex-wrap:wrap;gap:0;margin-bottom:0;position:relative}.tab-button{align-items:center;border-bottom:3px solid #0000;color:#666;display:flex;font-size:15px;gap:8px;justify-content:center;letter-spacing:.5px;margin-bottom:-2px;min-width:140px;overflow:hidden;padding:14px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-button:before{background:radial-gradient(circle at center,#6750a41a 0,#0000 70%);content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;width:100%}.tab-button:after{background:linear-gradient(90deg,#667eea,#764ba2);bottom:0;content:"";height:3px;left:0;position:absolute;transition:width .4s cubic-bezier(.4,0,.2,1);width:0}.tab-button:hover{background-color:#667eea14;color:#667eea}.tab-button:hover:before{opacity:1}.tab-button.active{background-color:#667eea1a;border-bottom-color:#667eea;color:#667eea;font-weight:700}.tab-button.active:after{width:100%}.tab-button:focus-visible{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:-2px}.tab-content{animation:fadeIn .3s ease-in;padding:32px;padding:var(--spacing-lg)}.balance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:24px 0;padding:var(--spacing-md) 0}.balance-item{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:1px solid #6750a426;border-radius:10px;box-shadow:0 2px 8px #0000000f;cursor:default;display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.balance-item:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .6s ease;width:100%}.balance-item:hover{background:linear-gradient(135deg,#e8f0ff,#d5e3ff);border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 8px 24px #6750a433;transform:translateY(-4px) scale(1.02)}.balance-item:hover:before{left:100%}.balance-company{align-items:center;color:#2196f3;color:var(--color-primary);display:flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.5px;text-transform:uppercase}.balance-company:before{content:"💼";font-size:14px}.balance-amount{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2196f3;color:var(--color-primary);font-size:22px;font-weight:800;letter-spacing:-.5px;word-break:break-word}.balance-history-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.balance-history-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.balance-history-table thead th{border:none;font-weight:700;padding:10px 8px;text-align:center}.balance-history-table thead th:first-child{border-radius:8px 0 0 0}.balance-history-table thead th:last-child{border-radius:0 8px 0 0}.balance-history-table tbody tr{background:#fff;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:all .2s ease}.balance-history-table tbody tr:last-child{border-bottom:none}.balance-history-table tbody tr:hover{background:linear-gradient(90deg,#6750a408,#6750a400);box-shadow:0 2px 8px #6750a41a}.balance-history-table tbody td{color:#212121;color:var(--color-text-primary);padding:8px;position:relative;text-align:center}.balance-history-table td.positive{background:#10b98114;border-radius:6px;color:#10b981;font-size:15px;font-weight:700}.balance-history-table td.positive:before{content:"↑ ";font-weight:800;margin-right:2px}.balance-history-table td.negative{background:#ef444414;border-radius:6px;color:#ef4444;font-size:15px;font-weight:700}.balance-history-table td.negative:before{content:"↓ ";font-weight:800;margin-right:2px}.balance-history-table tbody tr:nth-child(2n){background:#fafafa;background:var(--color-background)}.balance-history-table tbody tr:nth-child(2n):hover{background:linear-gradient(90deg,#6750a40f,#6750a400)}.stock-history-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.stock-history-table thead{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.stock-history-table thead th{border:none;font-weight:700;padding:10px 8px;text-align:center}.stock-history-table thead th:first-child{border-radius:8px 0 0 0}.stock-history-table thead th:last-child{border-radius:0 8px 0 0}.stock-history-table tbody tr{background:#fff;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:all .2s ease}.stock-history-table tbody tr:last-child{border-bottom:none}.stock-history-table tbody tr:hover{background:linear-gradient(90deg,#06b6d408,#06b6d400);box-shadow:0 2px 8px #06b6d41a}.stock-history-table tbody td{color:#212121;color:var(--color-text-primary);padding:8px;position:relative;text-align:center}.stock-history-table tbody tr:nth-child(2n){background:#fafafa;background:var(--color-background)}.stock-history-table tbody tr:nth-child(2n):hover{background:linear-gradient(90deg,#06b6d40f,#06b6d400)}.component-breakdown-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.component-breakdown-table thead{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.component-breakdown-table thead th{border:none;font-weight:700;padding:10px 8px;text-align:center}.component-breakdown-table thead th:first-child{border-radius:8px 0 0 0;text-align:left}.component-breakdown-table thead th:last-child{border-radius:0 8px 0 0;text-align:center}.component-breakdown-table tbody tr{background:#fff;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:all .2s ease}.component-breakdown-table tbody tr:last-child{border-bottom:none}.component-breakdown-table tbody tr:hover{background:linear-gradient(90deg,#8b5cf608,#8b5cf600);box-shadow:0 2px 8px #8b5cf61a}.component-breakdown-table tbody td{color:#212121;color:var(--color-text-primary);padding:8px;position:relative;text-align:center}.component-breakdown-table tbody td:first-child{max-width:300px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.component-breakdown-table tbody tr:nth-child(2n){background:#fafafa;background:var(--color-background)}.component-breakdown-table tbody tr:nth-child(2n):hover{background:linear-gradient(90deg,#8b5cf60f,#8b5cf600)}.btn-link{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 8px #6750a433;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:6px 14px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-link:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-link:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 16px #6750a459;color:#fff;transform:translateY(-2px)}.btn-link:hover:before{left:100%}.btn-link:active{box-shadow:0 2px 8px #6750a433;transform:translateY(0)}.btn-link:focus-visible{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.btn-link:hover{color:#1976d2;color:var(--color-primary-dark);text-decoration:none}@media (max-width:480px){.type-selector{flex-direction:column}.type-option .type-label{font-size:15px;padding:14px 16px}.company-detail-page,.company-list-page,.dashboard-container,.product-detail-page,.product-list-page,.stock-movement-detail-page,.stock-movement-list-page,.supplier-detail-page,.supplier-list-page,.user-detail-page,.user-management-container{padding:16px}}.modal-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1040}.modal-dialog{animation:slideUp .3s ease-out;background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-deep);max-width:400px;width:90%;z-index:1050}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-md)}.modal-header h5{color:#212121;color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.btn-close{align-items:center;background:none;border:none;color:#757575;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:color .2s ease-in-out;transition:color var(--transition-standard);width:32px}.btn-close:hover:not(:disabled){color:#212121;color:var(--color-text-primary)}.btn-close:disabled{cursor:not-allowed;opacity:.6}.modal-body{padding:24px;padding:var(--spacing-md)}.modal-body p{margin:0 0 12px}.modal-body p,.modal-body strong{color:#212121;color:var(--color-text-primary)}.modal-body strong{font-weight:700}.modal-footer{background-color:#fafafa;background-color:var(--color-background);border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border);display:flex;gap:16px;gap:var(--spacing-sm);justify-content:flex-end;padding:24px;padding:var(--spacing-md)}.modal-footer button{border:none;border-radius:8px;border-radius:var(--radius-medium);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.modal-footer .btn-secondary{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);color:#212121;color:var(--color-text-primary)}.modal-footer .btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#d0d0d0;border-color:var(--color-border-dark)}.modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.history-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:24px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-lg);padding-bottom:24px;padding-bottom:var(--spacing-md)}.history-header h4{color:#757575;color:var(--color-text-secondary);flex-shrink:0;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.history-header button{flex-shrink:0;white-space:nowrap}@media (max-width:600px){.modal-dialog{max-width:90%}.modal-body,.modal-header{padding:16px}.modal-footer{flex-direction:column;padding:16px}.modal-footer button{width:100%}.history-header{align-items:flex-start;flex-direction:column}.history-header button{width:100%}}.dashboard-tabs{background:#fff;border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);overflow:hidden}.tabs-nav{background-color:#fafafa;background-color:var(--color-background);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);display:flex;gap:0}.tab-button{background:#0000;border:none;color:#757575;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:24px 32px;padding:var(--spacing-md) var(--spacing-lg);position:relative;text-align:center;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.tab-button.active,.tab-button:hover{background-color:#fff;background-color:var(--color-surface);color:#2196f3;color:var(--color-primary)}.tab-button.active:after{background-color:#2196f3;background-color:var(--color-primary);bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tabs-content{min-height:400px;padding:32px;padding:var(--spacing-lg)}.stock-levels-tab{animation:fadeIn .3s ease}.stock-summary{grid-gap:32px;grid-gap:var(--spacing-lg);display:grid;gap:32px;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:48px;margin-bottom:var(--spacing-xl)}.summary-card{border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);color:#fff;padding:32px;padding:var(--spacing-lg);text-align:center;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.summary-card:hover{box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.summary-card.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.summary-card.critical{background:linear-gradient(135deg,#f44336,#d32f2f)}.summary-card h4{font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 16px;margin:0 0 var(--spacing-sm) 0;opacity:.9;text-transform:uppercase}.summary-number{font-size:2rem;font-weight:700;font-weight:var(--font-weight-bold);margin:0}.stock-controls{display:flex;flex-wrap:wrap;gap:24px;gap:var(--spacing-md);margin-bottom:32px;margin-bottom:var(--spacing-lg)}.search-input{border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);flex:1 1;font-size:1rem;min-width:250px;padding:16px 24px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease-in-out;transition:all var(--transition-standard)}.search-input:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a;outline:none}.filter-select{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);cursor:pointer;font-size:1rem;min-width:200px;padding:16px 24px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease-in-out;transition:all var(--transition-standard)}.filter-select:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a;outline:none}.stock-table-container{border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-shallow);overflow-x:auto}.stock-table{background-color:#fff;background-color:var(--color-surface);border-collapse:collapse;width:100%}.stock-table thead{background-color:#fafafa;background-color:var(--color-background);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border)}.stock-table th{color:#757575;color:var(--color-text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:24px;padding:var(--spacing-md);text-align:left;text-transform:uppercase}.stock-table tbody tr{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);transition:all .2s ease-in-out;transition:all var(--transition-standard)}.stock-table tbody tr:hover{background-color:#fafafa;background-color:var(--color-background)}.stock-table td{color:#212121;color:var(--color-text-primary);padding:24px;padding:var(--spacing-md)}.stock-table .code-cell{color:#2196f3;color:var(--color-primary);font-weight:600}.stock-table .type-cell{text-align:center}.type-badge{background-color:#f3f4f6;background-color:var(--color-gray-100);border-radius:20px;color:#757575;color:var(--color-text-secondary);display:inline-block;font-size:.85rem;font-weight:500;padding:.3rem .8rem}.stock-table .stock-level-cell{font-weight:600;text-align:right}.stock-value{border-radius:6px;display:inline-block;font-size:.95rem;font-weight:600;padding:.3rem .8rem}.stock-value.normal{background-color:#4caf501a;color:#388e3c;color:var(--color-success-dark)}.stock-value.warning{background-color:#ff98001a;color:#f57c00;color:var(--color-warning-dark);font-weight:700}.stock-value.critical{background-color:#f443361a;color:#d32f2f;color:var(--color-error-dark);font-weight:700}.stock-table .unit-cell{color:#757575;color:var(--color-text-secondary);text-align:center}.stock-table .status-cell{text-align:center}.status-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.status-badge.available{background-color:#4caf5033;color:#388e3c;color:var(--color-success-dark)}.status-badge.low-stock{background-color:#ff980033;color:#f57c00;color:var(--color-warning-dark)}.status-badge.out-of-stock{background-color:#f4433633;color:#d32f2f;color:var(--color-error-dark)}.stock-row.low-stock{background-color:#ff98000d}.stock-row.out-of-stock{background-color:#f443360d}.empty-state{color:#757575;color:var(--color-text-secondary);font-size:1.1rem;padding:3rem 2rem;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.stock-controls{flex-direction:column}.filter-select,.search-input{min-width:100%}.stock-table{font-size:.9rem}.stock-table td,.stock-table th{padding:16px;padding:var(--spacing-sm)}.status-badge,.stock-value,.type-badge{font-size:.75rem;padding:.2rem .6rem}.tabs-nav{flex-wrap:nowrap;overflow-x:auto}.tab-button{flex:0 0 auto;min-width:150px}}.company-stock-matrix-tab{animation:fadeIn .3s ease}.matrix-controls{align-items:center;display:flex;gap:16px;gap:var(--spacing-sm);margin-bottom:16px;margin-bottom:var(--spacing-sm)}.matrix-controls .search-input{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;flex:1 1;font-size:.9rem;min-width:250px;padding:8px 12px;transition:all .2s}.matrix-controls .search-input:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #6750a41a;outline:none}.btn-clear{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;min-width:36px;padding:8px 12px;transition:color .2s;width:auto}.btn-clear:hover{color:#d32f2f}.matrix-placeholder{align-self:center;color:#aaa;font-size:.95em;font-style:italic;margin-left:12px}.btn-refresh{display:none}.matrix-container{background:#fff;border:1px solid #e5e5e5;border-radius:6px;box-shadow:0 1px 3px #00000014;max-height:75vh;overflow:auto}.stock-matrix-table{background-color:#fff;border-collapse:collapse;min-width:100%;width:100%}.stock-matrix-table thead{background:linear-gradient(180deg,#f8f9fa,#f5f6f7);border-bottom:2px solid #d5d5d5;position:-webkit-sticky;position:sticky;top:0;z-index:10}.stock-matrix-table th{border:none;color:#444;font-size:.75rem;font-weight:700;letter-spacing:.6px;min-width:100px;padding:12px 14px;text-align:center;text-transform:uppercase}.stock-matrix-table th.sticky-col{background:linear-gradient(180deg,#f8f9fa,#f5f6f7);border-right:2px solid #d5d5d5;left:0;padding:12px 16px!important;position:-webkit-sticky;position:sticky;text-align:left;z-index:11}.company-header{font-size:.9rem;font-weight:700;line-height:1.3;word-break:break-word}.stock-matrix-table tbody tr{background-color:#fff;border-bottom:1px solid #f0f0f0;transition:background-color .15s}.stock-matrix-table tbody tr:nth-child(odd){background-color:#fafbfc}.stock-matrix-table tbody tr:nth-child(2n){background-color:#fff}.stock-matrix-table tbody tr:hover{background-color:#f0f8ff!important;transition:background-color .1s}.stock-matrix-table td{border-right:1px solid #f5f5f5;font-size:.9rem;padding:11px 10px;text-align:center}.stock-matrix-table td.sticky-col{background-color:#fff;border-right:2px solid #d5d5d5;font-weight:600;left:0;min-width:200px;padding:11px 16px!important;position:-webkit-sticky;position:sticky;text-align:left;z-index:9}.stock-matrix-table tbody tr:nth-child(odd) td.sticky-col{background-color:#fafbfc}.stock-matrix-table tbody tr:nth-child(2n) td.sticky-col{background-color:#fff}.stock-matrix-table tbody tr:hover td.sticky-col{background-color:#f0f8ff}.product-cell{padding:11px 16px}.product-info{padding:0}.product-info strong{color:#06c;display:block;font-size:.9rem;font-weight:700;margin-bottom:4px}.product-info small{word-wrap:break-word;color:#757575;color:var(--color-text-secondary);display:block;font-size:.8rem;max-width:180px}.stock-cell-container{cursor:pointer;padding:4px 6px}.stock-cell{align-items:center;border:1px solid #0000;border-radius:4px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:700;justify-content:center;min-height:32px;min-width:60px;padding:8px 12px;transition:all .15s}.stock-cell:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stock-cell.normal{background:linear-gradient(180deg,#4caf5026,#4caf5014);border-color:#81c784;color:#1b5e20;font-weight:700}.stock-cell.normal:hover{background:linear-gradient(180deg,#4caf5040,#4caf5026);box-shadow:0 4px 12px #4caf5026}.stock-cell.warning{background:linear-gradient(180deg,#ff980026,#ff980014);border-color:#ffb74d;color:#e65100;font-weight:700}.stock-cell.warning:hover{background:linear-gradient(180deg,#ff980040,#ff980026);box-shadow:0 4px 12px #ff980026}.stock-cell.critical{animation:pulse 2s ease-in-out infinite;background:linear-gradient(180deg,#f4433626,#f4433614);border-color:#ef5350;color:#b71c1c;font-weight:700}.stock-cell.critical:hover{background:linear-gradient(180deg,#f4433640,#f4433626);box-shadow:0 4px 12px #f4433626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stock-value{display:block}.popup-backdrop{animation:fadeIn .2s ease;background-color:#00000080;bottom:0;cursor:pointer;left:0;position:fixed;right:0;top:0;z-index:999}.popup-backdrop~.popup-backdrop{z-index:1001}.stock-history-popup{animation:slideIn .2s ease;background:#fff;border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-medium);box-shadow:0 15px 50px #00000059;display:flex;flex-direction:column;max-height:70vh;max-width:800px;overflow:hidden;pointer-events:auto;position:fixed;width:calc(90vw - 20px);z-index:1000}.stock-history-popup~.popup-backdrop~.stock-history-popup{z-index:1003}.stock-history-popup-centered{left:50%;top:50%;transform:translate(-50%,-50%)}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.popup-header{align-items:center;background-color:#fafafa;background-color:var(--color-background);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);border-radius:8px 8px 0 0;border-radius:var(--radius-medium) var(--radius-medium) 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:24px;padding:var(--spacing-md)}.popup-header h4{color:#212121;color:var(--color-text-primary);font-size:1rem;margin:0}.popup-close{align-items:center;background:none;border:none;color:#757575;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .2s ease-in-out;transition:all var(--transition-standard);width:30px}.popup-close:hover{color:#f44336;color:var(--color-error);transform:rotate(90deg)}.popup-content{flex:1 1;min-height:0;overflow-y:auto;padding:24px;padding:var(--spacing-md)}.popup-empty,.popup-loading{color:#757575;color:var(--color-text-secondary);padding:32px;padding:var(--spacing-lg);text-align:center}.popup-empty{font-size:.9rem}.popup-table-container{height:100%;overflow:auto;width:100%}.popup-history-table{background-color:#fff;border-collapse:collapse;font-size:.85rem;table-layout:fixed;width:100%}.popup-history-table thead{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-bottom:2px solid #d1d5db}.popup-history-table th{border-right:1px solid #d1d5db;color:#374151;font-size:.75rem;font-weight:700;letter-spacing:.4px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.popup-history-table th:last-child{border-right:none}.popup-history-table tbody tr{border-bottom:1px solid #e5e7eb;position:relative;transition:all .2s ease}.popup-history-table tbody tr:hover{background-color:#f9fafb;box-shadow:0 2px 4px #0000000d}.popup-history-table td{border-right:1px solid #f0f0f0;color:#212121;color:var(--color-text-primary);font-size:.8rem;overflow:hidden;padding:10px 8px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.popup-history-table td:last-child{border-right:none;overflow:visible;text-overflow:clip;white-space:normal}.popup-history-table td.date-cell{font-weight:500;min-width:80px}.popup-history-table td.company-cell{color:#2196f3;color:var(--color-primary);font-weight:600;min-width:85px}.popup-history-table td.qty-cell,.popup-history-table td.stock-cell{font-weight:500;min-width:55px;text-align:center}.popup-history-table td.origin-cell{font-size:.8rem;min-width:150px;overflow:visible;padding:10px 8px;text-align:left;white-space:normal}@media (max-width:768px){.matrix-container{max-height:60vh}.stock-matrix-table td.sticky-col,.stock-matrix-table th.sticky-col{min-width:150px}.product-info strong{font-size:.9rem}.product-info small{font-size:.7rem;max-width:130px}.stock-cell{font-size:.8rem;min-height:30px;min-width:45px;padding:.3rem}.stock-history-popup{max-width:calc(100vw - 20px)}}.popup-link-btn{align-items:center;background:none;border:none;color:#2196f3;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;max-width:130px;padding:0;text-decoration:none;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.popup-link-btn:hover{color:#1976d2;color:var(--color-primary-dark);text-decoration:underline}.popup-link-btn:active{transform:scale(.96)}.external-icon{flex-shrink:0;font-size:.75rem;transition:transform .2s ease-in-out;transition:transform var(--transition-standard)}.popup-link-btn:hover .external-icon{transform:translateX(3px)}.origin-text{color:#212121;color:var(--color-text-primary);font-size:.9rem;font-weight:400}.popup-history-table tr.entree{border-left:4px solid #10b981}.popup-history-table tr.sortie{border-left:4px solid #f97316}.popup-more{color:#757575;color:var(--color-text-secondary);font-size:.85rem;font-style:italic;padding:16px;padding:var(--spacing-sm);text-align:center}.payment-detail-content{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important}.payment-detail-content .detail-section{align-items:center!important;border-bottom:1px solid #f0f0f0!important;display:flex!important;gap:8px!important;line-height:1.2!important;padding:2px 0!important;width:100%!important}.payment-detail-content .detail-section:last-child{border-bottom:none!important}.payment-detail-content .detail-section label{color:#757575!important;flex-shrink:0!important;font-size:.75rem!important;font-weight:600!important;letter-spacing:.5px!important;line-height:1.2!important;margin:0!important;min-width:85px!important;padding:0!important;text-transform:uppercase!important}.payment-detail-content .detail-section span{color:#333!important;flex:1 1!important;font-size:.8rem!important;line-height:1.2!important;margin:0!important;padding:0!important;word-break:break-word!important}.payment-detail-content .detail-section span.positive{color:#1b5e20!important;font-weight:600!important}.payment-detail-content .detail-section span.negative{color:#c62828!important;font-weight:600!important}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem;text-transform:uppercase}.badge-success{background-color:#4caf5033;color:#388e3c;color:var(--color-success-dark)}.badge-warning{background-color:#ff980033;color:#f57c00;color:var(--color-warning-dark)}.matrix-empty{color:#757575;color:var(--color-text-secondary);font-size:1.1rem;padding:3rem 2rem;text-align:center}@media (max-width:1024px){.stock-matrix-table td,.stock-matrix-table th{font-size:.85rem;padding:16px;padding:var(--spacing-sm)}.product-info small{max-width:150px}.stock-cell{font-size:.9rem;min-height:35px;min-width:50px}}@media (max-width:768px){.matrix-container{max-height:60vh}.stock-matrix-table td.sticky-col,.stock-matrix-table th.sticky-col{min-width:150px}.product-info strong{font-size:.9rem}.product-info small{font-size:.7rem;max-width:130px}.stock-cell{font-size:.8rem;min-height:30px;min-width:45px;padding:.3rem}.stock-history-popup{max-width:calc(100vw - 20px)}.matrix-controls{flex-direction:column}.matrix-controls .search-input{min-width:100%}.btn-refresh{align-self:flex-start}}.supplier-financial-matrix-tab{animation:fadeIn .3s ease}.financial-matrix-table{background-color:#fff;background-color:var(--color-surface);border-collapse:collapse;min-width:100%;width:100%}.financial-matrix-table thead{background:linear-gradient(180deg,#f8f9fa,#f5f6f7);border-bottom:2px solid #d5d5d5;position:-webkit-sticky;position:sticky;top:0;z-index:10}.financial-matrix-table th{border:none;color:#444;font-size:.75rem;font-weight:700;letter-spacing:.6px;min-width:100px;padding:12px 14px;text-align:center;text-transform:uppercase}.financial-matrix-table th.sticky-col{background:linear-gradient(180deg,#f8f9fa,#f5f6f7);border-right:2px solid #d5d5d5;left:0;padding:12px 16px!important;position:-webkit-sticky;position:sticky;text-align:left;z-index:11}.company-group-header{background:linear-gradient(180deg,#f0f4ff,#f8f9fc);border-bottom:2px solid #d5d5d5;border-left:4px solid #06c;color:#333;font-size:.85rem;font-weight:800;letter-spacing:.6px;padding:13px 16px!important;text-transform:uppercase}.metric-header{background-color:initial;border-bottom:1px solid #d5d5d5;border-right:none;color:#555;font-size:.7rem;font-weight:700;letter-spacing:.4px;padding:12px 8px!important;text-transform:uppercase}.financial-matrix-table td[data-company],.financial-matrix-table th[data-company]{border-left:3px solid #999!important}.metric-header.balance-header,.metric-header.global-header,.metric-header.payment-header{background-color:#fafafa;color:#666}.financial-matrix-table tbody tr{background-color:#fff;border-bottom:1px solid #f0f0f0;transition:background-color .15s}.financial-matrix-table tbody tr:nth-child(odd){background-color:#fafbfc}.financial-matrix-table tbody tr:nth-child(2n){background-color:#fff}.financial-matrix-table tbody tr:hover{background-color:#f0f8ff!important;transition:background-color .1s}.financial-matrix-table td{border-right:1px solid #f5f5f5;font-size:.9rem;padding:11px 10px;text-align:center}.financial-matrix-table td.sticky-col{background-color:#fff;border-right:2px solid #d5d5d5;font-weight:600;left:0;min-width:180px;padding:11px 16px!important;position:-webkit-sticky;position:sticky;text-align:left;z-index:9}.financial-matrix-table tbody tr:nth-child(odd) td.sticky-col{background-color:#fafbfc}.financial-matrix-table tbody tr:nth-child(2n) td.sticky-col{background-color:#fff}.financial-matrix-table tbody tr:hover td.sticky-col{background-color:#f0f8ff}.supplier-cell{padding:24px;padding:var(--spacing-md)}.supplier-info{padding:0}.supplier-info strong{color:#06c;display:block;font-size:.9rem;font-weight:700;margin-bottom:4px}.supplier-info small{word-wrap:break-word;color:#757575;color:var(--color-text-secondary);display:block;font-size:.8rem;max-width:160px}.financial-cell-container{cursor:pointer;padding:4px 6px}.financial-cell{align-items:center;border:1px solid #0000;border-radius:4px;box-shadow:0 1px 2px #0000000d;display:inline-flex;font-size:.85rem;font-weight:700;justify-content:center;min-height:32px;min-width:65px;padding:8px 12px;text-align:center;transition:all .15s}.financial-cell.clickable{cursor:pointer}.financial-cell.clickable:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.financial-cell.positive,.financial-cell.positive-situation{background:linear-gradient(180deg,#4caf5026,#4caf5014);border-color:#81c784;color:#1b5e20;font-weight:700}.financial-cell.positive-situation:hover,.financial-cell.positive:hover{background:linear-gradient(180deg,#4caf5040,#4caf5026);box-shadow:0 4px 12px #4caf5026}.financial-cell.negative,.financial-cell.negative-situation{background:linear-gradient(180deg,#f4433626,#f4433614);border-color:#ef5350;color:#b71c1c;font-weight:700}.financial-cell.negative-situation:hover,.financial-cell.negative:hover{background:linear-gradient(180deg,#f4433640,#f4433626);box-shadow:0 4px 12px #f4433626}.financial-cell.neutral,.financial-cell.neutral-situation{background:linear-gradient(180deg,#f5f5f5,#f0f0f0);border-color:#ddd;color:#666}.financial-cell.neutral-situation:hover,.financial-cell.neutral:hover{background:linear-gradient(180deg,#efefef,#e8e8e8)}.financial-cell.negative-situation:hover{background-color:#f4433633}.value{display:block}.amount-cell{font-weight:600;text-align:right}.amount-cell.positive{color:#388e3c;color:var(--color-success-dark)}.amount-cell.positive .amount-value{display:inline-block}.amount-cell.negative{color:#d32f2f;color:var(--color-error-dark)}.amount-cell.negative .amount-value{display:inline-block}.company-visibility-controls{background:#fff;border:1px solid #e5e5e5;border-radius:6px;box-shadow:0 1px 2px #0000000d;margin-bottom:24px;margin-bottom:var(--spacing-md);padding:12px 16px}.visibility-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;gap:16px;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.visibility-header h4{color:#333;font-size:.9rem;font-weight:700;letter-spacing:.2px;margin:0;text-transform:uppercase}.visibility-actions{display:flex;gap:16px;gap:var(--spacing-sm)}.btn-toggle-all,.btn-toggle-none{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:.3px;padding:6px 12px;text-transform:uppercase;transition:all .2s;white-space:nowrap}.btn-toggle-all:hover{background-color:#4caf501a;border-color:#4caf50;border-color:var(--color-success);color:#388e3c;color:var(--color-success-dark)}.btn-toggle-none:hover{background-color:#f443361a;border-color:#f44336;border-color:var(--color-error);color:#d32f2f;color:var(--color-error-dark)}.btn-toggle-all:active,.btn-toggle-none:active{transform:scale(.98)}.company-checkboxes{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.company-checkbox-label{align-items:center;background:#f9f9f9;border:1px solid #e5e5e5;border-radius:4px;cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:8px 10px;transition:all .2s;-webkit-user-select:none;user-select:none}.company-checkbox-label:hover{background:#6750a40d;border-color:#2196f3;border-color:var(--color-primary)}.company-checkbox{accent-color:#2196f3;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:20px;width:20px}.company-checkbox:focus{outline:2px solid #2196f3;outline:2px solid var(--color-primary);outline-offset:2px}.checkbox-text{color:#2196f3;color:var(--color-primary);flex:1 1;font-size:1rem;font-weight:600}.company-name{color:#757575;color:var(--color-text-secondary);font-size:.85rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-checkbox:checked+.checkbox-text{color:#1976d2;color:var(--color-primary-dark);font-weight:700}.company-checkbox-label{background:linear-gradient(90deg,#0000,#6750a405)}.company-checkbox-label:has(.company-checkbox:checked){background:linear-gradient(90deg,#6750a414,#6750a40a);border-color:#2196f3;border-color:var(--color-primary)}@media (max-width:768px){.visibility-header{align-items:flex-start;flex-direction:column;gap:16px;gap:var(--spacing-sm)}.visibility-actions{width:100%}.visibility-actions button{flex:1 1}.company-checkboxes{grid-template-columns:1fr}.company-checkbox-label{padding:16px;padding:var(--spacing-sm)}}.balance-cell{font-weight:500;text-align:right}@media (max-width:1200px){.financial-matrix-table td,.financial-matrix-table th{font-size:.8rem;padding:16px;padding:var(--spacing-sm)}.supplier-info small{max-width:130px}.financial-cell{font-size:.85rem;min-height:35px;min-width:60px}.metric-header{font-size:.7rem;padding:8px;padding:var(--spacing-xs)}}@media (max-width:768px){.matrix-container{max-height:60vh}.financial-matrix-table td.sticky-col,.financial-matrix-table th.sticky-col{min-width:140px}.supplier-info strong{font-size:.9rem}.supplier-info small{font-size:.7rem;max-width:120px}.financial-cell{font-size:.75rem;min-height:30px;min-width:50px;padding:.3rem}.matrix-controls{flex-direction:column}.matrix-controls .search-input{min-width:100%}.btn-refresh{align-self:flex-start}}.tabs{background-color:#fafafa;background-color:var(--color-background);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);display:flex;gap:0;margin-bottom:32px;margin-bottom:var(--spacing-lg)}.tabs .tab{background:#0000;border:none;color:#757575;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:24px 32px;padding:var(--spacing-md) var(--spacing-lg);position:relative;text-align:center;transition:all .2s ease-in-out;transition:all var(--transition-standard)}.tabs .tab.active,.tabs .tab:hover{background-color:#fff;background-color:var(--color-surface);color:#2196f3;color:var(--color-primary)}.tabs .tab.active:after{background-color:#2196f3;background-color:var(--color-primary);bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.expenses-tab{animation:fadeIn .3s ease}.expenses-tab .card-header{align-items:center;background-color:#fff;background-color:var(--color-surface);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:24px 32px;padding:var(--spacing-md) var(--spacing-lg)}.expenses-tab .card-header h2{color:#212121;color:var(--color-text);font-size:1.25rem;margin:0}.expense-summary{color:#2196f3;color:var(--color-primary);font-size:1.125rem}.expenses-tab .table{border-collapse:collapse;margin-top:0;width:100%}.expenses-tab .table thead th{background-color:#fff;background-color:var(--color-surface);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--color-border);color:#212121;color:var(--color-text);font-weight:600;padding:24px;padding:var(--spacing-md);text-align:left}.expenses-tab .table tbody td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);color:#757575;color:var(--color-text-secondary);padding:24px;padding:var(--spacing-md)}.expenses-tab .table tbody tr:hover,.expenses-tab .table tfoot tr.total-row{background-color:#fff;background-color:var(--color-surface)}.expenses-tab .table tfoot tr.total-row{border-top:2px solid #e0e0e0;border-top:2px solid var(--color-border);font-weight:600}.expenses-tab .table tfoot tr.total-row td{color:#212121;color:var(--color-text);padding:24px;padding:var(--spacing-md)}.expenses-tab .text-right{text-align:right}.expenses-tab .btn-link{background:none;border:none;color:#2196f3;color:var(--color-primary);cursor:pointer;font-size:1rem;padding:0;text-decoration:none;transition:color .2s ease-in-out;transition:color var(--transition-standard)}.expenses-tab .btn-link:hover{color:#1976d2;color:var(--color-primary-dark);text-decoration:underline}.expenses-tab .text-muted{color:#757575;color:var(--color-text-secondary);font-style:italic}.formula-detail-page{margin-left:280px;margin-left:var(--nav-width);padding:24px;transition:margin-left .3s ease}.formula-form{display:flex;gap:24px}.formula-form-main{flex:1 1}.formula-form-sidebar{width:300px}.formula-card{background-color:#fafbfc;border:1px solid #dfe4e8;border-radius:8px;box-shadow:0 1px 3px #0000000a;margin-bottom:24px;padding:24px;transition:box-shadow .2s ease}.formula-card:hover{box-shadow:0 2px 6px #0000000f}.formula-card h3{border-bottom:2px solid #e8eaef;color:#1f1a1f;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.formula-field-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.formula-field{display:flex;flex-direction:column;gap:8px}.formula-field label{color:#1f1a1f;font-size:14px;font-weight:500}.formula-field input,.formula-field select,.formula-field textarea{background-color:#fff;border:1px solid #dfe4e8;border-radius:4px;color:#1f1a1f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:14px;padding:10px 12px;transition:border-color .2s ease}.formula-field input:focus,.formula-field select:focus,.formula-field textarea:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a;outline:none}.formula-field input[type=number]{text-align:right}.formula-field input[type=date]{width:100%}.formula-field-full{grid-column:1/-1}.formula-field-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.formula-field-actions h3{color:#1f1a1f;font-size:16px;font-weight:600;margin:0}.formula-table{background-color:#fff;border:1px solid #dfe4e8;border-collapse:collapse;border-radius:4px;margin-top:16px;width:100%}.formula-table thead{background-color:#f5f5f5;border-bottom:2px solid #e8eaef}.formula-table th{color:#1f1a1f;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.formula-table tbody tr{border-bottom:1px solid #dfe4e8;transition:background-color .2s ease}.formula-table tbody tr:hover{background-color:#fafbfc}.formula-table tbody tr.total-row{background-color:#f5f5f5;border-top:2px solid #e8eaef;font-weight:600}.formula-table td{color:#424242;font-size:14px;padding:12px}.formula-table td.align-right{text-align:right}.formula-table td.align-center{text-align:center}.formula-table input{border:1px solid #dfe4e8;border-radius:4px;font-size:13px;padding:6px 8px;width:100%}.formula-table input:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f31a;outline:none}.MuiAutocomplete-root{width:100%}.MuiAutocomplete-popper{z-index:1000}.formula-table .MuiAutocomplete-root .MuiInput-root{padding:0}.formula-btn{border:none;border-radius:4px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.formula-btn-primary{background-color:#2196f3;background-color:var(--color-primary);color:#fff}.formula-btn-primary:hover{background-color:#1976d2;background-color:var(--color-primary-dark);box-shadow:0 2px 8px #2196f34d}.formula-btn-primary:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.formula-btn-secondary{background-color:initial;border:1px solid #2196f3;border:1px solid var(--color-primary);color:#2196f3;color:var(--color-primary)}.formula-btn-secondary:hover{background-color:#2196f30d}.formula-btn-sm{font-size:12px;padding:8px 12px}.formula-btn-danger{background-color:initial;color:#d32f2f;min-width:auto;padding:6px}.formula-btn-danger:hover{background-color:#d32f2f1a}.stock-movement-form{display:flex;flex-direction:column;overflow:visible}.stock-movement-card{background-color:#fafbfc;border:1px solid #dfe4e8;border-radius:8px;box-shadow:0 1px 3px #0000000a;margin-bottom:24px;overflow:visible;padding:24px;transition:box-shadow .2s ease}.stock-movement-card:hover{box-shadow:0 2px 6px #0000000f}.stock-movement-field-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px;overflow:visible}.stock-movement-field{display:flex;flex-direction:column;gap:8px;overflow:visible;position:relative}.stock-movement-field label{color:#1f1a1f;font-size:14px;font-weight:500}.stock-movement-field input,.stock-movement-field select{background-color:#fff;border:1px solid #dfe4e8;border-radius:4px;color:#1f1a1f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);font-size:14px;padding:10px 12px;transition:border-color .2s ease}.stock-movement-field input:focus,.stock-movement-field select:focus{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a;outline:none}.stock-movement-field-full{grid-column:1/-1}.type-selector-compact{display:flex;flex-wrap:wrap;gap:8px}.type-option-compact{align-items:center;background-color:#fff;border:2px solid #dfe4e8;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.type-option-compact input[type=radio]{cursor:pointer;height:16px;margin:0;width:16px}.type-option-compact.type-entree{border-color:#4caf50}.type-option-compact.type-entree input[type=radio]:checked{accent-color:#4caf50}.type-option-compact.type-entree:has(input:checked){background-color:#4caf50;border-color:#4caf50;color:#fff}.type-option-compact.type-sortie{border-color:#f44336}.type-option-compact.type-sortie input[type=radio]:checked{accent-color:#f44336}.type-option-compact.type-sortie:has(input:checked){background-color:#f44336;border-color:#f44336;color:#fff}.type-label-compact{font-size:14px;font-weight:500;margin:0;padding:0}.stock-movement-summary{background-color:#e8f4f8;border-left:3px solid #2196f3;border-left:3px solid var(--color-primary);border-radius:3px;color:#1f1a1f;font-size:14px;margin-top:16px;padding:12px 16px}.formula-alert{border-radius:4px;font-size:13px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.formula-alert-error{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828}.formula-alert-info{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1565c0}.formula-alert-error ul{margin:8px 0 0 20px;padding:0}.formula-alert-error li{margin-bottom:4px}.formula-recent-card{background-color:#fafbfc;border:1px solid #dfe4e8;border-radius:8px;box-shadow:0 1px 3px #0000000a;padding:16px;transition:box-shadow .2s ease}.formula-recent-card h4{color:#1f1a1f;font-size:14px;font-weight:600;margin:0 0 16px}.formula-recent-item{background-color:#fff;border:1px solid #e8eaef;border-radius:4px;margin-bottom:8px;padding:12px;transition:all .2s ease}.formula-recent-item:hover{border-color:#2196f3;border-color:var(--color-primary);box-shadow:0 2px 4px #2196f31a}.formula-recent-item.active{background-color:#e8f5e9;border-color:#4caf50}.formula-recent-date{color:#1f1a1f;font-size:13px;font-weight:600;margin-bottom:6px}.formula-recent-meta{color:#757575;font-size:12px;line-height:1.4}.formula-loading{align-items:center;color:#999;display:flex;justify-content:center;min-height:400px}.formula-loading:after{animation:spin .8s linear infinite;border:3px solid #ccc;border-radius:50%;border-top:3px solid var(--color-primary);content:"";display:inline-block;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1024px){.formula-form{gap:16px}.formula-form-sidebar{width:250px}}@media (max-width:768px){.formula-detail-page{padding:16px}.formula-form{flex-direction:column}.formula-form-sidebar{width:100%}.formula-field-grid{grid-template-columns:1fr}.formula-table{font-size:12px}.formula-table td,.formula-table th{padding:8px}.formula-field input,.formula-field select{font-size:13px}.stock-movement-field-grid{grid-template-columns:1fr}}.company-selector{flex-shrink:0;flex:1 1;min-width:0;position:relative}.company-selector-button{align-items:center;background-color:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--radius-small);cursor:pointer;display:flex;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);justify-content:space-between;min-height:40px;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-standard);width:100%}.company-selector-button:hover{background-color:#ffffff40;border-color:#ffffff80}.company-selector-button:focus{outline:2px solid #fff;outline-offset:2px}.company-selector-icon{flex-shrink:0}.company-selector-text{flex:1 1;font-size:var(--font-size-small);min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.company-selector-chevron{flex-shrink:0;font-size:10px;transition:transform var(--transition-standard)}.company-selector-button[aria-expanded=true] .company-selector-chevron{transform:rotate(180deg)}.company-selector-dropdown{background-color:var(--color-secondary-dark);border:1px solid #fff3;border-radius:var(--radius-small);box-shadow:var(--shadow-large);left:0;max-height:300px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:999}.company-selector-empty,.company-selector-error,.company-selector-loading{color:#fff;font-size:var(--font-size-small);padding:var(--spacing-md);text-align:center}.company-selector-error{color:#ff6b6b}.company-selector-list{list-style:none;margin:0;padding:0}.company-selector-option{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-body);gap:var(--spacing-sm);overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-standard);white-space:nowrap;width:100%}.company-selector-option:hover:not(:disabled){background-color:#2196f34d}.company-selector-option:focus{outline:2px solid #fff;outline-offset:-2px}.company-selector-option.active{background-color:#2196f380;font-weight:var(--font-weight-bold)}.company-selector-option:disabled{cursor:not-allowed;opacity:.6}.company-option-check{color:#4caf50;flex-shrink:0;font-weight:700;text-align:center;width:20px}.company-option-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-selector-dropdown::-webkit-scrollbar{width:6px}.company-selector-dropdown::-webkit-scrollbar-track{background:#ffffff1a}.company-selector-dropdown::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.company-selector-dropdown::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:768px){.company-selector{flex:1 1;min-width:0}.company-selector-text{font-size:12px}.company-selector-button{font-size:13px;gap:6px;min-height:36px;padding:6px 10px}.company-selector-icon{font-size:16px}.company-selector-chevron{font-size:10px}}.product-selector-container{position:relative;width:100%}.product-selector-input-wrapper{align-items:center;display:flex;position:relative}.product-selector-input{padding-right:32px;position:relative;width:100%}.product-selector-input.open{border-bottom-left-radius:0;border-bottom-right-radius:0}.product-selector-input-wrapper.has-error .product-selector-input{border-color:#dc3545}.product-selector-clear{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5em;height:24px;justify-content:center;padding:0;position:absolute;right:32px;transition:color .2s;width:24px}.product-selector-clear:hover{color:#d32f2f}.product-selector-arrow{color:#999;font-size:.8em;pointer-events:none;position:absolute;right:8px;z-index:10}.product-selector-dropdown{background:#fff;border:1px solid #ccc;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.product-selector-groups{padding:8px 0}.product-selector-group{border-bottom:1px solid #f0f0f0}.product-selector-group:last-child{border-bottom:none}.product-selector-group-header{align-items:center;background-color:#f9f9f9;color:#666;display:flex;font-size:.85em;font-weight:500;gap:8px;padding:8px 12px}.product-type-badge{background-color:#e8e8e8;border-radius:12px;display:inline-block;font-size:.9em;font-weight:500;padding:2px 8px}.product-count{color:#999;font-size:.85em;font-weight:400}.product-selector-group-items{padding:4px 0}.product-selector-item{background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;transition:background-color .15s;width:100%}.product-selector-item:hover{background-color:#f5f5f5}.product-selector-item.highlighted{background-color:#e3f2fd}.product-selector-item.selected{background-color:#c8e6c9;font-weight:500}.product-selector-item-code{color:#999;font-size:.8em;font-weight:600}.product-selector-item-description{word-wrap:break-word;color:#333;font-size:.95em;font-weight:500;overflow-wrap:break-word;white-space:normal;word-break:break-word}.product-selector-item-meta{color:#999;font-size:.75em}.product-selector-no-results{color:#999;font-size:.9em;padding:16px 12px;text-align:center}@media (max-width:768px){.product-selector-dropdown{max-height:300px}.product-selector-group-header{font-size:.8em;padding:6px 10px}.product-selector-item{font-size:.9em;padding:8px 10px}}.form-selector-container{position:relative;width:100%}.form-selector-input-wrapper{align-items:center;display:flex;position:relative}.form-selector-input{padding-right:32px;position:relative;width:100%;z-index:10}.form-selector-input.open{border-bottom-left-radius:0;border-bottom-right-radius:0}.form-selector-input-wrapper.has-error .form-selector-input{border-color:#dc3545}.form-selector-clear{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5em;height:24px;justify-content:center;padding:0;position:absolute;right:32px;transition:color .2s;width:24px;z-index:11}.form-selector-clear:hover{color:#d32f2f}.form-selector-arrow{color:#999;font-size:.8em;pointer-events:none;position:absolute;right:8px;z-index:10}.form-selector-dropdown{background:#fff;border:1px solid #ccc;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.form-selector-items{padding:8px 0}.form-selector-no-results{color:#999;font-size:.9em;padding:16px 12px;text-align:center}.form-selector-item{background:#fff;border:none;border-bottom:1px solid #f5f5f5;box-sizing:border-box;cursor:pointer;display:block;font-size:.95em;padding:12px;text-align:left;transition:background-color .15s;width:100%}.form-selector-item:last-child{border-bottom:none}.form-selector-item:hover{background-color:#f9f9f9}.form-selector-item.highlighted{background-color:#e8f4f8}.form-selector-item.selected{background-color:#e3f2fd;border-left:3px solid #1976d2;padding-left:9px}.form-selector-item-name{word-wrap:break-word;color:#333;font-weight:500;margin-bottom:4px;overflow-wrap:break-word;white-space:normal;word-break:break-word}.form-selector-item-meta{color:#666;display:flex;font-size:.85em;gap:12px;margin-bottom:4px}.form-selector-item-code{color:#666;font-family:Courier New,courier,monospace}.form-selector-item-company,.form-selector-item-farm{color:#999;font-size:.9em}.form-selector-item-description{word-wrap:break-word;color:#666;font-size:.85em;line-height:1.3;margin-top:4px;overflow-wrap:break-word;white-space:normal;word-break:break-word}.invalid-feedback{color:#dc3545;display:block;font-size:.875em;margin-top:.25rem}.supplier-selector-container{position:relative;width:100%}.supplier-selector-input-wrapper{align-items:center;display:flex;position:relative}.supplier-selector-input{padding-right:32px;position:relative;width:100%;z-index:10}.supplier-selector-input.open{border-bottom-left-radius:0;border-bottom-right-radius:0}.supplier-selector-input-wrapper.has-error .supplier-selector-input{border-color:#dc3545}.supplier-selector-clear{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5em;height:24px;justify-content:center;padding:0;position:absolute;right:32px;transition:color .2s;width:24px;z-index:11}.supplier-selector-clear:hover{color:#d32f2f}.supplier-selector-arrow{color:#999;font-size:.8em;pointer-events:none;position:absolute;right:8px;z-index:10}.supplier-selector-dropdown{background:#fff;border:1px solid #ccc;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.supplier-selector-groups{padding:8px 0}.supplier-selector-group{border-bottom:1px solid #f0f0f0}.supplier-selector-group:last-child{border-bottom:none}.supplier-selector-group-header{align-items:center;background-color:#f9f9f9;color:#666;display:flex;font-size:.85em;font-weight:500;gap:8px;padding:8px 12px}.supplier-type-badge{background-color:#e8e8e8;border-radius:12px;display:inline-block;font-size:.9em;font-weight:500;padding:2px 8px}.supplier-count{color:#999;font-size:.85em;font-weight:400}.supplier-selector-group-items{padding:4px 0}.supplier-selector-item{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;transition:background-color .15s;width:100%}.supplier-selector-item:hover{background-color:#f5f5f5}.supplier-selector-item.highlighted{background-color:#e3f2fd}.supplier-selector-item.selected{background-color:#c8e6c9;font-weight:500}.supplier-selector-item-name{color:#333;flex:1 1;font-size:.95em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-selector-item-code{color:#999;font-size:.8em;font-weight:600}.supplier-selector-no-results{color:#999;font-size:.9em;padding:16px 12px;text-align:center}@media (max-width:768px){.supplier-selector-dropdown{max-height:300px}.supplier-selector-group-header{font-size:.8em;padding:6px 10px}.supplier-selector-item{font-size:.9em;padding:8px 10px}}
/*# sourceMappingURL=main.629823c8.css.map*/