:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--color-primary: #4caf50;--color-primary-hover: #45a049;--color-background: #1a1a1a;--color-background-light: #333;--color-text: rgba(255, 255, 255, .9);--color-text-secondary: rgba(255, 255, 255, .7);--color-border: #444;--color-error-text: #f44336;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .3);color-scheme:dark;color:var(--color-text);background-color:var(--color-background)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-background);color:var(--color-text)}a{color:inherit}.skeleton{background-color:var(--color-background-medium);display:block}.skeleton--shimmer{background:linear-gradient(90deg,var(--color-background-medium) 0%,var(--color-background-light) 50%,var(--color-background-medium) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton--text{height:1em;width:100%;border-radius:var(--border-radius-sm)}.skeleton--circular{border-radius:var(--border-radius-circle)}.skeleton--rectangular{border-radius:0}.skeleton--rounded{border-radius:var(--border-radius-md)}.skeleton-lines{display:flex;flex-direction:column;gap:var(--space-xs)}@media(prefers-reduced-motion:reduce){.skeleton--shimmer,.skeleton--pulse{animation:none}}.loading-spinner{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;gap:var(--space-md);padding:var(--space-lg)}.loading-spinner__bar{width:200px}.loading-spinner__text{color:var(--color-text-secondary);font-size:.9rem}.table-container{background:var(--color-background);border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.reusable-table{width:100%;border-collapse:collapse;background:var(--color-background);color:var(--color-text)}.reusable-table th{background:var(--color-background-light);color:var(--color-text);font-weight:600;padding:var(--space-md);text-align:left;border-bottom:2px solid var(--color-border-light);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.reusable-table td{padding:var(--space-md);border-bottom:1px solid var(--color-background-light);vertical-align:middle;color:var(--color-text-secondary)}.reusable-table tbody tr:hover{background:var(--color-background-medium);transition:background-color .2s ease}.reusable-table tbody tr:last-child td{border-bottom:none}.table-container:not(:has(.table-footer)) .reusable-table tbody tr:last-child td{border-bottom:1px solid var(--color-border)}.table-footer{padding:var(--space-md);background:var(--color-background-light);color:var(--color-text-secondary);font-size:.85rem;text-align:center;border-top:1px solid var(--color-border-light);font-weight:500}.table-loading-text,.table-error-text,.table-empty-text{padding:var(--space-lg);text-align:center;color:var(--color-text-secondary);font-style:italic}.table-error-text{color:var(--color-error-text)}.table-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.action-button{padding:.25rem .5rem;border-radius:var(--border-radius-sm);border:1px solid transparent;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.action-button.edit{background-color:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.action-button.edit:hover{background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.action-button.remove{background-color:var(--color-cancel);color:#fff;border-color:var(--color-cancel)}.action-button.remove:hover{background-color:var(--color-cancel-hover);border-color:var(--color-cancel-hover)}.action-button.promote{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.action-button.promote:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.action-button.demote{background-color:var(--color-maybe);color:#fff;border-color:var(--color-maybe)}.action-button.demote:hover{background-color:var(--color-maybe-hover);border-color:var(--color-maybe-hover)}@media(max-width:768px){.reusable-table{font-size:.9rem}.reusable-table th,.reusable-table td{padding:var(--space-sm)}.reusable-table th.hide-mobile,.reusable-table td.hide-mobile{display:none}.table-actions{flex-direction:column;gap:.25rem}.action-button{font-size:.7rem;padding:.2rem .4rem}}@media(max-width:480px){.reusable-table th.hide-small,.reusable-table td.hide-small{display:none}}.ui-button-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.ui-button-wrapper:has(.ui-button--full-width){width:100%;display:flex}.ui-button-wrapper .ui-button--full-width{width:100%}.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;min-height:44px;white-space:nowrap}.ui-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button:focus,.ui-button:focus-visible{outline:4px auto -webkit-focus-ring-color}.ui-button--primary{background-color:var(--color-primary);color:#fff}.ui-button--primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.ui-button--secondary{background-color:var(--color-secondary);color:#fff}.ui-button--secondary:hover:not(:disabled){background-color:var(--color-secondary-hover)}.ui-button--accept{background-color:var(--color-primary);color:#fff}.ui-button--accept:hover:not(:disabled){background-color:var(--color-primary-hover)}.ui-button--cancel{background-color:var(--color-cancel);color:#fff}.ui-button--cancel:hover:not(:disabled){background-color:var(--color-cancel-hover)}.ui-button--maybe{background-color:var(--color-maybe);color:#fff}.ui-button--maybe:hover:not(:disabled){background-color:var(--color-maybe-hover)}.ui-button--sm{padding:calc(var(--space-sm) * .75) var(--space-sm);font-size:.875rem;min-height:36px}.ui-button--md{padding:var(--space-sm) var(--space-md);font-size:1rem;min-height:44px}.ui-button--lg{padding:calc(var(--space-sm) * 1.25) calc(var(--space-md) * 1.25);font-size:1.125rem;min-height:52px}.ui-button--full-width{width:100%}.ui-button--with-counter{padding-right:calc(var(--space-md) + var(--space-xs))}.ui-button__counter{position:absolute;top:-6px;right:-6px;background-color:var(--color-cancel);color:#fff;border-radius:50%;min-width:20px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;line-height:1;box-shadow:0 2px 6px #0000004d;border:2px solid var(--color-background);flex-shrink:0;text-align:center;white-space:nowrap}.ui-button__counter[data-large]{min-width:22px;width:22px;height:22px;font-size:.6rem;top:-7px;right:-7px}@media(max-width:768px){.ui-button{min-height:44px;padding:var(--space-sm) var(--space-md);font-size:1rem}.ui-button--sm{min-height:40px;padding:calc(var(--space-sm) * .75) var(--space-sm);font-size:.875rem}.ui-button--lg{min-height:48px;padding:calc(var(--space-sm) * 1.25) calc(var(--space-md) * 1.25);font-size:1.125rem}}@media(max-width:480px){.ui-button{min-height:48px;padding:var(--space-sm) var(--space-sm);font-size:.95rem}.ui-button--sm{min-height:44px;padding:calc(var(--space-sm) * .75) calc(var(--space-sm) * .75);font-size:.875rem}.ui-button--lg{min-height:52px;padding:calc(var(--space-sm) * 1.25) var(--space-md);font-size:1.05rem}}.ui-button--loading{position:relative;pointer-events:auto}.ui-button--success{background-color:var(--color-primary)}.ui-button--success:hover:not(:disabled){background-color:var(--color-primary-hover)}.ui-button--error{background-color:var(--color-cancel)}.ui-button--error:hover:not(:disabled){background-color:var(--color-cancel-hover)}.ui-button__spinner{display:inline-block;width:1em;height:1em;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ui-button-spin .6s linear infinite;margin-right:var(--space-xs);flex-shrink:0}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-button__icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--space-xs);font-weight:700;flex-shrink:0}.ui-button__icon--success,.ui-button__icon--error{color:#fff;font-size:1.1em}.ui-button__cancel{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background-color:var(--color-cancel);color:#fff;border:2px solid var(--color-background);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;font-weight:700;transition:background-color .2s,transform .1s;padding:0;line-height:1;box-shadow:0 2px 6px #0000004d}.ui-button__cancel:hover{background-color:var(--color-cancel-hover);transform:scale(1.1)}.ui-button__cancel:active{transform:scale(.95)}.ui-button__cancel:focus-visible,.ui-button__cancel:focus{outline:2px solid var(--color-focus, #ffffff);outline-offset:2px}.ui-button__content{display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.odata-table-wrapper{width:100%}.odata-table-sort-header{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:0;text-align:left;transition:color .2s;width:100%}.odata-table-sort-header:hover{color:var(--color-primary)}.odata-table-sort-header:focus{outline:2px solid var(--color-primary);outline-offset:2px}.sort-indicator{font-size:.8em;margin-left:.25rem}.odata-table-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.pagination-info{font-size:.9rem;color:var(--color-text-secondary)}.pagination-controls{display:flex;align-items:center;gap:var(--space-xs)}.page-indicator{margin:0 var(--space-sm);font-size:.9rem;color:var(--color-text);white-space:nowrap}@media(max-width:768px){.odata-table-pagination{justify-content:center;text-align:center}.pagination-info{width:100%;margin-bottom:var(--space-xs)}.pagination-controls{width:100%;justify-content:center;gap:var(--space-sm)}.page-indicator{font-size:.85rem;margin:0 var(--space-xs)}.pagination-controls .pagination-first,.pagination-controls .pagination-last{display:none}.pagination-controls .pagination-prev,.pagination-controls .pagination-next{min-height:48px;padding:var(--space-sm) calc(var(--space-md) * 1.25);font-size:1.125rem}}@media(max-width:480px){.pagination-controls{gap:var(--space-xs)}.page-indicator{font-size:.8rem;margin:0 var(--space-xs)}.pagination-controls .pagination-prev,.pagination-controls .pagination-next{min-height:48px;padding:var(--space-sm) var(--space-md);font-size:1rem}}.odata-table-sort-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.pagination-controls button:not(:disabled):hover{transform:translateY(-1px)}.pagination-controls button:not(:disabled):active{transform:translateY(0)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-border);background:var(--color-background-light)}.app-title{margin:0;font-size:1.3rem}.subtle{margin:var(--space-xs) 0 0;color:var(--color-text-secondary);font-size:.9rem}.top-nav{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.top-nav a{text-decoration:none;padding:.45rem .75rem;border-radius:var(--border-radius-md);border:1px solid transparent}.top-nav a.active{background:#4caf5026;border-color:var(--color-primary)}.app-content{padding:var(--space-md)}.page-section h1{margin-top:0}.metrics-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:var(--space-md)}.metric-card{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-background-light);box-shadow:var(--shadow-sm);padding:var(--space-sm)}.metric-label{margin:0;color:var(--color-text-secondary);font-size:.85rem}.metric-value{margin:var(--space-xs) 0 0;font-size:1.25rem;font-weight:600}.state-message{margin-top:var(--space-sm)}.state-error{color:var(--color-error-text)}.access-state{max-width:640px;margin:12vh auto 0;padding:var(--space-md)}.access-link{display:inline-block;margin-top:var(--space-sm);padding:.6rem 1rem;border-radius:var(--border-radius-md);background:var(--color-primary);color:#fff;text-decoration:none}.access-link:hover{background:var(--color-primary-hover)}
