@font-face{font-family:'Nunito';font-weight:400;src:url(nunito-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-weight:700 800;src:url(nunito-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Quicksand';font-weight:600 700;src:url(quicksand-latin-700-normal.woff2) format('woff2')}

/* ---------------- tokens: claro (padrão) e escuro */
:root{
  --teal:#53B5AB; --coral:#E76045; --mustard:#EEAF14; --navy:#253138; --cream:#F7EEE1;
  --bg:#FBF6EE; --surface:#FFFFFF; --surface-2:#FBF6EE; --sunken:#F1E9DC;
  --line:#E6DCCB; --line-2:#D6CBB8;
  --ink:#253138; --muted:#5E6B74; --accent-ink:#2F7D7A;
  --sel:#253138; --sel-ink:#FFFFFF;
  --stage:radial-gradient(circle at 50% 40%,#FFFFFF 0%,#F7EEE1 55%,#EDE1CE 100%);
  --chip-bg:rgba(255,255,255,.88); --overlay:rgba(251,246,238,.72);
  --warn-bg:#FFF6E4; --warn-ink:#5C4A12; --price:#B83A22; --size:#B83A22;
  --ok:#2F7D7A; --err:#B8381F;
  --shadow:0 10px 30px rgba(37,49,56,.10);
  --mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#060D17; --surface:#0C1828; --surface-2:#0A1524; --sunken:#08111E;
  --line:#18263A; --line-2:#22344B;
  --ink:#E6EDF5; --muted:#8FA3B8; --accent-ink:#7FD8CE;
  --sel:#7FD8CE; --sel-ink:#08111E;
  --stage:#0A1626;
  --chip-bg:rgba(8,17,30,.86); --overlay:rgba(8,17,30,.6);
  --warn-bg:#352B10; --warn-ink:#F3DFA6; --price:#EEAF14; --size:#EEAF14;
  --ok:#7FD3CA; --err:#F29A85;
  --shadow:0 12px 40px rgba(0,0,0,.4);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]){
    --bg:#060D17; --surface:#0C1828; --surface-2:#0A1524; --sunken:#08111E; --line:#18263A; --line-2:#22344B;
    --ink:#E6EDF5; --muted:#8FA3B8; --accent-ink:#7FD8CE; --sel:#7FD8CE; --sel-ink:#08111E;
    --stage:#0A1626; --chip-bg:rgba(8,17,30,.86); --overlay:rgba(8,17,30,.6);
    --warn-bg:#352B10; --warn-ink:#F3DFA6; --price:#EEAF14; --size:#EEAF14; --ok:#7FD3CA; --err:#F29A85; color-scheme:dark;
  }
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{font-family:'Nunito',system-ui,sans-serif;font-size:15px;line-height:1.45;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:'Quicksand',sans-serif;color:var(--ink);font-weight:700}
button{font:inherit;cursor:pointer;color:inherit}
a{color:var(--accent-ink)}
code{font-family:var(--mono);font-size:12px;background:var(--sunken);padding:1px 5px;border-radius:4px}
.hidden{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mono{font-family:var(--mono)}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--accent-ink)}
.help{font-size:12.5px;color:var(--muted)}
.help.center{text-align:center}
:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}

/* ---------------- barra do topo */
.top{position:sticky;top:0;z-index:20;height:60px;display:flex;align-items:center;gap:18px;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-family:'Quicksand';font-weight:700;font-size:18px;flex:none}
.brand em{font-style:normal;color:var(--accent-ink)}
.top nav{flex:1;min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.top nav::-webkit-scrollbar{display:none}
.nav{background:transparent;border:0;color:var(--muted);padding:0 14px;min-height:40px;border-radius:999px;font-weight:700;font-size:14px;white-space:nowrap}
.nav:hover{color:var(--ink);background:var(--sunken)}
.nav.on{background:var(--sel);color:var(--sel-ink)}
.top-right{display:flex;align-items:center;gap:8px;flex:none}
#lang{height:40px;border:1.5px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:13px;padding:0 6px}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
:root[data-theme="dark"] .i-moon,:root:not([data-theme="dark"]) .i-sun{display:none}
.acct{position:relative}
.acct summary{list-style:none}
.acct summary::-webkit-details-marker{display:none}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--mustard);color:#253138;font-family:'Quicksand';font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none}
.account{position:absolute;right:0;top:48px;width:250px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:8px;z-index:30}
.account .who{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account .plan{font-size:12.5px;color:var(--muted)}
.account .plan.on{color:var(--ok);font-weight:700}
.account button{background:var(--sunken);border:0;border-radius:9px;min-height:40px;padding:0 12px;font-size:13.5px;font-weight:700;text-align:left}
.account button.cta{background:var(--coral);color:#fff}

/* ---------------- páginas */
.page{max-width:1240px;margin:0 auto;padding:34px 24px 56px}
.vhead{margin-bottom:20px;display:flex;flex-direction:column;gap:6px}
.vhead h1{font-size:28px}
.vhead p{color:var(--muted);max-width:720px}
.vhead.hero{flex-direction:row;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}
.vhead.hero>div{max-width:660px;display:flex;flex-direction:column;gap:8px}
.vhead.hero h1{font-size:40px;line-height:1.1}
.vhead.hero p{font-size:16.5px}
.search{display:flex;align-items:center;gap:10px;width:340px;max-width:100%;height:48px;padding:0 14px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line-2);color:var(--muted)}
.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;outline:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chip{min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:800;font-size:14px}
.chip.on{background:var(--sel);color:var(--sel-ink);border-color:var(--sel)}
.status{margin-top:26px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mustard)}
.status.ok::before{background:var(--teal)}
.status.err::before{background:var(--coral)}

/* galeria de modelos */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.mcard{display:flex;flex-direction:column;text-align:left;padding:0;border-radius:18px;background:var(--surface);border:1px solid var(--line);overflow:hidden;box-shadow:0 4px 16px rgba(37,49,56,.05);transition:transform .15s,border-color .15s,box-shadow .15s}
.mcard:hover{transform:translateY(-2px);border-color:var(--coral);box-shadow:var(--shadow)}
.mcard .thumb{position:relative;height:190px;background:var(--stage);display:flex;align-items:center;justify-content:center}
.mcard .thumb canvas{position:absolute;inset:0;width:100%;height:100%}
.mcard .thumb .ico{opacity:.55}
.mcard .thumb .ico svg{width:64px;height:54px}
.mcard .thumb.ready .ico{display:none}
.mcard .tchips{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:6px;pointer-events:none}
.tchip{font-family:var(--mono);font-size:12px;padding:4px 8px;border-radius:7px;background:var(--chip-bg);border:1px solid var(--line);color:var(--ink)}
.dots{display:flex;gap:4px;align-items:center}
.dots i{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line-2)}
.mcard .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}
.mcard .name{font-family:'Quicksand';font-weight:700;font-size:18px;color:var(--ink)}
.mcard .desc{font-size:13.5px;color:var(--muted)}
.mcard .group{font-size:12px;color:var(--accent-ink);font-weight:800;margin-top:4px}

