:root{--color-brand: #0052CC;--color-brand-hover: #0065FF;--color-brand-active: #0747A6;--color-text: #172B4D;--color-text-subtle: #5E6C84;--color-text-subtlest: #7A869A;--color-text-inverse: #FFFFFF;--color-background: #FFFFFF;--color-background-neutral: #F4F5F7;--color-background-neutral-subtle: #FAFBFC;--color-background-neutral-bold: #DFE1E6;--color-sidebar: #4e73df;--color-sidebar-dark: #224abe;--color-sidebar-text: #FFFFFF;--color-sidebar-text-subtle: rgba(255, 255, 255, .8);--color-sidebar-hover: rgba(255, 255, 255, .1);--color-sidebar-active: rgba(255, 255, 255, .2);--color-topbar: #FFFFFF;--color-topbar-border: #DFE1E6;--color-success: #00875A;--color-success-subtle: #E3FCEF;--color-warning: #FF991F;--color-warning-subtle: #FFFAE6;--color-danger: #DE350B;--color-danger-subtle: #FFEBE6;--color-info: #0065FF;--color-info-subtle: #DEEBFF;--color-border: #DFE1E6;--color-border-subtle: #EBECF0;--space-0: 0;--space-050: 4px;--space-100: 8px;--space-150: 12px;--space-200: 16px;--space-300: 24px;--space-400: 32px;--space-500: 40px;--space-600: 48px;--radius-100: 3px;--radius-200: 4px;--radius-300: 8px;--radius-circle: 50%;--shadow-overflow: 0 0 8px rgba(9, 30, 66, .08), 0 0 1px rgba(9, 30, 66, .31);--shadow-raised: 0 1px 1px rgba(9, 30, 66, .25), 0 0 1px rgba(9, 30, 66, .31);--shadow-overlay: 0 4px 8px -2px rgba(9, 30, 66, .25), 0 0 1px rgba(9, 30, 66, .31);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Noto Sans", "Ubuntu", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-100: 11px;--font-size-200: 12px;--font-size-300: 14px;--font-size-400: 16px;--font-size-500: 20px;--font-size-600: 24px;--font-size-700: 29px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-100: 16px;--line-height-200: 20px;--line-height-300: 24px;--line-height-400: 28px;--sidebar-width: 240px;--topbar-height: 56px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-300);line-height:var(--line-height-200);color:var(--color-text);background-color:var(--color-background-neutral);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-brand);text-decoration:none}a:hover{color:var(--color-brand-hover);text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-200) 0;font-weight:var(--font-weight-semibold);color:var(--color-text)}h1{font-size:var(--font-size-700);line-height:var(--line-height-400)}h2{font-size:var(--font-size-600);line-height:var(--line-height-400)}h3{font-size:var(--font-size-500);line-height:var(--line-height-300)}h4{font-size:var(--font-size-400);line-height:var(--line-height-300)}.text-subtle{color:var(--color-text-subtle)}.text-subtlest{color:var(--color-text-subtlest)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-100);padding:var(--space-050) var(--space-150);font-family:inherit;font-size:var(--font-size-300);font-weight:var(--font-weight-medium);line-height:var(--line-height-200);border:none;border-radius:var(--radius-100);cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s;white-space:nowrap;height:32px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-brand);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-brand-active)}.btn-default{background-color:var(--color-background-neutral);color:var(--color-text)}.btn-default:hover:not(:disabled){background-color:var(--color-background-neutral-bold)}.btn-subtle{background-color:transparent;color:var(--color-text-subtle)}.btn-subtle:hover:not(:disabled){background-color:var(--color-background-neutral)}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:#bf2600}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:#064}.btn-sm{height:24px;padding:0 var(--space-100);font-size:var(--font-size-200)}.btn-lg{height:40px;padding:var(--space-100) var(--space-200);font-size:var(--font-size-400)}.form-group{margin-bottom:var(--space-200)}.form-label{display:block;margin-bottom:var(--space-050);font-size:var(--font-size-200);font-weight:var(--font-weight-semibold);color:var(--color-text)}.form-control{width:100%;padding:var(--space-100) var(--space-100);font-family:inherit;font-size:var(--font-size-300);line-height:var(--line-height-200);color:var(--color-text);background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-100);transition:border-color .2s,box-shadow .2s}.form-control:hover:not(:disabled){background-color:var(--color-background-neutral-subtle)}.form-control:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.form-control:disabled{background-color:var(--color-background-neutral);cursor:not-allowed}.form-control::placeholder{color:var(--color-text-subtlest)}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23505F79' d='M8 11.5l-5-5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-100) center;padding-right:var(--space-400)}.form-check{display:flex;align-items:center;gap:var(--space-100);margin-bottom:var(--space-100)}.form-check-input{width:16px;height:16px;margin:0;accent-color:var(--color-brand)}.form-check-label{font-size:var(--font-size-300);color:var(--color-text);cursor:pointer}.table-container{background-color:var(--color-background);border-radius:var(--radius-300);box-shadow:var(--shadow-raised);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-300)}.table thead{background-color:var(--color-background-neutral-subtle)}.table th{padding:var(--space-100) var(--space-200);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-200);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--color-border)}.table td{padding:var(--space-150) var(--space-200);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.table tbody tr:hover{background-color:var(--color-background-neutral-subtle)}.table tbody tr:last-child td{border-bottom:none}.table tr.row-male{background-color:#e6f2ff}.table tr.row-female{background-color:#ffe6e6}.table tr.row-male:hover{background-color:#cce5ff}.table tr.row-female:hover{background-color:#fcc}.card{background-color:var(--color-background);border-radius:var(--radius-300);box-shadow:var(--shadow-raised);overflow:hidden}.card-header{padding:var(--space-200);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-background-neutral-subtle)}.card-header h3{margin:0;font-size:var(--font-size-400);font-weight:var(--font-weight-medium)}.card-body{padding:var(--space-200)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-100);font-size:var(--font-size-100);font-weight:var(--font-weight-bold);text-transform:uppercase;border-radius:var(--radius-100)}.badge-default{background-color:var(--color-background-neutral-bold);color:var(--color-text)}.badge-success{background-color:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-subtle);color:#974f0c}.badge-danger{background-color:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background-color:var(--color-info-subtle);color:var(--color-brand)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-100);padding:var(--space-200)}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-100);font-size:var(--font-size-300);color:var(--color-text);background-color:transparent;border:none;border-radius:var(--radius-100);cursor:pointer}.pagination-btn:hover:not(:disabled){background-color:var(--color-background-neutral)}.pagination-btn:disabled{color:var(--color-text-subtlest);cursor:not-allowed}.pagination-btn.active{background-color:var(--color-brand);color:var(--color-text-inverse)}.pagination-info{font-size:var(--font-size-200);color:var(--color-text-subtle)}.accordion{background-color:var(--color-background);border-radius:var(--radius-300);box-shadow:var(--shadow-raised);margin-bottom:var(--space-200);overflow:hidden}.accordion-header{display:flex;align-items:center;padding:var(--space-150) var(--space-200);background-color:var(--color-sidebar);color:var(--color-sidebar-text);cursor:pointer;font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none}.accordion-header:hover{background-color:var(--color-sidebar-dark)}.accordion-icon{margin-right:var(--space-100);transition:transform .2s}.accordion-icon.expanded{transform:rotate(90deg)}.accordion-body{padding:var(--space-200);border-top:1px solid var(--color-border-subtle)}.alert{padding:var(--space-200);border-radius:var(--radius-200);margin-bottom:var(--space-200)}.alert-success{background-color:var(--color-success-subtle);color:var(--color-success);border:1px solid var(--color-success)}.alert-warning{background-color:var(--color-warning-subtle);color:#974f0c;border:1px solid var(--color-warning)}.alert-danger{background-color:var(--color-danger-subtle);color:var(--color-danger);border:1px solid var(--color-danger)}.alert-info{background-color:var(--color-info-subtle);color:var(--color-brand);border:1px solid var(--color-brand)}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{display:flex;align-items:center;justify-content:center;gap:var(--space-100);padding:var(--space-400);color:var(--color-text-subtle)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-100)}.mt-2{margin-top:var(--space-200)}.mt-3{margin-top:var(--space-300)}.mt-4{margin-top:var(--space-400)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-100)}.mb-2{margin-bottom:var(--space-200)}.mb-3{margin-bottom:var(--space-300)}.mb-4{margin-bottom:var(--space-400)}.mr-1{margin-right:var(--space-100)}.mr-2{margin-right:var(--space-200)}.ml-1{margin-left:var(--space-100)}.ml-2{margin-left:var(--space-200)}.p-0{padding:0}.p-1{padding:var(--space-100)}.p-2{padding:var(--space-200)}.p-3{padding:var(--space-300)}.p-4{padding:var(--space-400)}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.gap-1{gap:var(--space-100)}.gap-2{gap:var(--space-200)}.gap-3{gap:var(--space-300)}.w-100{width:100%}.w-auto{width:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body{margin:0;padding:0;height:100%}#app{height:100%}.login-page[data-v-e371e4ea]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-sidebar) 0%,var(--color-sidebar-dark) 100%);padding:var(--space-200)}.login-container[data-v-e371e4ea]{width:100%;max-width:400px;background-color:var(--color-background);border-radius:var(--radius-300);box-shadow:var(--shadow-overlay);overflow:hidden}.login-header[data-v-e371e4ea]{text-align:center;padding:var(--space-400) var(--space-300) var(--space-200);background-color:var(--color-background-neutral-subtle);border-bottom:1px solid var(--color-border-subtle)}.login-header h1[data-v-e371e4ea]{margin:0;font-size:var(--font-size-600);color:var(--color-brand)}.login-subtitle[data-v-e371e4ea]{margin:var(--space-100) 0 0;color:var(--color-text-subtle);font-size:var(--font-size-300)}.login-form[data-v-e371e4ea]{padding:var(--space-300)}.login-footer[data-v-e371e4ea]{padding:var(--space-200) var(--space-300);background-color:var(--color-background-neutral-subtle);border-top:1px solid var(--color-border-subtle);text-align:center}.login-footer p[data-v-e371e4ea]{margin:0;font-size:var(--font-size-200)}.w-100[data-v-e371e4ea]{width:100%}.btn-lg[data-v-e371e4ea]{height:44px}
