@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-primary:"Plus Jakarta Sans", sans-serif;--font-secondary:"Outfit", sans-serif;--neon-blue:#0072ff;--neon-purple:#4facfe;--neon-green:#10b981;--grad-primary:linear-gradient(135deg, #4f46e5 0%, #3b82f6 100%);--grad-accent:linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);--grad-danger:linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);--glow-shadow:0 0 20px #4f46e533}.light{--bg-dark:#f6f8fc;--bg-card:#ffffffe6;--bg-sidebar:#fffffff2;--border-glass:#00000012;--border-focus:#4f46e5;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-lg:0 20px 40px -15px #0000000d;--table-th-bg:#00000005;--input-bg:#ffffffe6}.dark{--bg-dark:#090d16;--bg-card:#111928bf;--bg-sidebar:#0a0f1ed9;--border-glass:#ffffff14;--border-focus:#818cf8;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--shadow-lg:0 20px 40px -15px #00000080;--table-th-bg:#0003;--input-bg:#0f172a99}body{min-height:100vh;font-family:var(--font-primary);background-color:var(--bg-dark);color:var(--text-primary);margin:0;padding:0;transition:background-color .3s,color .3s;position:relative;overflow-x:hidden}body.dark{background-image:radial-gradient(circle at 10% 20%,#4f46e514 0%,#0000 40%),radial-gradient(circle at 90% 80%,#00f2fe0d 0%,#0000 40%);background-attachment:fixed}body.light{background-image:radial-gradient(circle at 10% 20%,#4f46e50a 0%,#0000 40%),radial-gradient(circle at 90% 80%,#0072ff08 0%,#0000 40%);background-attachment:fixed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0000000d}::-webkit-scrollbar-thumb{background:#4f46e54d;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#4f46e599}#root{width:100%;min-height:100vh;display:flex}.glow-blob{pointer-events:none;z-index:0;filter:blur(40px);background:radial-gradient(circle,#4f46e514 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:20s ease-in-out infinite alternate floatAround;position:absolute}@keyframes floatAround{0%{transform:translate(0)scale(1)}50%{transform:translate(80px,60px)scale(1.1)}to{transform:translate(-30px,120px)scale(.95)}}.login-container{z-index:10;background:var(--bg-dark);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative}.login-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-glass);box-shadow:var(--shadow-lg);text-align:center;border-radius:28px;width:100%;max-width:420px;padding:48px;position:relative;overflow:hidden}.login-card:before{content:"";background:var(--grad-primary);height:4px;position:absolute;top:0;left:0;right:0}.login-logo-container{width:90px;height:90px;margin:0 auto 24px;position:relative}.login-logo-glow{background:var(--grad-primary);filter:blur(8px);opacity:.6;border-radius:50%;animation:2.5s ease-in-out infinite pulseGlow;position:absolute;inset:-6px}.login-logo{object-fit:cover;border:2px solid var(--border-glass);border-radius:50%;width:90px;height:90px;position:relative}.login-title{font-family:var(--font-secondary);color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:800}.login-subtitle{color:var(--text-secondary);margin-bottom:36px;font-size:14px}.sidebar{background:var(--bg-sidebar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border-glass);box-sizing:border-box;z-index:100;flex-direction:column;justify-content:space-between;width:290px;height:100vh;padding:30px 24px;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border-glass);align-items:center;gap:14px;margin-bottom:36px;padding-bottom:20px;display:flex}.sidebar-logo{border-radius:8px;height:38px}.sidebar-title{font-family:var(--font-secondary);color:var(--text-primary);font-size:22px;font-weight:800}.sidebar-menu{flex-direction:column;flex:1;gap:8px;display:flex}.menu-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;width:100%;padding:13px 18px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.menu-item:hover{color:var(--text-primary);background:#818cf80d}.menu-item.active{color:#fff;background:var(--grad-primary);box-shadow:var(--glow-shadow)}.menu-icon{font-size:18px}.theme-switch-btn{border:1px solid var(--border-glass);color:var(--text-secondary);cursor:pointer;background:#00000008;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .2s;display:flex}.theme-switch-btn:hover{color:var(--text-primary);background:#818cf814}.sidebar-footer{border-top:1px solid var(--border-glass);padding-top:20px}.content-area{box-sizing:border-box;z-index:10;background:var(--bg-dark);width:calc(100% - 290px);min-height:100vh;margin-left:290px;padding:48px;transition:background-color .3s;position:relative}h1{font-family:var(--font-secondary);color:var(--text-primary);margin:0;font-size:34px;font-weight:800}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px;margin-bottom:44px;display:grid}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-glass);box-shadow:var(--shadow-lg);border-radius:20px;justify-content:space-between;align-items:center;padding:26px;transition:all .3s;display:flex}.stat-card:hover{border-color:#4f46e533;transform:translateY(-4px)}.stat-info h3{color:var(--text-secondary);text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}.stat-info p{font-family:var(--font-secondary);color:var(--text-primary);margin:0;font-size:32px;font-weight:800}.stat-icon-wrapper{border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex;box-shadow:0 4px 10px #0000000d}.stat-icon-wrapper.blue{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f633}.stat-icon-wrapper.green{color:#10b981;background:#10b9811a;border:1px solid #10b98133}.stat-icon-wrapper.purple{color:#8b5cf6;background:#8b5cf61a;border:1px solid #8b5cf633}.stat-icon-wrapper.orange{color:#f97316;background:#f973161a;border:1px solid #f9731633}.product-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px;display:grid}.product-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;justify-content:space-between;padding:28px;transition:all .3s;display:flex;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lg), var(--glow-shadow);border-color:#4f46e540;transform:translateY(-6px)}.product-card:before{content:"";background:var(--grad-primary);height:4px;position:absolute;top:0;left:0;right:0}.product-card.care:before{background:var(--grad-accent)}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.product-id{color:#4f46e5;background:#4f46e514;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:800}.product-price{font-family:var(--font-secondary);color:var(--text-primary);font-size:24px;font-weight:800}.product-title{color:var(--text-primary);margin:0 0 6px;font-size:20px;font-weight:700}.product-author{color:var(--text-secondary);margin:0 0 16px;font-size:14px}.product-desc{color:var(--text-secondary);flex:1;margin-bottom:24px;font-size:14px;line-height:1.6}.tag-list{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.tag{text-transform:uppercase;border-radius:6px;padding:5px 10px;font-size:10px;font-weight:700}.tag-prescription{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.tag-category{color:#10b981;background:#10b9811a;border:1px solid #10b98133}.card-actions{border-top:1px solid var(--border-glass);gap:12px;padding-top:20px;display:flex}.table-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);box-shadow:var(--shadow-lg);border-radius:24px;overflow:hidden}.table-header{border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.table-header h2{font-family:var(--font-secondary);color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.admin-table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{background:var(--table-th-bg);color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-glass);padding:18px 28px;font-size:12px;font-weight:700}.admin-table td{border-bottom:1px solid var(--border-glass);color:var(--text-primary);padding:18px 28px;font-size:14.5px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#818cf805}.status-badge{border-radius:99px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-block}.status-badge.credit{color:#10b981;background:#10b9811a;border:1px solid #10b98133}.status-badge.debit{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.search-bar-container{width:100%;margin-bottom:30px;display:flex}.search-input{border:1px solid var(--border-glass);background:var(--input-bg);width:100%;max-width:440px;color:var(--text-primary);border-radius:14px;outline:none;padding:14px 22px;font-size:15px;transition:all .25s}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f46e526}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14.5px;font-weight:600;transition:all .25s;display:inline-flex}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 4px 14px #4f46e540}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4f46e566}.btn-danger{background:var(--grad-danger);color:#fff;box-shadow:0 4px 14px #ef444440}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-outline{border:1px solid var(--border-glass);color:var(--text-secondary);background:0 0}.btn-outline:hover{color:var(--text-primary);background:#818cf80d}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#03071266;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:100%;max-width:550px;box-shadow:var(--shadow-lg);border:1px solid var(--border-glass);border-radius:28px;padding:40px;animation:.35s cubic-bezier(.34,1.56,.64,1) slideUp;position:relative}.modal-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.modal-header h2{font-family:var(--font-secondary);color:var(--text-primary);margin:0;font-size:24px;font-weight:700}.modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:28px}.modal-close-btn:hover{color:var(--text-primary)}.form-group{text-align:left;flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;font-size:13.5px;font-weight:600}.form-control{border:1px solid var(--border-glass);background:var(--input-bg);color:var(--text-primary);border-radius:10px;outline:none;padding:12px 18px;font-size:14.5px;transition:all .2s}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f46e526}.checkbox-group{cursor:pointer;align-items:center;gap:12px;margin:26px 0;display:flex}.checkbox-input{cursor:pointer;width:20px;height:20px}.modal-footer{justify-content:flex-end;gap:14px;margin-top:36px;display:flex}.toast-msg{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-lg);z-index:2000;border-radius:16px;padding:18px 28px;font-size:14.5px;font-weight:600;animation:.35s cubic-bezier(.34,1.56,.64,1) slideInRight;position:fixed;bottom:40px;right:40px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}to{opacity:.5;transform:scale(1)}}.spinner{border:4px solid var(--border-glass);border-top-color:#0072ff;border-radius:50%;width:44px;height:44px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
