:root{
  --primary:#2f5bea;
  --primary-2:#1f44c7;
  --bg:#f5f7fb;
  --panel:#ffffff;
  --text:#172033;
  --muted:#7d879b;
  --line:#e6eaf2;
  --success:#16a36a;
  --warning:#ff9e2c;
  --danger:#e65353;
  --shadow:0 12px 35px rgba(27,42,76,.08);
  --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}

/* LOGIN */
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(140deg,#eef3ff,#fff)}
.login-art{position:relative;overflow:hidden;padding:72px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#244fdc,#6b8cff);color:#fff}
.login-art:before,.login-art:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}
.login-art:before{width:440px;height:440px;right:-150px;top:-120px}.login-art:after{width:280px;height:280px;left:-80px;bottom:-90px}
.login-art h1{font-size:54px;line-height:1.05;margin:18px 0;max-width:680px}.login-art p{font-size:18px;max-width:620px;opacity:.9;line-height:1.6}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px;letter-spacing:-.5px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(180deg,#6f8cff,#2e5be9);display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(47,91,234,.28)}
.login-card-wrap{display:grid;place-items:center;padding:36px}.login-card{width:min(430px,100%);background:#fff;padding:38px;border-radius:24px;box-shadow:var(--shadow)}
.login-card h2{font-size:28px;margin:12px 0 8px}.login-card .sub{color:var(--muted);margin:0 0 28px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field label{font-size:13px;font-weight:700;color:#49536a}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:12px;padding:13px 14px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8fa6ff;box-shadow:0 0 0 3px rgba(47,91,234,.08)}
.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:800}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2)}.btn-soft{background:#edf2ff;color:var(--primary)}.btn-outline{background:#fff;color:var(--text);border:1px solid var(--line)}.btn-danger{background:#fff0f0;color:var(--danger)}
.login-card .btn{width:100%;margin-top:6px}.demo-box{margin-top:18px;padding:14px;background:#f7f9ff;border-radius:12px;color:#5c6780;font-size:12px;line-height:1.7}

/* APP */
.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px 22px}.nav{display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:4px}.nav-section{font-size:10px;color:#a0a8b8;font-weight:800;letter-spacing:1.1px;padding:18px 12px 7px}.nav-btn{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#5d677b;padding:11px 12px;border-radius:11px;text-align:left;font-weight:650}.nav-btn:hover{background:#f5f7fb;color:var(--text)}.nav-btn.active{background:#edf2ff;color:var(--primary)}.nav-icon{width:22px;text-align:center}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.main{min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.search{width:min(430px,45vw);position:relative}.search input{width:100%;border:1px solid var(--line);background:#f8f9fc;border-radius:12px;padding:11px 14px 11px 38px;outline:none}.search span{position:absolute;left:13px;top:10px}.userbox{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#6f8cff,#2f5bea);color:#fff;display:grid;place-items:center;font-weight:800}.page{padding:28px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{margin:0;font-size:27px}.page-head p{margin:6px 0 0;color:var(--muted)}
.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(31,45,82,.04)}.stat{padding:20px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-label{color:var(--muted);font-size:13px}.stat-icon{width:38px;height:38px;border-radius:12px;background:#edf2ff;color:var(--primary);display:grid;place-items:center}.stat strong{display:block;font-size:27px;margin:8px 0 4px}.trend{font-size:12px;color:var(--success);font-weight:700}
.content-grid{grid-template-columns:1.45fr .8fr;margin-top:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-head h3{margin:0;font-size:16px}.muted{color:var(--muted)}
.chart{height:230px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid var(--line);padding:20px 5px 0}.bar{flex:1;min-width:12px;background:linear-gradient(180deg,#5d80ff,#2f5bea);border-radius:8px 8px 0 0;position:relative}.bar:hover:after{content:attr(data-label);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#172033;color:#fff;padding:5px 7px;border-radius:6px;font-size:10px;white-space:nowrap}
.list{display:flex;flex-direction:column}.list-row{display:grid;grid-template-columns:1.2fr .7fr .6fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.pill.green{background:#e9f8f2;color:#11835a}.pill.orange{background:#fff4e7;color:#d67b10}.pill.blue{background:#edf2ff;color:var(--primary)}

/* PRODUCTS / CARDS */
.products{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card{overflow:hidden}.product-img{height:160px;background:linear-gradient(135deg,#f0f3f9,#e5eafa);display:grid;place-items:center;font-size:52px}.product-body{padding:16px}.product-body h3{margin:0 0 6px;font-size:16px}.product-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:12px 0}.price{font-size:20px;font-weight:850}.commission{color:var(--success);font-size:12px;font-weight:800}.actions{display:flex;gap:8px;margin-top:14px}.actions .btn{flex:1;padding:10px 12px;font-size:12px}

/* TABLE */
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);font-size:13px}.table th{color:#8b94a6;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.table td strong{display:block}.table td small{color:var(--muted)}

/* HERO / MISSION / COURSE */
.hero-banner{padding:28px;background:linear-gradient(125deg,#2f5bea,#6e8dff);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-banner h2{margin:0 0 8px;font-size:24px}.hero-banner p{margin:0;opacity:.88;max-width:720px}.hero-score{font-size:38px;font-weight:900;white-space:nowrap}.missions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.mission{padding:18px}.mission-top{display:flex;justify-content:space-between}.progress{height:9px;background:#edf0f6;border-radius:999px;overflow:hidden;margin:14px 0 8px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2f5bea,#6f8cff);border-radius:999px}.course-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.course-thumb{width:72px;height:52px;border-radius:10px;background:#e9eeff;display:grid;place-items:center;color:var(--primary);font-size:20px;font-weight:900}.course-row h4{margin:0 0 4px}.course-row p{margin:0;color:var(--muted);font-size:12px}

/* WALLET */
.wallet{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.wallet-card{padding:28px;background:linear-gradient(135deg,#173bba,#4c74ff);color:#fff;min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.wallet-card .value{font-size:44px;font-weight:900}.wallet-card .minor{opacity:.76}.bank-card{padding:22px}.bank-info{background:#f7f9fd;border:1px dashed #cfd7e6;border-radius:13px;padding:16px;line-height:1.7}

/* MODAL/TOAST */
.modal-backdrop{position:fixed;inset:0;background:rgba(12,20,39,.5);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(520px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0}.x{border:0;background:#f1f3f8;width:34px;height:34px;border-radius:10px}.copy-box{display:flex;gap:8px}.copy-box input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px}.toast{position:fixed;right:24px;bottom:24px;background:#172033;color:#fff;padding:13px 16px;border-radius:12px;box-shadow:var(--shadow);z-index:120;animation:fade .25s ease}.empty{padding:34px;text-align:center;color:var(--muted)}
@keyframes fade{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}

/* MOBILE */
.mobile-menu{display:none}.sidebar-overlay{display:none}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.products,.missions{grid-template-columns:repeat(2,1fr)}.content-grid,.wallet{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-art{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:80;left:-280px;width:260px;transition:.25s}.sidebar.open{left:0}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:70}.mobile-menu{display:inline-grid;place-items:center;border:0;background:#f1f3f8;width:38px;height:38px;border-radius:10px}.topbar{padding:0 14px}.search{display:none}.userbox .usertext{display:none}.page{padding:18px}.page-head{align-items:flex-start;flex-direction:column}.stats,.products,.missions{grid-template-columns:1fr}.list-row{grid-template-columns:1fr auto}.list-row>*:nth-child(2),.list-row>*:nth-child(3){display:none}.hero-banner{align-items:flex-start;flex-direction:column}.wallet-card .value{font-size:36px}}

/* V2 - ajustes de cadastro real */
.product-img{position:relative;overflow:hidden}.product-img img{width:100%;height:100%;object-fit:cover;display:block}.product-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:52px}.empty-state{padding:42px;text-align:center;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state h3{margin:8px 0}.empty-state p{max-width:560px;margin:0 auto 16px}.empty-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#edf2ff;color:#2f5bea;font-size:28px}.btn:disabled{opacity:.55;cursor:not-allowed}
