@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.filter-pane{background-color:var(--background-color, #ffffff);border:1px solid var(--border-color, #e1e5e9);border-radius:var(--radius-lg, .75rem);margin-bottom:var(--spacing-lg, 1.5rem);overflow:visible}.filter-pane--sticky{position:sticky;top:0;z-index:99;box-shadow:0 2px 4px #0000000d}.filter-pane-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);border-bottom:1px solid var(--border-light, #f1f3f4)}.filter-pane-title{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #1a1d21)}.filter-pane-chips{display:flex;flex-wrap:wrap;gap:8px;padding:var(--spacing-sm, .5rem) var(--spacing-lg, 1.5rem);background-color:var(--background-light, #fafbfc);border-bottom:1px solid var(--border-light, #f1f3f4)}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 12px;background-color:var(--primary-light, #e8f0fe);border:1px solid var(--primary-color, #1a73e8);border-radius:var(--radius-xl, 1rem);font-size:var(--font-size-sm, .875rem);color:var(--primary-dark, #1557b0);cursor:pointer;transition:all .15s ease}.filter-chip:hover{background-color:var(--primary-color, #1a73e8);color:#fff}.filter-chip-label{font-weight:var(--font-weight-medium, 500)}.filter-chip-value{font-weight:var(--font-weight-normal, 400)}.filter-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;border-radius:50%;font-size:14px;font-weight:700;line-height:1}.filter-chip:hover .filter-chip-remove{background-color:#fff3}.filter-chip--clear-all{background-color:var(--background-color, #ffffff);border-color:var(--border-color, #e1e5e9);color:var(--text-secondary, #5f6368);padding:4px 12px}.filter-chip--clear-all:hover{background-color:var(--danger-color, #ea4335);border-color:var(--danger-color, #ea4335);color:#fff}.filter-pane-body{padding:var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);padding-bottom:var(--spacing-xl, 2rem);overflow:visible}.filter-pane-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;overflow:visible}.filter-pane-item{flex-shrink:0}.filter-pane--horizontal .filter-pane-controls{flex-direction:row}.filter-pane--vertical .filter-pane-controls{flex-direction:column;align-items:stretch}.filter-pane--vertical .filter-pane-item{width:100%;min-width:unset!important}.filter-pane--sidebar{position:fixed;top:calc(var(--navbar-height) + var(--toolbar-height, 82px) + var(--spacing-sm, .5rem));left:var(--spacing-lg, 1.5rem);width:320px;max-height:calc(100vh - var(--navbar-height) - 2rem);overflow-y:auto;z-index:80000}.filter-pane--sidebar .filter-pane-controls{flex-direction:column;align-items:stretch}.filter-pane--sidebar .filter-pane-item{width:100%;min-width:unset!important}@media (max-width: 768px){.filter-pane-header{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem)}.filter-pane-chips{padding:var(--spacing-xs, .25rem) var(--spacing-md, 1rem)}.filter-pane-body{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem)}.filter-pane-controls{flex-direction:column;align-items:stretch}.filter-pane-item{width:100%;min-width:unset!important}}@media (max-width: 992px){.filter-pane--sidebar{position:static;width:100%;max-height:none;left:auto;top:auto;z-index:auto;overflow:visible}}.filter-pane--collapsible{transition:all .25s ease}.filter-pane--collapsible .filter-pane-header{-webkit-user-select:none;user-select:none}.filter-pane-header-right{display:flex;align-items:center;gap:.5rem}.filter-pane-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .35rem;background-color:var(--primary-color, #1a73e8);color:#fff;font-size:.75rem;font-weight:600;border-radius:9999px}.filter-pane-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:.75rem;color:var(--text-muted, #9aa0a6);transition:transform .25s ease}.filter-pane-toggle--up.filter-pane-toggle--open{transform:rotate(180deg)}.filter-pane-toggle--left.filter-pane-toggle--open{transform:none}.filter-pane--collapse-up.filter-pane--collapsed .filter-pane-body,.filter-pane--collapse-up.filter-pane--collapsed .filter-pane-chips{display:none}.filter-pane--collapse-left.filter-pane--collapsed{width:auto;min-width:unset}.filter-pane--collapse-left.filter-pane--collapsed .filter-pane-header,.filter-pane--collapse-left.filter-pane--collapsed .filter-pane-body,.filter-pane--collapse-left.filter-pane--collapsed .filter-pane-chips{display:none}.filter-pane-expand-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;background:var(--background-color, #ffffff);border:none;cursor:pointer;color:var(--text-secondary, #5f6368);transition:background-color .15s ease,color .15s ease,transform .15s ease}.filter-pane-expand-btn:hover{background-color:var(--background-light, #f8f9fa);color:var(--primary-color, #1a73e8)}.filter-pane-expand-label{display:inline-block;font-size:.95rem;font-weight:600;line-height:1}.filter-pane--sidebar.filter-pane--collapsed{width:100%}.filter-pane--sidebar.filter-pane--collapsed .filter-pane-expand-btn--sidebar{position:fixed;left:0;top:calc(var(--navbar-height) + var(--toolbar-height, 82px) + .75rem);width:40px;height:120px;padding:.25rem 0;display:flex;align-items:center;justify-content:center;border-radius:0 8px 8px 0;background:var(--background-color, #ffffff);box-shadow:0 2px 6px #0000000f;z-index:81000;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:.95rem;font-weight:600}.filter-pane-expand-btn--sidebar .filter-pane-badge--tab{position:absolute;right:-8px;top:8px;z-index:81010;min-width:1.25rem;height:1.25rem;padding:0 .35rem}.managed-list-layout--with-sidebar .filter-pane--sidebar,.managed-list-layout.managed-list-layout--with-sidebar .filter-pane--sidebar{position:static!important;top:auto!important;left:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;z-index:auto!important}.managed-list-layout--with-sidebar .filter-pane--sidebar.filter-pane--collapsed .filter-pane-expand-btn--sidebar,.managed-list-layout.managed-list-layout--with-sidebar .filter-pane--sidebar.filter-pane--collapsed .filter-pane-expand-btn--sidebar{position:absolute!important;left:0!important;top:8px!important;width:40px!important;height:120px!important;writing-mode:vertical-rl!important;transform:rotate(180deg)!important;box-shadow:none!important;z-index:81000!important}.print-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background:#fff}.print-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.print-empty{text-align:center;padding:60px 20px}.print-empty p{margin:10px 0}.print-empty .text-muted{color:#888;font-size:.9rem}.print-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-radius:8px;margin-bottom:20px;gap:16px}.print-toolbar-left,.print-toolbar-right{display:flex;align-items:center;gap:12px}.print-toolbar button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.print-toolbar .btn-print{background:#2563eb;color:#fff;font-weight:600}.print-toolbar .btn-print:hover{background:#1d4ed8}.print-toolbar .btn-secondary{background:#e5e7eb;color:#374151}.print-toolbar .btn-secondary:hover{background:#d1d5db}.print-toolbar .btn-close{background:transparent;color:#6b7280}.print-toolbar .btn-close:hover{background:#e5e7eb}.print-toolbar .print-count{color:#6b7280;font-size:.9rem}.print-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.print-header h1{margin:0 0 8px;font-size:1.75rem;font-weight:600;color:#111827}.print-meta{display:flex;gap:24px;color:#6b7280;font-size:.875rem}.print-table{width:100%;border-collapse:collapse;font-size:.85rem}.print-table th{text-align:left;padding:10px 8px;background:#f9fafb;border-bottom:2px solid #e5e7eb;font-weight:600;color:#374151;white-space:nowrap}.print-table td{padding:8px;border-bottom:1px solid #e5e7eb;vertical-align:top}.print-table tbody tr:hover{background:#f9fafb}.col-image{width:40px}.col-id{width:35px;white-space:nowrap}.col-name,.col-producer,.col-country,.col-region,.col-type,.col-style{white-space:nowrap}.col-vintage{white-space:nowrap;text-align:left}.col-container,.col-cellar,.col-position,.col-date{white-space:nowrap}.col-price{white-space:nowrap;text-align:left}.col-consumed{width:70px}.col-desc{white-space:pre-wrap;min-width:150px;font-size:.9em}.print-table .partno{font-size:.75rem;color:#6b7280;margin-top:2px}.print-table .subinfo{font-size:.75rem;color:#6b7280}.print-thumb{width:40px;height:40px;object-fit:contain;border-radius:4px;background:#f3f4f6}.no-image{display:inline-block;width:40px;text-align:center;color:#9ca3af}.print-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:center;color:#9ca3af;font-size:.8rem}.print-table-compact th,.print-table-compact td{padding:6px 8px}.print-table-compact .col-vintage,.print-table-compact .col-container,.print-table-compact .col-date,.print-table-compact .col-status{white-space:nowrap}.print-table-compact .row-consumed{opacity:.6;text-decoration:line-through}.print-table-footer td{border-top:2px solid #374151;padding-top:8px}.print-group-header{background:#e5e7eb}.print-group-header .group-title{font-weight:700;font-size:1rem;padding:12px 8px 8px;color:#1f2937;border-bottom:2px solid #9ca3af}.print-subgroup-header{background:#f9fafb}.print-subgroup-header .subgroup-title{font-weight:600;font-size:.9rem;padding:8px 8px 6px 20px;color:#4b5563;font-style:italic;border-bottom:1px solid #e5e7eb}@media print{.no-print{display:none!important}.print-container{padding:0;max-width:none}@page{size:A4 portrait;margin:10mm}.print-table thead{display:table-header-group}.print-table tbody{display:table-row-group}.print-table tr{page-break-inside:avoid}.print-table{font-size:7pt}.print-table th,.print-table td{padding:2px 3px}.print-thumb{width:30px;height:30px}.print-table tbody tr:hover{background:none}.print-footer{position:fixed;bottom:0;left:0;right:0;text-align:center;font-size:8pt}}:root{--icon-comment: "💬";--icon-no-comment: "—";--icon-edit: "✎";--icon-delete: "✖";--icon-add: "+";--icon-size: 1.05em;--icon-color: #333;--sort-asc: "🔼";--sort-desc: "🔽";--icon-first: "⏮";--icon-prev: "◀";--icon-next: "▶";--icon-last: "⏭"}.btn-table{background:transparent;border:none;padding:4px;cursor:pointer;line-height:1}.btn-table .icon{display:inline-block;width:20px;height:20px;text-align:center;line-height:20px;font-size:var(--icon-size);color:var(--icon-color);pointer-events:none}.pagination-icon{display:inline-block;width:18px;height:18px;text-align:center;line-height:18px;font-size:var(--icon-size);color:var(--icon-color);margin-right:8px;pointer-events:none}.pagination-icon.first:before{content:var(--icon-first)}.pagination-icon.prev:before{content:var(--icon-prev)}.pagination-icon.next:before{content:var(--icon-next)}.pagination-icon.last:before{content:var(--icon-last)}.pagination-label-hidden-on-mobile{display:inline-block}@media (max-width: 480px){.pagination-label-hidden-on-mobile{display:none}.pagination-icon{margin-right:4px}}.sort-icon{display:inline-block;font-size:.9em;line-height:1;margin-left:6px}.sort-icon.sort-asc:before{content:var(--sort-asc)}.sort-icon.sort-desc:before{content:var(--sort-desc)}.btn-table-comment .icon:before{content:var(--icon-no-comment)}.btn-table-comment.has-comment .icon:before{content:var(--icon-comment)}.btn-table-edit .icon:before{content:var(--icon-edit)}.btn-table-delete .icon:before{content:var(--icon-delete)}.btn-table-add .icon:before{content:var(--icon-add)}.confirmation-modal{background:#fff;border-radius:8px;box-shadow:0 8px 30px #0000001f;overflow:visible;max-height:90vh;display:flex;flex-direction:column}.confirmation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #eef0f2;background:linear-gradient(0deg,#00000005,#0000)}.confirmation-modal-title{font-weight:600;font-size:1.05rem}.confirmation-modal-subtitle{font-size:.85rem;color:#6c757d}.confirmation-modal-item-preview{margin-top:.25rem;font-size:.95rem;color:#222;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62ch}.confirmation-modal-message{padding:1rem;overflow:auto}.confirmation-modal-actions{border-top:1px solid #eef0f2;padding:.5rem 1rem;background:#fafbfc}.edit-form-btn-secondary{background:transparent;border:1px solid transparent;padding:6px 10px;border-radius:6px;cursor:pointer}.edit-form-btn-secondary:hover{background:#00000008}.btn-outline{border:1px solid #d0d7dc;background:transparent;padding:6px 10px;border-radius:6px;cursor:pointer}.btn-outline:hover{background:#00000008}.react-select__menu,.react-select__menu-list,.react-select__menu-portal{z-index:11000!important}.btn-table:focus{outline:2px solid #7aa7ff;outline-offset:2px}.appellations-table th,.appellations-table td{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;color:#222}.appellations-table td .text-muted{color:#6c757d}.list-table th,.list-table td{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;color:#222}.list-table td .text-muted{color:#6c757d}.list-table th .btn.btn-outline.btn-sm{border:none;background:transparent;padding:.125rem .35rem;box-shadow:none;min-width:0;line-height:1;display:inline-flex;align-items:center;gap:6px}.list-table th .btn.btn-outline.btn-sm:focus{outline:2px solid #7aa7ff;outline-offset:2px;border-radius:4px}@media (max-width: 480px){.list-table th .btn.btn-outline.btn-sm{padding:.1rem .25rem}}.pagination-footer,.pagination-footer .form-label,.pagination-footer .form-input,.pagination-footer .btn{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;color:#222}.pagination-footer .text-muted{color:#6c757d}.wine-table-container{width:100%;overflow-x:auto;border-radius:var(--radius-lg, 12px);border:1px solid var(--border-light, #e5e7eb);background:var(--background-color, #ffffff);box-shadow:0 1px 3px #0000000a}.wine-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem;background-color:transparent;table-layout:auto}.wine-table thead{background:linear-gradient(to bottom,#fafbfc,#f3f4f6)}.wine-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;letter-spacing:.02em;color:var(--text-muted, #6b7280);white-space:nowrap;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-color, #e5e7eb);background:inherit}.wine-table-sortable{cursor:pointer;transition:color .15s ease}.wine-table-sortable:hover,.wine-table-sorted{color:var(--primary-color, #722f37)}.wine-table-header-content{display:inline-flex;align-items:center;gap:.375rem}.wine-table-sort-indicator{font-size:.625rem;opacity:.4;transition:opacity .15s ease}.wine-table-sortable:hover .wine-table-sort-indicator,.wine-table-sorted .wine-table-sort-indicator{opacity:1}.wine-table th:first-child{border-top-left-radius:var(--radius-lg, 12px)}.wine-table th:last-child{border-top-right-radius:var(--radius-lg, 12px)}.wine-table tbody tr{border-bottom:1px solid var(--border-light, #f3f4f6);transition:all .15s ease;cursor:pointer}.wine-table tbody tr:hover{background-color:var(--surface-hover, #f9fafb);box-shadow:inset 0 0 0 1px var(--border-light, #e5e7eb)}.wine-table tbody tr:last-child{border-bottom:none}.wine-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg, 12px)}.wine-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg, 12px)}.wine-table td{padding:.625rem 1rem;color:var(--text-primary, #1f2937);vertical-align:middle;transition:color .1s ease}.wine-table-row--selected{background-color:var(--primary-light, #fef2f2)!important;box-shadow:inset 3px 0 0 var(--primary-color, #722f37)}.wine-table-row--selected:hover{background-color:var(--primary-light, #fee2e2)!important}.wine-table-checkbox{width:40px;text-align:center;padding:.625rem .75rem!important}.wine-table-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color, #722f37);border-radius:3px}.wine-table-name{min-width:160px;max-width:260px}.wine-table-name-text{font-weight:500;color:var(--text-primary, #1f2937);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wine-table tbody tr:hover .wine-table-name-text{color:var(--primary-color, #722f37)}.wine-table-producer{min-width:100px;max-width:160px;color:var(--text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wine-table-country,.wine-table-region{min-width:80px;color:var(--text-secondary, #6b7280)}.wine-table-type{min-width:65px;color:var(--text-secondary, #6b7280)}.wine-table-vintage{width:60px;text-align:center;font-variant-numeric:tabular-nums;color:var(--text-secondary, #6b7280)}.wine-table-price{width:70px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary, #1f2937)}.wine-table-quality{width:80px;font-size:.75rem;color:var(--text-secondary, #6b7280)}.wine-table-add{width:32px;text-align:center;padding:.5rem .25rem!important}.wine-table-add-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid transparent;background:transparent;color:var(--text-muted, #d1d5db);font-size:1.125rem;font-weight:300;line-height:1;cursor:pointer;border-radius:var(--radius-full, 50%);transition:all .15s ease}.wine-table-add-btn:hover{background:var(--primary-color, #722f37);color:#fff;border-color:var(--primary-color, #722f37);transform:scale(1.1)}.wine-table tbody tr:hover .wine-table-add-btn{color:var(--text-secondary, #9ca3af);border-color:var(--border-light, #e5e7eb);background:var(--surface-secondary, #f9fafb)}.wine-table-image{width:40px;text-align:center;padding:.375rem .5rem!important}.wine-table-thumbnail{width:28px;height:36px;object-fit:contain;border-radius:3px;vertical-align:middle;box-shadow:0 1px 2px #00000014;transition:transform .15s ease}.wine-table tbody tr:hover .wine-table-thumbnail{transform:scale(1.1)}.wine-table-no-image{font-size:1.125rem;opacity:.25}.wine-table-actions{width:90px;text-align:center}.wine-table-action-buttons{display:flex;gap:4px;justify-content:center;opacity:.5;transition:opacity .15s ease}.wine-table tbody tr:hover .wine-table-action-buttons{opacity:1}.wine-table-action-buttons .btn{padding:4px 8px;min-height:unset;font-size:.875rem}@media (max-width: 1200px){.wine-table-producer,.wine-table-region{display:none}}@media (max-width: 900px){.wine-table-country{display:none}}@media (max-width: 768px){.wine-table-container{border-radius:var(--radius-md, 8px)}.wine-table-quality,.wine-table-type{display:none}.wine-table th,.wine-table td{padding:.5rem .75rem}.wine-table th:first-child,.wine-table th:last-child{border-radius:var(--radius-md, 8px)}.wine-table-name{min-width:120px}}:root{--primary-color: #1a73e8;--primary-dark: #1557b0;--primary-light: #e8f0fe;--secondary-color: #5f6368;--secondary-dark: #3c4043;--secondary-light: #f8f9fa;--success-color: #34a853;--warning-color: #fbbc04;--danger-color: #ea4335;--background-color: #ffffff;--background-light: #fafbfc;--background-dark: #f1f3f4;--text-primary: #1a1d21;--text-secondary: #5f6368;--text-muted: #9aa0a6;--border-color: #e1e5e9;--border-light: #f1f3f4;--table-stripe-color: #fafbfc;--table-hover-color: #f1f3f4;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .15);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--navbar-height: 56px;--navbar-bg: var(--background-color);--navbar-border: var(--border-color);--navbar-shadow: var(--shadow-xs);--navbar-brand-color: var(--text-primary);--navbar-brand-font-size: var(--font-size-lg);--navbar-brand-font-weight: var(--font-weight-semibold);--navbar-link-color: var(--text-secondary);--navbar-link-padding: .5rem .75rem;--navbar-link-border-radius: var(--radius-md);--navbar-link-hover-color: var(--text-primary);--navbar-link-active-color: var(--primary-dark);--navbar-dropdown-bg: var(--background-color);--navbar-dropdown-border: var(--border-color);--navbar-dropdown-shadow: var(--shadow-md);--navbar-dropdown-min-width: 220px;--navbar-dropdown-item-hover: var(--background-light);--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--form-input-bg: var(--background-color);--form-input-border: var(--border-color);--form-input-border-focus: var(--primary-color);--form-input-text: var(--text-primary);--form-input-placeholder: var(--text-muted);--form-input-padding: .75rem 1rem;--form-input-padding-sm: .5rem .75rem;--form-input-border-radius: var(--radius-md);--form-input-border-radius-sm: var(--radius-sm);--form-input-font-size: var(--font-size-base);--form-input-font-size-sm: .875rem;--form-input-shadow-focus: 0 0 0 3px rgba(26, 115, 232, .1);--form-input-transition: all .15s ease;--btn-font-size: .875rem;--btn-font-size-sm: .75rem;--btn-font-size-lg: 1rem;--btn-font-weight: 500;--btn-padding: .5rem 1rem;--btn-padding-sm: .375rem .75rem;--btn-padding-lg: .75rem 1.5rem;--btn-border-radius: var(--radius-md);--btn-border-radius-sm: var(--radius-sm);--btn-border-radius-lg: var(--radius-lg);--btn-min-height: 2.5rem;--btn-min-height-sm: 2rem;--btn-min-height-lg: 3rem;--btn-primary-bg: var(--primary-color);--btn-primary-hover: var(--primary-dark);--btn-primary-text: #ffffff;--btn-primary-shadow: var(--shadow-sm);--btn-primary-hover-shadow: var(--shadow-md);--btn-secondary-bg: var(--background-color);--btn-secondary-border: var(--border-color);--btn-secondary-hover-bg: var(--background-light);--btn-secondary-text: var(--text-primary);--btn-secondary-hover-border: var(--primary-color);--btn-outline-bg: transparent;--btn-outline-border: var(--border-color);--btn-outline-text: var(--text-secondary);--btn-outline-hover-bg: var(--background-light);--btn-outline-hover-text: var(--text-primary);--transition-fast: .1s ease;--transition-normal: .15s ease;--transition-slow: .2s ease;--transition-bounce: .2s cubic-bezier(.68, -.55, .265, 1.55);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem}:root{--btn-primary-bg: #4f46e5;--btn-primary-hover: #4338ca;--btn-primary-text: #ffffff;--btn-secondary-bg: #f8fafc;--btn-secondary-border: #e2e8f0;--btn-secondary-hover-bg: #f1f5f9;--btn-secondary-text: #475569;--btn-secondary-hover-border: #cbd5e1;--btn-success-bg: #059669;--btn-success-hover: #047857;--btn-success-text: #ffffff;--btn-warning-bg: #d97706;--btn-warning-hover: #b45309;--btn-warning-text: #ffffff;--btn-danger-bg: #dc2626;--btn-danger-hover: #b91c1c;--btn-danger-text: #ffffff;--btn-outline-border: #e2e8f0;--btn-outline-text: #64748b;--btn-outline-hover-bg: #f8fafc;--btn-outline-hover-border: #cbd5e1;--btn-outline-hover-text: #475569;--btn-ghost-bg: transparent;--btn-ghost-text: #64748b;--btn-ghost-hover-bg: #f1f5f9;--btn-ghost-hover-text: #475569}@media (max-width: 599px){:root{--btn-min-height: 2.75rem;--btn-min-height-sm: 2.75rem}.MuiIconButton-sizeSmall{min-width:44px;min-height:44px}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5}body{font-family:var(--font-family)!important;color:var(--text-primary);background-color:var(--background-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.main-container{min-height:100vh;display:flex;flex-direction:column}.content-wrapper{flex:1;padding:var(--spacing-lg);max-width:var(--container-max-width);margin:0 auto;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:var(--font-weight-semibold);line-height:1.25;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5,h6{font-size:var(--font-size-base)}p,span,div{font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.btn{font-weight:var(--font-weight-medium);border:1px solid transparent;transition:all .15s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:0 1px 2px #4f46e51a}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #4f46e526}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border);color:var(--btn-secondary-text)}.btn-success{background-color:var(--btn-success-bg);color:var(--btn-success-text);box-shadow:0 1px 2px #0596691a}.btn-success:hover:not(:disabled){background-color:var(--btn-success-hover);transform:translateY(-1px);box-shadow:0 2px 4px #05966926}.btn-warning{background-color:var(--btn-warning-bg);color:var(--btn-warning-text);box-shadow:0 1px 2px #d977061a}.btn-warning:hover:not(:disabled){background-color:var(--btn-warning-hover);transform:translateY(-1px);box-shadow:0 2px 4px #d9770626}.btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);box-shadow:0 1px 2px #dc26261a}.btn-danger:hover:not(:disabled){background-color:var(--btn-danger-hover);transform:translateY(-1px);box-shadow:0 2px 4px #dc262626}.btn-outline{background-color:transparent;color:var(--btn-outline-text);border-color:var(--btn-outline-border)}.btn-outline:hover:not(:disabled){background-color:var(--btn-outline-hover-bg);border-color:var(--btn-outline-hover-border);color:var(--btn-outline-hover-text)}.btn-ghost{background-color:var(--btn-ghost-bg);color:var(--btn-ghost-text);border:none;padding:var(--btn-padding)}.btn-ghost:hover:not(:disabled){background-color:var(--btn-ghost-hover-bg);color:var(--btn-ghost-hover-text)}.btn-table{padding:.25rem .5rem;font-size:var(--font-size-xs);min-height:1.75rem}.btn-table-edit{background-color:#f0f9ff;color:#0369a1;border:1px solid #e0f2fe}.btn-table-edit:hover:not(:disabled){background-color:#e0f2fe;color:#0c4a6e}.btn-table-delete{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn-table-delete:hover:not(:disabled){background-color:#fecaca;color:#b91c1c}.card{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);background-color:var(--background-light)}.card-body{padding:var(--spacing-lg)}.card-body:has(>table.list-table),.card-body:has(>div>table.list-table){overflow-x:auto}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--background-light)}.pagination-footer{flex-wrap:wrap;row-gap:var(--spacing-sm)}.pagination-footer>div{flex-wrap:wrap;row-gap:var(--spacing-xs)}@media (max-width: 480px){.pagination-footer{justify-content:center}.pagination-footer>div{justify-content:center}}.table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg)}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.table th{background-color:var(--background-light);font-weight:600;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.025em}.table tbody tr:hover{background-color:var(--table-hover-color)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.react-select-container{position:relative}.react-select-container--small .react-select__control{min-height:32px}.react-select__control{min-height:38px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background-color);box-shadow:none;transition:all .2s ease}.react-select__control:hover{border-color:var(--primary-color)}.react-select__control--is-focused{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.react-select__control--is-focused:hover{border-color:var(--primary-color)}.react-select__value-container{padding:2px 8px}.react-select__placeholder{color:var(--text-muted);font-size:.9rem}.react-select__single-value,.react-select__input-container{color:var(--text-primary)}.react-select__dropdown-indicator{color:var(--text-muted);padding:8px}.react-select__dropdown-indicator:hover{color:var(--text-primary)}.react-select__clear-indicator{color:var(--text-muted);padding:8px}.react-select__clear-indicator:hover{color:var(--danger-color)}.react-select__indicator-separator{background-color:var(--border-color)}.react-select__menu{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);z-index:9999;margin-top:4px}.react-select__menu-list{max-height:250px;overflow-y:auto;padding:4px}.react-select__menu-list::-webkit-scrollbar{width:6px}.react-select__menu-list::-webkit-scrollbar-track{background:var(--background-light);border-radius:3px}.react-select__menu-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}body.has-testcomment-editor .card-header .btn[title*=Comment],body.has-testcomment-editor .card-header .btn[aria-label*=comment],body.has-testcomment-editor .btn.btn-outline.btn-sm[title*=Comment]{pointer-events:none!important;opacity:.55!important}body.has-testcomment-editor .btn-table,body.has-testcomment-editor .btn-table-edit{pointer-events:none!important;opacity:.6!important}.react-select__menu-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.react-select__option{padding:8px 12px;cursor:pointer;border-radius:4px;margin:2px 0;color:var(--text-primary);background-color:transparent;transition:all .15s ease}.react-select__option:hover,.react-select__option--is-focused{background-color:var(--background-light);color:var(--text-primary)}.react-select__option--is-selected{background-color:var(--primary-color);color:#fff}.react-select__option--is-selected:hover,.react-select__option--is-selected.react-select__option--is-focused{background-color:var(--primary-color);color:#fff;opacity:.9}.react-select__multi-value{background-color:var(--background-light);border-radius:var(--radius-sm)}.react-select__multi-value__label{color:var(--text-primary);padding:3px 6px}.react-select__multi-value__remove{color:var(--text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.react-select__multi-value__remove:hover{background-color:var(--danger-color);color:#fff}.react-select__loading-indicator{color:var(--primary-color)}.react-select__menu-notice{color:var(--text-muted);padding:8px 12px}.react-select__control--is-focused{outline:none}@media (max-width: 768px){.react-select__menu{font-size:16px}.react-select__menu-list{max-height:200px}}.navbar-custom{height:var(--navbar-height);background-color:var(--background-color);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 2px 10px #00000014;padding:0;position:fixed;top:0;left:0;right:0;z-index:100000}.navbar,.navbar-custom{display:flex!important;align-items:center!important;visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto!important;min-height:var(--navbar-height)!important;background-color:var(--background-color)!important;color:var(--text-primary)!important}.navbar-custom .navbar-brand{color:var(--text-primary);font-size:var(--navbar-brand-font-size);font-weight:var(--navbar-brand-font-weight);text-decoration:none;padding:0 var(--spacing-md)}.navbar-custom .navbar-brand:hover{color:var(--primary-dark)}.navbar-custom .navbar-nav .nav-link{color:var(--text-primary);padding:var(--navbar-link-padding);border-radius:var(--navbar-link-border-radius);transition:var(--btn-transition);font-weight:500}.navbar-custom .navbar-nav .nav-link:hover{color:var(--text-primary);background-color:var(--background-light)}.navbar-custom .navbar-nav .nav-link.active{color:var(--navbar-link-active-color);background-color:var(--primary-light)}.navbar-custom .dropdown-menu{background-color:#fff;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;min-width:var(--navbar-dropdown-min-width);padding:var(--spacing-sm);margin-top:calc(var(--spacing-xs) + 6px);z-index:110000}.navbar-custom .dropdown-item{color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);transition:var(--btn-transition);font-size:var(--font-size-sm)}.navbar-custom .dropdown-item:hover{background-color:var(--navbar-dropdown-item-hover);color:var(--text-primary)}.navbar-custom .dropdown-divider{border-color:var(--border-color);margin:var(--spacing-xs) 0}.navbar-custom .dropdown-toggle:after{color:var(--text-muted)}.navbar-custom .dropdown-header{padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.navbar-custom .dropdown-header:first-child{margin-top:0}.navbar-custom .dropdown-header .text-muted{color:var(--text-muted)!important;font-size:var(--font-size-xs)}.navbar-custom .navbar-toggler{border:1px solid var(--border-color);padding:var(--spacing-xs)}.navbar-custom .navbar-toggler:focus{box-shadow:var(--form-input-shadow)}.navbar-custom .navbar-collapse{border-top:1px solid var(--border-color);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}@media (min-width: 992px){.navbar-custom .navbar-collapse{border-top:none;margin-top:0;padding-top:0}}.user-dropdown{position:relative}.user-dropdown-trigger{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--user-dropdown-btn-padding);border:none;background:transparent;cursor:pointer;border-radius:var(--user-dropdown-btn-border-radius);transition:var(--btn-transition);color:var(--text-primary)}.user-dropdown-trigger:hover{background-color:var(--user-dropdown-btn-hover-bg)}.user-status{display:inline-block;width:var(--user-status-size);height:var(--user-status-size);border-radius:50%}.user-status--online{background-color:var(--user-status-online)}.user-status--offline{background-color:var(--user-status-offline)}.user-avatar{width:var(--user-avatar-size);height:var(--user-avatar-size);border-radius:50%;background-color:var(--user-avatar-bg);color:var(--user-avatar-text);display:flex;align-items:center;justify-content:center;font-size:var(--user-avatar-font-size);font-weight:600}.user-name{font-weight:500;color:var(--text-primary)}.user-dropdown-arrow{font-size:var(--font-size-xs);transition:transform .2s ease;color:var(--text-muted)}.user-dropdown-arrow--open{transform:rotate(180deg)}.user-not-logged-in{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-muted);font-size:var(--font-size-sm)}.user-dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--user-dropdown-bg);border:1px solid var(--user-dropdown-border);border-radius:var(--user-dropdown-border-radius);box-shadow:var(--user-dropdown-shadow);min-width:var(--user-dropdown-min-width);z-index:1000;margin-top:var(--spacing-xs);overflow:hidden}.user-dropdown-header{padding:var(--spacing-md);border-bottom:1px solid var(--user-dropdown-divider);background-color:var(--user-dropdown-header-bg)}.user-dropdown-username{font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.user-dropdown-role{font-size:var(--font-size-xs);color:var(--text-muted)}.user-dropdown-item{width:100%;padding:var(--user-dropdown-item-padding);border:none;background:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);transition:var(--btn-transition);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-xs)}.user-dropdown-item:hover{background-color:var(--user-dropdown-item-hover)}.user-dropdown-item--danger{color:var(--danger-color)}.user-dropdown-item--danger:hover{background-color:var(--danger-color);color:#fff}.user-dropdown-divider{height:1px;background-color:var(--user-dropdown-divider);margin:var(--spacing-xs) 0}.btn-add-entity{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--btn-transition);display:inline-flex;align-items:center;gap:var(--spacing-xs);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.btn-add-entity:hover{background-color:var(--btn-primary-hover);transform:var(--btn-hover-transform);box-shadow:var(--btn-hover-shadow)}.btn-add-entity:active{transform:var(--btn-active-transform)}.btn-add-entity:disabled{opacity:.5;cursor:not-allowed}.btn-add-entity:before{content:"+";font-size:1.2em;font-weight:600}.edit-form-container{position:relative;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);max-width:800px}.edit-form-header{border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-lg)}.edit-form-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0}.edit-form-subtitle{color:var(--text-muted);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.edit-form-body{display:flex;flex-direction:column;gap:var(--spacing-lg)}.edit-form-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.edit-form-section-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:500;margin:0 0 var(--spacing-sm) 0;border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-xs)}.edit-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media (max-width: 768px){.edit-form-row{grid-template-columns:1fr;gap:var(--spacing-md)}}.edit-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.edit-form-group--full-width{grid-column:1 / -1}.edit-form-label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-xs)}.edit-form-label--required:after{content:" *";color:var(--danger-color)}.edit-form-input{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background-color);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.edit-form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.edit-form-input:disabled{background-color:var(--background-light);color:var(--text-muted);cursor:not-allowed}.edit-form-input--error{border-color:var(--danger-color)}.edit-form-input--error:focus{box-shadow:0 0 0 2px var(--danger-color-light)}.edit-form-input--small{padding:6px;font-size:12px;border-radius:6px}.toggle-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:38px;height:20px;background:var(--background-light);border-radius:20px;position:relative;border:1px solid var(--border-color);transition:background .15s ease,box-shadow .15s ease}.toggle-switch input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s ease}.toggle-switch input[type=checkbox]:checked{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg)}.toggle-switch input[type=checkbox]:checked:after{transform:translate(18px)}.edit-form-textarea{resize:vertical;min-height:100px;font-family:inherit}.edit-form-select{cursor:pointer}.edit-form-error{color:var(--danger-color);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.edit-form-help{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.edit-form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);margin-top:var(--spacing-lg)}@media (max-width: 768px){.edit-form-actions{flex-direction:column-reverse}}.edit-form-btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);padding:var(--spacing-sm) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--btn-transition);min-width:120px}.edit-form-btn-primary:hover{background-color:var(--btn-primary-hover);transform:var(--btn-hover-transform);box-shadow:var(--btn-hover-shadow)}.edit-form-btn-primary:disabled{opacity:.5;cursor:not-allowed}.edit-form-btn-secondary{background-color:transparent;color:var(--text-muted);padding:var(--spacing-sm) var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--btn-transition);min-width:120px}.edit-form-btn-secondary:hover{background-color:var(--background-light);border-color:var(--text-muted);color:var(--text-primary)}.edit-form-btn-danger{background-color:var(--danger-color);color:#fff;padding:var(--spacing-sm) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--btn-transition);min-width:120px}.edit-form-btn-danger:hover{background-color:var(--danger-color-dark);transform:var(--btn-hover-transform);box-shadow:var(--btn-hover-shadow)}.edit-form-btn-warning{background-color:var(--warning-color);color:#fff;padding:var(--spacing-sm) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--btn-transition);min-width:120px}.edit-form-btn-warning:hover{background-color:var(--warning-color-dark);transform:var(--btn-hover-transform);box-shadow:var(--btn-hover-shadow)}.edit-form--loading{pointer-events:none;opacity:.7}.edit-form-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}.edit-form-message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);font-weight:500}.edit-form-message--success{display:block!important;opacity:1!important;visibility:visible!important;height:auto!important;background-color:#d4edda!important;color:#155724!important;border:1px solid #28a745!important}.edit-form-message--error{background-color:var(--danger-color-light);color:var(--danger-color-dark);border:1px solid var(--danger-color)}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:11000}.confirmation-modal{background-color:var(--background-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);max-width:500px;width:90%;margin:var(--spacing-lg)}.confirmation-modal-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.confirmation-modal-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.confirmation-modal-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin:0}.modal-portal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10100;padding:var(--spacing-lg)}.modal-portal-container{background-color:var(--background-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);max-width:900px;width:95%;max-height:90vh;overflow-y:auto;position:relative}@media (max-width: 768px){.modal-portal-container{width:100%;max-width:100%;padding:var(--spacing-md);margin:0;border-radius:var(--radius-md)}}.confirmation-modal-message{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;margin-bottom:var(--spacing-lg)}.confirmation-modal-icon--danger{background-color:var(--danger-color-light);color:var(--danger-color)}.confirmation-modal-icon--warning{background-color:var(--warning-color-light);color:var(--warning-color)}.confirmation-modal-icon--info{background-color:var(--info-color-light);color:var(--info-color)}.confirmation-modal-details{background-color:var(--background-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;border-left:4px solid var(--danger-color)}.confirmation-modal-item-name{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.confirmation-modal-item-info{color:var(--text-muted);font-size:var(--font-size-sm)}.confirmation-modal-wine-details{background-color:var(--background-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;border-left:4px solid var(--danger-color)}.confirmation-modal-wine-name{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.confirmation-modal-wine-info{color:var(--text-muted);font-size:var(--font-size-sm)}.confirmation-modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}@media (max-width: 768px){.confirmation-modal-actions{flex-direction:column-reverse}}.search-input-container{position:relative;max-width:400px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-xl) var(--spacing-sm) var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--background-color);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.search-input--small{padding:var(--spacing-xs) var(--spacing-lg) var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-sm)}.search-input-icon{position:absolute;left:var(--spacing-sm);color:var(--text-muted);pointer-events:none;font-size:var(--font-size-sm)}.search-input-clear{position:absolute;right:var(--spacing-sm);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.search-input-clear:hover{background-color:var(--background-light);color:var(--text-primary)}.search-input-wide{max-width:800px;flex:1}@media (max-width: 768px){.search-input-wide{max-width:100%}}.search-results-info{color:var(--text-muted);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--background-light);border-radius:var(--radius-sm);display:inline-block}.search-results-highlight{background-color:var(--warning-color-light);color:var(--warning-color-dark);font-weight:500;padding:0 2px;border-radius:2px}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary-color)}.text-danger{color:var(--danger-color)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}@media (max-width: 768px){.content-wrapper{padding:var(--spacing-md)}.btn{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.table{font-size:var(--font-size-sm)}}:root{--success-color: #28a745;--success-color-light: #d4edda;--success-color-dark: #155724}@keyframes successBounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}button{transition:all .2s ease!important}.surface-elevated{background:var(--background-color);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-normal)}.surface-elevated:hover{box-shadow:var(--shadow-md)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #1a73e81a}.animate-in{animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-root{min-height:100vh}.app-header{position:static;z-index:auto}.app-main{padding-top:calc(var(--navbar-height) + var(--toolbar-height, 82px))}.navbar{background:var(--primary-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:fixed;top:0;left:0;right:0;z-index:100000!important;font-family:var(--font-family)}.navbar .navbar-nav .nav-link{color:#fffffff2}.navbar .dropdown-menu,.navbar-custom .dropdown-menu{background-color:var(--navbar-dropdown-bg, #fff)!important;color:var(--text-primary)!important}.navbar .dropdown-menu .dropdown-item,.navbar-custom .dropdown-menu .dropdown-item,.navbar .dropdown-menu .dropdown-header,.navbar-custom .dropdown-menu .dropdown-header{color:var(--text-primary)!important}.navbar .user-dropdown-menu{background-color:var(--user-dropdown-bg, #fff)!important;color:var(--text-primary)!important}.navbar .dropdown-menu a,.navbar-custom .dropdown-menu a{color:var(--text-primary)!important}.navbar .nav-dropdown>.nav-link,.navbar-custom .nav-dropdown>.nav-link{color:var(--text-primary)!important}.navbar.debug-visible{background:var(--primary-color)!important;color:#fff!important;border-bottom:none!important;box-shadow:0 2px 8px #00000026!important}.navbar.debug-visible .brand-link{color:#fff!important}.navbar-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:var(--navbar-height)}.navbar-brand{margin-right:var(--spacing-xl)}.brand-link{text-decoration:none;color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl);transition:color .15s ease}.brand-link:hover{color:var(--btn-primary-bg)}.brand-text{letter-spacing:-.025em}.navbar-nav{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.nav-link{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:none;background:none;cursor:pointer;border-radius:var(--radius-md);transition:all .15s ease;white-space:nowrap}.nav-link:hover{color:var(--text-primary);background-color:var(--btn-ghost-hover-bg)}.nav-link.test-link{color:var(--btn-outline-text);border:1px solid var(--btn-outline-border);margin-left:var(--spacing-md)}.nav-link.test-link:hover{background-color:var(--btn-outline-hover-bg);border-color:var(--btn-outline-hover-border);color:var(--btn-outline-hover-text)}.dropdown-toggle:after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;margin-left:var(--spacing-xs);transition:transform .15s ease}.nav-dropdown:hover .dropdown-toggle:after{transform:rotate(180deg)}.nav-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:200px;padding:var(--spacing-sm);margin-top:var(--spacing-xs);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .15s ease;z-index:1000}.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu.large{min-width:600px;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);padding:var(--spacing-lg)}.dropdown-item{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);border-radius:var(--radius-sm);transition:all .15s ease}.dropdown-item:hover{color:var(--text-primary);background-color:var(--btn-ghost-hover-bg)}.dropdown-section{display:flex;flex-direction:column}.dropdown-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.navbar-user{margin-left:var(--spacing-lg)}.mobile-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:var(--spacing-xs);gap:3px}.mobile-toggle span{width:20px;height:2px;background:var(--text-secondary);transition:all .3s ease;border-radius:1px}.mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-toggle.active span:nth-child(2){opacity:0}.mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width: 768px){.navbar-container{padding:0 var(--spacing-md);height:56px}.mobile-toggle{display:flex}.navbar-nav{position:absolute;top:100%;left:0;right:0;background:var(--background-color);border-top:1px solid var(--border-color);flex-direction:column;align-items:stretch;padding:var(--spacing-md);gap:var(--spacing-xs);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}.navbar-nav.mobile-open{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown{width:100%}.dropdown-menu{position:static;box-shadow:none;border:none;background:var(--background-light);margin:var(--spacing-xs) 0;transform:none;border-radius:var(--radius-md)}.dropdown-menu.large{grid-template-columns:1fr}.navbar-user{margin-left:0}}@media (max-width: 1240px){.navbar-container{padding:0 var(--spacing-md)}}.error-overlay{background-color:#dc3545f2!important}.error-overlay .success-content{border-color:#dc3545}.warning-overlay{background-color:#ffc107f2!important;color:#000}.warning-overlay .success-content{border-color:#ffc107}.success-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#28a745f2;color:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10001;min-width:300px;text-align:center;animation:slideUp .3s ease-out}.success-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.success-icon{font-size:2rem;margin-bottom:var(--spacing-xs)}.success-message{font-size:var(--font-size-base);font-weight:500;line-height:1.4}.success-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.success-close:hover{background-color:#0000001a}@media (min-width: 769px){.content-wrapper{padding-top:calc(var(--navbar-height) + var(--spacing-md))}}:root{--h3-color: solid;--panel-background-color: rgb(224, 224, 224);--btnWarningColor: rgb(236, 190, 96);--btnNormalColor: rgb(173, 173, 173);--btnAlertColor: red}.main-container{width:1200px;height:fit-content;margin-left:70px;margin-top:0;margin-bottom:300px;font-family:Verdana,Geneva,Tahoma,sans-serif;padding:0%}h3{color:var(--h3-color);text-align:left;margin-left:0}.addpanel{margin-left:0;margin-right:0;font-size:15px;border:1px solid;border-radius:5px;height:fit-content;width:1000px;background-color:var(--panel-background-color)}.addpaneldiv{margin-left:5px;margin-top:5px}.addpanelinput{border:1px solid;border-radius:5px;width:250px;height:25px;font-family:inherit;font-size:12px}.addpanelselect{border:1px solid;border-radius:5px;height:40px;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px}.addpanelselect{border:1px solid;border-radius:5px;width:250px;height:40px;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px}.addpaneltextinput{font-size:12px;text-align:left;vertical-align:top;text-wrap:wrap;border:1px solid;border-radius:5px;width:985px;height:75px;font-family:inherit}.addBtn{border:1px solid;border-radius:5px;font-size:11px;text-align:center;line-height:25px;margin-left:5px;margin-top:5px;margin-bottom:5px;width:75px;background-color:var(--btnWarningColor)}.cancelBtn{border:1px solid;border-radius:5px;font-size:11px;text-align:center;line-height:25px;margin-left:5px;margin-bottom:5px;width:75px;background-color:var(--btnNormalColor)}.inputsearch{width:210px;height:25px;margin-top:25px;margin-left:0;margin-bottom:25px;border:1px solid;border-radius:5px;background-color:#f5f5f5}th{border:0px solid;font-size:12px;line-height:18px;background-color:var(--panel-background-color);text-wrap:nowrap}td{border:0px solid;font-size:12px;line-height:18px;vertical-align:top;text-wrap:wrap}.editBtn,.deleteBtn{font-size:12px}.pagediv{margin-top:10px;margin-left:0;font-size:12px}.pagedivBtn{font-size:12px;margin-left:5px;margin-right:5px}.itemsperpagediv{border:1px solid;margin-left:5px;border-radius:5px;width:100px;height:20px;line-height:12px;font-size:12px}.selectBtn{border:1px solid;border-radius:5px;width:990px;margin-left:5px;margin-top:5px;font-family:inherit;font-size:12px}.allButtons{font-size:10px;margin-left:5px}.wine-view{max-width:1100px;margin:0 auto}.wine-view .card-header{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.wine-view .card-header h3{font-size:1.25rem;margin:0}.wine-view .card-body{padding:16px;font-size:14px;color:#222}.wine-view .wine-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.wine-view .meta-item{margin-bottom:8px}.wine-view .meta-item strong{display:inline-block;width:110px;color:#333}.wine-view hr{margin:14px 0;border:none;border-top:1px solid rgba(0,0,0,.06)}.wine-view .notes{background:#fafafa;border:1px solid rgba(0,0,0,.04);padding:12px;border-radius:6px;white-space:pre-wrap}@media (max-width: 900px){.wine-view .wine-grid{grid-template-columns:1fr}.wine-view .meta-item strong{width:100px}}
