@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#4f46e5;--primary-hover:#4338ca;--secondary:#10b981;--bg-color:#f3f4f6;--surface:#fff;--text-main:#111827;--text-muted:#6b7280;--border:#e5e7eb;--sidebar-w:260px;--danger:#ef4444;--glass-bg:#ffffffb3;--glass-border:#ffffff4d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:Inter,sans-serif;line-height:1.5}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 6px #4f46e533}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-outline{border:1px solid var(--border);color:var(--text-main);background-color:#0000}.btn-outline:hover{background-color:var(--bg-color)}.input{border:1px solid var(--border);background-color:var(--surface);border-radius:8px;width:100%;padding:.6rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-group{margin-bottom:1.2rem}.form-group label{color:var(--text-muted);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.app-container{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:10;flex-direction:column;height:100%;display:flex}.sidebar-header{color:var(--primary);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:1.5rem;font-size:1.5rem;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem;display:flex}.nav-item{color:var(--text-muted);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover,.nav-item.active{background-color:var(--bg-color);color:var(--primary)}.main-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.topbar{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;position:sticky;top:0}.page-content{flex:1;padding:2rem;overflow-y:auto}.table-wrapper{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%}.table th,.table td{border-bottom:1px solid var(--border);padding:1rem 1.5rem}.table th{color:#fff;text-transform:uppercase;letter-spacing:.05em;background-color:#7e78e3;font-size:.85rem;font-weight:600}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:#f9fafb}.badge{border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-primary{color:#3730a3;background:#e0e7ff}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:92%;max-width:520px;margin:1rem;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#f8fafc,#fff);justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.modal-body{max-height:70vh;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-down{animation:.3s ease-out forwards slideDown}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.text-muted{color:var(--text-muted)}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{flex-direction:column;padding:1.5rem;display:flex}.stat-icon-wrapper{background:var(--bg-color);border-radius:12px;padding:.8rem;display:inline-flex}.stat-label{color:var(--text-muted);font-size:1.1rem;font-weight:500}.stat-value{color:var(--primary);margin-top:.5rem;font-size:2.25rem;font-weight:700}@media (width<=640px){.stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.875rem}}@media (width<=1024px){:root{--sidebar-w:0px}.sidebar{width:260px;box-shadow:var(--shadow-lg);z-index:100;transition:left .3s;position:fixed;top:0;bottom:0;left:-260px}.sidebar.open{left:0}.main-content{width:100%}.topbar{padding:0 1rem}.hamburger-menu{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:background .2s;display:flex}.hamburger-menu:hover{background:var(--bg-color)}}@media (width>=1025px){.hamburger-menu{display:none}}@media (width<=768px){.page-content{padding:1rem}.table-wrapper{border-left:none;border-right:none;border-radius:0}.flex-responsive{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.header-actions{justify-content:flex-start;gap:.5rem;width:100%}.search-box input{width:100%!important}}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;background:#0006;position:fixed;inset:0}.react-datepicker-wrapper{width:100%}.react-datepicker__input-container input{width:100%!important}.react-datepicker{border:1px solid var(--border);border-radius:12px;font-family:inherit;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a}.react-datepicker__header{border-bottom:1px solid var(--border);background-color:#fff;padding:10px 0}.react-datepicker__header__dropdown{margin:5px 0}.react-datepicker__current-month{color:var(--primary);font-weight:600}.react-datepicker__day--selected{background-color:var(--primary)!important;border-radius:8px!important}.react-datepicker__day:hover{border-radius:8px!important}.modern-datepicker-container .input{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%236B7280\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line><line x1=\"8\" y1=\"2\" x2=\"8\" ry=\"6\"></line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line></svg>");background-position:right 1rem center;background-repeat:no-repeat}
