/*!
 * © 2026 Master IA — Master.IA.br + Prospecta Inteligência
 * TivIA v2 — Professional Dark Theme with Prospecta Branding
 */

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Work Sans','Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;background:#0A0A0F;color:#F8FAFC;overflow-x:hidden;min-height:100vh}
button{font-family:inherit;outline:none;cursor:pointer;border:none}
input,textarea,select{font-family:inherit;outline:none;border:none;background:#141627;color:#F8FAFC;border-radius:8px;padding:10px 14px;font-size:14px;border:1px solid #1e2040}
input:focus,textarea:focus,select:focus{border-color:#865AFF60;box-shadow:0 0 0 2px rgba(134,90,255,.1)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0A0A0F}::-webkit-scrollbar-thumb{background:#1e2040;border-radius:3px}

/* Layout */
.app{display:flex;height:100vh}

/* Sidebar */
.sidebar{width:260px;background:#0f1124;border-right:1px solid #1a1d38;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}
.sidebar-header{padding:24px 20px 12px;border-bottom:1px solid #1a1d38;margin-bottom:8px}
.logo{font-size:28px;font-weight:900;letter-spacing:-1px;line-height:1.1}
.logo .tiv{color:#865AFF}
.logo .ia{color:#03AC8B}
.logo-sub{font-size:10px;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:2.5px;margin-top:4px}
.logo-ver{font-size:9px;color:#3d4060;margin-top:2px}

.sidebar-nav{padding:8px 10px;flex:1}
.nav-label{font-size:10px;font-weight:700;color:#4a4e6e;text-transform:uppercase;letter-spacing:2px;padding:16px 10px 6px}
.nav-btn{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:8px;color:#7a7f9e;font-size:13px;font-weight:500;transition:all .2s;width:100%;text-align:left;background:transparent}
.nav-btn:hover{background:#161938;color:#c8cce6}
.nav-btn.active{background:linear-gradient(135deg,rgba(134,90,255,.12),rgba(134,90,255,.06));color:#F8FAFC;border-left:3px solid #865AFF;padding-left:11px}
.nav-btn .nav-icon{flex-shrink:0;width:18px;text-align:center;font-size:14px;opacity:.7}
.nav-btn.active .nav-icon{opacity:1}
.nav-btn .badge-new{margin-left:auto;font-size:9px;padding:2px 6px;border-radius:99px;background:#f59e0b20;color:#f59e0b;font-weight:700}

.sidebar-footer{padding:16px 20px;border-top:1px solid #1a1d38;font-size:10px;color:#3d4060;line-height:1.8;text-align:center}

/* Main Content */
.main{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.content{flex:1;padding:32px 40px;max-width:1200px;width:100%}

/* Status Bar */
.status-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:#07080E;border-top:1px solid #1a1d38;font-size:11px;color:#4a4e6e;flex-shrink:0}
.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}
.status-dot.green{background:#03AC8B}
.status-dot.purple{background:#865AFF}
.status-dot.amber{background:#f59e0b}

/* Section Headers */
.section-title{font-size:26px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px;color:#F8FAFC}
.section-sub{font-size:13px;color:#5a5e80;margin-bottom:28px;line-height:1.5}

/* Engine Cards Grid */
.engines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:28px}
.engine-card{background:#111328;border:1px solid #1a1d38;border-radius:14px;padding:0;overflow:hidden;transition:all .3s;cursor:pointer;position:relative}
.engine-card:hover{transform:translateY(-3px);border-color:#865AFF40;box-shadow:0 8px 32px rgba(134,90,255,.12)}
.engine-card.active{border-color:#865AFF;box-shadow:0 0 0 1px #865AFF40}
.engine-card.locked{opacity:.6;cursor:not-allowed}
.engine-card-top{padding:20px 20px 12px;display:flex;align-items:flex-start;gap:14px}
.engine-num{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;flex-shrink:0}
.engine-num.free{background:linear-gradient(135deg,#a78bff,#865AFF)}
.engine-num.basic{background:linear-gradient(135deg,#865AFF,#6a3fd9)}
.engine-num.pro{background:linear-gradient(135deg,#f59e0b,#d97706)}
.engine-num.premium{background:linear-gradient(135deg,#ec4899,#db2777)}
.engine-info{flex:1}
.engine-name{font-size:15px;font-weight:700;color:#e0e3f0;margin-bottom:4px}
.engine-desc{font-size:12px;color:#5a5e80;line-height:1.5}
.engine-card-bottom{padding:12px 20px;background:#0d0f1a;border-top:1px solid #141627;display:flex;align-items:center;justify-content:space-between}
.engine-source{font-size:10px;color:#4a4e6e;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.engine-badge{font-size:10px;padding:3px 10px;border-radius:99px;font-weight:700}
.engine-badge.free{background:#865AFF20;color:#a78bff}
.engine-badge.basic{background:#865AFF20;color:#a78bff}
.engine-badge.pro{background:#f59e0b20;color:#f59e0b}
.engine-badge.premium{background:#ec489920;color:#ec4899}

/* City Search */
.city-search{position:relative;margin-bottom:28px}
.city-search input{width:100%;padding:16px 20px 16px 48px;font-size:16px;background:#111328;border:1px solid #1a1d38;border-radius:14px;color:#F8FAFC;font-weight:500}
.city-search input:focus{border-color:#865AFF60;box-shadow:0 0 0 3px rgba(134,90,255,.1)}
.city-search .search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#4a4e6e}
.city-suggestions{position:absolute;top:100%;left:0;right:0;background:#111328;border:1px solid #1a1d38;border-radius:0 0 14px 14px;max-height:240px;overflow-y:auto;z-index:100;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.city-suggestion{padding:12px 20px;cursor:pointer;font-size:14px;color:#c8cce6;border-bottom:1px solid #141627;transition:background .15s}
.city-suggestion:hover{background:#161938}
.city-suggestion .uf{color:#4a4e6e;font-size:12px;margin-left:8px}

/* Results Panel */
.result-panel{background:#111328;border:1px solid #1a1d38;border-radius:14px;padding:24px;margin-bottom:20px}
.result-panel h3{font-size:16px;font-weight:700;color:#F8FAFC;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.result-panel h3 .dot{width:8px;height:8px;border-radius:50%}

/* KPI Grid */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.kpi-card{background:#0d0f1a;border:1px solid #1a1d38;border-radius:10px;padding:16px;text-align:center;transition:all .25s}
.kpi-card:hover{border-color:#865AFF20;transform:translateY(-1px)}
.kpi-label{font-size:10px;font-weight:600;color:#4a4e6e;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.kpi-value{font-size:20px;font-weight:800;letter-spacing:-.5px}
.kpi-value.purple{color:#865AFF}
.kpi-value.green{color:#03AC8B}
.kpi-value.amber{color:#f59e0b}
.kpi-value.red{color:#EF4444}
.kpi-sub{font-size:10px;color:#4a4e6e;margin-top:3px}

/* Analysis Text */
.analysis-text{font-size:14px;line-height:1.8;color:#8a8fb0;white-space:pre-wrap;padding:16px 20px;background:#0d0f1a;border-radius:10px;border:1px solid #141627}

/* Loading States */
.loading-bar{height:3px;background:#141627;border-radius:3px;overflow:hidden;margin-bottom:20px}
.loading-bar-fill{height:100%;background:linear-gradient(90deg,#865AFF,#03AC8B,#865AFF);background-size:200%;animation:loadSlide 1.5s ease-in-out infinite;border-radius:3px}
@keyframes loadSlide{0%{background-position:200% 0}100%{background-position:-200% 0}}

.skeleton{background:linear-gradient(90deg,#141627 25%,#1a1d38 50%,#141627 75%);background-size:200%;animation:shimmer 1.5s infinite;border-radius:8px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Comparison Table */
.comp-table{width:100%;border-collapse:collapse;margin-bottom:20px}
.comp-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;color:#4a4e6e;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #1a1d38;background:#0d0f1a}
.comp-table td{padding:10px 14px;font-size:13px;color:#c8cce6;border-bottom:1px solid #141627}
.comp-table tr:hover td{background:#0d0f1a40}

/* Tier Selector */
.tier-selector{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.tier-btn{padding:8px 20px;border-radius:99px;font-size:12px;font-weight:700;transition:all .25s;background:#111328;border:1px solid #1a1d38;color:#5a5e80}
.tier-btn:hover{border-color:#865AFF40;color:#c8cce6}
.tier-btn.active{border-color:#865AFF;color:#F8FAFC;background:linear-gradient(135deg,rgba(134,90,255,.15),rgba(134,90,255,.05))}

/* Token Modal */
.token-overlay{position:fixed;inset:0;background:rgba(10,10,15,.94);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(8px)}
.token-modal{background:#111328;border:1px solid #1e2040;border-radius:16px;padding:40px 48px;text-align:center;max-width:460px;width:90%;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.token-modal input{width:100%;padding:14px 18px;font-size:15px;margin-bottom:16px;background:#0d0f1a;border:1px solid #1e2040;text-align:center;letter-spacing:1px;border-radius:10px}
.btn-enter{width:100%;padding:14px;border-radius:10px;background:linear-gradient(135deg,#865AFF,#6a3fd9);color:#fff;font-weight:700;font-size:15px;transition:all .3s}
.btn-enter:hover{background:linear-gradient(135deg,#7344E6,#5a30c0);transform:translateY(-1px);box-shadow:0 8px 24px rgba(134,90,255,.3)}

/* Action Button */
.btn-action{padding:14px 28px;border-radius:12px;background:linear-gradient(135deg,#865AFF,#6a3fd9);color:#fff;font-weight:700;font-size:15px;transition:all .3s;letter-spacing:.3px;display:inline-flex;align-items:center;gap:8px}
.btn-action:hover{background:linear-gradient(135deg,#7344E6,#5a30c0);transform:translateY(-1px);box-shadow:0 8px 32px rgba(134,90,255,.3)}
.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn-action.green{background:linear-gradient(135deg,#865AFF,#6a3fd9)}
.btn-action.green:hover{background:linear-gradient(135deg,#7344E6,#5a30c0)}
.btn-action.amber{background:linear-gradient(135deg,#f59e0b,#d97706)}

/* Pricing tag */
.price-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:700;background:#f59e0b15;color:#f59e0b;border:1px solid #f59e0b30}

/* Animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.fi{animation:fadeIn .4s cubic-bezier(.2,.85,.25,1) both}
@keyframes iaGlow{
  0%,100%{text-shadow:0 0 20px #865AFF60,0 0 40px #865AFF30}
  50%{text-shadow:0 0 30px #865AFF90,0 0 60px #865AFF50}
}
.ia-pulse{animation:iaGlow 3s ease-in-out infinite}

/* Responsive */
@media(max-width:1024px){.engines-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .sidebar{display:none}
  .content{padding:16px}
  .engines-grid{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
}
