@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--green-800:#166534;--red-50:#fef2f2;--red-100:#fee2e2;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--red-800:#991b1b;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-500:#f59e0b;--amber-600:#d97706;--amber-800:#92400e;--violet-50:#f5f3ff;--violet-500:#8b5cf6;--violet-600:#7c3aed;--surface:#f8fafc;--sidebar-w:240px;--shadow-xs:0 1px 2px 0 rgba(15,23,42,.04);--shadow-sm:0 1px 3px 0 rgba(15,23,42,.06),0 1px 2px -1px rgba(15,23,42,.04);--shadow-md:0 4px 6px -1px rgba(15,23,42,.07),0 2px 4px -2px rgba(15,23,42,.05);--shadow-lg:0 10px 15px -3px rgba(15,23,42,.07),0 4px 6px -4px rgba(15,23,42,.04);--shadow-xl:0 20px 25px -5px rgba(15,23,42,.08),0 8px 10px -6px rgba(15,23,42,.04);--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body,html{height:100%}body{background:var(--surface);color:var(--slate-700);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--slate-300)}:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}h1{font-size:1.25rem}h1,h2{font-weight:700;color:var(--slate-900);letter-spacing:-.01em}h2{font-size:1.0625rem}h3{font-size:.9375rem;font-weight:600;color:var(--slate-800)}p{color:var(--slate-500);font-size:.875rem}table{border-collapse:collapse;width:100%}thead tr{background:var(--slate-50);border-bottom:1px solid var(--slate-100)}th{font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--slate-400);padding:10px 16px;text-align:left;white-space:nowrap}td{padding:13px 16px;border-bottom:1px solid var(--slate-100);font-size:.8125rem;color:var(--slate-700);vertical-align:middle}tbody tr:hover{background:var(--slate-50)}tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-green{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-100)}.badge-red{background:var(--red-50);color:var(--red-700);border:1px solid var(--red-100)}.badge-blue{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100)}.badge-amber{background:var(--amber-50);color:var(--amber-800);border:1px solid var(--amber-100)}.badge-gray{background:var(--slate-100);color:var(--slate-500);border:1px solid var(--slate-200)}.badge-violet{background:var(--violet-50);color:var(--violet-600);border:1px solid #ede9fe}.card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--slate-200);box-shadow:var(--shadow-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:.8125rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap;text-decoration:none;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue-600);color:#fff;border-color:var(--blue-600);box-shadow:0 1px 2px rgba(37,99,235,.2)}.btn-primary:hover:not(:disabled){background:var(--blue-700);border-color:var(--blue-700);box-shadow:0 2px 6px rgba(37,99,235,.3);transform:translateY(-1px)}.btn-outline{background:#fff;color:var(--slate-600);border-color:var(--slate-200);box-shadow:var(--shadow-xs)}.btn-outline:hover:not(:disabled){background:var(--slate-50);color:var(--blue-600);border-color:var(--blue-200)}.btn-ghost{background:transparent;color:var(--slate-500);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--slate-100);color:var(--slate-700)}.btn-danger{background:var(--red-50);color:var(--red-700);border-color:var(--red-100)}.btn-danger:hover:not(:disabled){background:var(--red-100);color:var(--red-800);border-color:#fecaca}.btn-success{background:var(--green-50);color:var(--green-700);border-color:var(--green-100)}.btn-success:hover:not(:disabled){background:var(--green-100);color:var(--green-800)}.btn-sm{padding:5px 12px;font-size:.75rem;border-radius:var(--radius-sm)}.btn-xs{padding:3px 8px;font-size:.6875rem;border-radius:4px}.btn-lg{padding:11px 22px;font-size:.9375rem;border-radius:var(--radius-md)}.btn-icon{padding:7px;border-radius:var(--radius);min-width:34px;min-height:34px}.input{width:100%;padding:8px 12px;border:1px solid var(--slate-200);border-radius:var(--radius);font-size:.8125rem;font-family:inherit;color:var(--slate-800);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;line-height:1.5}.input::-moz-placeholder{color:var(--slate-300)}.input::placeholder{color:var(--slate-300)}.input:hover{border-color:var(--slate-300)}.input:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input:disabled{background:var(--slate-50);color:var(--slate-400)}textarea.input{resize:vertical;min-height:80px}select.input{cursor:pointer}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:overlayIn .15s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:var(--radius-xl);padding:28px;width:100%;max-width:480px;box-shadow:var(--shadow-xl);border:1px solid var(--slate-200);animation:modalIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);font-size:.8125rem;font-weight:500;color:var(--slate-500);cursor:pointer;text-decoration:none;transition:all .12s ease;border:none;background:transparent;width:100%}.nav-item:hover{background:var(--slate-100);color:var(--slate-800)}.nav-item.active{background:var(--blue-50);color:var(--blue-700);font-weight:600}.nav-item.active svg{color:var(--blue-600)}.progress-bar{height:6px;border-radius:99px;background:var(--slate-100);overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:var(--blue-600);transition:width .7s cubic-bezier(.4,0,.2,1)}.divider{height:1px;background:var(--slate-100);margin:0}.stat-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--slate-200);padding:20px;box-shadow:var(--shadow-xs);transition:box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-sm)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--slate-100)}.tab-nav{display:flex;gap:0;border-bottom:1px solid var(--slate-200);margin-bottom:20px}.tab-btn{padding:10px 18px;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--slate-500);background:none;border:none;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;margin-bottom:-1px}.tab-btn:hover{color:var(--slate-800)}.tab-btn.active{color:var(--blue-700);font-weight:600;border-bottom-color:var(--blue-600)}.empty-state{flex-direction:column;padding:56px 24px;text-align:center}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center;color:var(--slate-400)}.empty-state-icon{width:48px;height:48px;border-radius:12px;background:var(--slate-100);margin-bottom:14px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--slate-100);flex-wrap:wrap}.table-toolbar-search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;max-width:360px}.search-input-wrap{position:relative;flex:1}.search-input-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--slate-400);pointer-events:none}.search-input-wrap .input{padding-left:34px}.info-row{display:flex;gap:6px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--slate-50)}.info-row:last-child{border-bottom:none}.info-label{font-size:.75rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.05em;min-width:130px;flex-shrink:0}.info-value{font-size:.8125rem;color:var(--slate-800);font-weight:500}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius);font-size:.8125rem;margin-bottom:14px;border:1px solid transparent}.alert-error{background:var(--red-50);color:var(--red-700);border-color:var(--red-100)}.alert-success{background:var(--green-50);color:var(--green-700);border-color:var(--green-100)}.alert-info{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-100)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .22s cubic-bezier(.16,1,.3,1) both}.skeleton{background:linear-gradient(90deg,var(--slate-100) 25%,var(--slate-50) 50%,var(--slate-100) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.main-content{margin-left:0!important}.menu-btn{display:flex!important}.hide-mobile{display:none!important}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-search{max-width:100%}}@media (max-width:1024px){:root{--sidebar-w:220px}}.member-link:hover span{color:var(--blue-600)!important;text-decoration:underline}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease,background-color .15s ease}th.sortable:hover{color:var(--slate-800);background-color:var(--slate-100)}