:root{--font-family-base: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-page-title: 700 1.2rem/1.3 var(--font-family-base);--font-card-title: 600 1rem/1.3 var(--font-family-base);--font-body: 400 .85rem/1.5 var(--font-family-base);--font-body-strong: 600 .85rem/1.5 var(--font-family-base);--font-label: 600 .72rem/1.4 var(--font-family-base);--font-table-head: 700 .68rem/1.3 var(--font-family-base);--font-meta: 500 .76rem/1.4 var(--font-family-base);--font-size-page-title: 1.2rem;--font-size-card-title: 1rem;--font-size-body: .85rem;--font-size-label: .72rem;--font-size-table-head: .68rem;--font-size-meta: .76rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-caps: .06em;--tooltip-bg: var(--color-text);--tooltip-fg: var(--color-white);--tooltip-border: transparent;--tooltip-radius: 6px;--tooltip-padding: .4rem .6rem;--tooltip-font: var(--font-meta);--tooltip-shadow: var(--shadow-sm);--tooltip-max-width: 240px;--table-surface: var(--color-surface);--table-border: var(--color-border);--table-radius: var(--radius-card);--table-shadow: var(--shadow-sm);--table-head-bg: var(--color-surface-raised);--table-head-fg: var(--color-text-muted);--table-head-font: var(--font-table-head);--table-head-padding: .75rem 1rem;--table-cell-padding: .7rem 1rem;--table-cell-font: var(--font-body);--table-cell-fg: var(--color-text);--table-row-border: 1px solid color-mix(in srgb, var(--color-border) 60%, var(--color-surface));--table-row-hover-bg: var(--color-hover);--table-head-padding-compact: .45rem .6rem;--table-cell-padding-compact: .45rem .6rem;--table-cell-font-size-compact: .76rem;--table-head-font-size-compact: .62rem;--skeleton-radius: 6px;--skeleton-radius-text: 4px;--skeleton-radius-circle: 50%;--card-surface: var(--color-surface);--card-border: 1px solid var(--color-border);--card-radius: var(--radius-card);--card-shadow: var(--shadow-card);--card-padding: 1rem;--card-padding-sm: .7rem;--card-padding-lg: 1.25rem;--panel-surface: var(--color-surface);--panel-border: 1px solid var(--color-border);--panel-radius: var(--radius-card);--panel-padding: .85rem .95rem;--scrim: rgba(15, 23, 42, .55);--scrim-strong: rgba(15, 23, 42, .72);--modal-backdrop: var(--scrim);--modal-surface: var(--color-surface);--modal-border: 1px solid var(--color-border);--modal-radius: var(--radius-card);--modal-shadow: 0 20px 50px rgba(15, 23, 42, .25);--modal-shadow-dark: 0 20px 50px rgba(0, 0, 0, .45);--modal-width: 480px;--modal-width-wide: 720px;--modal-width-xl: 900px;--modal-max-height: 92vh;--input-height: 38px;--input-height-sm: 30px;--input-height-lg: 44px;--input-padding: 0 .85rem;--input-padding-sm: 0 .6rem;--input-padding-lg: 0 1.1rem;--input-radius: var(--radius-button);--input-border: 1px solid var(--color-border);--input-border-strong: 1px solid var(--color-border-strong);--input-bg: var(--color-surface);--input-fg: var(--color-text);--input-placeholder: var(--color-text-muted);--input-focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);--input-focus-border: var(--color-primary);--input-disabled-bg: var(--color-surface-raised);--input-disabled-fg: var(--color-text-muted);--label-font: var(--font-label);--label-fg: var(--color-text);--hint-font: var(--font-meta);--hint-fg: var(--color-text-muted);--hint-fg-danger: var(--color-danger-text);--hint-fg-warning: var(--color-warning-text);--hint-fg-info: var(--color-info-text);--toolbar-gap: .6rem;--toolbar-padding: .55rem .65rem;--toolbar-bg: var(--color-surface);--toolbar-border: 1px solid var(--color-border);--filter-bar-gap: .6rem;--badge-radius: 999px;--badge-padding: .2rem .55rem;--badge-font: var(--font-label)}.btn,.clear-filters,.retry-btn,.icon-btn,.toolbar-btn,.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;padding:0 1rem;border:1px solid var(--color-primary-surface);border-radius:var(--radius-button);background:var(--color-primary-surface);color:var(--color-on-primary);font:inherit;font-size:.8rem;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:disabled,.clear-filters:disabled,.retry-btn:disabled,.icon-btn:disabled,.toolbar-btn:disabled,.btn.is-disabled,.is-disabled.clear-filters,.is-disabled.retry-btn,.is-disabled.icon-btn,.is-disabled.toolbar-btn,.primary-btn:disabled,.primary-btn.is-disabled,.secondary-btn:disabled,.secondary-btn.is-disabled,.ghost-btn:disabled,.ghost-btn.is-disabled,.danger-btn:disabled,.danger-btn.is-disabled{opacity:.45;cursor:not-allowed}.btn.is-loading,.is-loading.clear-filters,.is-loading.retry-btn,.is-loading.icon-btn,.is-loading.toolbar-btn,.primary-btn.is-loading,.secondary-btn.is-loading,.ghost-btn.is-loading,.danger-btn.is-loading{cursor:progress;opacity:1}.btn .btn-spinner,.clear-filters .btn-spinner,.retry-btn .btn-spinner,.icon-btn .btn-spinner,.toolbar-btn .btn-spinner,.primary-btn .btn-spinner,.secondary-btn .btn-spinner,.ghost-btn .btn-spinner,.danger-btn .btn-spinner{display:none;width:.85em;height:.85em;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn.is-loading .btn-spinner,.is-loading.clear-filters .btn-spinner,.is-loading.retry-btn .btn-spinner,.is-loading.icon-btn .btn-spinner,.is-loading.toolbar-btn .btn-spinner,.primary-btn.is-loading .btn-spinner,.secondary-btn.is-loading .btn-spinner,.ghost-btn.is-loading .btn-spinner,.danger-btn.is-loading .btn-spinner{display:inline-block}.btn .ms-icon,.clear-filters .ms-icon,.retry-btn .ms-icon,.icon-btn .ms-icon,.toolbar-btn .ms-icon,.primary-btn .ms-icon,.secondary-btn .ms-icon,.ghost-btn .ms-icon,.danger-btn .ms-icon{font-size:16px}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--primary,.primary-btn{background:var(--color-primary-surface);border-color:var(--color-primary-surface);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled):not(.is-disabled),.primary-btn:hover:not(:disabled):not(.is-disabled){background:var(--color-primary-surface-hover);border-color:var(--color-primary-surface-hover)}.btn--accent{background:var(--color-accent-surface);border-color:var(--color-accent-surface);color:var(--color-on-accent)}.btn--accent:hover:not(:disabled):not(.is-disabled){background:var(--color-accent-surface-hover);border-color:var(--color-accent-surface-hover)}.btn--secondary,.icon-btn,.toolbar-btn,.secondary-btn,.btn--ghost,.ghost-btn{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-primary)}.btn--secondary:hover:not(:disabled):not(.is-disabled),.icon-btn:hover:not(:disabled):not(.is-disabled),.toolbar-btn:hover:not(:disabled):not(.is-disabled),.secondary-btn:hover:not(:disabled):not(.is-disabled),.btn--ghost:hover:not(:disabled):not(.is-disabled),.ghost-btn:hover:not(:disabled):not(.is-disabled){background:var(--color-hover);border-color:var(--color-primary)}.btn--danger,.danger-btn{background:var(--color-surface);border-color:var(--color-danger-border);color:var(--color-danger-text)}.btn--danger:hover:not(:disabled):not(.is-disabled),.danger-btn:hover:not(:disabled):not(.is-disabled){background:var(--color-danger-bg);border-color:var(--color-danger)}.btn--approve{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.btn--approve:hover:not(:disabled):not(.is-disabled){background:var(--color-success-border)}.btn--reject{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.btn--reject:hover:not(:disabled):not(.is-disabled){background:var(--color-danger-border)}.btn--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.btn--warning:hover:not(:disabled):not(.is-disabled){background:var(--color-warning-border)}.btn--edit{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.btn--edit:hover:not(:disabled):not(.is-disabled){background:var(--color-info-border)}.btn--link,.clear-filters,.link-btn{min-height:0;padding:0;border:0;background:transparent;color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.btn--link:hover:not(:disabled):not(.is-disabled),.clear-filters:hover:not(:disabled):not(.is-disabled),.link-btn:hover:not(:disabled):not(.is-disabled){color:var(--color-primary-dark)}.btn--sm,.retry-btn,.toolbar-btn{min-height:var(--input-height-sm);padding:0 .7rem;font-size:.74rem}.btn--lg{min-height:var(--input-height-lg);padding:0 1.4rem;font-size:.85rem}.btn--icon,.icon-btn{width:34px;height:34px;min-height:0;padding:0}.btn--icon-ghost{border-color:transparent;background:transparent;color:var(--color-text-muted)}.btn--icon-ghost:hover:not(:disabled):not(.is-disabled){background:var(--color-hover);border-color:transparent;color:var(--color-text)}.btn--block{width:100%;justify-content:center}.retry-btn{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.retry-btn:hover:not(:disabled):not(.is-disabled){background:var(--color-info-border)}.field,.form-field{display:grid;gap:.3rem;min-width:0;font-size:var(--font-size-body)}.field--row,.form-field--row{display:flex;align-items:center;gap:.75rem}.field--wide,.form-field--wide{grid-column:1/-1}.field--half,.form-field--half{flex:1 1 0;min-width:0}.field--readonly .field__input,.field--readonly .field__control,.form-field--readonly .field__input,.form-field--readonly .field__control{background:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border);cursor:default}.field__label,.field-label{display:block;font:var(--label-font);color:var(--label-fg);text-transform:none;letter-spacing:normal}.field__label--required:after,.field-label--required:after{content:" *";color:var(--color-danger)}.field__hint,.field-hint{margin:0;font:var(--hint-font);color:var(--hint-fg)}.field__hint--danger,.field__hint--error,.field-hint--danger,.field-hint--error{color:var(--hint-fg-danger)}.field__hint--warning,.field__hint--warn,.field-hint--warning,.field-hint--warn{color:var(--hint-fg-warning)}.field__hint--info,.field-hint--info{color:var(--hint-fg-info)}.input,.select,.textarea,.field__input,.field__control,.form-input,.filter-select,.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.field>select,.field>textarea,.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.form-field>select,.form-field>textarea{width:100%;min-width:0;height:var(--input-height);padding:var(--input-padding);border:var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-fg);font:inherit;font-size:var(--font-size-body);line-height:1.3;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;outline:none}.input::placeholder,.select::placeholder,.textarea::placeholder,.field__input::placeholder,.field__control::placeholder,.form-input::placeholder,.filter-select::placeholder,.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])::placeholder,.field>select::placeholder,.field>textarea::placeholder,.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])::placeholder,.form-field>select::placeholder,.form-field>textarea::placeholder{color:var(--input-placeholder)}.input:hover:not(:disabled):not([readonly]),.select:hover:not(:disabled):not([readonly]),.textarea:hover:not(:disabled):not([readonly]),.field__input:hover:not(:disabled):not([readonly]),.field__control:hover:not(:disabled):not([readonly]),.form-input:hover:not(:disabled):not([readonly]),.filter-select:hover:not(:disabled):not([readonly]),.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):hover:not(:disabled):not([readonly]),.field>select:hover:not(:disabled):not([readonly]),.field>textarea:hover:not(:disabled):not([readonly]),.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):hover:not(:disabled):not([readonly]),.form-field>select:hover:not(:disabled):not([readonly]),.form-field>textarea:hover:not(:disabled):not([readonly]){border-color:var(--color-border-strong)}.input:focus:not(:disabled):not([readonly]),.select:focus:not(:disabled):not([readonly]),.textarea:focus:not(:disabled):not([readonly]),.field__input:focus:not(:disabled):not([readonly]),.field__control:focus:not(:disabled):not([readonly]),.form-input:focus:not(:disabled):not([readonly]),.filter-select:focus:not(:disabled):not([readonly]),.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus:not(:disabled):not([readonly]),.field>select:focus:not(:disabled):not([readonly]),.field>textarea:focus:not(:disabled):not([readonly]),.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus:not(:disabled):not([readonly]),.form-field>select:focus:not(:disabled):not([readonly]),.form-field>textarea:focus:not(:disabled):not([readonly]){border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring)}.input:disabled,.input[readonly],.select:disabled,.select[readonly],.textarea:disabled,.textarea[readonly],.field__input:disabled,.field__input[readonly],.field__control:disabled,.field__control[readonly],.form-input:disabled,.form-input[readonly],.filter-select:disabled,.filter-select[readonly],.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):disabled,.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])[readonly],.field>select:disabled,.field>select[readonly],.field>textarea:disabled,.field>textarea[readonly],.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):disabled,.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])[readonly],.form-field>select:disabled,.form-field>select[readonly],.form-field>textarea:disabled,.form-field>textarea[readonly]{background:var(--input-disabled-bg);color:var(--input-disabled-fg);cursor:not-allowed}.input[aria-invalid=true],.input.ng-invalid.ng-touched,.select[aria-invalid=true],.select.ng-invalid.ng-touched,.textarea[aria-invalid=true],.textarea.ng-invalid.ng-touched,.field__input[aria-invalid=true],.field__input.ng-invalid.ng-touched,.field__control[aria-invalid=true],.field__control.ng-invalid.ng-touched,.form-input[aria-invalid=true],.form-input.ng-invalid.ng-touched,.filter-select[aria-invalid=true],.filter-select.ng-invalid.ng-touched,.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])[aria-invalid=true],.field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]).ng-invalid.ng-touched,.field>select[aria-invalid=true],.field>select.ng-invalid.ng-touched,.field>textarea[aria-invalid=true],.field>textarea.ng-invalid.ng-touched,.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])[aria-invalid=true],.form-field>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]).ng-invalid.ng-touched,.form-field>select[aria-invalid=true],.form-field>select.ng-invalid.ng-touched,.form-field>textarea[aria-invalid=true],.form-field>textarea.ng-invalid.ng-touched{border-color:var(--color-danger)}.table-search{width:min(100%,240px);min-width:min(100%,220px);height:var(--input-height);padding:var(--input-padding);border:var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-fg);font:var(--font-body);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.table-search::placeholder{color:var(--input-placeholder)}.table-search:hover:not(:disabled):not([readonly]){border-color:var(--color-border-strong)}.table-search:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring)}.table-search:disabled,.table-search[readonly]{background:var(--input-disabled-bg);color:var(--input-disabled-fg);cursor:not-allowed}.table-search[aria-invalid=true],.table-search.ng-invalid.ng-touched{border-color:var(--color-danger)}select,select option,select optgroup{background-color:var(--input-bg);color:var(--input-fg)}[data-theme=dark] select{color-scheme:dark}.input[type=file],.field__input[type=file],.form-input[type=file]{height:auto;min-height:var(--input-height);padding:.3rem;cursor:pointer}.input[type=file]::file-selector-button,.field__input[type=file]::file-selector-button,.form-input[type=file]::file-selector-button{margin-right:.65rem;padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:var(--input-radius);background:var(--color-surface-raised);color:var(--color-text);font:var(--font-label);cursor:pointer}.input[type=file]:hover::file-selector-button,.field__input[type=file]:hover::file-selector-button,.form-input[type=file]:hover::file-selector-button{border-color:var(--color-border-strong);background:var(--color-hover)}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary-surface)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.select,.filter-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;padding-right:2rem;cursor:pointer}.textarea{height:auto;min-height:80px;padding:.6rem .85rem;resize:vertical}.input--sm,.select--sm,.filter-select--sm{height:var(--input-height-sm);padding:var(--input-padding-sm);font-size:var(--font-size-meta)}.input--lg,.select--lg{height:var(--input-height-lg);padding:var(--input-padding-lg);font-size:var(--font-size-body)}.switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch__track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--color-border-strong);transition:background-color .15s ease}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-white);box-shadow:0 1px 2px #0f172a4d;transition:transform .15s ease}.switch input:checked+.switch__track{background:var(--color-primary)}.switch input:checked+.switch__track:after{transform:translate(16px)}.switch input:focus-visible+.switch__track{box-shadow:var(--input-focus-ring)}.switch input:disabled{cursor:not-allowed}.switch input:disabled+.switch__track{opacity:.45}.checkbox-row,.radio-row{display:flex;align-items:center;gap:.45rem;min-height:var(--input-height);cursor:pointer;font-size:var(--font-size-body);color:var(--color-text)}.checkbox-row input[type=checkbox],.checkbox-row input[type=radio],.radio-row input[type=checkbox],.radio-row input[type=radio]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.radio-option{display:flex;align-items:center;gap:.45rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--input-radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--font-size-body);transition:border-color .15s ease,background-color .15s ease}.radio-option:hover{border-color:var(--color-border-strong)}.radio-option input[type=radio]{accent-color:var(--color-primary)}.input-wrap{position:relative;display:flex;align-items:center;gap:.5rem}.input-wrap .input-icon{position:absolute;left:.75rem;color:var(--color-text-muted);pointer-events:none}.input-wrap .input{padding-left:2.25rem}.input-wrap .password-toggle{position:absolute;right:.5rem;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer}.input-wrap .password-toggle:hover{color:var(--color-primary)}.search-input{display:flex;align-items:center;gap:.35rem;flex:1 1 min(100%,200px);height:var(--input-height);padding:.4rem .6rem;border:var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-fg)}.search-input .ms-icon{color:var(--color-text-muted);font-size:16px;flex-shrink:0}.search-input input{flex:1;width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:.8rem}.search-input input::placeholder{color:var(--input-placeholder)}.search-input:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring)}.form-row{display:flex;flex-wrap:wrap;gap:.75rem}.form-row>.field,.form-row>.form-field{flex:1 1 200px;min-width:0}.card{display:flex;flex-direction:column;gap:.25rem;padding:var(--card-padding);background:var(--card-surface);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);min-width:0;overflow-wrap:break-word}.card--padded-sm{padding:var(--card-padding-sm)}.card--padded-lg{padding:var(--card-padding-lg)}.card--flush{padding:0}.card--no-shadow{box-shadow:none}.card--info{background:var(--color-info-bg);border-color:var(--color-info-border)}.card--success{background:var(--color-success-bg);border-color:var(--color-success-border)}.card--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.card--danger,.card--error{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.card--muted{background:var(--color-bg);border-color:var(--color-border);box-shadow:none}.card--accent{border-color:var(--color-primary);background:var(--color-primary-light)}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.25rem}.card__title{margin:0;font:var(--font-card-title);color:var(--color-text)}.card__hint,.card__meta{margin:0;font:var(--font-meta);color:var(--color-text-muted)}.card__actions{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;flex-shrink:0}.card__body{display:flex;flex-direction:column;gap:.75rem}.panel{display:flex;flex-direction:column;gap:.75rem;padding:var(--panel-padding);background:var(--panel-surface);border:var(--panel-border);border-radius:var(--panel-radius);box-shadow:var(--shadow-card);min-width:0;overflow-wrap:break-word}.panel--flat{box-shadow:none}.panel--info{background:var(--color-info-bg);border-color:var(--color-info-border)}.panel--success{background:var(--color-success-bg);border-color:var(--color-success-border)}.panel--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.panel--danger,.panel--error{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex-wrap:wrap;margin-bottom:.7rem}.panel__header h2{margin:0;font-size:.95rem;color:var(--color-text)}.panel__header p{margin:.15rem 0 0;font-size:.74rem;color:var(--color-text-muted)}.panel__title{margin:0;font:var(--font-card-title);color:var(--color-text)}.panel__hint,.panel__meta{margin:.15rem 0 0;font:var(--font-meta);color:var(--color-text-muted)}.panel__body{display:flex;flex-direction:column;gap:.75rem}.panel__actions{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;flex-shrink:0}.panel__link{display:inline-flex;align-items:center;gap:.15rem;color:var(--color-primary);font-size:.74rem;font-weight:800;text-decoration:none;white-space:nowrap}.panel__link .ms-icon{font-size:16px}.error-message{padding:.75rem .9rem;border:1px solid var(--color-danger-border);border-radius:var(--radius-button);background:var(--color-danger-bg);color:var(--color-danger-text);font-size:var(--font-size-body)}.info-banner,.callout{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .9rem;border:1px solid var(--color-info-border);border-radius:var(--radius-button);background:var(--color-info-bg);color:var(--color-info-text);font-size:var(--font-size-body)}.info-banner .ms-icon,.callout .ms-icon{flex-shrink:0;margin-top:.1rem}.info-banner--warning,.callout--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.info-banner--danger,.callout--danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.info-banner--success,.callout--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.modal-backdrop,.dialog-backdrop,.drawer-backdrop{position:fixed;inset:0;border:0;padding:0;background:var(--modal-backdrop);cursor:pointer;animation:backdrop-fade-in .2s ease}.modal-backdrop,.dialog-backdrop{z-index:1300}.drawer-backdrop{z-index:850}.modal-backdrop,.dialog-backdrop{display:flex;align-items:center;justify-content:center;padding:1.5rem}.drawer-backdrop{top:var(--app-header-offset, 100px)}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.modal,.dialog{position:relative;display:flex;flex-direction:column;width:100%;max-width:var(--modal-width);max-height:var(--modal-max-height);background:var(--modal-surface);border:var(--modal-border);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);overflow:hidden;cursor:default;animation:modal-scale-in .2s ease}.modal--compact,.dialog--compact{max-width:360px}.modal--wide,.dialog--wide{max-width:var(--modal-width-wide)}.modal--xl,.dialog--xl{max-width:var(--modal-width-xl)}.modal--full-height,.dialog--full-height{height:var(--modal-max-height)}@keyframes modal-scale-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal__header,.dialog__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:.9rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.modal__title,.dialog__title{margin:0;font:var(--font-card-title);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal__subtitle,.dialog__subtitle{margin:.15rem 0 0;font:var(--font-meta);color:var(--color-text-muted)}.modal__hint,.dialog__hint{margin:0;font:var(--font-meta);color:var(--color-text-muted)}.modal__hint--error,.dialog__hint--error{color:var(--color-danger-text)}.modal__body,.dialog__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1rem}.modal__body--form,.dialog__body--form{display:grid;gap:.85rem}.modal__footer,.dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.modal__close,.dialog__close,.drawer__close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.modal__close .ms-icon,.dialog__close .ms-icon,.drawer__close .ms-icon{font-size:18px}.modal__close:hover:not(:disabled),.dialog__close:hover:not(:disabled),.drawer__close:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-hover)}.drawer{position:fixed;top:var(--app-header-offset, 100px);bottom:0;z-index:900;display:flex;flex-direction:column;width:min(480px,96vw);background:var(--modal-surface);border-left:1px solid var(--color-border);box-shadow:-16px 0 48px #0f172a47;overflow:hidden;cursor:default;animation:drawer-slide-in .24s ease}.drawer--right{right:0}.drawer--left{left:0;border-left:0;border-right:1px solid var(--color-border)}.drawer--wide{width:min(720px,96vw)}.drawer--xl{width:min(900px,96vw)}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.drawer__title{margin:0;font:var(--font-card-title);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1rem}.drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.toolbar,.page-toolbar,.filter-bar,.search-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--toolbar-gap);min-width:0}.toolbar,.page-toolbar{padding:var(--toolbar-padding);background:var(--toolbar-bg);border:var(--toolbar-border);border-radius:var(--radius-button)}.toolbar--bordered{border-bottom:1px solid var(--color-border);border-radius:0;border-left:0;border-right:0;border-top:0}.toolbar--padded-sm{padding:.4rem .5rem}.toolbar--padded-lg{padding:.7rem .9rem}.toolbar--flush{padding:0;border:0;background:transparent}.toolbar--column{flex-direction:column;align-items:stretch}.toolbar__left{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--toolbar-gap);flex:1 1 auto;min-width:0}.toolbar__right{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--toolbar-gap);flex-shrink:0;margin-left:auto}.toolbar__title{margin:0;font:var(--font-card-title);color:var(--color-text)}.toolbar__hint{margin:0;font:var(--font-meta);color:var(--color-text-muted)}.filter-bar,.search-bar{gap:var(--filter-bar-gap);padding:var(--toolbar-padding);border:var(--toolbar-border);border-radius:var(--radius-button);background:var(--toolbar-bg);align-items:flex-end}.filter-bar>.search-input,.search-bar>.search-input{flex:1 1 240px;min-width:200px}.filter-bar>.field,.search-bar>.field,.filter-bar>.form-field,.search-bar>.form-field,.filter-bar>.input,.search-bar>.input,.filter-bar>.select,.search-bar>.select,.filter-bar>.filter-select,.search-bar>.filter-select{flex:0 0 auto;width:auto;min-width:150px}.filter-bar>.btn,.search-bar>.btn,.filter-bar>.primary-btn,.search-bar>.primary-btn,.filter-bar>.secondary-btn,.search-bar>.secondary-btn,.filter-bar>.ghost-btn,.search-bar>.ghost-btn,.filter-bar>.result-count,.search-bar>.result-count{flex-shrink:0}.filter-bar>.btn--sm,.search-bar>.btn--sm{min-height:var(--input-height)}.filter-bar__spacer{flex:1 1 auto;min-width:0}.filter-bar--column{flex-direction:column;align-items:stretch}.filter-bar--column>.search-input,.filter-bar--column>.field,.filter-bar--column>.form-field,.filter-bar--column>.input,.filter-bar--column>.select,.filter-bar--column>.filter-select{flex:1 1 auto;width:100%;max-width:none}.page-tabs{display:inline-flex;flex-wrap:wrap;width:fit-content;gap:.25rem;padding:.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-button)}.page-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border:none;border-radius:calc(var(--radius-button) - 2px);background:transparent;color:var(--color-text-muted);font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.page-tab .ms-icon{font-size:16px}.page-tab .badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-size:.64rem;line-height:1;letter-spacing:0}.page-tab:hover:not(.page-tab--active){color:var(--color-text);background:var(--color-surface)}.page-tab--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.underline-tabs{display:flex;gap:.1rem;border-bottom:1px solid var(--color-border)}.underline-tab{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--color-text-muted);font-size:.83rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s}.underline-tab .ms-icon{font-size:16px}.underline-tab:hover:not(.underline-tab--active){color:var(--color-text)}.underline-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.underline-tab:focus-visible{outline:none;color:var(--color-text);box-shadow:inset 0 -2px 0 0 var(--color-primary)}.badge,.tag,.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;padding:var(--badge-padding);border-radius:var(--badge-radius);background:var(--color-surface-raised);color:var(--color-text);font:var(--badge-font);font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.badge--success,.badge--completed,.badge--covered,.tag--success,.tag--completed,.tag--covered,.status-badge--success,.status-badge--completed,.status-badge--covered{background:var(--color-success-bg);color:var(--color-success-text)}.badge--warning,.badge--pending,.badge--needs-contractor,.tag--warning,.tag--pending,.tag--needs-contractor,.status-badge--warning,.status-badge--pending,.status-badge--needs-contractor{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge--danger,.badge--cancelled,.badge--error,.tag--danger,.tag--cancelled,.tag--error,.status-badge--danger,.status-badge--cancelled,.status-badge--error{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge--info,.badge--confirmed,.tag--info,.tag--confirmed,.status-badge--info,.status-badge--confirmed{background:var(--color-info-bg);color:var(--color-info-text)}.badge--muted,.tag--muted,.status-badge--muted{background:var(--color-border);color:var(--color-text-muted)}.badge--primary,.tag--primary,.status-badge--primary{background:var(--color-primary-surface);color:var(--color-on-primary)}.status-pill{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;font:var(--font-label);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status-pill--success,.status-pill--completed,.status-pill--covered{background:var(--color-success-bg);color:var(--color-success-text)}.status-pill--warning,.status-pill--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-pill--danger,.status-pill--cancelled{background:var(--color-danger-bg);color:var(--color-danger-text)}.status-pill--info,.status-pill--confirmed{background:var(--color-info-bg);color:var(--color-info-text)}.status-pill--needs-contractor{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-pill--muted{background:var(--color-border);color:var(--color-text-muted)}.table-card{background:var(--table-surface);border:1px solid var(--table-border);border-radius:var(--table-radius);box-shadow:var(--table-shadow);overflow:hidden}.table-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.65rem 1rem;border-bottom:1px solid var(--table-border)}.table-card__header .btn--sm{min-height:var(--input-height)}.table-card__title{margin:0;font:var(--font-card-title);color:var(--color-text)}.table-card__heading{display:grid;align-content:center;gap:.12rem;min-width:0}.table-card__meta,.table-card__hint{margin:.2rem 0 0;font:var(--font-meta);color:var(--color-text-muted)}.table-card__count{font:var(--font-meta);color:var(--color-text-muted);white-space:nowrap}.table-card__header-right{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1 1 auto;width:auto;max-width:none;min-width:0;margin-left:auto;justify-content:flex-end}.table-card__stats{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto}@media(max-width:900px){.table-card__header{align-items:stretch}.table-card__header-right{width:100%;margin-left:0;justify-content:flex-start}.table-card__header-right>.table-search,.table-card__header-right>.search-input,.table-card__header-right>.filter-select,.table-card__header-right>.app-filter-select,.table-card__header-right>p-select,.table-card__header-right>p-datepicker{flex:1 1 200px;width:auto;max-width:none}}.table-card__stat{display:flex;align-items:baseline;gap:.22rem;padding-left:.5rem;border-left:1px solid var(--table-border);min-width:0}.table-card__stat:first-child{padding-left:0;border-left:none}.table-card__stat strong{font-size:.78rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--color-text);white-space:nowrap}.table-card__stat span{font-size:.58rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--table-head-bg);color:var(--table-head-fg);text-align:left;padding:var(--table-head-padding);font:var(--table-head-font);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;white-space:nowrap}.data-table thead th .help-tip__btn{background:var(--color-surface);color:var(--color-text-muted)}.data-table thead th .help-tip__btn:hover,.data-table thead th .help-tip__btn:focus-visible{background:var(--color-primary-light);color:var(--color-primary)}.data-table thead th input[type=checkbox]{display:block;width:14px;height:14px;margin:0;cursor:pointer}.data-table thead th input[type=checkbox]:disabled{cursor:not-allowed}.data-table tbody td{padding:var(--table-cell-padding);border-bottom:var(--table-row-border);vertical-align:top;font:var(--table-cell-font);color:var(--table-cell-fg);transition:background .12s ease}.data-table tbody tr:hover td{background:var(--table-row-hover-bg)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.row--selected td{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.data-table tbody tr.row--selected td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.data-table th.amount-cell,.data-table td.amount-cell{text-align:right;font-weight:700}.data-table__empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem!important}.data-table--wide{min-width:980px}.data-table--compact{min-width:1160px}.data-table--compact thead th{padding:var(--table-head-padding-compact);font-size:var(--table-head-font-size-compact)}.data-table--compact tbody td{padding:var(--table-cell-padding-compact);font-size:var(--table-cell-font-size-compact)}.data-table--wide.data-table--compact{min-width:1160px}.content-table{width:100%;border-collapse:collapse;font:var(--table-cell-font)}.content-table th,.content-table td{padding:.5rem .7rem;text-align:left;border-bottom:1px solid var(--table-border);vertical-align:top}.content-table thead th{font:var(--table-head-font);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-raised);white-space:nowrap}.content-table tbody th{font:var(--font-body-strong);color:var(--color-text)}.content-table tbody td{color:var(--color-text)}.content-table tbody tr:last-child :is(th,td){border-bottom:none}.content-table--compact th,.content-table--compact td{padding:.35rem .5rem;font-size:var(--table-cell-font-size-compact)}.content-table--compact thead th{font-size:var(--table-head-font-size-compact)}.th-sort{display:inline-flex;align-items:center;gap:.2rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort .ms-icon{font-size:14px;opacity:.75}.th-sort:hover .ms-icon{opacity:1}.actions-col{width:1%;white-space:nowrap;text-align:right}.row-actions{display:inline-flex;align-items:center;gap:.25rem}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-primary);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.row-action-btn .ms-icon{font-size:16px}.row-action-btn:hover:not(:disabled){border-color:var(--color-info-border);background:var(--color-primary-light)}.row-action-btn--disabled,.row-action-btn:disabled{opacity:.45;cursor:not-allowed;color:var(--color-text-muted)}.mobile-cards{display:none;gap:.75rem}@media(max-width:768px){.desktop-table{display:none}.mobile-cards{display:grid}}.page-content .app-page{display:grid;align-content:start;gap:1rem;width:100%;min-width:0}.portal-page,.portal-dashboard,.portal-tastings-page{display:grid;gap:clamp(.55rem,1.2vw,.85rem);padding:clamp(.65rem,1.5vw,1rem);width:100%;min-width:0;box-sizing:border-box;background:var(--color-bg)}.portal-tastings-page--compact{gap:.55rem;padding:clamp(.55rem,1.2vw,.85rem)}.summary-grid,.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:clamp(.45rem,1vw,.65rem)}.summary-card,.stats-strip article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.summary-card{position:relative;min-height:108px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:.75rem .85rem}.summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--card-accent, var(--color-primary))}.summary-card--blue{--card-accent: var(--color-primary)}.summary-card--green{--card-accent: var(--color-success)}.summary-card--orange{--card-accent: var(--color-warning)}.summary-card--gold{--card-accent: var(--color-gold)}.summary-card--slate{--card-accent: var(--color-slate)}.summary-card--violet,.summary-card--purple{--card-accent: var(--color-violet)}.summary-card--amber{--card-accent: var(--color-gold)}.summary-card--red{--card-accent: var(--color-danger)}.summary-card>span{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.summary-card>strong{font-size:1.25rem;color:var(--color-text);line-height:1.15}.summary-card p{margin:0;font-size:.74rem;color:var(--color-text-muted);line-height:1.35}.summary-card__topline{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.summary-card__topline span{color:var(--color-text-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.summary-card__topline strong{padding:.15rem .4rem;border-radius:999px;background:var(--color-primary-light);color:var(--card-accent, var(--color-primary));font-size:.68rem;font-weight:800;white-space:nowrap}.summary-card__value{color:var(--color-text);font-size:1.35rem;font-weight:800;line-height:1.1}.stats-strip article{display:grid;gap:.1rem;padding:.7rem .85rem}.stats-strip article span{font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.stats-strip article strong{font-size:1.2rem;color:var(--color-text);line-height:1.15}.stats-strip article em{font-size:.68rem;color:var(--color-text-muted);font-style:normal}.stats-strip__urgent,.stats-strip__pending{border-color:var(--color-warning-border);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-warning-bg) 100%)}.stats-strip__urgent strong,.stats-strip__pending strong{color:var(--color-warning)}.tasting-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,90px),1fr));gap:.45rem}.tasting-summary--compact .tasting-summary__card{padding:.45rem .6rem}.tasting-summary--compact .tasting-summary__card strong{font-size:1.05rem}.tasting-summary__card{display:flex;flex-direction:column;gap:.12rem;padding:.65rem .8rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button);box-shadow:var(--shadow-card)}.tasting-summary__card span{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.tasting-summary__card strong{font-size:1.2rem;line-height:1;color:var(--color-text)}.tasting-summary__card--blue{border-left:3px solid var(--color-primary)}.tasting-summary__card--indigo{border-left:3px solid var(--color-violet)}.tasting-summary__card--green{border-left:3px solid var(--color-success)}.tasting-summary__card--orange{border-left:3px solid var(--color-warning)}.tasting-summary__card--slate{border-left:3px solid var(--color-primary)}.tasting-summary__card--red{border-left:3px solid var(--color-danger)}.tasting-summary__card--purple{border-left:3px solid var(--color-violet)}.tasting-summary__card--amber{border-left:3px solid var(--color-gold)}.result-count{margin:.3rem 0;font-size:.76rem;color:var(--color-text-muted)}.page-toolbar,.toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;flex-shrink:0}.filter-bar{display:flex;align-items:flex-end;gap:.4rem;flex-wrap:wrap;flex-shrink:0}.page-toolbar{padding:.45rem .55rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button)}.filter-bar--compact{gap:.4rem}.alert-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.5rem}.alert-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.65rem .75rem;border-radius:var(--radius-card);text-decoration:none;border:1px solid transparent;transition:transform .15s ease}.alert-card:hover{transform:translateY(-1px)}.alert-card strong{display:block;font-size:.8rem}.alert-card span{display:block;margin-top:.08rem;font-size:.72rem;line-height:1.35}.alert-card__action{font-size:.7rem!important;font-weight:800;white-space:nowrap}.alert-card--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.alert-card--warning .ms-icon{color:var(--color-warning)}.alert-card--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.alert-card--info .ms-icon{color:var(--color-primary)}.alert-card--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.alert-card--success .ms-icon{color:var(--color-success)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(min(100%,320px),.95fr);gap:clamp(.55rem,1.2vw,.85rem);align-items:start}.ghost-link{text-align:center;font-size:.74rem;font-weight:700;color:var(--color-primary);text-decoration:none}.empty-state,.empty-panel{display:grid;justify-items:center;gap:.3rem;padding:2rem 1rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-card)}.empty-state .ms-icon,.empty-panel .ms-icon{font-size:32px;color:var(--color-border)}.empty-state strong,.empty-panel strong{color:var(--color-text)}.empty-state span,.empty-state a,.empty-panel span,.empty-panel a{font-size:.76rem}.empty-state a,.empty-panel a{color:var(--color-primary);font-weight:700}.empty-state--flat,.empty-panel--flat{border:none;background:transparent;border-radius:0}.empty-state--compact,.empty-panel--compact{display:block;gap:0;padding:.85rem .95rem;text-align:left;border-radius:var(--radius-button)}.brand-pill{display:inline-flex;width:fit-content;padding:.12rem .45rem;border-radius:999px;background:var(--color-primary-light);color:var(--color-primary);font-size:.66rem;font-weight:800}.page-meta-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.45rem .6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button)}.meta-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:999px;background:var(--color-primary-light);border:1px solid var(--color-border);color:var(--color-primary);font-size:.68rem;font-weight:700}.meta-chip .ms-icon{font-size:14px}@media(max-width:900px){.content-layout{grid-template-columns:1fr}}@media(max-width:640px){.summary-grid,.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-card{grid-template-columns:auto 1fr}.alert-card .alert-card__action{grid-column:1/-1;justify-self:start;margin-top:.15rem}}@media(max-width:480px){.summary-grid,.stats-strip,.tasting-summary{grid-template-columns:1fr}}.save-status{position:fixed;right:1.5rem;bottom:1.25rem;z-index:70;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text-muted);font:var(--font-meta);animation:save-status-in .15s ease}.save-status .ms-icon{font-size:16px}.save-status--saved{color:var(--color-success-text);border-color:var(--color-success-border);background:var(--color-success-bg)}.save-status--error{color:var(--color-danger-text);border-color:var(--color-danger-border);background:var(--color-danger-bg)}.save-status__spinner{width:12px;height:12px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:save-status-spin .6s linear infinite}.save-status__retry{margin-left:.15rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}@keyframes save-status-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes save-status-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.save-status{right:1rem;bottom:1rem}}:root{--p-border-radius-xs: 0;--p-border-radius-sm: 0;--p-border-radius-md: 0;--p-border-radius-lg: 0;--p-border-radius-xl: 0}.p-datatable,.p-datatable-table-container,.p-paginator,.p-inputtext,.p-select,.p-select-overlay,.p-multiselect,.p-multiselect-overlay,.p-multiselect-label,.p-datepicker-input,.p-datepicker-panel,.p-button,.p-drawer,.p-dialog,.p-card,.p-tag,.p-chip,.p-message,.p-inputnumber-input,.p-textarea,.p-overlaybadge,.p-iconfield .p-inputtext{border-radius:0!important}.p-component{font-family:var(--font-family-base, inherit)}.detail-drawer .p-drawer-header{display:none!important}.detail-drawer .p-drawer-content{padding:0!important;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.recs-drawer.p-drawer{right:640px!important;box-shadow:-10px 0 28px #00000029}.recs-drawer .p-drawer-header{display:none!important}.recs-drawer .p-drawer-content{padding:0!important;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}@media(max-width:1360px){.recs-drawer.p-drawer{right:0!important}}.p-select,.p-datepicker-input,.p-inputtext,.p-inputnumber-input,.p-multiselect,.p-textarea{min-height:var(--input-height)!important;border:var(--input-border)!important;border-radius:var(--input-radius)!important;background:var(--input-bg)!important;color:var(--input-fg)!important;font:var(--font-body)!important;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.p-select,.p-multiselect{display:inline-flex;align-items:center}.p-select,.p-multiselect,.p-datepicker-input,.p-inputtext,.p-inputnumber-input{height:var(--input-height)!important}.p-datepicker-input,.p-inputtext,.p-inputnumber-input,.p-textarea{padding:var(--input-padding)!important}.p-iconfield .p-inputtext:not(:first-child),.p-iconfield .p-inputwrapper:not(:first-child) .p-inputtext{padding-inline-start:2.35rem!important}.p-iconfield .p-inputtext:not(:last-child){padding-inline-end:2.35rem!important}.p-select-label,.p-multiselect-label{flex:1 1 auto;min-width:0;padding:var(--input-padding)!important;color:var(--input-fg)!important;font:var(--font-body)!important;display:flex;align-items:center}.p-select-dropdown,.p-multiselect-dropdown{flex:0 0 auto;width:var(--input-height);color:var(--color-text-muted)}.p-datepicker{display:inline-flex;align-items:stretch;width:12rem;min-width:12rem}.p-datepicker-input{flex:1 1 0;width:auto!important;min-width:0}.p-datepicker-dropdown{width:var(--input-height);min-width:var(--input-height);border:var(--input-border)!important;border-radius:var(--input-radius)!important;border-left:0!important;background:var(--color-surface-raised)!important;color:var(--color-text-muted)!important}.p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-input{border-right:0!important;border-radius:var(--input-radius) 0 0 var(--input-radius)!important}.p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-dropdown{flex:0 0 var(--input-height);border-radius:0 var(--input-radius) var(--input-radius) 0!important}.p-datepicker:has(.p-datepicker-dropdown):focus-within{border-radius:var(--input-radius);box-shadow:var(--input-focus-ring)}.p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-input:focus{box-shadow:none!important}.field>p-select,.field>p-datepicker,.field>p-inputnumber,.field>p-multiselect,.form-field>p-select,.form-field>p-datepicker,.form-field>p-inputnumber,.form-field>p-multiselect{display:inline-flex;align-items:stretch;width:100%;min-width:0}.field .p-select,.field .p-datepicker,.field .p-inputnumber,.field .p-inputnumber-input,.field .p-multiselect,.form-field .p-select,.form-field .p-datepicker,.form-field .p-inputnumber,.form-field .p-inputnumber-input,.form-field .p-multiselect{width:100%!important;min-width:0}.p-select-placeholder,.p-multiselect-placeholder,.p-datepicker-input::placeholder,.p-inputtext::placeholder{color:var(--input-placeholder)!important}.p-select.p-disabled,.p-multiselect.p-disabled,.p-inputtext:disabled,.p-datepicker-input:disabled,.p-inputnumber-input:disabled,.p-textarea:disabled{background:var(--input-disabled-bg)!important;color:var(--input-disabled-fg)!important;opacity:1}.p-select:not(.p-disabled):hover,.p-multiselect:not(.p-disabled):hover,.p-inputtext:enabled:hover,.p-datepicker-input:enabled:hover,.p-inputnumber-input:enabled:hover,.p-textarea:enabled:hover{border-color:var(--color-border-strong)!important}.p-select:not(.p-disabled).p-focus,.p-multiselect:not(.p-disabled).p-focus,.p-inputtext:enabled:focus,.p-datepicker-input:enabled:focus,.p-inputnumber-input:enabled:focus,.p-textarea:enabled:focus{border-color:var(--input-focus-border)!important;box-shadow:var(--input-focus-ring)!important;outline:none}.p-select.p-invalid,.p-select.ng-invalid.ng-touched,.p-multiselect.p-invalid,.p-multiselect.ng-invalid.ng-touched,.p-inputtext.ng-invalid.ng-touched,.p-datepicker-input.ng-invalid.ng-touched,.p-inputnumber-input.ng-invalid.ng-touched,.p-textarea.ng-invalid.ng-touched{border-color:var(--color-danger)!important}.p-datepicker:has(.p-datepicker-input.ng-invalid.ng-touched) .p-datepicker-dropdown{border-color:var(--color-danger)!important}.p-select-overlay,.p-multiselect-overlay,.p-datepicker-panel{border:var(--input-border)!important;border-radius:var(--input-radius)!important;background:var(--color-surface)!important;box-shadow:var(--shadow-menu, var(--shadow-card))!important;color:var(--color-text);font:var(--font-body)}.p-select-header,.p-select-list-container,.p-select-list,.p-multiselect-header,.p-multiselect-list-container,.p-multiselect-list,.p-datepicker-header,.p-datepicker-calendar-container,.p-datepicker-month-view,.p-datepicker-year-view{background:var(--color-surface)!important;color:var(--color-text)!important}.p-select-option,.p-multiselect-option,.p-select-option-group,.p-select-option-group-label{background:transparent!important;color:var(--color-text)!important}.p-select-overlay,.p-multiselect-overlay,.p-datepicker-panel,.p-autocomplete-overlay,.p-menu.p-component,.p-popover{z-index:1400!important}.p-select-option,.p-multiselect-option,.p-datepicker-day{color:var(--color-text)}.p-select-option,.p-multiselect-option{padding:.55rem .75rem;font:var(--font-body)}.p-select-option:not(.p-select-option-selected):hover,.p-multiselect-option:not(.p-multiselect-option-selected):hover,.p-datepicker-day:not(.p-datepicker-day-selected):hover{background:var(--color-hover)!important}.p-select-option.p-select-option-selected,.p-multiselect-option.p-multiselect-option-selected,.p-datepicker-day.p-datepicker-day-selected{background:var(--color-primary-light)!important;color:var(--color-primary)!important}.app-filter-select{width:auto;min-width:210px;max-width:340px;flex:0 1 auto}.app-filter-select .p-select-label{font:var(--font-body)}.table-card__header-right .table-search{min-width:200px}.p-paginator{display:flex;align-items:stretch;flex-wrap:wrap;min-height:44px;padding:0;border-top:1px solid var(--table-border);background:var(--color-surface);font:var(--font-meta);color:var(--color-text-muted)}.p-paginator:before{content:"Items per page:";order:1;display:flex;align-items:center;padding:0 .55rem 0 .9rem;white-space:nowrap;color:var(--color-text-muted)}.p-paginator-rpp-dropdown{order:2;align-self:center;min-width:68px}.p-paginator-current{order:3;display:flex;align-items:center;margin-right:auto;padding:0 1rem;border-left:1px solid var(--table-border);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.p-paginator-first{order:4;border-left:1px solid var(--table-border)}.p-paginator-prev{order:5;border-left:1px solid var(--table-border)}.p-paginator-next{order:6}.p-paginator-last{order:7}.p-paginator:has(.p-paginator-first) .p-paginator-prev{border-left:0}.p-paginator-first,.p-paginator-prev,.p-paginator-next,.p-paginator-last{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;width:44px;min-width:44px;margin:0;padding:0;border-top:0;border-bottom:0;border-right:0;border-radius:0!important;background:transparent;color:var(--color-text);cursor:pointer;transition:background .15s ease,color .15s ease}.p-paginator-first:not(.p-disabled):hover,.p-paginator-prev:not(.p-disabled):hover,.p-paginator-next:not(.p-disabled):hover,.p-paginator-last:not(.p-disabled):hover{background:var(--color-hover);color:var(--color-primary)}.p-paginator-first:focus-visible,.p-paginator-prev:focus-visible,.p-paginator-next:focus-visible,.p-paginator-last:focus-visible{outline:none;box-shadow:var(--input-focus-ring);z-index:1}.p-paginator-first.p-disabled,.p-paginator-prev.p-disabled,.p-paginator-next.p-disabled,.p-paginator-last.p-disabled{opacity:.35;cursor:not-allowed}.p-paginator .p-select{min-height:32px!important;height:32px!important;border:1px solid var(--color-border)!important;background:var(--color-surface)!important}.p-paginator .p-select .p-select-label{padding:.3rem .5rem!important;font:var(--font-meta)}.p-paginator-pages,.p-paginator-jtp-input{display:none}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url("./media/material-symbols-rounded-H77VXS6W.woff2") format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:primeicons;font-display:block;src:url("./media/primeicons-RSSEDYLY.eot");src:url("./media/primeicons-RSSEDYLY.eot?#iefix") format("embedded-opentype"),url("./media/primeicons-4GST5W3O.woff2") format("woff2"),url("./media/primeicons-P53SE5CV.woff") format("woff"),url("./media/primeicons-GEFHGEHP.ttf") format("truetype"),url("./media/primeicons-DHQU4SEP.svg?#primeicons") format("svg");font-weight:400;font-style:normal}.pi{font-family:primeicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi:before{--webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{width:1.28571429em;text-align:center}.pi-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@media(prefers-reduced-motion:reduce){.pi-spin{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.pi-folder-plus:before{content:"\ea05"}.pi-receipt:before{content:"\ea06"}.pi-asterisk:before{content:"\ea07"}.pi-face-smile:before{content:"\ea08"}.pi-pinterest:before{content:"\ea09"}.pi-expand:before{content:"\ea0a"}.pi-pen-to-square:before{content:"\ea0b"}.pi-wave-pulse:before{content:"\ea0c"}.pi-turkish-lira:before{content:"\ea0d"}.pi-spinner-dotted:before{content:"\ea0e"}.pi-crown:before{content:"\ea0f"}.pi-pause-circle:before{content:"\ea10"}.pi-warehouse:before{content:"\ea11"}.pi-objects-column:before{content:"\ea12"}.pi-clipboard:before{content:"\ea13"}.pi-play-circle:before{content:"\ea14"}.pi-venus:before{content:"\ea15"}.pi-cart-minus:before{content:"\ea16"}.pi-file-plus:before{content:"\ea17"}.pi-microchip:before{content:"\ea18"}.pi-twitch:before{content:"\ea19"}.pi-building-columns:before{content:"\ea1a"}.pi-file-check:before{content:"\ea1b"}.pi-microchip-ai:before{content:"\ea1c"}.pi-trophy:before{content:"\ea1d"}.pi-barcode:before{content:"\ea1e"}.pi-file-arrow-up:before{content:"\ea1f"}.pi-mars:before{content:"\ea20"}.pi-tiktok:before{content:"\ea21"}.pi-arrow-up-right-and-arrow-down-left-from-center:before{content:"\ea22"}.pi-ethereum:before{content:"\ea23"}.pi-list-check:before{content:"\ea24"}.pi-thumbtack:before{content:"\ea25"}.pi-arrow-down-left-and-arrow-up-right-to-center:before{content:"\ea26"}.pi-equals:before{content:"\ea27"}.pi-lightbulb:before{content:"\ea28"}.pi-star-half:before{content:"\ea29"}.pi-address-book:before{content:"\ea2a"}.pi-chart-scatter:before{content:"\ea2b"}.pi-indian-rupee:before{content:"\ea2c"}.pi-star-half-fill:before{content:"\ea2d"}.pi-cart-arrow-down:before{content:"\ea2e"}.pi-calendar-clock:before{content:"\ea2f"}.pi-sort-up-fill:before{content:"\ea30"}.pi-sparkles:before{content:"\ea31"}.pi-bullseye:before{content:"\ea32"}.pi-sort-down-fill:before{content:"\ea33"}.pi-graduation-cap:before{content:"\ea34"}.pi-hammer:before{content:"\ea35"}.pi-bell-slash:before{content:"\ea36"}.pi-gauge:before{content:"\ea37"}.pi-shop:before{content:"\ea38"}.pi-headphones:before{content:"\ea39"}.pi-eraser:before{content:"\ea04"}.pi-stopwatch:before{content:"\ea01"}.pi-verified:before{content:"\ea02"}.pi-delete-left:before{content:"\ea03"}.pi-hourglass:before{content:"\e9fe"}.pi-truck:before{content:"\ea00"}.pi-wrench:before{content:"\e9ff"}.pi-microphone:before{content:"\e9fa"}.pi-megaphone:before{content:"\e9fb"}.pi-arrow-right-arrow-left:before{content:"\e9fc"}.pi-bitcoin:before{content:"\e9fd"}.pi-file-edit:before{content:"\e9f6"}.pi-language:before{content:"\e9f7"}.pi-file-export:before{content:"\e9f8"}.pi-file-import:before{content:"\e9f9"}.pi-file-word:before{content:"\e9f1"}.pi-gift:before{content:"\e9f2"}.pi-cart-plus:before{content:"\e9f3"}.pi-thumbs-down-fill:before{content:"\e9f4"}.pi-thumbs-up-fill:before{content:"\e9f5"}.pi-arrows-alt:before{content:"\e9f0"}.pi-calculator:before{content:"\e9ef"}.pi-sort-alt-slash:before{content:"\e9ee"}.pi-arrows-h:before{content:"\e9ec"}.pi-arrows-v:before{content:"\e9ed"}.pi-pound:before{content:"\e9eb"}.pi-prime:before{content:"\e9ea"}.pi-chart-pie:before{content:"\e9e9"}.pi-reddit:before{content:"\e9e8"}.pi-code:before{content:"\e9e7"}.pi-sync:before{content:"\e9e6"}.pi-shopping-bag:before{content:"\e9e5"}.pi-server:before{content:"\e9e4"}.pi-database:before{content:"\e9e3"}.pi-hashtag:before{content:"\e9e2"}.pi-bookmark-fill:before{content:"\e9df"}.pi-filter-fill:before{content:"\e9e0"}.pi-heart-fill:before{content:"\e9e1"}.pi-flag-fill:before{content:"\e9de"}.pi-circle:before{content:"\e9dc"}.pi-circle-fill:before{content:"\e9dd"}.pi-bolt:before{content:"\e9db"}.pi-history:before{content:"\e9da"}.pi-box:before{content:"\e9d9"}.pi-at:before{content:"\e9d8"}.pi-arrow-up-right:before{content:"\e9d4"}.pi-arrow-up-left:before{content:"\e9d5"}.pi-arrow-down-left:before{content:"\e9d6"}.pi-arrow-down-right:before{content:"\e9d7"}.pi-telegram:before{content:"\e9d3"}.pi-stop-circle:before{content:"\e9d2"}.pi-stop:before{content:"\e9d1"}.pi-whatsapp:before{content:"\e9d0"}.pi-building:before{content:"\e9cf"}.pi-qrcode:before{content:"\e9ce"}.pi-car:before{content:"\e9cd"}.pi-instagram:before{content:"\e9cc"}.pi-linkedin:before{content:"\e9cb"}.pi-send:before{content:"\e9ca"}.pi-slack:before{content:"\e9c9"}.pi-sun:before{content:"\e9c8"}.pi-moon:before{content:"\e9c7"}.pi-vimeo:before{content:"\e9c6"}.pi-youtube:before{content:"\e9c5"}.pi-flag:before{content:"\e9c4"}.pi-wallet:before{content:"\e9c3"}.pi-map:before{content:"\e9c2"}.pi-link:before{content:"\e9c1"}.pi-credit-card:before{content:"\e9bf"}.pi-discord:before{content:"\e9c0"}.pi-percentage:before{content:"\e9be"}.pi-euro:before{content:"\e9bd"}.pi-book:before{content:"\e9ba"}.pi-shield:before{content:"\e9b9"}.pi-paypal:before{content:"\e9bb"}.pi-amazon:before{content:"\e9bc"}.pi-phone:before{content:"\e9b8"}.pi-filter-slash:before{content:"\e9b7"}.pi-facebook:before{content:"\e9b4"}.pi-github:before{content:"\e9b5"}.pi-twitter:before{content:"\e9b6"}.pi-step-backward-alt:before{content:"\e9ac"}.pi-step-forward-alt:before{content:"\e9ad"}.pi-forward:before{content:"\e9ae"}.pi-backward:before{content:"\e9af"}.pi-fast-backward:before{content:"\e9b0"}.pi-fast-forward:before{content:"\e9b1"}.pi-pause:before{content:"\e9b2"}.pi-play:before{content:"\e9b3"}.pi-compass:before{content:"\e9ab"}.pi-id-card:before{content:"\e9aa"}.pi-ticket:before{content:"\e9a9"}.pi-file-o:before{content:"\e9a8"}.pi-reply:before{content:"\e9a7"}.pi-directions-alt:before{content:"\e9a5"}.pi-directions:before{content:"\e9a6"}.pi-thumbs-up:before{content:"\e9a3"}.pi-thumbs-down:before{content:"\e9a4"}.pi-sort-numeric-down-alt:before{content:"\e996"}.pi-sort-numeric-up-alt:before{content:"\e997"}.pi-sort-alpha-down-alt:before{content:"\e998"}.pi-sort-alpha-up-alt:before{content:"\e999"}.pi-sort-numeric-down:before{content:"\e99a"}.pi-sort-numeric-up:before{content:"\e99b"}.pi-sort-alpha-down:before{content:"\e99c"}.pi-sort-alpha-up:before{content:"\e99d"}.pi-sort-alt:before{content:"\e99e"}.pi-sort-amount-up:before{content:"\e99f"}.pi-sort-amount-down:before{content:"\e9a0"}.pi-sort-amount-down-alt:before{content:"\e9a1"}.pi-sort-amount-up-alt:before{content:"\e9a2"}.pi-palette:before{content:"\e995"}.pi-undo:before{content:"\e994"}.pi-desktop:before{content:"\e993"}.pi-sliders-v:before{content:"\e991"}.pi-sliders-h:before{content:"\e992"}.pi-search-plus:before{content:"\e98f"}.pi-search-minus:before{content:"\e990"}.pi-file-excel:before{content:"\e98e"}.pi-file-pdf:before{content:"\e98d"}.pi-check-square:before{content:"\e98c"}.pi-chart-line:before{content:"\e98b"}.pi-user-edit:before{content:"\e98a"}.pi-exclamation-circle:before{content:"\e989"}.pi-android:before{content:"\e985"}.pi-google:before{content:"\e986"}.pi-apple:before{content:"\e987"}.pi-microsoft:before{content:"\e988"}.pi-heart:before{content:"\e984"}.pi-mobile:before{content:"\e982"}.pi-tablet:before{content:"\e983"}.pi-key:before{content:"\e981"}.pi-shopping-cart:before{content:"\e980"}.pi-comments:before{content:"\e97e"}.pi-comment:before{content:"\e97f"}.pi-briefcase:before{content:"\e97d"}.pi-bell:before{content:"\e97c"}.pi-paperclip:before{content:"\e97b"}.pi-share-alt:before{content:"\e97a"}.pi-envelope:before{content:"\e979"}.pi-volume-down:before{content:"\e976"}.pi-volume-up:before{content:"\e977"}.pi-volume-off:before{content:"\e978"}.pi-eject:before{content:"\e975"}.pi-money-bill:before{content:"\e974"}.pi-images:before{content:"\e973"}.pi-image:before{content:"\e972"}.pi-sign-in:before{content:"\e970"}.pi-sign-out:before{content:"\e971"}.pi-wifi:before{content:"\e96f"}.pi-sitemap:before{content:"\e96e"}.pi-chart-bar:before{content:"\e96d"}.pi-camera:before{content:"\e96c"}.pi-dollar:before{content:"\e96b"}.pi-lock-open:before{content:"\e96a"}.pi-table:before{content:"\e969"}.pi-map-marker:before{content:"\e968"}.pi-list:before{content:"\e967"}.pi-eye-slash:before{content:"\e965"}.pi-eye:before{content:"\e966"}.pi-folder-open:before{content:"\e964"}.pi-folder:before{content:"\e963"}.pi-video:before{content:"\e962"}.pi-inbox:before{content:"\e961"}.pi-lock:before{content:"\e95f"}.pi-unlock:before{content:"\e960"}.pi-tags:before{content:"\e95d"}.pi-tag:before{content:"\e95e"}.pi-power-off:before{content:"\e95c"}.pi-save:before{content:"\e95b"}.pi-question-circle:before{content:"\e959"}.pi-question:before{content:"\e95a"}.pi-copy:before{content:"\e957"}.pi-file:before{content:"\e958"}.pi-clone:before{content:"\e955"}.pi-calendar-times:before{content:"\e952"}.pi-calendar-minus:before{content:"\e953"}.pi-calendar-plus:before{content:"\e954"}.pi-ellipsis-v:before{content:"\e950"}.pi-ellipsis-h:before{content:"\e951"}.pi-bookmark:before{content:"\e94e"}.pi-globe:before{content:"\e94f"}.pi-replay:before{content:"\e94d"}.pi-filter:before{content:"\e94c"}.pi-print:before{content:"\e94b"}.pi-align-right:before{content:"\e946"}.pi-align-left:before{content:"\e947"}.pi-align-center:before{content:"\e948"}.pi-align-justify:before{content:"\e949"}.pi-cog:before{content:"\e94a"}.pi-cloud-download:before{content:"\e943"}.pi-cloud-upload:before{content:"\e944"}.pi-cloud:before{content:"\e945"}.pi-pencil:before{content:"\e942"}.pi-users:before{content:"\e941"}.pi-clock:before{content:"\e940"}.pi-user-minus:before{content:"\e93e"}.pi-user-plus:before{content:"\e93f"}.pi-trash:before{content:"\e93d"}.pi-external-link:before{content:"\e93c"}.pi-window-maximize:before{content:"\e93b"}.pi-window-minimize:before{content:"\e93a"}.pi-refresh:before{content:"\e938"}.pi-user:before{content:"\e939"}.pi-exclamation-triangle:before{content:"\e922"}.pi-calendar:before{content:"\e927"}.pi-chevron-circle-left:before{content:"\e928"}.pi-chevron-circle-down:before{content:"\e929"}.pi-chevron-circle-right:before{content:"\e92a"}.pi-chevron-circle-up:before{content:"\e92b"}.pi-angle-double-down:before{content:"\e92c"}.pi-angle-double-left:before{content:"\e92d"}.pi-angle-double-right:before{content:"\e92e"}.pi-angle-double-up:before{content:"\e92f"}.pi-angle-down:before{content:"\e930"}.pi-angle-left:before{content:"\e931"}.pi-angle-right:before{content:"\e932"}.pi-angle-up:before{content:"\e933"}.pi-upload:before{content:"\e934"}.pi-download:before{content:"\e956"}.pi-ban:before{content:"\e935"}.pi-star-fill:before{content:"\e936"}.pi-star:before{content:"\e937"}.pi-chevron-left:before{content:"\e900"}.pi-chevron-right:before{content:"\e901"}.pi-chevron-down:before{content:"\e902"}.pi-chevron-up:before{content:"\e903"}.pi-caret-left:before{content:"\e904"}.pi-caret-right:before{content:"\e905"}.pi-caret-down:before{content:"\e906"}.pi-caret-up:before{content:"\e907"}.pi-search:before{content:"\e908"}.pi-check:before{content:"\e909"}.pi-check-circle:before{content:"\e90a"}.pi-times:before{content:"\e90b"}.pi-times-circle:before{content:"\e90c"}.pi-plus:before{content:"\e90d"}.pi-plus-circle:before{content:"\e90e"}.pi-minus:before{content:"\e90f"}.pi-minus-circle:before{content:"\e910"}.pi-circle-on:before{content:"\e911"}.pi-circle-off:before{content:"\e912"}.pi-sort-down:before{content:"\e913"}.pi-sort-up:before{content:"\e914"}.pi-sort:before{content:"\e915"}.pi-step-backward:before{content:"\e916"}.pi-step-forward:before{content:"\e917"}.pi-th-large:before{content:"\e918"}.pi-arrow-down:before{content:"\e919"}.pi-arrow-left:before{content:"\e91a"}.pi-arrow-right:before{content:"\e91b"}.pi-arrow-up:before{content:"\e91c"}.pi-bars:before{content:"\e91d"}.pi-arrow-circle-down:before{content:"\e91e"}.pi-arrow-circle-left:before{content:"\e91f"}.pi-arrow-circle-right:before{content:"\e920"}.pi-arrow-circle-up:before{content:"\e921"}.pi-info:before{content:"\e923"}.pi-info-circle:before{content:"\e924"}.pi-home:before{content:"\e925"}.pi-spinner:before{content:"\e926"}:root,[data-theme=light]{color-scheme:light;--color-primary: #566273;--color-primary-dark: #3f4a5a;--color-primary-light: #eef1f4;--color-accent: #7b8796;--color-accent-dark: #5f6b7a;--color-accent-light: #f0f2f4;--color-accent-surface: #667384;--color-accent-surface-hover: #566273;--color-on-accent: #ffffff;--color-primary-surface: var(--color-primary);--color-primary-surface-hover: var(--color-primary-dark);--color-on-primary: var(--color-white);--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-raised: #f2f4f6;--color-hover: #f4f6f8;--color-border: #e3e6ea;--color-border-strong: #b8c0c9;--color-text: #28313b;--color-text-muted: #6b7582;--color-white: #ffffff;--color-success: #059669;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-success-text: #065f46;--color-warning: #ea580c;--color-warning-bg: #fff7ed;--color-warning-border: #fed7aa;--color-warning-text: #9a3412;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-danger-text: #b91c1c;--color-info: #2563a6;--color-info-bg: #edf5fc;--color-info-border: #bfdbfe;--color-info-text: #1f4f7f;--color-violet: #4f46e5;--color-gold: #d97706;--color-slate: #475569;--color-pink: #db2777;--color-shell: #f7f8fa;--color-header-bg: #ffffff;--color-shell-border: #dfe3e8;--color-shell-text: #28313b;--color-shell-text-muted: #687382;--color-shell-accent: #e9edf1;--color-menu-surface: #ffffff;--color-menu-surface-muted: #f7f8fa;--color-menu-border: #e3e6ea;--color-menu-divider: #eceef0;--color-menu-text: #28313b;--color-menu-text-muted: #6b7582;--color-menu-text-subtle: #929a9e;--color-menu-hover: #f4f6f8;--color-menu-active: #eef1f4;--color-menu-accent: #566273;--color-menu-bubble: #f2f4f6;--color-menu-bubble-mine-fill: #667384;--color-menu-on-bubble-mine: #ffffff;--color-menu-input-bg: #ffffff;--color-menu-input-border: #cbd0d6;--color-menu-backdrop: var(--scrim);--color-login-bg: #f7f8fa;--color-login-card: #ffffff;--color-login-header: #f2f4f6;--color-login-input-bg: #f8f9fa;--color-login-input-border: #dfe3e8;--logo-filter: none;--color-chart-tip-bg: #1f2933;--color-chart-tip-border: rgba(255, 255, 255, .12);--color-chart-tip-fg: #ffffff;--color-chart-tip-fg-muted: rgba(255, 255, 255, .68);--shadow-card: 0 1px 2px rgba(17, 24, 39, .04), 0 6px 18px rgba(17, 24, 39, .04);--shadow-sm: 0 1px 2px rgba(17, 24, 39, .08);--shadow-menu: 0 18px 42px rgba(17, 24, 39, .18);--shadow-login: 0 24px 64px rgba(17, 24, 39, .14);--radius-card: 10px;--radius-button: 7px;--app-header-offset: 100px}[data-theme=dark]{color-scheme:dark;--color-primary: #c0c8d2;--color-primary-dark: #e2e8f0;--color-primary-light: #262d35;--color-accent: #aeb7c2;--color-accent-dark: #d5dae0;--color-accent-light: #262d35;--color-accent-surface: #374151;--color-accent-surface-hover: #4b5563;--color-on-accent: #ffffff;--color-primary-surface: #374151;--color-primary-surface-hover: #4b5563;--color-on-primary: #ffffff;--color-bg: #111315;--color-surface: #191c20;--color-surface-raised: #22262b;--color-hover: #262b31;--color-border: #343a42;--color-border-strong: #4b535d;--color-text: #f1f3f5;--color-text-muted: #9ca3ad;--color-white: #ffffff;--color-success: #34d399;--color-success-bg: #0f2a22;--color-success-border: #166534;--color-success-text: #6ee7b7;--color-warning: #fb923c;--color-warning-bg: #2a1d12;--color-warning-border: #9a3412;--color-warning-text: #fdba74;--color-danger: #f87171;--color-danger-bg: #2a1515;--color-danger-border: #991b1b;--color-danger-text: #fca5a5;--color-info: #73aee8;--color-info-bg: #172a3a;--color-info-border: #2c5272;--color-info-text: #a8cff2;--color-violet: #818cf8;--color-gold: #fbbf24;--color-slate: #94a3b8;--color-pink: #f472b6;--color-shell: #0d0f12;--color-header-bg: #0d0f12;--color-shell-border: rgba(255, 255, 255, .08);--color-shell-text: #eef7f4;--color-shell-text-muted: rgba(238, 247, 244, .72);--color-shell-accent: rgba(255, 255, 255, .08);--color-menu-surface: #191c20;--color-menu-surface-muted: #14171a;--color-menu-border: #343a42;--color-menu-divider: #2b3036;--color-menu-text: #f1f3f5;--color-menu-text-muted: #9ca3ad;--color-menu-text-subtle: #76858a;--color-menu-hover: #262b31;--color-menu-active: #262d35;--color-menu-accent: #c0c8d2;--color-menu-bubble: #262b31;--color-menu-bubble-mine-fill: #374151;--color-menu-on-bubble-mine: #ffffff;--color-menu-input-bg: #14171a;--color-menu-input-border: #4b535d;--color-menu-backdrop: var(--scrim);--scrim: rgba(0, 0, 0, .6);--scrim-strong: rgba(0, 0, 0, .78);--color-login-bg: #111315;--color-login-card: #191c20;--color-login-header: #0d0f12;--color-login-input-bg: #14171a;--color-login-input-border: #343a42;--logo-filter: brightness(0) invert(1);--color-chart-tip-bg: #f2f5f8;--color-chart-tip-border: rgba(0, 0, 0, .1);--color-chart-tip-fg: #10171d;--color-chart-tip-fg-muted: rgba(16, 23, 29, .64);--shadow-card: 0 10px 28px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-menu: 0 18px 42px rgba(0, 0, 0, .45);--shadow-login: 0 24px 64px rgba(0, 0, 0, .42);--input-focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 48%, transparent)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0}[data-theme=dark] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea{color:var(--color-text);background-color:var(--color-surface);border-color:var(--color-border)}button,input,select,textarea{font-family:inherit}:where(.btn,.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.link-btn,.toolbar-btn,.icon-btn,.retry-btn,.clear-filters,.row-action-btn,.page-tab,.page-btn,.table-pagination__btn,.modal__close,.dialog__close,.drawer__close):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ms-icon,.material-symbols-rounded{display:inline-flex;align-items:center;justify-content:center;font-family:Material Symbols Rounded;font-size:20px;font-style:normal;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.ms-icon--filled{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.fade-in{animation:fade-in .25s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}.skeleton{position:relative;overflow:hidden;border-radius:var(--skeleton-radius);background:var(--color-surface-raised)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0,var(--color-hover) 50%,transparent 100%);animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton--text{height:.85rem;border-radius:var(--skeleton-radius-text)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}
