:root{--primary-color: #3498db;--primary-color-rgb: 52, 152, 219;--primary-hover-color: #2980b9;--primary-light-color: #e1f0fa;--secondary-color: #546e7a;--secondary-color-rgb: 84, 110, 122;--secondary-hover-color: #455a64;--accent-color: #f39c12;--accent-color-rgb: 243, 156, 18;--accent-hover-color: #e67e22;--text-color: #37474f;--text-light-color: #78909c;--heading-color: #263238;--heading-color-rgb: 38, 50, 56;--background-color: #f4f6f8;--content-background-color: #ffffff;--border-color: #cfd8dc;--border-light-color: #eceff1;--danger-color: #e53935;--danger-color-rgb: 229, 57, 53;--danger-hover-color: #c62828;--success-color: #43a047;--success-color-rgb: 67, 160, 71;--font-family-sans-serif: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--base-font-size: 16px;--line-height-base: 1.6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--navbar-height: 60px;--border-radius-sm: .25rem;--border-radius-md: .375rem;--border-radius-lg: .5rem;--box-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--box-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--box-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--transition-speed-fast: .15s;--transition-speed-normal: .25s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-offcanvas: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-tooltip: 1070;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--breakpoint-xxl: 1400px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:var(--base-font-size);-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:var(--font-family-sans-serif);line-height:var(--line-height-base);color:var(--text-color);background-color:var(--background-color);overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%;height:auto}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit;padding:0}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}ul,ol{list-style:none}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;box-shadow:none}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:var(--spacing-lg);font-weight:700;line-height:1.3;color:var(--heading-color);letter-spacing:-.5px}h1,.h1{font-size:2.25rem}h2,.h2{font-size:1.875rem}h3,.h3{font-size:1.5rem}h4,.h4{font-size:1.25rem}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-base)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-speed-fast) var(--transition-timing)}a:hover{color:var(--primary-hover-color);text-decoration:underline}strong,b{font-weight:600}.container{width:100%;max-width:var(--breakpoint-xl);margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.app-loading-indicator{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:var(--text-light-color);animation:fadeIn .5s ease-in}body.mobile-menu-open{overflow:hidden}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:var(--content-background-color);box-shadow:var(--box-shadow-sm);position:sticky;top:0;z-index:var(--z-index-sticky);height:var(--navbar-height);display:flex;align-items:center}.app-header nav{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.nav-logo{display:flex;align-items:center;height:100%;flex-shrink:0}.nav-logo a{display:flex;align-items:center;height:100%;padding:0 var(--spacing-sm)}.nav-logo img{display:block;max-height:calc(var(--navbar-height) - var(--spacing-md));width:auto;object-fit:contain;transition:transform var(--transition-speed-normal) var(--transition-timing)}.nav-logo a:hover img{transform:scale(1.05)}.nav-links-desktop{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.nav-links-desktop a,.nav-links-desktop .btn-logout{padding:var(--spacing-sm) var(--spacing-md);font-weight:500;color:var(--text-light-color);text-decoration:none;border-radius:var(--border-radius-sm);transition:background-color var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing);position:relative;white-space:nowrap}.nav-links-desktop a:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%) scaleX(0);width:70%;height:2px;background-color:var(--primary-color);transition:transform var(--transition-speed-normal) var(--transition-timing);transform-origin:center}.nav-links-desktop a:hover,.nav-links-desktop a.active{color:var(--primary-color)}.nav-links-desktop a:hover:after,.nav-links-desktop a.active:after{transform:translate(-50%) scaleX(1)}.nav-links-desktop .btn-logout{background-color:transparent;border:1px solid var(--border-light-color);color:var(--text-light-color);margin-left:var(--spacing-md)}.nav-links-desktop .btn-logout:hover{background-color:var(--primary-light-color);border-color:var(--primary-color);color:var(--primary-color)}.mobile-nav-toggle{display:none;font-size:1.8rem;color:var(--heading-color);background:none;border:none;padding:var(--spacing-sm);z-index:calc(var(--z-index-offcanvas) + 1);cursor:pointer;margin-left:var(--spacing-sm)}.nav-links-mobile{position:fixed;top:0;right:0;bottom:0;width:min(80vw,280px);background-color:var(--content-background-color);box-shadow:-5px 0 15px #00000026;padding-top:0;transform:translate(100%);transition:transform .3s var(--transition-timing);z-index:var(--z-index-offcanvas);overflow-y:auto;display:flex;flex-direction:column}.nav-links-mobile.open{transform:translate(0)}.nav-links-mobile-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light-color)}.nav-links-mobile-title{font-size:1.1rem;font-weight:600;color:var(--heading-color)}.nav-links-mobile-close-btn{font-size:1.8rem;font-weight:300;background:none;border:none;color:var(--text-light-color);padding:var(--spacing-xs);line-height:1;cursor:pointer;transition:color var(--transition-speed-fast) var(--transition-timing),transform var(--transition-speed-fast) var(--transition-timing)}.nav-links-mobile-close-btn:hover{color:var(--danger-color);transform:rotate(90deg) scale(1.1)}.nav-links-mobile-list{padding:var(--spacing-sm) 0;flex-grow:1}.nav-links-mobile-list a,.nav-links-mobile-list .btn-logout{display:block;margin:0;text-align:left;padding:var(--spacing-md) var(--spacing-lg);border-radius:0;color:var(--text-color);font-weight:500;text-decoration:none;transition:background-color var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing)}.nav-links-mobile-list a:not(:last-child){border-bottom:1px solid var(--border-light-color)}.nav-links-mobile-list a:hover,.nav-links-mobile-list a.active{background-color:var(--primary-light-color);color:var(--primary-color)}.nav-links-mobile-list a.active{font-weight:600}.nav-links-mobile-list .btn-logout{display:block;margin:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);text-align:center;width:calc(100% - (2 * var(--spacing-lg)));border:1px solid var(--border-light-color);color:var(--text-light-color);background-color:transparent;padding:var(--spacing-sm) var(--spacing-lg)}.nav-links-mobile-list .btn-logout:hover{background-color:var(--primary-light-color);border-color:var(--primary-color);color:var(--primary-color)}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(var(--heading-color-rgb),.4);z-index:calc(var(--z-index-offcanvas) - 1);opacity:0;visibility:hidden;transition:opacity .3s var(--transition-timing),visibility 0s linear .3s}.mobile-menu-overlay.open{opacity:1;visibility:visible;transition:opacity .3s var(--transition-timing),visibility 0s linear 0s}.app-main-content{flex-grow:1;padding:var(--spacing-xl) 0}.page-container{background-color:var(--content-background-color);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md)}@media (min-width: var(--breakpoint-md)){.page-container{padding:var(--spacing-xl)}}.app-footer{background-color:var(--heading-color);color:var(--background-color);text-align:center;padding:var(--spacing-lg) var(--spacing-md);font-size:.9rem;flex-shrink:0;margin-top:auto}.app-footer .footer-links{margin-bottom:var(--spacing-sm)}.app-footer .footer-links a{color:var(--background-color);margin:0 var(--spacing-sm);opacity:.8;transition:opacity var(--transition-speed-normal) var(--transition-timing)}.app-footer .footer-links a:hover{opacity:1;text-decoration:underline}@media (max-width: 768px){.nav-links-desktop{display:none!important}.mobile-nav-toggle{display:block!important}}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:var(--spacing-sm) var(--spacing-lg);font-size:.95rem;line-height:1.5;border-radius:var(--border-radius-md);transition:all var(--transition-speed-fast) var(--transition-timing);text-decoration:none}.btn-primary{color:var(--content-background-color);background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-hover-color);border-color:var(--primary-hover-color);color:var( --content-background-color );transform:translateY(-2px);box-shadow:var(--box-shadow-sm)}.btn-secondary{color:var(--text-color);background-color:var(--background-color);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--border-light-color);border-color:var(--border-color);color:var(--primary-hover-color);transform:translateY(-2px)}.btn-danger{color:var(--content-background-color);background-color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover{background-color:var(--danger-hover-color);border-color:var(--danger-hover-color)}.btn-outline-primary{color:var(--primary-color);border-color:var(--primary-color)}.btn-outline-primary:hover{color:var(--content-background-color);background-color:var(--primary-color)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem}.btn:disabled,.btn.disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;box-shadow:none}.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(var(--primary-color-rgb),.25)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-color);font-size:.9rem}.form-control{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;font-weight:400;line-height:1.5;color:var(--text-color);background-color:var(--content-background-color);background-clip:padding-box;border:1px solid var(--border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--border-radius-md);transition:border-color var(--transition-speed-normal) var(--transition-timing),box-shadow var(--transition-speed-normal) var(--transition-timing)}.form-control:focus{color:var(--text-color);background-color:var(--content-background-color);border-color:var(--primary-color);outline:0;box-shadow:0 0 0 .2rem rgba(var(--primary-color-rgb),.2)}.form-control::placeholder{color:var(--text-light-color);opacity:.8}.form-control:disabled,.form-control[readonly]{background-color:var(--background-color);opacity:.7;cursor:not-allowed}select.form-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var(--text-light-color)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:16px 12px;padding-right:calc(var(--spacing-md) * 2.5 + 16px)}textarea.form-control{min-height:80px;resize:vertical}.table-wrapper{overflow-x:auto;width:100%;margin-bottom:var(--spacing-md);border:1px solid var(--border-light-color);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-sm)}.results-table{width:100%;border-collapse:collapse;background-color:var(--content-background-color);font-size:.9rem}.results-table th,.results-table td{padding:var(--spacing-md);text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-light-color)}.results-table th{font-weight:600;color:var(--heading-color);background-color:var(--primary-light-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.results-table thead th:first-child{border-top-left-radius:var(--border-radius-md)}.results-table thead th:last-child{border-top-right-radius:var(--border-radius-md)}.results-table tbody tr:last-child td{border-bottom:none}.results-table tbody tr{transition:background-color var(--transition-speed-fast) var(--transition-timing)}.results-table tbody tr:hover{background-color:var(--primary-light-color)}.results-table .clickable-row{cursor:pointer}.results-table.compact-table th,.results-table.compact-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem}.results-table .sortable-header{cursor:pointer;position:relative}.results-table .sortable-header:hover,.results-table thead th.collapsible-cell:hover,.results-table .collapsible-cell.sortable-header:hover{background-color:var(--primary-hover-color);color:var(--content-background-color)}.results-table .sortable-header .sort-indicator{margin-left:var(--spacing-xs);opacity:.7}a,p,li,td,th{overflow-wrap:anywhere;word-break:break-word}.break-word{overflow-wrap:anywhere;word-break:break-all;-webkit-hyphens:auto;hyphens:auto}@media (min-width: 640px){.break-word{word-break:normal;overflow-wrap:normal}}@keyframes fadeInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.list-item-appear{opacity:0;animation:slideInFromLeft .5s var(--transition-timing) forwards}.card-hover-effect{transition:transform var(--transition-speed-normal) var(--transition-timing),box-shadow var(--transition-speed-normal) var(--transition-timing)}.card-hover-effect:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-lg)}.page-enter-animation{animation:fadeInFromBottom .5s var(--transition-timing) forwards}.modal-enter .modal-content{animation:fadeInFromBottom .3s var(--transition-timing) .1s backwards}.modal-enter .modal-overlay{animation:fadeIn var(--transition-speed-normal) ease-out}.modal-exit .modal-content{animation:fadeInFromBottom .3s var(--transition-timing) reverse forwards}.modal-exit .modal-overlay{animation:fadeOut var(--transition-speed-normal) ease-out forwards}.admin-tabs{display:flex;margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.admin-tabs .tab-button{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;font-size:1rem;font-weight:500;color:var(--text-light-color);background-color:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color var(--transition-speed-normal) var(--transition-timing),border-color var(--transition-speed-normal) var(--transition-timing)}.admin-tabs .tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.admin-tabs .tab-button:hover:not(.active){color:var(--text-color);background-color:var(--primary-light-color)}.tab-content{animation:fadeIn .4s var(--transition-timing) forwards;padding-top:var(--spacing-md)}.admin-modal-content .modal-body{padding-top:var(--spacing-sm)}.admin-modal-form .form-group{margin-bottom:var(--spacing-md)}.admin-modal-form .form-actions{margin-top:var(--spacing-lg);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.admin-modal-form .form-group-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.admin-modal-form .form-group-checkbox input[type=checkbox]{width:auto;height:auto;margin-right:var(--spacing-xs);flex-shrink:0}.admin-modal-form .form-group-checkbox label{margin-bottom:0;font-weight:400;-webkit-user-select:none;user-select:none;cursor:pointer}.results-loading,.results-error-message{text-align:center;font-size:1.1rem;padding:var(--spacing-xl) var(--spacing-md);color:var(--text-light-color);border-radius:var(--border-radius-md)}.results-error-message{background-color:rgba(var(--danger-color-rgb),.1);color:var(--danger-color);border:1px solid rgba(var(--danger-color-rgb),.2)}.filters-container{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--content-background-color);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-sm);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-lg)}.filters-container .filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.filters-container label{font-weight:500;color:var(--text-color);margin-bottom:0}.filters-container select.form-control{min-width:200px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(var(--heading-color-rgb),.5);display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-index-modal-backdrop);padding:5vh var(--spacing-md) 5vh;overflow-y:auto}.modal-content{background:var(--content-background-color);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);width:100%;max-width:600px;max-height:80vh;overflow-y:auto;position:relative}@media (min-width: var(--breakpoint-md)){.modal-content{padding:var(--spacing-xl)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-light-color)}.modal-header h2{margin-bottom:0;font-size:1.6rem}.modal-close-button{font-size:1.8rem;font-weight:300;line-height:1;color:var(--text-light-color);background:none;border:none;padding:var(--spacing-xs);transition:color var(--transition-speed-fast) var(--transition-timing),transform var(--transition-speed-fast) var(--transition-timing);position:relative;z-index:10}.modal-close-button:hover{color:var(--danger-color);transform:scale(1.1)}.modal-body p{margin-bottom:var(--spacing-sm)}.modal-body h3{font-size:1.2rem;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--heading-color);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light-color)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.results-header h1{margin-bottom:0}.btn-reload{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background-color:transparent;border:1px solid var(--border-color);border-radius:50%;color:var(--text-light-color);cursor:pointer;transition:all var(--transition-speed-normal) var(--transition-timing)}.btn-reload:hover:not(:disabled){color:var(--primary-color);background-color:var(--primary-light-color);border-color:var(--primary-color);transform:scale(1.1)}.btn-reload:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-reload:disabled{opacity:.5;cursor:not-allowed;transform:none;background-color:transparent}.btn-reload svg{width:20px;height:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-reload.loading{animation:spin 1s linear infinite}.table-expand-toggle{display:none;width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--content-background-color);color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-weight:500;text-align:center;cursor:pointer;transition:background-color var(--transition-speed-fast)}.table-expand-toggle:hover{background-color:var(--background-light-color)}@media (max-width: 768px){.table-expand-toggle{display:block}.results-table .collapsible-cell{display:none}.results-table.is-expanded .collapsible-cell{display:table-cell}}
