@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#1a3f59;--teal:#36b8d0;--lime:#a8dd54;--white:#fff;--light-grey:#f4f6f8;--dark-grey:#2d2d2d;--border:#e2e8f0;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000d;--radius:8px;--radius-sm:4px;--sidebar-width:240px}html,body{height:100%;color:var(--dark-grey);background-color:var(--light-grey);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}#root{height:100%}a{color:var(--teal);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--teal);color:var(--white)}.btn-primary:hover:not(:disabled){background:#2aa5bc}.btn-navy{background:var(--navy);color:var(--white)}.btn-navy:hover:not(:disabled){background:#153349}.btn-ghost{color:var(--navy);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--light-grey)}.btn-danger{color:var(--white);background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:5px 10px;font-size:12px}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--navy);font-size:13px;font-weight:500}.form-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--dark-grey);background:var(--white);padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #36b8d01f}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232d2d2d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-hint{color:#6b7280;font-size:12px}.form-error{color:#ef4444;font-size:12px}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--navy);background:var(--light-grey);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 14px;font-weight:600}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{background:#eaecef}.data-table td{border-bottom:1px solid var(--border);color:var(--dark-grey);vertical-align:middle;padding:12px 14px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#fafbfc}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{color:var(--navy);font-size:22px;font-weight:700}.page-subtitle{color:#6b7280;margin-top:2px;font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);flex:1;min-width:200px;max-width:320px;padding:8px 12px;font-size:13px}.search-input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #36b8d01f}.text-teal{color:var(--teal)}.text-navy{color:var(--navy)}.text-muted{color:#6b7280}.text-danger{color:#ef4444}.text-right{text-align:right}.font-mono{font-family:Courier New,monospace}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-1{gap:8px}.gap-2{gap:16px}.empty-state{text-align:center;color:#6b7280;padding:48px 24px}.empty-state h3{color:var(--navy);margin-bottom:6px;font-size:16px;font-weight:600}.spinner{border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:36px;height:36px}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.alert{border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-bar{flex-direction:column;align-items:stretch}.search-input{max-width:none}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}
