/* ==============================
   DESIGN TOKENS E SETUP GLOBAL
   ============================== */
   :root{
    /* Paleta base em HSL para mix consistente */
    --lilac-100: hsl(260 100% 95%);
    --lilac-200: hsl(257 100% 91%);
    --lilac-300: hsl(255 100% 86%);
    --lilac-400: hsl(255 100% 79%);
    --lilac-500: hsl(255 100% 72%);
    --lilac-600: hsl(255 100% 66%);
    --lilac-700: hsl(255 100% 58%);
  
    --ink: hsl(255 45% 9%);
    --ink-muted: hsl(263 22% 41%);
    --bg: hsl(255 100% 99%);
    --surface: hsla(0 0% 100% / 0.8);
    --line: hsla(257 60% 92% / 0.5);
    --danger: hsl(351 100% 67%);
  
    --radius-xl: 28px;
    --radius-lg: 20px;
    --radius-md: 14px;
  
    --blur: 18px;
    --shadow-1: 0 12px 28px rgba(111,76,255,.16);
    --shadow-2: 0 40px 80px rgba(20,10,40,.16);
  
    --maxw: 1120px;
  
    /* Nova: tipografia e espaçamentos */
    --font: ui-sans-serif, -apple-system, system-ui, "SF Pro Text", Inter, Roboto, "Segoe UI", Arial, "Apple Color Emoji", "Segoe UI Emoji";
    --fs-0: 0.9rem;
    --fs-1: 1rem;
    --fs-2: 1.125rem;
    --leading: 1.4;
  
    --space-1: 6px;
    --space-2: 10px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 28px;
  
    color-scheme: light dark;
  }
  
  [data-theme="dark"]{
    --ink: hsl(260 60% 94%);
    --ink-muted: hsla(260 60% 88% / 0.8);
    --bg: hsl(260 45% 7%);
    --surface: hsla(258 40% 12% / 0.6);
    --line: hsla(261 27% 28% / 0.4);
    --shadow-1: 0 16px 38px rgba(0,0,0,.45);
    --shadow-2: 0 50px 100px rgba(0,0,0,.55);
  }
  
  /* Preferências do usuário */
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important }
  }
  
  /* Reset suave e utilidades */
  *{ box-sizing: border-box }
  html,body{ height:100% }
  body{
    margin:0;
    font-family: var(--font);
    line-height: var(--leading);
    color:var(--ink);
    background:
      radial-gradient(1200px 800px at 8% -10%, color-mix(in hsl, var(--lilac-600) 18%, transparent), transparent 55%),
      radial-gradient(900px 700px at 115% 0%, color-mix(in hsl, var(--lilac-600) 18%, transparent), transparent 60%),
      linear-gradient(180deg, var(--bg), color-mix(in hsl, var(--bg) 75%, #ffffff));
    -webkit-font-smoothing: antialiased;
    overflow-x:hidden;
    text-rendering: optimizeLegibility;
  }

  /* Loader global simples durante navegação parcial */
  .loader{
    position: fixed; inset: 0; display: grid; place-items: center; pointer-events: none;
    opacity: 0; transition: opacity .18s ease; z-index: 9999;
  }
  body.loading .loader{ opacity: 1 }
  .loader .spinner{
    width: 36px; height: 36px; border-radius: 999px; border: 3px solid color-mix(in hsl, var(--lilac-600) 40%, transparent);
    border-top-color: var(--lilac-700); animation: spin 0.8s linear infinite; background: none;
    box-shadow: 0 0 0 6px color-mix(in hsl, var(--lilac-600) 6%, transparent);
  }
  @keyframes spin{ to{ transform: rotate(360deg) } }

  /* Toast simples */
  .toast{
    position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%);
    background: color-mix(in hsl, #000 30%, var(--surface)); color: #fff;
    border-radius: 12px; padding: 10px 14px; font-weight: 700; font-size: .95rem;
    box-shadow: 0 14px 40px rgba(0,0,0,.26);
    opacity: 0; transition: opacity .18s ease, transform .18s ease; z-index: 99999;
    pointer-events: none;
  }
  .toast.show{ opacity: 1; transform: translateX(-50%) translateY(-2px) }
  
  /* Seleção e foco global acessível */
  ::selection{ background: color-mix(in hsl, var(--lilac-600) 25%, transparent); color:#fff }
  :focus-visible{ outline: 3px solid color-mix(in hsl, var(--lilac-600) 55%, transparent); outline-offset: 2px; border-radius: 8px }
  
  /* Visually hidden helpers */
  .visually-hidden{ position:absolute !important; clip:rect(1px,1px,1px,1px); clip-path: inset(50%); width:1px; height:1px; margin:-1px; overflow:hidden; white-space:nowrap; border:0; padding:0 }
  .sr-only-focusable:focus{ position: static; clip:auto; clip-path:none; width:auto; height:auto; margin:0; overflow:visible; white-space:normal }
  
  /* ==============================
     DECORATIVOS: BLOBS E PARTÍCULAS
     ============================== */
  .blobs, .particles{ position:fixed; inset:0; pointer-events:none; contain:strict }
  .blob{
    position:absolute; width:620px; height:620px; filter: blur(70px) saturate(120%);
    border-radius: 40% 60% 60% 40% / 40% 40% 60% 60%;
    background: radial-gradient(circle at 30% 30%, #ffeaff, var(--lilac-600));
    opacity:.32; animation: blobMove 24s ease-in-out infinite;
    will-change: transform;
  }
  .blob:nth-child(2){ right:-160px; top:-120px; width:720px; height:720px; background: radial-gradient(circle at 60% 40%, #d7ccff, var(--lilac-700)); animation-duration:28s; animation-delay:-4s }
  .blob:nth-child(3){ left:-160px; bottom:-180px; width:760px; height:760px; background: radial-gradient(circle at 40% 60%, #c7f0ff, #a48fff); animation-duration:30s; animation-delay:-8s }
  @keyframes blobMove{ 0%,100%{ transform: translate3d(0,0,0) rotate(0deg) } 50%{ transform: translate3d(12px,-14px,0) rotate(6deg) } }
  
  .particles canvas{ width:100%; height:100%; display:block; opacity:.28 }
  
  /* ==============================
     LAYOUT BASE
     ============================== */
  .wrap{ min-height:100dvh; display:grid; grid-template-rows:auto 1fr auto }
  /* Barra de progresso topo */
  .progressbar{ position: fixed; left:0; right:0; top:0; height:3px; background: transparent; z-index: 99999; pointer-events:none }
  .progressbar::after{
    content:""; display:block; width:0%; height:100%; background: linear-gradient(90deg, var(--lilac-500), var(--lilac-700));
    box-shadow: 0 0 12px rgba(111,76,255,.4);
    transition: width .3s ease;
  }
  body.loading .progressbar::after{ width: 82% }
  body.loading.done .progressbar::after{ width: 100%; transition: width .18s ease }
  
  .top{
    display:flex; align-items:center; gap:12px;
    padding: env(safe-area-inset-top) 16px 10px;
  }
  .spacer{ flex:1 }
  .top-actions{ display:inline-flex; align-items:center; gap:6px; margin-left:8px }
  
  /* Botões ícone: maiores áreas clicáveis */
  .iconbtn{
    appearance:none; border:0; cursor:pointer; display:inline-grid; place-items:center;
    min-width:44px; min-height:44px; width:44px; height:44px; border-radius:14px; color:var(--ink);
    background: color-mix(in hsl, #ffffff 60%, transparent);
    border:1px solid var(--line);
    box-shadow: 0 6px 16px rgba(20,10,40,.08);
    transition: transform .06s ease, filter .2s ease, background .2s ease, box-shadow .2s ease;
    touch-action: manipulation;
  }
  .iconbtn:hover{ filter: brightness(1.05) }
  .iconbtn:active{ transform: translateY(1px) }
  .iconbtn:focus-visible{ box-shadow: 0 0 0 4px color-mix(in hsl, var(--lilac-600) 22%, transparent) }
  
  .iconbtn .i-close{ display:none }
  .menu-open .iconbtn.menu-toggle .i-menu{ display:none }
  .menu-open .iconbtn.menu-toggle .i-close{ display:block }
  .theme-toggle .i-moon{ display:none }
  [data-theme="dark"] .theme-toggle .i-sun{ display:none }
  [data-theme="dark"] .theme-toggle .i-moon{ display:block }
  
  .brand{ display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.2px }
  .logo{
    width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#fff;
    background: linear-gradient(135deg, var(--lilac-400), var(--lilac-700));
    box-shadow: 0 12px 30px rgba(111,76,255,.35);
  }
  .brand small{ color:var(--ink-muted); font-weight:600 }
  
  /* Navegação */
  .nav{ display:flex; align-items:center; gap:6px }
  .navlink{
    display:inline-flex; align-items:center; gap:10px; padding:10px 12px;
    border-radius:12px; color:inherit; text-decoration:none; font-weight:800;
    border:1px solid transparent;
  }
  .navlink.active{ background: color-mix(in hsl, #ffffff 50%, transparent); border-color: var(--line) }
  .navlink .nav-icon{ width:22px; height:22px; color:#c7bbff }
  .navlink:hover{ text-decoration:none; background: color-mix(in hsl, #ffffff 35%, transparent); border-color: var(--line) }
  .navlink:focus-visible{ outline-offset: 3px }
  
  /* Mobile bottom sheet */
  .scrim{ position:fixed; inset:0; background: rgba(10,6,22,.28); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); z-index:40 }
  .nav{
    position:fixed; left:0; right:0; bottom:0; z-index:50;
    background: var(--surface); border-top:1px solid var(--line);
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 50px rgba(20,10,40,.30);
    transform: translateY(105%);
    transition: transform .28s cubic-bezier(.2,.7,.2,1);
    padding: 10px max(10px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));
    justify-content: space-around;
    will-change: transform;
  }
  .nav.open{ transform: translateY(0%) }
  
  /* Desktop */
  @media (min-width:900px){
    .scrim{ display:none !important }
    .nav{ position:static; transform:none; box-shadow:none; border:0; border-radius:0; padding:0; gap:4px; will-change: auto }
    .top-actions .menu-toggle{ display:none }
    .navlink{ padding:10px 12px }
  }
  
  /* Grid principal */
  .main{ display:grid; place-items:center; padding: clamp(16px, 5vw, 56px) }
  .layout .container{ transition: opacity .16s ease, transform .16s ease }
  .layout .container.fade-out{ opacity:.64; transform: translateY(2px) }
  .layout .container.fade-in{ opacity:1; transform: translateY(0) }
  .grid{
    width:min(var(--maxw), 100%);
    display:grid; gap: clamp(16px, 3vw, 32px);
    contain: layout style;
  }
  @media (min-width: 900px){
    .grid{ grid-template-columns: 1.1fr .9fr; align-items:center }
  }
  
  /* Hero */
  .hero{
    display:grid; gap:16px; align-content:center;
    padding: clamp(6px, 2vw, 8px);
  }
  .kicker{
    display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px;
    border:1px solid var(--line); background: color-mix(in hsl, #ffffff 22%, transparent); color:var(--ink-muted);
    width:max-content; font-weight:700; font-size:.82rem;
  }
  .h1{
    margin:0; font-size: clamp(1.6rem, 4.8vw, 2.6rem); line-height:1.15;
    background: linear-gradient(90deg, #ffffff, #e9e2ff 45%, #baa2ff);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .p{ margin:0; color:var(--ink-muted); font-size: clamp(1rem, 1.4vw, 1.08rem) }
  
  /* Mock */
  .mock{ margin-top:8px; display:none; position:relative; height:260px }
  @media (min-width:720px){ .mock{ display:block } }
  .chip{
    position:absolute; background: var(--surface); backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border:1px solid var(--line); border-radius: 18px; padding:12px 14px; color:var(--ink);
    box-shadow: var(--shadow-1);
    animation: float 12s ease-in-out infinite;
  }
  .chip:nth-child(1){ left:0; top:10px }
  .chip:nth-child(2){ left:140px; top:80px; animation-delay:-4s }
  .chip:nth-child(3){ left:40px; top:170px; animation-delay:-2s }
  @keyframes float{ 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-10px) } }
  
  /* Card padrão */
  .card{
    position:relative;
    background: var(--surface);
    border:1px solid var(--line);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-1), var(--shadow-2);
    padding: clamp(18px, 4vw, 28px);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    width:100%;
    max-width: 460px;
    margin: 0 auto;
  }
  
  /* Títulos */
  .title{
    margin:2px 0 6px; font-size: clamp(1.4rem, 4.2vw, 1.9rem); line-height:1.2;
    background: linear-gradient(90deg, #ffffff, #ded4ff 50%, #bba6ff);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .subtitle{ margin:0 0 16px; color:var(--ink-muted) }
  
  /* Formulários */
  form{ display:grid; gap:12px }
  .field{ display:grid; gap:8px }
  .field label{ font-weight:700; font-size:.92rem; color:var(--ink-muted) }
  .control{ position:relative }
  .icon{
    position:absolute; left:12px; top:50%; transform:translateY(-50%);
    width:22px; height:22px; color:#bfb5ff;
  }
  input{
    width:100%;
    padding:14px 14px 14px 46px;
    border-radius:16px;
    border:1px solid var(--line);
    background: color-mix(in hsl, #ffffff 70%, transparent);
    color:var(--ink);
    outline:0; font-size:1rem;
    transition: border-color .16s ease, box-shadow .16s ease, transform .06s ease;
  }
  input:focus{
    border-color: color-mix(in hsl, var(--lilac-600) 60%, white);
    box-shadow: 0 0 0 5px color-mix(in hsl, var(--lilac-600) 18%, transparent);
  }
  input:active{ transform: scale(.995) }
  input::placeholder{ color:#a79bd0 }
  
  .error{ display:none; color:var(--danger); font-size:.85rem }
  .invalid input{ border-color: var(--danger) }
  .invalid .error{ display:block }
  
  .row{
    display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:2px;
    color:var(--ink-muted); font-size:.92rem;
  }
  a{ color: color-mix(in hsl, var(--lilac-700) 80%, white); text-decoration:none }
  a:hover{ text-decoration:underline }
  
  /* Ações e botões */
  .actions{ display:grid; gap:10px; margin-top:8px }
  .btn{
    appearance:none; border:0; cursor:pointer; border-radius:16px; padding:14px 16px;
    font-weight:800; letter-spacing:.3px; color:#fff;
    background: linear-gradient(90deg, var(--lilac-500), var(--lilac-700));
    box-shadow: 0 12px 26px rgba(111,76,255,.35);
    transition: transform .06s ease, filter .2s ease, box-shadow .2s ease;
  }
  .btn:hover{ filter: brightness(1.05) }
  .btn:active{ transform: translateY(1px) }
  .btn:focus-visible{ box-shadow: 0 0 0 4px color-mix(in hsl, var(--lilac-600) 22%, transparent) }
  
  .btn.secondary{
    background: transparent; color:var(--ink);
    box-shadow:none; border:1px solid var(--line);
  }
  
  /* Links como botões (compat) */
  a[role="button"]{
    display:inline-block; text-decoration:none; text-align:center;
    padding:14px 16px; border-radius:16px; font-weight:800; letter-spacing:.3px; color:#fff;
    background: linear-gradient(90deg, var(--lilac-500), var(--lilac-700));
    box-shadow: 0 12px 26px rgba(111,76,255,.35);
  }
  a[role="button"].secondary{
    background: transparent; color:var(--ink); border:1px solid var(--line); box-shadow:none;
  }
  
  /* Barra de utilidades */
  .bar{ display:flex; justify-content:center; gap:12px; margin-top:10px }
  .switch{
    display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line);
    padding:8px 12px; border-radius:999px; background:transparent; color:var(--ink-muted); cursor:pointer; font-weight:700;
  }
  
  /* Rodapé */
  .foot{ text-align:center; color:var(--ink-muted); padding: 12px 16px env(safe-area-inset-bottom) }
  
  /* Touch hit-area */
  @media (pointer:coarse){
    .btn, input{ padding-block:16px }
  }
  
  /* ==============================
     LAYOUT COM SIDEBAR
     ============================== */
  .layout{ display:grid; grid-template-columns: 1fr; gap:14px; width:100%; margin:0 }
  @media (min-width: 1100px){ .layout{ grid-template-columns: 260px 1fr } }
  .layout .card{ max-width: none; margin:0 }
  .container{ display:grid; gap:14px }
  
  .sidebar{ padding:16px }
  .sidebar-head{ margin-bottom:8px; color:var(--ink-muted) }
  .sidebar-sep{ height:1px; background:var(--line); margin:12px 0 }
  .sidebar-nav{ display:grid; gap:6px }
  .sidebar-link{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; color:inherit; text-decoration:none; border:1px solid transparent }
  .sidebar-link .i{ width:20px; height:20px; color:#c7bbff }
  .sidebar-link:hover{ background: color-mix(in hsl, #ffffff 35%, transparent); border-color: var(--line); text-decoration:none }
  .sidebar-link.active{ background: color-mix(in hsl, #ffffff 55%, transparent); border-color: var(--line) }
  .sidebar-link:focus-visible{ outline-offset:3px }
  .sidebar-foot{ margin-top:12px; color:var(--ink-muted) }
  
  /* Conteúdo principal */
  .content{ display:grid; gap:14px }
  .topbar{ display:grid; grid-template-columns: 1fr; gap:12px; align-items:center }
  @media (min-width: 700px){ .topbar{ grid-template-columns: 1fr auto auto } }
  .greet h2{ margin:0 }
  .greet .muted{ color:var(--ink-muted); margin:4px 0 0 }
  
  .search{ display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:14px; padding:10px 12px; background: color-mix(in hsl, #ffffff 30%, transparent) }
  .search input{ border:0; outline:0; background:transparent; color:inherit }
  .userchip{ display:flex; align-items:center; gap:10px }
  .avatar{ width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background: linear-gradient(135deg, var(--lilac-400), var(--lilac-700)); color:#fff; font-weight:800 }
  .who small{ color:var(--ink-muted) }
  
  /* Métricas */
  .metrics{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px }
  @media (min-width: 900px){ .metrics{ grid-template-columns: repeat(4, minmax(0,1fr)) } }
  .tile{ padding:16px; border-radius:18px; background: var(--surface); border:1px solid var(--line); box-shadow: var(--shadow-1) }
  .tile-head{ display:flex; align-items:center; gap:8px; color:var(--ink-muted) }
  .dot{ width:9px; height:9px; border-radius:999px; background: var(--lilac-600); box-shadow: 0 0 0 5px color-mix(in hsl, var(--lilac-600) 18%, transparent) }
  .tile-value{ font-size: 1.8rem; font-weight:900; margin-top:6px }
  .tile-foot{ margin-top:6px }
  .tile-foot .pos{ color:#19c37d; font-weight:700 }
  
  /* Painéis */
  .panels{ display:grid; grid-template-columns: 1fr; gap:12px }
  @media (min-width: 900px){ .panels{ grid-template-columns: 1.4fr .6fr } }
  .panel .panel-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px }
  .chipbtn{ appearance:none; border:1px solid var(--line); background:transparent; color:inherit; padding:8px 12px; border-radius:999px; font-weight:700; cursor:pointer }
  .panel .panel-body{ position:relative; min-height:120px }
  .spark{ width:100%; height:160px; color:#baa2ff }
  .quick{ display:grid; gap:10px }
  
  /* FERRAMENTAS */
  .tools-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap:16px }
  .tool-card{ display:grid; grid-template-columns: auto 1fr auto; gap:16px; align-items:center; padding:20px }
  .tool-icon{ width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background: linear-gradient(135deg, var(--lilac-400), var(--lilac-700)); color:#fff }
  .tool-info h3{ margin:0 0 4px; font-size:1.1rem }
  .tool-info .muted{ margin:0 0 8px; font-size:.9rem }
  .tool-meta{ display:flex; align-items:center; gap:12px; font-size:.85rem }
  .cost{ color:var(--ink-muted) }
  .status{ padding:4px 8px; border-radius:999px; font-weight:700; font-size:.75rem }
  .status.available{ background: #19c37d1a; color:#19c37d }
  .status.coming{ background: #ffa7261a; color:#ffa726 }
  
  /* FORMULÁRIOS MODERNOS */
  .form-section{ width:100%; margin:0 }
  .modern-form{ display:grid; gap:20px }
  .form-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap:18px }
  @media (min-width: 900px){
    .form-grid{ grid-template-columns: 1fr 1fr }
  }
  .form-section .card{
    max-width: none;
    margin: 0;
    padding: clamp(22px, 3.6vw, 34px);
    backdrop-filter: blur(calc(var(--blur) + 2px));
    -webkit-backdrop-filter: blur(calc(var(--blur) + 2px));
  }
  .modern-form .field label{ letter-spacing:.2px }
  .modern-form .field .control .icon{ color:#bfb5ff }
  .modern-form .field input{ border-radius:18px }
  [data-theme="dark"] .modern-form .field input{ background: #3b3b3b }
  
  .modern-form .field input:focus{
    box-shadow: 0 0 0 6px color-mix(in hsl, var(--lilac-600) 16%, transparent);
  }
  .modern-form .form-actions{ margin-top:4px }
  .modern-form .form-note{ margin-top:6px }
  .form-actions{ display:flex; gap:12px; flex-wrap:wrap }
  .form-note{ display:flex; align-items:flex-start; gap:10px; padding:16px; border-radius:14px; background: color-mix(in hsl, #ffffff 40%, transparent); border:1px solid var(--line) }
  .form-note svg{ color:#ffa726; flex-shrink:0; margin-top:2px }
  .form-note p{ margin:0; font-size:.9rem }
  
  /* RESULTADOS */
  .result-section{ width:100%; margin:0 }
  .result-section .card{ max-width:none; margin:0 }
  .result-header{ margin-bottom:20px }
  .data-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap:16px; margin-bottom:24px }
  .data-item{ display:flex; flex-direction:column; gap:4px }
  .data-item .label{ color:var(--ink-muted); font-size:.85rem; font-weight:700 }
  .data-item .value{ font-size:1.1rem; font-weight:800 }
  .result-divider{ height:1px; background:var(--line); margin:24px 0 }
  .result-main{ display:grid; gap:16px }
  @media (min-width: 900px){
    .result-main{ grid-template-columns: 1fr 1fr }
  }
  .result-item{ display:flex; justify-content:space-between; align-items:center; padding:16px; border-radius:14px; background: color-mix(in hsl, #ffffff 30%, transparent) }
  .result-item.primary{ background: linear-gradient(135deg, var(--lilac-400), var(--lilac-700)); color:#fff }
  .result-item .label{ font-weight:700 }
  .result-item .value{ font-weight:900; font-size:1.2rem }
  .result-item .value.highlight{ font-size:1.4rem }
  .result-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:24px }
  
  /* DESBLOQUEIO */
  .unlock-section{ max-width:500px; margin:0 auto }
  .unlock-header{ text-align:center; margin-bottom:24px }
  .unlock-header .tool-icon{ margin:0 auto 16px; width:64px; height:64px }
  .unlock-header h3{ margin:0 0 8px }
  .alert{ display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:12px; margin-bottom:20px }
  .alert.error{ background: #ff5b6b1a; color:#ffccd1; border:1px solid #ff5b6b33 }
  .unlock-info{ margin-bottom:24px }
  .cost-display{ display:flex; justify-content:space-between; align-items:center; padding:16px; border-radius:14px; background: color-mix(in hsl, #ffffff 40%, transparent); margin-bottom:16px }
  .cost-value{ font-size:1.3rem; font-weight:900; color:var(--lilac-700) }
  .unlock-description{ color:var(--ink-muted); margin:0 }
  .unlock-actions{ display:flex; gap:12px; flex-wrap:wrap }
  
  /* PÁGINA INICIAL */
  .welcome-section{ max-width:900px; margin:0 auto }
  .welcome-content{ margin-bottom:24px }
  .welcome-content h3{ margin:0 0 20px; text-align:center }
  .features-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:20px }
  .feature-item{ display:flex; align-items:flex-start; gap:16px; padding:16px; border-radius:14px; background: color-mix(in hsl, #ffffff 30%, transparent); border:1px solid var(--line) }
  .feature-icon{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background: linear-gradient(135deg, var(--lilac-400), var(--lilac-700)); color:#fff; flex-shrink:0 }
  .feature-text h4{ margin:0 0 6px; font-size:1rem }
  .feature-text p{ margin:0; color:var(--ink-muted); font-size:.9rem; line-height:1.4 }
  .welcome-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap }
  
  /* RESPONSIVO */
  @media (max-width: 768px){
    .tools-grid{ grid-template-columns: 1fr }
    .tool-card{ grid-template-columns: 1fr; text-align:center; gap:12px }
    .tool-icon{ margin:0 auto }
    .form-grid{ grid-template-columns: 1fr }
    .data-grid{ grid-template-columns: 1fr }
    .result-item{ flex-direction:column; gap:8px; text-align:center }
    .form-actions, .result-actions, .unlock-actions{ justify-content:center }
    .features-grid{ grid-template-columns: 1fr }
    .feature-item{ flex-direction:column; text-align:center }
    .feature-icon{ margin:0 auto }
  }