:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.5}body{background-color:#f9fafb;min-width:320px;min-height:100vh;margin:0}h1{color:#111827;margin-bottom:1.5rem;font-size:1.875rem;font-weight:600;line-height:1.2}button{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .15s;box-shadow:0 1px 2px #0000000d}button:hover{background-color:#f9fafb;border-color:#9ca3af}button:focus,button:focus-visible{outline-offset:2px;outline:2px solid #0f766e}button.primary{color:#fff;background-color:#0f766e;border-color:#0f766e}button.primary:hover{background-color:#0d9488;border-color:#0d9488}button:disabled{opacity:.5;cursor:not-allowed}.spinner{border:4px solid #ffffff4d;border-top-color:#0f766e;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.table-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}thead{z-index:10;background-color:#f9fafb;position:sticky;top:0}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;white-space:nowrap;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-size:.75rem;font-weight:600}tbody tr{background-color:#fff;border-bottom:1px solid #f3f4f6;transition:background-color .15s}tbody tr:hover{background-color:#f9fafb}tbody td{color:#374151;vertical-align:middle;text-overflow:ellipsis;border-right:1px solid #f3f4f6;max-width:300px;padding:.75rem 1rem;overflow:hidden}tbody td:last-child{border-right:none}.form-group{margin-bottom:1.25rem}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{color:#1f2937;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.625rem .75rem;font-family:inherit;font-size:.875rem;transition:all .15s}.form-group input:focus,.form-group select:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1a}.form-group input:disabled,.form-group select:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f3f4f6}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.filters-row{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.search-input,.filter-select{color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.625rem .75rem;font-size:.875rem;transition:all .15s}.search-input:focus,.filter-select:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1a}.page-container{max-width:1400px;margin:0 auto;padding:2rem}.pagination{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.pagination-info{color:#475569;font-size:.875rem}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.pagination-controls button{cursor:pointer;color:#334155;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .7rem;font-size:.85rem}.pagination-controls button:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}th.sortable:hover{background:#f1f5f9}.action-buttons{align-items:center;gap:.5rem;display:flex}.btn-view{color:#374151;background-color:#f3f4f6;border-color:#d1d5db}.btn-view:hover{background-color:#e5e7eb}.btn-edit{color:#0f766e;background-color:#ccfbf1;border-color:#5eead4}.btn-edit:hover{background-color:#99f6e4}.btn-delete{color:#991b1b;background-color:#fee2e2;border-color:#fca5a5}.btn-delete:hover{background-color:#fecaca}.detail-section{background:#fff;border-radius:8px;margin-top:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.detail-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.detail-header h3{color:#333;margin:0}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-group label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.app{background:#f5f5f5;min-height:100vh}.app.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.app.with-sidebar{min-height:100vh;display:flex}.sidebar{z-index:1000;background:linear-gradient(#0c1222 0%,#162032 100%);flex-direction:column;width:220px;min-height:100vh;transition:width .3s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:center;align-items:center;min-height:64px;padding:1rem;display:flex}.sidebar-logo{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#134e4a 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem 0;display:flex}.nav-item{color:#fff9;cursor:pointer;text-align:left;white-space:nowrap;box-shadow:none;background:0 0;border:none;border-radius:8px;align-items:center;gap:1rem;margin:0 .5rem;padding:.875rem 1rem;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#134e4a 100%)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.nav-icon svg{width:20px;height:20px}.nav-label{opacity:1;font-size:.9rem;font-weight:500;transition:opacity .2s}.sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem 0}.sidebar-user{align-items:center;gap:.75rem;margin:0 .5rem;padding:.75rem 1rem;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#134e4a 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;display:flex}.user-info{opacity:1;flex-direction:column;transition:opacity .2s;display:flex;overflow:hidden}.sidebar.collapsed .user-info{opacity:0;width:0;overflow:hidden}.user-info .user-email{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.8rem;overflow:hidden}.user-info .user-role-text{color:#ffffff80;text-transform:uppercase;font-size:.7rem}.logout-item:hover{color:#ef4444;background:#ef444433}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:220px;transition:margin-left .3s;display:flex}.main-content.sidebar-collapsed{margin-left:64px}.sidebar-toggle{color:#fff;cursor:pointer;z-index:1002;background:#0f766e;border:2px solid #f5f5f5;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.75rem;transition:left .3s,transform .3s;display:flex;position:fixed;top:20px;left:208px;box-shadow:0 2px 4px #0003}.sidebar-toggle:hover{background:#0d9488}.sidebar-toggle.collapsed{left:52px;transform:rotate(180deg)}.content-header{z-index:100;background:#fff;padding:1.25rem 2rem;position:sticky;top:0;box-shadow:0 1px 3px #0000001a}.content-header h1{color:#0c1222;margin:0;font-size:1.5rem;font-weight:600}.content-body{flex:1;padding:1.5rem}.content-body .page-container{padding:0}.content-body .page-container .top-bar h1{display:none}
