*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#eef2ff;--accent:#8b5cf6;--accent-2:#06b6d4;--teal:#10b981;--teal-light:#d1fae5;--amber:#f59e0b;--amber-light:#fef3c7;--red:#ef4444;--red-light:#fee2e2;--gray:#9ca3af;--gray-light:#f1f5f9;--text:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--bg:#f8faff;--surface:#fff;--border:#e8eeff;--border-strong:#c7d2fe;--radius:16px;--radius-sm:10px;--radius-lg:24px;--radius-xl:32px;--shadow-sm:0 1px 3px #6366f112, 0 1px 2px #0000000a;--shadow:0 4px 24px #6366f11a, 0 1px 4px #0000000d;--shadow-lg:0 12px 48px #6366f126, 0 4px 16px #0000000f;--shadow-colored:0 8px 32px #6366f147;--gradient:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);--purple:#6366f1;--purple-light:#eef2ff}body{background-color:var(--bg);color:var(--text);font-family:Outfit,-apple-system,system-ui,sans-serif;font-size:15px;line-height:1.6}input,button,select,textarea{color:var(--text);font-family:inherit;font-size:15px}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);outline:none;padding:12px 16px;transition:border-color .2s}input:focus{border-color:var(--primary)}button{cursor:pointer;border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:all .2s;display:inline-flex}.btn{box-shadow:var(--shadow-sm);border-radius:50px;padding:10px 22px}.btn-primary{background:var(--gradient);color:#fff;box-shadow:var(--shadow-colored);border:none}.btn-primary:hover{transform:translateY(-1px)}.btn-outline{background:var(--surface);color:var(--primary);border:1.5px solid var(--border-strong)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem;transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.glass-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem}.article-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000008}.article-card:hover{border-color:var(--primary-light);transform:translateY(-5px);box-shadow:0 15px 35px #6366f126,0 5px 15px #0000000d}.article-card-header{border-bottom:1px solid var(--border);background:linear-gradient(#f8faff 0%,#fff0 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.article-card-footer{background:var(--bg);border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:16px 24px;display:flex}.gradient-text{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.badge{border-radius:50px;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-green{background:var(--teal-light);color:var(--teal)}.badge-purple{background:var(--primary-light);color:var(--primary-dark)}.badge-amber{background:var(--amber-light);color:var(--amber)}.badge-red{background:var(--red-light);color:var(--red)}.divider{background:var(--border);height:1px;margin:1.5rem 0}.label{color:var(--text-muted);letter-spacing:.02em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group{margin-bottom:1.5rem}h1{letter-spacing:-.5px;color:var(--text);margin-bottom:.5rem;font-size:32px;font-weight:800}h2{letter-spacing:-.5px;font-size:24px;font-weight:700}h3{font-size:18px;font-weight:600}.btn-full{border-radius:var(--radius-sm);width:100%}.btn-outline:hover{background:var(--primary-light);border-color:var(--primary)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.dashboard-main{flex:1;margin-left:280px;padding:3rem;transition:margin .3s}.desktop-sidebar{display:flex}.mobile-top-header,.mobile-nav{display:none}@media (width<=768px){.desktop-sidebar{display:none!important}.mobile-top-header{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:100;background:#ffffffd9;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 16px #6366f114}.mobile-nav{-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:1000;background:#ffffffe0;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 40px #6366f11f}.mobile-nav-item{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;box-shadow:none;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:5px;padding:6px 0;font-size:10px;font-weight:700;text-decoration:none;transition:all .25s;display:flex}.mobile-nav-item.active{color:var(--primary);transform:translateY(-2px)}.mobile-nav-item.active .nav-icon-wrap{background:var(--primary-light);box-shadow:0 4px 16px #6366f140}.nav-icon-wrap{border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .25s;display:flex}.mobile-fab{background:var(--gradient);color:#fff;width:58px;height:58px;box-shadow:var(--shadow-colored);cursor:pointer;border:3px solid #fff;border-radius:18px;justify-content:center;align-items:center;font-size:26px;transition:all .25s;display:flex;transform:translateY(-24px)}.mobile-fab:hover{transform:translateY(-28px)}.mobile-fab:active{transform:translateY(-20px)}.dashboard-main{width:100%;margin-bottom:110px;margin-left:0!important;padding:16px!important}.card{padding:1.25rem}h1{font-size:26px}.glass-modal{border-bottom:none;border-radius:24px 24px 0 0;width:100%;min-height:90vh;margin-top:10vh;padding:1.5rem;max-width:100%!important}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-bottom-sheet{animation:.3s cubic-bezier(.16,1,.3,1) slideUp;align-items:flex-end!important;padding:0!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes blobFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.97)}}
