:root{--bg-primary: #f4f8f7;--bg-surface: #ffffff;--bg-card: #ffffff;--bg-glass: rgba(255, 255, 255, .9);--border-color: #e2ebf0;--text-main: #122226;--text-muted: #5e777f;--text-light: #94a8af;--primary: #3cc1ac;--primary-hover: #2eb09c;--primary-dark: #239281;--primary-light: rgba(60, 193, 172, .12);--accent: #f5a623;--accent-hover: #d98e16;--emerald: #3cc1ac;--rose: #f43f5e;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(60, 193, 172, .08);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .06);--shadow-glow: 0 0 20px rgba(60, 193, 172, .25);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif}.dark{--bg-primary: #0b1413;--bg-surface: #111e1c;--bg-card: #162624;--bg-glass: rgba(17, 30, 28, .9);--border-color: #203532;--text-main: #edf7f5;--text-muted: #86a39d;--text-light: #5a7570;--primary: #3cc1ac;--primary-hover: #4ed4bf;--primary-dark: #2eb09c;--primary-light: rgba(60, 193, 172, .18);--accent: #fbbf24;--shadow-glow: 0 0 25px rgba(60, 193, 172, .35)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}button{font-family:var(--font-body);border:none;background:none;cursor:pointer}input,select,textarea{font-family:var(--font-body)}.glass-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .2s ease}.glass-card:hover{box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-info{background-color:var(--primary-light);color:var(--primary)}.badge-success{background-color:#10b98126;color:#10b981}.badge-warning{background-color:#f59e0b26;color:#f59e0b}.badge-danger{background-color:#f43f5e26;color:#f43f5e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;transition:all .2s ease;text-decoration:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#3cc1ac,#2eb09c);color:#fff;box-shadow:0 4px 14px #3cc1ac4d}.btn-primary:hover{background:linear-gradient(135deg,#2eb09c,#239281);box-shadow:0 6px 18px #3cc1ac66;transform:translateY(-1px)}.btn-outline{background-color:transparent;border:1px solid var(--border-color);color:var(--text-main)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-sm{padding:.4rem .85rem;font-size:.82rem;border-radius:var(--radius-sm)}.input-field{width:100%;padding:.65rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface);color:var(--text-main);font-size:.9rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);padding:2rem;position:relative;animation:modalSlide .25s cubic-bezier(.16,1,.3,1)}@keyframes modalSlide{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:2000}.toast{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.15rem;border-radius:var(--radius-md);background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);color:var(--text-main);animation:toastIn .25s ease}@keyframes toastIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.hover-zoom-image{transition:transform .4s ease}.hover-zoom-image:hover{transform:scale(1.04)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-header{height:70px;background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;position:sticky;top:0;z-index:900}.admin-header-title{font-size:1.15rem;font-weight:800;color:var(--text-main);white-space:nowrap}.admin-header-subtitle{display:block;font-size:.62rem;font-weight:700;color:var(--primary);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.admin-user-info{display:flex;flex-direction:column}@media (max-width: 768px){.admin-header{padding:0 .85rem!important}.admin-header-subtitle,.admin-user-info{display:none!important}}@media (max-width: 480px){.admin-header-title{font-size:.95rem!important}.admin-header-logo-icon{width:32px!important;height:32px!important}}.mobile-sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;opacity:0;transition:opacity .3s ease}.mobile-sidebar-backdrop.active{display:block;opacity:1}.admin-sidebar{width:260px;background-color:var(--bg-surface);border-right:1px solid var(--border-color);min-height:calc(100vh - 70px);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1rem;transition:transform .3s cubic-bezier(.16,1,.3,1)}@media (max-width: 1024px){.admin-sidebar{position:fixed!important;top:70px!important;left:0!important;bottom:0!important;height:calc(100vh - 70px)!important;z-index:999!important;transform:translate(-100%)!important;box-shadow:var(--shadow-lg)!important}.admin-sidebar.open{transform:translate(0)!important}.admin-mobile-toggle{display:flex!important}}@media (min-width: 1025px){.admin-mobile-toggle{display:none!important}}
