/* Visual do modelo enviado: painel escuro, azul-céu, Inter e JetBrains Mono. Um só tema, por escolha do modelo. */
  :root { color-scheme: dark; }
  html, body { height: 100%; background: #020617; color: #e2e8f0; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
  body { overflow: hidden; }
  #root { height: 100%; }
  ::-webkit-scrollbar { width: 6px; height: 6px; }
  ::-webkit-scrollbar-track { background: #090d16; }
  ::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }
  .fade { animation: fadeIn .25s ease-out; }
  @keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
  .toast { animation: toastIn .3s cubic-bezier(.16,1,.3,1); }
  @keyframes toastIn { from { transform: translateY(100%) scale(.9); opacity: 0; } to { transform: none; opacity: 1; } }
  @media (prefers-reduced-motion: reduce) { .fade, .toast, .animate-pulse { animation: none; } }
  .field { width: 100%; background: #020617; border: 1px solid #334155; border-radius: .5rem; padding: .5rem .75rem; font-size: .8125rem; color: #f1f5f9; min-height: 40px; }
  .field:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid #0ea5e9; outline-offset: 1px; }
  .lbl { display: block; font-size: .75rem; font-weight: 500; color: #cbd5e1; margin-bottom: .25rem; }
  .btn { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; padding: .4rem .75rem; border-radius: .5rem; font-size: .75rem; font-weight: 600; cursor: pointer; transition: background .15s; min-height: 34px; }
  .b-sky { background: #0284c7; color: #fff; } .b-sky:hover { background: #0ea5e9; }
  .b-green { background: #059669; color: #fff; } .b-green:hover { background: #10b981; }
  .b-rose { background: #e11d48; color: #fff; } .b-rose:hover { background: #f43f5e; }
  .b-amber { background: rgb(245 158 11 / .15); color: #fcd34d; border: 1px solid rgb(245 158 11 / .35); } .b-amber:hover { background: rgb(245 158 11 / .25); }
  .b-ghost { background: #1e293b; color: #e2e8f0; border: 1px solid #334155; } .b-ghost:hover { background: #334155; }
  .card { background: rgb(15 23 42 / .7); border: 1px solid rgb(30 41 59 / .8); border-radius: .75rem; }
  .tbl { width: 100%; text-align: left; font-size: .75rem; color: #cbd5e1; }
  .tbl thead { background: rgb(15 23 42 / .9); color: #94a3b8; text-transform: uppercase; font-size: .625rem; letter-spacing: .05em; }
  .tbl th, .tbl td { padding: .7rem .75rem; white-space: nowrap; }
  .tbl tbody tr { border-top: 1px solid rgb(30 41 59 / .6); }
  .wrap-cell { white-space: normal !important; min-width: 220px; }
  .chip { display: inline-block; padding: .1rem .5rem; border-radius: .25rem; font-size: .625rem; font-weight: 700; border: 1px solid transparent; white-space: nowrap; }
  .c-rose { background: rgb(244 63 94 / .2); color: #fb7185; border-color: rgb(244 63 94 / .3); }
  .c-amber { background: rgb(245 158 11 / .2); color: #fbbf24; border-color: rgb(245 158 11 / .3); }
  .c-green { background: rgb(16 185 129 / .12); color: #34d399; border-color: rgb(16 185 129 / .25); }
  .c-sky { background: rgb(14 165 233 / .15); color: #7dd3fc; border-color: rgb(14 165 233 / .3); }
  .c-violet { background: rgb(139 92 246 / .2); color: #c4b5fd; border-color: rgb(139 92 246 / .3); }
  .c-slate { background: #1e293b; color: #cbd5e1; border-color: #334155; }
  .bar { height: 6px; border-radius: 3px; background: #1e293b; overflow: hidden; }
  .bar > i { display: block; height: 100%; border-radius: 3px; }
  input[type=checkbox] { width: 18px; height: 18px; accent-color: #0284c7; }
</style>
  @media print { body * { visibility: hidden; } #etiqueta, #etiqueta * { visibility: visible; color: #000; } #etiqueta { position: fixed; inset: 0; } }

  .editor-alvo { outline: 2px dashed #f59e0b !important; outline-offset: 1px; }
  .editor-lapis { position: fixed; z-index: 80; display: none; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 9999px; background: #f59e0b; color: #020617; box-shadow: 0 2px 8px rgb(0 0 0 / .5); cursor: pointer; }

  /* Texto digitado sem espaço não pode empurrar o cartão nem a tabela para fora da tela. */
  .card, article, [role=dialog], .wrap-cell { overflow-wrap: anywhere; }
