:root{--background: 0 0% 0%;--foreground: 145 60% 90%;--card: 0 0% 5%;--card-foreground: 145 60% 80%;--popover: 0 0% 5%;--popover-foreground: 145 60% 90%;--primary: 145 63% 49%;--primary-foreground: 0 0% 0%;--secondary: 0 0% 15%;--secondary-foreground: 145 60% 70%;--muted: 0 0% 20%;--muted-foreground: 145 40% 50%;--accent: 0 0% 20%;--accent-foreground: 145 60% 80%;--destructive: 0 100% 50%;--destructive-foreground: 0 0% 100%;--border: 145 63% 20%;--input: 145 63% 10%;--ring: 145 63% 49%;--radius: .5rem;--sidebar-width: 260px;--topbar-height: 64px}@media (max-width: 430px){:root{--sidebar-width: 280px;--topbar-height: 56px;--radius: .75rem}}html{scroll-behavior:smooth}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,sans-serif;margin:0;overflow-x:hidden}.loader{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background-color:hsla(var(--card),.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid hsl(var(--border) / .3);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:50;transition:width .4s cubic-bezier(.4,0,.2,1),transform .3s ease}.main-wrapper{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left .4s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:80px}.sidebar.collapsed~.main-wrapper{margin-left:80px}.sidebar.collapsed .sidebar-header span,.sidebar.collapsed .nav-item span,.sidebar.collapsed #logout-btn span,.sidebar.collapsed .text-xs,.sidebar.collapsed #user-display-name,.sidebar.collapsed #user-role-badge,.sidebar.collapsed #admin-nav-section .text-xs{display:none!important}.sidebar.collapsed .nav-item{padding:.75rem 0;justify-content:center;width:100%}.sidebar.collapsed .sidebar-nav{padding:1rem .5rem}.sidebar.collapsed .nav-item svg{margin:0}.sidebar.collapsed .sidebar-header{justify-content:center}.topbar{height:var(--topbar-height);background-color:hsla(var(--background),.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:40;transition:all .4s ease}.content-area{padding:2rem;flex:1;transition:padding .4s ease}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.main-wrapper{margin-left:0}.sidebar.open{transform:translate(0)}}.sidebar-header{height:var(--topbar-height);display:flex;align-items:center;justify-content:center;border-bottom:1px solid hsl(var(--border))}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);color:hsl(var(--muted-foreground));text-decoration:none;transition:all .2s ease;margin-bottom:.25rem;font-weight:500}.nav-item:hover,.nav-item.active{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.nav-item svg{width:20px;height:20px}.card{background-color:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.custom-scrollbar::-webkit-scrollbar{width:6px}.card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:hsl(var(--primary) / .5)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;flex-direction:column}.stat-value{font-size:2.5rem;font-weight:700;color:hsl(var(--foreground));margin:.5rem 0;font-family:Rajdhani,sans-serif}.stat-label{color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);padding:.5rem 1rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background-color:hsl(var(--primary) / .9);box-shadow:0 0 15px hsl(var(--primary) / .4)}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover{background-color:hsl(var(--secondary) / .8)}.btn-ghost{background-color:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background-color:hsl(var(--muted))}.input{width:100%;padding:.75rem;border-radius:var(--radius);background-color:hsl(var(--background));border:1px solid hsl(var(--input));color:hsl(var(--foreground));margin-bottom:1rem}.input:focus{border-color:hsl(var(--primary));outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .2)}#auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.hidden{display:none!important}.text-primary{color:hsl(var(--primary))}.text-muted{color:hsl(var(--muted-foreground))}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}.rounded-full{border-radius:9999px}.w-full{width:100%}.role-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;text-transform:uppercase;font-weight:700}.role-badge.admin{background-color:hsl(var(--destructive));color:#fff}.role-badge.user{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.dune-rise-text{font-family:Orbitron,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.2em}.alfred-opt-btn{position:relative;overflow:hidden}.alfred-opt-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,hsla(var(--primary),.2) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;border-radius:50%;z-index:0}.alfred-opt-btn:hover:after{width:300px;height:300px}.alfred-plan-results h1,.alfred-plan-results h2,.alfred-plan-results h3{font-family:Orbitron,sans-serif;color:hsl(var(--primary));margin-top:1.5rem;margin-bottom:1rem}.alfred-plan-results ul{list-style:none;padding-left:0}.alfred-plan-results li{padding:.75rem 0;border-bottom:1px solid hsla(var(--border),.3);color:hsla(var(--foreground),.8)}.alfred-plan-results strong{color:hsl(var(--primary))}@keyframes bounce-in{0%{transform:scale(.9);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.animate-bounce-in{animation:bounce-in .5s cubic-bezier(.175,.885,.32,1.275) forwards}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:hsla(var(--primary),.2);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:hsla(var(--primary),.4)}#calendar-days div.group:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000080}.radar-sweep{position:absolute;top:50%;left:50%;width:50%;height:2px;background:linear-gradient(90deg,hsl(var(--primary)),transparent);transform-origin:left center;animation:sweep 4s linear infinite;z-index:5}@keyframes sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.view-section#view-dashboard .card{background:hsla(var(--card),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(var(--border),.3)}.bg-primary.animate-pulse{box-shadow:0 0 8px hsl(var(--primary))}@media (max-width: 430px){body{font-size:14px;line-height:1.5}h1{font-size:1.5rem!important;line-height:1.3!important}h2{font-size:1.25rem!important;line-height:1.3!important}h3{font-size:1rem!important;line-height:1.4!important}.text-xs{font-size:.7rem!important}.text-sm{font-size:.8rem!important}.text-base{font-size:.875rem!important}.text-lg{font-size:1rem!important}.text-xl{font-size:1.125rem!important}.text-2xl{font-size:1.25rem!important}.text-3xl{font-size:1.5rem!important}.text-4xl{font-size:1.75rem!important}.text-5xl,.text-6xl{font-size:2rem!important;line-height:1.2}.topbar{padding:0 1rem;height:var(--topbar-height)}.topbar .ml-auto{gap:.5rem!important}#user-display-name{display:none}#user-role-badge{font-size:.65rem;padding:2px 6px}#topbar-profile-btn{width:32px!important;height:32px!important}#user-avatar-initial{font-size:.875rem!important}.sidebar{width:var(--sidebar-width)}.content-area{padding:1rem!important}.card{padding:1rem!important;border-radius:1.25rem!important}.mb-8{margin-bottom:1.5rem!important}.mb-10{margin-bottom:2rem!important}.mb-12{margin-bottom:2.5rem!important}.gap-4{gap:.75rem!important}.gap-6{gap:1rem!important}.gap-8{gap:1.25rem!important}.p-6{padding:1rem!important}.p-8{padding:1.25rem!important}.p-12{padding:1.5rem!important}.grid{grid-template-columns:1fr!important;gap:1rem!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}#view-dashboard .grid.grid-cols-2{grid-template-columns:repeat(2,1fr)!important}#view-dashboard .grid.grid-cols-1.lg\:grid-cols-12{grid-template-columns:1fr!important}#view-dashboard .lg\:col-span-8,#view-dashboard .lg\:col-span-4{grid-column:span 1!important}#view-dashboard .grid.grid-cols-1.md\:grid-cols-3{grid-template-columns:1fr!important;gap:1rem!important}.stat-value{font-size:1.75rem!important}.stat-label{font-size:.7rem!important}#achievements-catalog-grid{grid-template-columns:repeat(3,1fr)!important;gap:.75rem!important}.btn{padding:.75rem 1rem!important;font-size:.875rem!important}#view-trainer{height:calc(100vh - var(--topbar-height))!important;padding:1rem!important}.trainer-orb-container{transform:scale(.7);margin:-2rem 0!important}#training-timer-overlay{position:relative!important;left:0!important;top:0!important;transform:none!important;margin:1rem auto!important;width:100%!important}#training-phase-name{font-size:.65rem!important}#performance-score{font-size:.6rem!important}#view-closer{padding:1rem!important}#view-closer .max-w-3xl>div{flex-direction:column!important;padding:1.5rem 1rem!important;gap:1rem!important}#client-input{width:100%!important;font-size:1rem!important;min-height:120px!important;padding:.75rem!important}#analyze-button{width:100%!important;padding:1rem!important;font-size:.95rem!important}#analysis-result-container .card{padding:1.25rem!important}#strategy-content{font-size:.875rem!important;line-height:1.6!important}#strategy-content h3,#strategy-content h4{font-size:1rem!important;margin-top:1.5rem!important;margin-bottom:.75rem!important}#strategy-content ul,#strategy-content ol{padding-left:1.25rem!important}#strategy-content li{margin-bottom:.5rem!important}#view-alfred{padding:1rem!important}#view-alfred .max-w-3xl{padding:0!important}#question-card{min-height:350px!important;padding:1.5rem!important}.alfred-opt-btn{padding:1rem!important;font-size:.875rem!important}#alfred-step-indicator,#alfred-progress-percent{font-size:.65rem!important}#view-profile{padding:1rem!important}#view-profile .max-w-4xl{padding:0!important}#view-profile .grid{grid-template-columns:1fr!important}#view-knowledge{padding:1rem!important}#view-knowledge .grid{grid-template-columns:1fr!important}#view-knowledge .max-w-6xl{padding:0!important}#view-wellness{padding:1rem!important}#view-wellness .grid{grid-template-columns:1fr!important}#view-wellness .max-w-6xl{padding:0!important}#view-admin-users,#view-admin-audit{padding:1rem!important}#leaderboard-list .flex{padding:.75rem!important}#leaderboard-list .text-sm{font-size:.8rem!important}.h-1\.5{height:.25rem!important}svg{max-width:20px;max-height:20px}.nav-item svg{width:18px!important;height:18px!important}#auth-modal .card{max-width:90vw!important;padding:1.5rem!important}.content-area{scrollbar-width:thin}.content-area::-webkit-scrollbar{width:3px}}@media (min-width: 431px) and (max-width: 768px){.content-area{padding:1.5rem}.grid.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid.grid-cols-1.lg\:grid-cols-12{grid-template-columns:1fr}#achievements-catalog-grid{grid-template-columns:repeat(4,1fr)!important}.stat-value{font-size:2rem!important}h1{font-size:1.75rem!important}h2{font-size:1.5rem!important}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}}@media (min-width: 769px){.sidebar{transform:translate(0)!important}#sidebar-toggle{display:none}#sidebar-close{display:none!important}}@media (max-width: 932px) and (orientation: landscape){.topbar{height:48px}.content-area{padding:.75rem!important}#view-trainer{height:calc(100vh - 48px)!important}.trainer-orb-container{transform:scale(.6);margin:-3rem 0!important}}#view-dashboard-admin{--green: #00ff88;--green-dim: #00ff2215;--green-border: #00ff2240;--blue: #3399ff;--purple: #aa44ff;--amber: #ffaa00;--red: #ff4455;--bg: #0a0a0b;--bg2: #111113;--bg3: #161618;--bg4: #1c1c1f;--border: #1e1e22;--border2: #2a2a2e;--text: #e2e2e6;--text2: #8888a0;--text3: #444455;--mono: "Share Tech Mono", monospace;--sans: "Barlow", sans-serif;--cond: "Barlow Condensed", sans-serif;html {background: var(--bg); color: var(--text); font-family: var(--sans)} body {min-height: 100vh; background: var(--bg)} .nav {display: flex; align-items: center; gap: 16px; padding: 0 28px; height: 52px; background: var(--bg2); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100;} .nav-logo {font-family: var(--mono); font-size: 11px; letter-spacing: 3px; color: var(--green); text-transform: uppercase;} .nav-logo span {color: var(--text3)} .nav-sep {width: 1px; height: 20px; background: var(--border2); margin: 0 4px} .nav-info {font-family: var(--mono); font-size: 10px; color: var(--text3); letter-spacing: 1px} .nav-right {margin-left: auto; display: flex; align-items: center; gap: 12px} .nav-badge {font-family: var(--mono); font-size: 9px; letter-spacing: 2px; padding: 3px 10px; border: 1px solid var(--green-border); background: var(--green-dim); color: var(--green);} .live-dot {width: 7px; height: 7px; border-radius: 50%; background: var(--green); animation: pulse 2s infinite} @keyframes pulse {0%,100% {opacity: 1} 50% {opacity: .3}} .stats-row {display: grid; grid-template-columns: repeat(4,1fr); background: var(--bg2); border-bottom: 1px solid var(--border);} .stat-cell {padding: 18px 24px; border-right: 1px solid var(--border); position: relative; overflow: hidden;} .stat-cell:last-child {border-right: none} .stat-cell::after {content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,var(--green),transparent); opacity: .2;} .stat-label {font-family: var(--mono); font-size: 9px; letter-spacing: 2px; color: var(--green); text-transform: uppercase; margin-bottom: 6px} .stat-val {font-family: var(--cond); font-size: 28px; font-weight: 700; color: #fff; line-height: 1; letter-spacing: 1px} .stat-sub {font-family: var(--mono); font-size: 9px; color: var(--text3); letter-spacing: 1px; margin-top: 3px} .section-head {display: flex; align-items: center; gap: 12px; padding: 16px 28px 0;} .sec-tag {font-family: var(--mono); font-size: 9px; letter-spacing: 2px; padding: 3px 8px; background: var(--green-dim); border: 1px solid var(--green-border); color: var(--green);} .sec-title {font-family: var(--cond); font-size: 13px; font-weight: 600; letter-spacing: 4px; color: var(--text2); text-transform: uppercase;} .controls {display: flex; align-items: center; gap: 0; padding: 0 28px; border-bottom: 1px solid var(--border); margin-top: 12px;} .tab-group {display: flex} .tab {font-family: var(--mono); font-size: 9px; letter-spacing: 2px; padding: 10px 16px; cursor: pointer; color: var(--text3); border-bottom: 2px solid transparent; text-transform: uppercase; transition: all .2s; border-right: 1px solid var(--border); background: transparent;} .tab.active {color: var(--green); border-bottom-color: var(--green); background: var(--green-dim)} .tab:hover:not(.active) {color: var(--text2)} .filter-group {display: flex; gap: 6px; margin-left: auto; padding: 6px 0} .fbtn {font-family: var(--mono); font-size: 9px; letter-spacing: 1px; padding: 4px 12px; border: 1px solid var(--border2); color: var(--text3); background: transparent; cursor: pointer; text-transform: uppercase; transition: all .15s; font-size: 9px;} .fbtn.active {border-color: var(--green-border); color: var(--green); background: var(--green-dim)} .fbtn:hover:not(.active) {border-color: var(--border2); color: var(--text2)} .table-wrap {overflow-x: auto; padding: 0 0 24px} table {width: 100%; border-collapse: collapse; font-size: 12px; min-width: 900px} colgroup {} thead tr {border-bottom: 1px solid var(--border)} thead th {padding: 12px 10px; font-family: var(--mono); font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 400; color: var(--text3); text-align: left; white-space: nowrap;} thead th:first-child {padding-left: 28px; width: 32px} thead th:nth-child(2) {min-width: 170px} .col-group-head {font-family: var(--mono); font-size: 8px; letter-spacing: 2px; color: var(--text3); text-align: center; padding: 4px 0 0; border-bottom: 1px solid var(--border); text-transform: uppercase;} tbody tr {border-bottom: 1px solid #12121500; transition: background .12s} tbody tr:hover {background: var(--bg3)} tbody tr.row-sep {border-bottom: 1px solid var(--border)} tbody td {padding: 11px 10px; white-space: nowrap; vertical-align: middle} tbody td:first-child {padding-left: 28px} .rank {font-family: var(--mono); font-size: 11px; color: var(--text3); text-align: center} .rank.gold {color: #ffd700} .rank.silver {color: #aaaacc} .rank.bronze {color: #cd7f32} .seller-cell {display: flex; align-items: center; gap: 10px} .avatar {width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 9px; font-weight: 700; flex-shrink: 0; border: 1px solid;} .sname {font-family: var(--cond); font-size: 14px; font-weight: 600; color: #e8e8f0; letter-spacing: .5px} .lvl {font-family: var(--mono); font-size: 8px; letter-spacing: 1px; padding: 2px 7px; display: inline-block;} .lv-master {background: #1a003a; color: #cc44ff; border: 1px solid #8822cc55} .lv-elite {background: #001a08; color: #00cc44; border: 1px solid #009933aa} .lv-agente {background: #001233; color: #3399ff; border: 1px solid #1166cc88} .lv-novato {background: #111; color: #555; border: 1px solid #222} .pts-val {font-family: var(--cond); font-size: 16px; font-weight: 700; letter-spacing: 1px} .bar-wrap {display: flex; align-items: center; gap: 6px} .bar-track {flex: 1; min-width: 55px; height: 3px; background: var(--bg4); border-radius: 2px; overflow: hidden} .bar-fill {height: 3px; border-radius: 2px; transition: width .4s ease} .bar-num {font-family: var(--mono); font-size: 10px; color: var(--text2); min-width: 28px; text-align: right} .bar-pct {font-family: var(--mono); font-size: 9px; color: var(--text3); min-width: 28px; text-align: right} .bar-meta {font-family: var(--mono); font-size: 8px; color: var(--text3); padding-left: 2px} .quiz-wrap {display: flex; align-items: center; gap: 6px} .quiz-bar {flex: 1; min-width: 55px; height: 3px; background: var(--bg4); border-radius: 2px} .quiz-fill {height: 3px; border-radius: 2px; transition: width .4s} .quiz-pct {font-family: var(--mono); font-size: 10px; min-width: 34px; text-align: right} .streak-wrap {display: flex; align-items: center; gap: 3px} .sdot {width: 6px; height: 6px; border-radius: 50%; transition: background .3s} .sdot.on {background: var(--green)} .sdot.off {background: var(--bg4)} .snum {font-family: var(--mono); font-size: 10px; color: var(--text3); margin-left: 4px} .footer {padding: 16px 28px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; background: var(--bg2);} .footer-l {font-family: var(--mono); font-size: 9px; color: var(--text3); letter-spacing: 1px} .footer-r {font-family: var(--mono); font-size: 9px; color: var(--text3); letter-spacing: 1px} .footer-r span {color: var(--green)} ::-webkit-scrollbar {width: 4px; height: 4px} ::-webkit-scrollbar-track {background: var(--bg2)} ::-webkit-scrollbar-thumb {background: var(--border2); border-radius: 2px} @media(max-width:768px) {.stats-row {grid-template-columns: 1fr 1fr} .stat-cell:nth-child(2n) {border-right: none} .stat-cell:nth-child(n+3) {border-top: 1px solid var(--border)} .controls {flex-direction: column; align-items: flex-start; gap: 8px; padding: 8px 16px} .filter-group {flex-wrap: wrap} .nav {padding: 0 16px} .section-head {padding: 12px 16px 0} .table-wrap {} tbody td:first-child,thead th:first-child {padding-left: 16px}}}#view-dashboard-admin *{box-sizing:border-box;margin:0;padding:0}