/* ---------------- editor: painel | palco 3D | filamentos */
.editor{display:grid;grid-template-columns:340px minmax(0,1fr) 310px;height:calc(100vh - 60px);min-height:560px}
.panel{background:var(--surface);border-right:1px solid var(--line);overflow:auto;padding:18px;display:flex;flex-direction:column;gap:14px}
.ehead{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ehead h1{font-size:26px}
.back{background:transparent;border:1.5px solid var(--line-2);border-radius:10px;min-height:40px;padding:0 12px;color:var(--ink);font-weight:800;font-size:13.5px}
.back:hover{background:var(--sunken)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#params{display:flex;flex-direction:column;gap:14px}

.field{display:flex;flex-direction:column;gap:6px}
.field>span,.field>label>span{font-size:13px;font-weight:800;color:var(--ink)}
.field input[type=text],.field input[type=number],.field select,#batch-names{border:1.5px solid var(--line-2);border-radius:10px;min-height:44px;padding:8px 12px;font:inherit;font-size:15px;background:var(--surface);color:var(--ink);width:100%}
.field input:focus,.field select:focus,#batch-names:focus{outline:2px solid var(--accent-ink);outline-offset:1px;border-color:var(--accent-ink)}
.field .help{font-size:12px;color:var(--muted)}
.num{display:flex;align-items:center;gap:8px}
.num input[type=range]{flex:1;accent-color:var(--accent-ink);min-height:30px}
.num input[type=number]{width:80px!important;text-align:right;font-family:var(--mono);color:var(--size)!important;font-weight:700}
.num .unit{font-size:12px;color:var(--muted);width:26px}
.field.check{flex-direction:row;align-items:center;gap:10px;min-height:36px}
.field.check input{accent-color:var(--accent-ink);width:20px;height:20px}
.field.check span{color:var(--ink);font-weight:600;font-size:14px}
.colorrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.colorrow input[type=color]{width:40px;height:34px;border:1.5px solid var(--line-2);border-radius:8px;background:var(--surface);padding:2px}
.colorrow .presets{display:flex;gap:6px;flex-wrap:wrap}
.colorrow .presets button{width:24px;height:24px;border-radius:50%;border:0;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line-2)}
.drop{position:relative;border:1.5px dashed var(--line-2);border-radius:12px;padding:14px 10px;text-align:center;color:var(--muted);background:var(--surface-2);min-height:72px;display:flex;align-items:center;justify-content:center}
.drop.over{border-color:var(--accent-ink);background:var(--sunken)}
.drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop small{font-size:11.5px}
.drop-full{display:flex;align-items:center;gap:10px;width:100%;position:relative;z-index:2}
.drop-full img{width:56px;height:44px;object-fit:contain;background:#fff;border-radius:8px;border:1px solid var(--line)}
.drop-full span{flex:1;text-align:left;font-size:13px;color:var(--ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop-full button{background:transparent;border:0;color:var(--muted);font-size:15px;min-width:36px;min-height:36px}
details.adv{border:1.5px solid var(--line);border-radius:12px;padding:0 12px;background:var(--surface)}
details.adv summary{cursor:pointer;font-size:13.5px;font-weight:800;color:var(--muted);padding:12px 0;list-style:none}
details.adv summary::-webkit-details-marker{display:none}
details.adv summary::before{content:"▸ ";color:var(--coral)}
details.adv[open] summary::before{content:"▾ "}
details.adv .field{margin-bottom:10px}

/* palco 3D */
.stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}
#canvas-wrap{flex:1;position:relative;min-height:320px;background:var(--stage)}
#c{width:100%;height:100%;display:block;touch-action:none}
.chips-top{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;pointer-events:none}
.stage-chips{display:flex;gap:6px;flex-wrap:wrap}
.stage-chips .tchip{font-size:13px;padding:6px 10px}
.stage-hint{font-size:12.5px;color:var(--muted);padding:6px 0}
.layer-note{position:absolute;top:62px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:var(--sel);color:var(--sel-ink);font-weight:800;font-size:13px;white-space:nowrap;pointer-events:none}
.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;font-weight:700;pointer-events:none;background:var(--overlay);text-align:center;padding:20px}
.toolbar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:6px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);max-width:calc(100% - 24px);overflow-x:auto}
.toolbar button{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800;font-size:13.5px;white-space:nowrap}
.toolbar button:hover{color:var(--ink);background:var(--sunken)}
.toolbar button.on{background:var(--sel);color:var(--sel-ink)}
.toolbar button.layers[aria-pressed="true"]{background:var(--mustard);color:#253138}
.toolbar .sep{width:1px;background:var(--line);margin:6px 2px;flex:none}
.hint-click{position:absolute;left:14px;bottom:84px;font-size:11.5px;color:var(--muted);pointer-events:none}

/* popover de edição na prévia */
.pop{position:absolute;z-index:5;background:var(--surface);border:1.5px solid var(--line-2);border-radius:12px;padding:12px;box-shadow:var(--shadow);min-width:240px;font-size:12.5px}
.pop-title{font-family:'Quicksand';font-weight:700;color:var(--ink);margin-bottom:6px;padding-right:22px}
.pop-row{display:flex;align-items:center;gap:6px;margin-top:6px}
.pop-row input[type=color]{width:36px;height:30px;border:1.5px solid var(--line-2);border-radius:7px;background:var(--surface);padding:1px}
.pop-row span{color:var(--muted);flex:1;font-family:var(--mono);font-size:11.5px}
.pop-row button{background:transparent;border:1px solid var(--line-2);border-radius:7px;min-height:32px;padding:0 9px;font-size:12px;color:var(--ink)}
.pop-row button.danger{color:var(--err)}
.pop-close{position:absolute;top:6px;right:6px;background:transparent;border:0;color:var(--muted);min-width:30px;min-height:30px}
.pop-text input[type=text]{width:100%;border:1.5px solid var(--line-2);border-radius:7px;padding:6px 8px;font:inherit;margin-bottom:2px;background:var(--surface);color:var(--ink)}
.pop-text select{flex:1;min-width:0;border:1.5px solid var(--line-2);border-radius:7px;padding:4px 6px;font:inherit;font-size:12px;background:var(--surface);color:var(--ink)}
.pop-text input[type=number]{width:64px;border:1.5px solid var(--line-2);border-radius:7px;padding:4px 6px;font:inherit;font-size:12px;background:var(--surface);color:var(--ink)}
.pop-scale{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px}
.pop-scale input[type=range]{flex:1;accent-color:var(--accent-ink)}
.pop-scale span{min-width:48px;text-align:right;color:var(--muted)}

/* coluna da direita: AMS + download */
.rail{background:var(--surface);border-left:1px solid var(--line);padding:18px;overflow:auto;display:flex;flex-direction:column;gap:14px}
.rail-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.rail-head h2{font-size:18px}
.rail-head .mono{font-size:12px;color:var(--accent-ink)}
.ams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.slot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px 8px;border-radius:14px;background:var(--surface-2);border:2px solid var(--line);min-height:44px}
.slot.on{border-color:var(--sel)}
.slot.empty{border-style:dashed;cursor:default;opacity:.7}
.spool{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 5px rgba(0,0,0,.14),0 0 0 3px var(--surface),0 0 0 4px var(--line-2)}
.spool::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2)}
.slot.empty .spool{background:transparent;box-shadow:inset 0 0 0 2px var(--line-2)}
.slot .n{font-family:var(--mono);font-size:11px;color:var(--muted)}
.slot .lbl{font-size:11px;color:var(--muted);text-align:center;line-height:1.2;max-height:2.4em;overflow:hidden;padding:0 2px}
.slot-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.slot-palette .t{grid-column:1/-1;font-size:13px;font-weight:800}
.slot-palette button.sw{aspect-ratio:1;min-height:34px;border-radius:50%;border:0;box-shadow:inset 0 0 0 1px rgba(37,49,56,.2)}
.slot-palette button.sw.on{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--sel)}
.slot-palette label{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.slot-palette input[type=color]{width:40px;height:32px;border:1.5px solid var(--line-2);border-radius:8px;background:var(--surface);padding:2px}
.warnings{display:flex;flex-direction:column;gap:6px}
.warnings div{background:var(--warn-bg);border-left:3px solid var(--mustard);padding:7px 10px;border-radius:8px;font-size:12.5px;color:var(--warn-ink)}
.sumcard{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stat .k{font-size:12px;color:var(--muted)}
.stat .v{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--ink)}
.price{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:12.5px;color:var(--muted)}
.price b{color:var(--price);font-family:var(--mono);font-size:16px}
.primary{width:100%;min-height:54px;border:0;border-radius:14px;background:var(--coral);color:#fff;font-family:'Quicksand';font-weight:700;font-size:18px;box-shadow:0 8px 22px rgba(231,96,69,.3)}
.primary:hover{filter:brightness(.96)}
.primary:disabled{opacity:.55;cursor:default}
.gen-msg{font-size:13px;min-height:18px;color:var(--ok)}
.gen-msg.err{color:var(--err)}

/* cores da logo, textos extras */
.logo-colors{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.lc{display:flex;align-items:center;gap:8px;font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:4px 6px}
.lc input[type=color]{width:30px;height:26px;border:1.5px solid var(--line-2);border-radius:6px;background:var(--surface);padding:1px}
.lc .orig{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line-2);flex:none}
.lc .pct{color:var(--muted);flex:1}
.lc button{background:transparent;border:1px solid var(--line-2);border-radius:6px;min-height:28px;padding:0 8px;font-size:11.5px;color:var(--ink)}
.lc.off{opacity:.45}
.lc.off .orig{background:transparent!important;border:2px dashed var(--line-2)}
.xt{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:6px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.xt input[type=text]{grid-column:1/3;border:1.5px solid var(--line-2);border-radius:7px;padding:6px 8px;font:inherit;background:var(--surface);color:var(--ink)}
.xt select,.xt input[type=number]{border:1.5px solid var(--line-2);border-radius:7px;padding:5px 6px;font:inherit;font-size:12px;width:100%;background:var(--surface);color:var(--ink)}
.xt .row{display:flex;align-items:center;gap:6px;grid-column:1/3}
.xt .row label{font-size:11.5px;color:var(--muted)}
.xt input[type=color]{width:32px;height:28px;border:1.5px solid var(--line-2);border-radius:6px;background:var(--surface);padding:1px}
.xt .del{margin-left:auto;background:transparent;border:1px solid var(--line-2);color:var(--err);border-radius:7px;padding:3px 8px;font-size:11.5px}
#batch-names{resize:vertical}

/* ---------------- outras telas */
.cfg-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.cfg{flex:1 1 380px;max-width:520px;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
#orders{display:flex;flex-direction:column;gap:8px;max-width:860px}
.order{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.order .meta{flex:1;min-width:200px}
.order .meta b{font-family:'Quicksand';color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order .meta span{font-size:12.5px;color:var(--muted)}
.order a{background:var(--sel);color:var(--sel-ink);text-decoration:none;border-radius:10px;min-height:40px;display:inline-flex;align-items:center;padding:0 14px;font-size:13.5px;font-weight:800}
.order .reopen{background:transparent;color:var(--ink);border:1.5px solid var(--line-2);border-radius:10px;min-height:40px;padding:0 12px;font-size:13.5px;font-weight:800}
.empty{color:var(--muted);padding:20px 0}
.refs-verdict{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:16px;max-width:980px}
.refs-verdict ul{padding-left:18px;font-size:13.5px;margin-top:8px}.refs-verdict li{margin-bottom:6px}
.refs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;max-width:1200px}
.ref{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:12.5px}
.ref img{width:100%;aspect-ratio:1;object-fit:cover;background:#111}
.ref .b{padding:10px 12px}.ref .t{font-family:'Quicksand';font-weight:700;color:var(--ink);font-size:13.5px;margin-bottom:4px}
.ref .r{color:var(--muted);line-height:1.5}.ref .sw{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #999;margin-right:3px;vertical-align:middle}

.modal-bg{position:fixed;inset:0;background:rgba(14,20,24,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal{background:var(--surface);color:var(--ink);border-radius:18px;max-width:420px;width:100%;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.modal h2{font-size:22px}
.modal ul{padding-left:18px;display:flex;flex-direction:column;gap:5px}
.modal .later{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:13.5px;min-height:36px}
.users{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:13.5px}
.users th,.users td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.users th{font-family:'Quicksand';color:var(--ink);background:var(--surface-2)}
.users td button{background:transparent;border:1.5px solid var(--line-2);border-radius:8px;min-height:34px;padding:0 9px;font-size:12.5px;font-weight:800;color:var(--ink);margin:2px}
.users .ok{color:var(--ok);font-weight:800}
.users-wrap{overflow-x:auto}

/* ---------------- login (nuvem) */
body.auth{background:var(--bg)}
.auth-wrap{max-width:400px;margin:0 auto;padding:48px 16px 32px;display:flex;flex-direction:column;gap:18px}
.auth-brand{display:flex;align-items:center;gap:12px}
.auth-brand b{display:block;font-family:'Quicksand';font-size:22px;color:var(--ink)}
.auth-brand span{color:var(--muted);font-size:14px}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 6px 20px rgba(37,49,56,.06)}
.auth-card form{display:flex;flex-direction:column;gap:12px}
.auth-card .primary{margin-top:4px}
.auth-card input[type=email],.auth-card input[type=password],.auth-card #name{border:1.5px solid var(--line-2);border-radius:10px;min-height:46px;padding:10px 12px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink);width:100%}
.auth-card input:focus{outline:2px solid var(--accent-ink);outline-offset:1px;border-color:var(--accent-ink)}
.auth-tabs{display:flex;background:var(--sunken);border-radius:12px;padding:4px}
.auth-tabs button{flex:1;border:0;background:transparent;min-height:40px;border-radius:9px;font-family:'Quicksand';font-weight:700;color:var(--muted)}
.auth-tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(37,49,56,.15)}
.auth-links{text-align:center;font-size:13.5px}
.auth-links a{color:var(--ink)}
.auth-perks{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink)}
.auth-perks li{padding-left:22px;position:relative}
.auth-perks li::before{content:"";position:absolute;left:4px;top:6px;width:9px;height:9px;border-radius:3px;background:var(--teal)}
.auth-perks li:nth-child(2)::before{background:var(--coral)}
.auth-perks li:nth-child(3)::before{background:var(--mustard)}
.auth-lang{text-align:center;font-size:13.5px;color:var(--muted)}
.auth-lang button{border:0;background:none;color:var(--muted);min-height:36px;padding:0 6px}
.auth-lang button.on{color:var(--ink);font-weight:800}

/* ---------------- telas menores */
@media (max-width:1280px){
  .editor{grid-template-columns:300px minmax(0,1fr) 280px}
}
@media (max-width:1000px){
  .top{gap:10px;padding:0 12px}
  .brand span{display:none}
  .editor{grid-template-columns:1fr;height:auto}
  .stage{order:1;height:58vh;min-height:340px}
  .panel{order:2;border-right:0;border-bottom:1px solid var(--line)}
  .rail{order:3;border-left:0}
  .hint-click,.stage-hint{display:none}
  .vhead.hero h1{font-size:30px}
  .page{padding:24px 16px 40px}
  .search{width:100%}
  .mgrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
  .mcard .thumb{height:150px}
  .mcard .desc{display:none}
  .tchip{white-space:nowrap;font-size:11px}
  .mcard .dots{display:none}
  /* celular: botão de download sempre à mão */
  .editor{padding-bottom:84px}
  #btn-generate{position:fixed;left:12px;right:12px;bottom:12px;width:auto;z-index:15}
}

/* ---------------- lote de nomes: botão de destaque + janela */
.batch-cta{border-radius:18px;padding:16px;background:#253138;color:#fff;display:flex;flex-direction:column;gap:8px;position:sticky;bottom:-18px;margin:auto -6px -6px;box-shadow:0 -14px 24px var(--surface);z-index:3}
@media (max-width:1000px){.batch-cta{position:static;margin:0;box-shadow:none}}
:root[data-theme="dark"] .batch-cta{background:#10233A;border:1px solid #2C5A7A}
.batch-cta-head{display:flex;align-items:center;gap:10px;font-family:'Quicksand';font-size:18px}
.batch-cta .bars{display:flex;gap:3px}.batch-cta .bars i{width:9px;height:20px;border-radius:3px;background:var(--teal)}
.batch-cta .bars i:nth-child(2){background:var(--coral)}.batch-cta .bars i:nth-child(3){background:var(--mustard)}
.batch-cta p{font-size:13.5px;color:#D6DEE3}
.batch-open{min-height:52px;border:0;border-radius:14px;background:var(--coral);color:#fff;font-family:'Quicksand';font-weight:700;font-size:18px;box-shadow:0 8px 22px rgba(231,96,69,.35);transition:transform .12s}
.batch-open:hover{transform:translateY(-1px);filter:brightness(1.03)}
.batch-open::before{content:"＋ "}
.modal.batch-modal{max-width:860px;padding:0;gap:0;overflow:hidden;max-height:calc(100vh - 32px)}
.bm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 24px 6px}
.bm-head h2{font-size:24px}
.bm-close{width:40px;height:40px;border-radius:50%;border:0;background:var(--sunken);color:var(--ink);font-size:15px;flex:none}
.bm-body{display:flex;flex-wrap:wrap;gap:18px;padding:12px 24px 16px;overflow:auto}
.bm-col{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
#batch-names{width:100%;min-height:260px;resize:vertical;border:1.5px solid var(--line-2);border-radius:14px;padding:12px 14px;font-family:var(--mono);font-size:14px;line-height:1.6;background:var(--surface-2);color:var(--ink)}
.bm-count{display:flex;align-items:baseline;gap:10px}
.bm-count b{font-family:'Quicksand';font-size:42px;line-height:1}
.bm-count span{font-weight:800;color:var(--muted)}
.bm-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:96px;max-height:170px;overflow:auto;padding:10px;border-radius:14px;border:1px solid var(--line)}
.bm-chips span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;font-weight:800;font-size:13.5px;color:#253138;animation:bm-pop .25s ease-out both}
.bm-chips span:nth-child(3n+1){background:#DFF1EE}.bm-chips span:nth-child(3n+2){background:#FDE3DC}.bm-chips span:nth-child(3n){background:#FCEFCB}
.bm-chips .empty{color:var(--muted);font-size:13px;padding:6px}
@keyframes bm-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.07)}100%{transform:scale(1);opacity:1}}
.bm-modes{display:flex;flex-direction:column;gap:8px}
.bm-mode{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:13px;border:2px solid var(--line);background:var(--surface-2);cursor:pointer}
.bm-mode:has(input:checked){border-color:var(--sel);background:var(--surface)}
.bm-mode input[type=radio]{margin-top:3px;accent-color:var(--accent-ink);width:18px;height:18px}
.bm-mode b{display:block;font-size:14.5px}
.bm-mode small{font-size:12.5px;color:var(--muted)}
.bm-mode input[type=number]{width:56px;border:1.5px solid var(--line-2);border-radius:7px;padding:2px 6px;font:inherit;font-weight:700;background:var(--surface);color:var(--ink)}
.bm-foot{display:flex;align-items:center;gap:14px;padding:14px 24px;border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap}
.bm-foot .gen-msg{flex:1 1 300px}
.bm-foot .primary{width:auto;min-width:220px;padding:0 22px}
.bm-result{display:flex;flex-direction:column;gap:8px}
.bm-result .dl{display:flex;gap:8px;flex-wrap:wrap}
.bm-result .dl a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:10px;font-weight:800;font-size:13.5px;text-decoration:none;background:var(--sel);color:var(--sel-ink)}
.bm-result .dl a.alt{background:transparent;color:var(--ink);border:1.5px solid var(--line-2)}
.bm-result .warn{font-size:12.5px;color:var(--warn-ink);background:var(--warn-bg);border-left:3px solid var(--mustard);padding:6px 10px;border-radius:8px}

/* lote: etapas da janela e mesa 3D */
.batch-modal[data-step="names"] .bm-only-plate,.batch-modal[data-step="plate"] .bm-only-names{display:none!important}
.modal.batch-modal[data-step="plate"]{max-width:1180px}
.bm-plate{display:flex;gap:16px;padding:10px 24px 14px;min-height:0;flex:1;flex-wrap:wrap}
.bm-stage{position:relative;flex:1 1 560px;min-width:0;height:min(58vh,560px);border-radius:16px;overflow:hidden;background:var(--stage);border:1px solid var(--line)}
.bm-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.bm-stage-chips{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.bm-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlay);font-weight:800;color:var(--muted)}
.bm-side{flex:0 1 300px;min-width:260px;display:flex;flex-direction:column;gap:12px;overflow:auto;max-height:min(58vh,560px)}
.bm-brim{align-items:flex-start!important;padding:10px 12px;border-radius:13px;border:1px solid var(--line);background:var(--surface-2)}
.bm-brim span{display:flex;flex-direction:column}.bm-brim small{font-size:12px;color:var(--muted);font-weight:400}
.bm-plates{display:flex;flex-direction:column;gap:6px}
.bm-plate-card{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;animation:bm-pop .25s ease-out both}
.bm-plate-card .n{font-family:var(--mono);font-weight:700;font-size:12px;background:var(--sel);color:var(--sel-ink);border-radius:6px;padding:2px 7px}
.bm-plate-card .m{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}
.bm-total{display:flex;justify-content:space-between;font-size:13px;padding:2px 2px 0}.bm-total b{font-family:var(--mono)}
.bm-foot .back{min-height:48px}
.bm-result .dl button{min-height:40px;padding:0 14px;border-radius:10px;font-weight:800;font-size:13.5px;border:0;background:var(--coral);color:#fff}

/* botão do Bambu Studio (verde e branco) */
.bm-result .dl button.bambu,.bambu{display:inline-flex;align-items:center;gap:8px;background:#00AE42!important;color:#fff!important;border:0;border-radius:10px;min-height:44px;padding:0 16px;font-weight:800;font-size:14px;box-shadow:0 6px 18px rgba(0,174,66,.35)}
.bambu:hover{filter:brightness(1.05)}
.bambu svg{flex:none}

/* contagem regressiva ao gerar */
.cd-bg{position:fixed;inset:0;z-index:80;background:rgba(14,20,24,.5);display:flex;align-items:center;justify-content:center;padding:16px;animation:cd-in .2s ease-out}
@keyframes cd-in{from{opacity:0}to{opacity:1}}
.cd-card{background:var(--surface);color:var(--ink);border-radius:22px;padding:26px 30px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:10px;min-width:300px;text-align:center}
.cd-ring-wrap{position:relative;width:150px;height:150px}
.cd-ring{width:150px;height:150px;transform:rotate(-90deg)}
.cd-ring circle{fill:none;stroke-width:9}
.cd-ring .trk{stroke:var(--sunken)}
.cd-ring .bar{stroke:var(--coral);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset .25s linear,stroke .3s}
.cd-ring.done .bar{stroke:#00AE42}
.cd-num{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:50px;gap:3px}
.cd-num b{font-family:'Quicksand';font-size:46px;line-height:1}
.cd-num span{font-family:var(--mono);font-size:15px;color:var(--muted)}
.cd-title{font-family:'Quicksand';font-weight:700;font-size:19px}
.cd-step{font-size:13.5px;color:var(--muted);min-height:20px}

/* botão de enquadrar (como o do Bambu Studio) */
.fit-btn{position:absolute;left:16px;bottom:18px;z-index:4;width:50px;height:50px;border-radius:50%;border:0;background:#2B2F33;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .12s}
.fit-btn:hover{transform:scale(1.06);background:#33383d}
.fit-btn:focus-visible{outline:3px solid #00AE42;outline-offset:2px}
.bm-stage .fit-btn{left:12px;bottom:12px}
.names-list{display:flex;flex-direction:column;gap:6px}
.rows-list{display:flex;flex-direction:column;gap:6px}
.row-pair{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center}
.row-pair .row-del{border:1.5px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:10px;min-width:40px;min-height:44px;cursor:pointer;font:inherit}
.row-pair .row-info{grid-column:1/-1;font-size:12px;color:var(--muted);margin:-2px 0 2px}
.row-pair .row-info:empty{display:none}
.row-pair .row-info.bad{color:#C2412D;font-weight:700}

/* desfazer / refazer */
.toolbar button.hist{padding:0 11px}
.toolbar button.hist:disabled{opacity:.35;cursor:default;background:transparent}

/* vitrine de clickers */
.cshop{margin-top:4px}
.cnav{position:sticky;top:60px;z-index:10;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 0;margin:0 0 6px;background:var(--bg)}
.cnav::-webkit-scrollbar{display:none}
.cnav .chip{flex:none;min-height:36px;font-size:13px}
.csec{scroll-margin-top:130px}
.csec h2{font-size:19px;margin:22px 0 10px;display:flex;align-items:baseline;gap:8px}
.csec h2 small{font-family:'Nunito';font-size:12.5px;color:var(--muted);font-weight:700}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ccard{display:flex;flex-direction:column;padding:0;border-radius:16px;background:var(--surface);border:1px solid var(--line);overflow:hidden;text-align:left;color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .15s}
.ccard:hover{transform:translateY(-2px);border-color:var(--coral);box-shadow:var(--shadow)}
.ccard .cimg{display:flex;align-items:center;justify-content:center;aspect-ratio:6/5;background:var(--stage)}
.ccard .cimg img{width:100%;height:100%;object-fit:contain;padding:6px}
.ccard .cname{padding:8px 11px 10px;font-weight:800;font-size:13.5px;line-height:1.25}
.cown{display:flex;flex-wrap:wrap;gap:10px}
.ccard.own .cimg svg{max-width:40px;max-height:40px}
.ccard.own{flex-direction:row;align-items:center;gap:12px;padding:10px 18px 10px 10px;border:1.5px dashed var(--line-2)}
.ccard.own .cimg{width:52px;height:52px;aspect-ratio:auto;border-radius:12px;color:var(--accent-ink);flex:none}
.ccard.own .cname{padding:0;font-size:14.5px}
.ccard.own small{display:block;font-weight:600;font-size:12.5px;color:var(--muted);margin-top:2px}
@media (max-width:1000px){
  .cgrid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
  .ccard .cname{font-size:12px;padding:6px 8px 8px}
  .ccard{border-radius:12px}
}

/* clickers dentro das outras categorias da galeria */
.cat-clickers{margin-top:30px;border-top:1px solid var(--line);padding-top:6px}
.cat-clickers .cc-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 4px}
.cat-clickers .cc-head h2{font-size:22px;display:flex;align-items:baseline;gap:8px}
.cat-clickers .cc-head h2 small{font-family:'Nunito';font-size:13px;color:var(--muted);font-weight:700}
.cat-clickers .cc-all{background:transparent;border:1.5px solid var(--line-2);border-radius:999px;min-height:38px;padding:0 14px;font-weight:800;font-size:13.5px;color:var(--ink)}


/* ================= visual escuro "tech" (mistura das versões B e C, out/2026) =================
   C: fundo de planta técnica, medidas em fonte de máquina, passos 1-2-3 no topo, botão de gerar amarelo.
   B: painéis flutuantes em volta da peça e faixa de modelos embaixo pra trocar sem voltar. */

/* passos 1-2-3 no topo (aparecem nos dois temas) */
.steps{list-style:none;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);flex:none}
.steps li{display:flex;align-items:center;gap:7px;white-space:nowrap}
.steps li b{width:22px;height:22px;border-radius:6px;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:11.5px}
.steps li.dash{width:22px;height:1px;background:var(--line-2)}
.steps li.now{color:var(--ink);font-weight:600}
.steps li.now b{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--sel-ink, #08111E)}
.steps li.done b{border-color:var(--accent-ink);color:var(--accent-ink)}
@media (max-width:1600px){.steps li span{display:none}.steps li.dash{width:12px}}
@media (max-width:1000px){.steps{display:none}}

/* faixa de modelos embaixo da prévia */
.dock{flex:none;display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding:10px 14px 12px;background:var(--surface-2);border-top:1px solid var(--line);scrollbar-width:thin}
.dock button{flex:none;width:118px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 8px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:700;font-size:12px;line-height:1.2;text-align:center;min-height:44px}
.dock button:hover{border-color:var(--line-2);color:var(--ink)}
.dock button.on{border:2px solid var(--accent-ink);color:var(--ink);background:var(--sunken)}
.dock .dimg{width:100%;height:58px;display:flex;align-items:center;justify-content:center}
.dock .dimg img{max-width:100%;max-height:100%;object-fit:contain}
.dock .dimg svg{width:38px;height:32px;opacity:.55}
.dock .dname{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage .hint-click{bottom:182px}
@media (max-width:1000px){.stage{height:auto}.stage #canvas-wrap{height:52vh;flex:none}.dock button{width:96px}.dock .dimg{height:46px}}

/* --- só no escuro --- */
:root[data-theme="dark"] .top{background:#08111E;border-bottom-color:#18263A}
:root[data-theme="dark"] .brand{font-family:var(--mono);font-weight:600;letter-spacing:.5px;font-size:15.5px;text-transform:uppercase}
:root[data-theme="dark"] .nav.on{background:#10233A;color:var(--ink);box-shadow:inset 0 0 0 1px #2C5A7A}
:root[data-theme="dark"] .nav:hover{background:#0F1E31}
/* planta técnica: quadriculado fino + grosso atrás da peça e da galeria */
:root[data-theme="dark"] #canvas-wrap,
:root[data-theme="dark"] .mcard .thumb{
  background-color:#0A1626;
  background-image:linear-gradient(#12233A 1px,transparent 1px),linear-gradient(90deg,#12233A 1px,transparent 1px),linear-gradient(#0E1D31 1px,transparent 1px),linear-gradient(90deg,#0E1D31 1px,transparent 1px);
  background-size:100px 100px,100px 100px,20px 20px,20px 20px;
}
:root[data-theme="dark"] .mcard .thumb{background-size:60px 60px,60px 60px,12px 12px,12px 12px}
:root[data-theme="dark"] .mcard{box-shadow:none}
:root[data-theme="dark"] .mcard:hover{border-color:#2C5A7A}
/* painéis flutuantes em volta da peça */
:root[data-theme="dark"] .editor{gap:12px;padding:12px;background:#060D17}
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .rail{border:1px solid #18263A;border-radius:18px}
:root[data-theme="dark"] .stage{border:1px solid #18263A;border-radius:18px;overflow:hidden}
:root[data-theme="dark"] .toolbar{background:rgba(8,17,30,.92);border-color:#22344B;border-radius:12px}
:root[data-theme="dark"] .toolbar button{font-family:var(--mono);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
:root[data-theme="dark"] .toolbar button.on{background:#10233A;color:var(--ink);box-shadow:inset 0 0 0 1px #2C5A7A}
/* medidas e números em fonte de máquina, com contorno turquesa */
:root[data-theme="dark"] .stage-chips .tchip{border-color:#2C5A7A;color:#BFF0EA;background:rgba(8,17,30,.86)}
:root[data-theme="dark"] .ehead h1{font-size:24px}
:root[data-theme="dark"] .field input[type=text],:root[data-theme="dark"] .field input[type=number],:root[data-theme="dark"] .field select,:root[data-theme="dark"] #batch-names{border-width:1px;border-radius:8px;background:#08111E}
:root[data-theme="dark"] .slot{border-radius:10px;border-width:1px}
:root[data-theme="dark"] .slot.on{border:2px solid var(--accent-ink)}
:root[data-theme="dark"] .sumcard{background:#0A1626;border-color:#22344B}
/* botão de gerar/baixar: amarelo com texto escuro */
:root[data-theme="dark"] .primary{background:var(--mustard);color:#1A1407;box-shadow:0 8px 24px rgba(238,175,20,.18)}
@media (max-width:1000px){
  :root[data-theme="dark"] .editor{padding:8px;gap:8px}
}

/* tela de planos: dois cartões, anual em destaque */
.pw-modal{max-width:520px}
.pw-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plan{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 14px 14px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--surface-2);text-align:left;min-height:44px}
.plan:hover{border-color:var(--accent-ink)}
.plan .pname{font-family:'Quicksand';font-weight:700;font-size:16px;color:var(--ink)}
.plan .pprice{display:flex;align-items:baseline;gap:3px}
.plan .pprice b{font-family:var(--mono);font-size:30px;font-weight:700;color:var(--ink)}
.plan .pprice small{font-size:13px;color:var(--muted)}
.plan .psub{font-size:12.5px;color:var(--muted);line-height:1.35}
.plan .psub s{opacity:.75}
.plan.best{border:2px solid var(--mustard);background:var(--sunken)}
:root[data-theme="dark"] .plan.best .pprice b{color:var(--mustard)}
.plan .ptag{position:absolute;top:-11px;right:12px;padding:2px 9px;border-radius:999px;background:var(--mustard);color:#1A1407;font-size:11.5px;font-weight:800;letter-spacing:.3px}
.pw-legal{font-size:12px;color:var(--muted)}
@media (max-width:480px){.pw-plans{grid-template-columns:1fr}}
.auth-legal{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}
.auth-perks li:first-child{color:var(--ink);font-weight:800}
:root[data-theme="dark"] .account .cta{background:var(--mustard);color:#1A1407}

/* boas-vindas depois do pagamento */
.welcome-modal{position:relative;max-width:440px;text-align:center;align-items:center;gap:14px;padding:32px 26px 24px}
.welcome-modal h2{font-size:26px}
.welcome-modal #wl-lead{color:var(--muted)}
.wl-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px}
.wl-x:hover{background:var(--sunken);color:var(--ink)}
.wl-steps{list-style:none;display:flex;flex-direction:column;gap:8px;width:100%;text-align:left}
.wl-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}
.wl-steps b{flex:none;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--accent-ink);color:var(--sel-ink,#08111E);font-family:var(--mono);font-size:14px}
.wl-tip{font-size:13px;color:var(--muted)}
