/* ── Vars sincronizadas com Codifytheme.css (não sobrescrevem) ─── */
/* Apenas vars exclusivas do extras, sem conflito com Codifytheme  */

/* ── 1. speaking-while-muted ─────────────────────────── */
.swm-toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(12px);background:rgba(6,12,24,.97);border:1.5px solid rgba(255,64,88,.3);border-radius:14px;padding:11px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 32px rgba(0,0,0,.55);z-index:9998;opacity:0;transition:all .22s cubic-bezier(.34,1.56,.64,1);max-width:310px;width:calc(100vw - 32px);}
.swm-toast.in{opacity:1;transform:translateX(-50%) translateY(0);}
.swm-icon{font-size:20px;flex-shrink:0;}.swm-text{flex:1;min-width:0;}
.swm-text strong{display:block;font-size:13px;font-weight:700;color:#fff;margin-bottom:1px;}.swm-text span{font-size:11.5px;color:rgba(255,255,255,.4);}
.swm-btn{flex-shrink:0;background:#FF4058;color:#fff;border:none;border-radius:8px;padding:7px 11px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;}

/* ── 2. chat badge ───────────────────────────────────── */
#btnChat{position:relative;}
.chat-unread-badge{position:absolute;top:1px;right:1px;background:#FF4058;color:#fff;font-size:9px;font-weight:800;min-width:16px;height:16px;padding:0 3px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:2px solid #060C18;line-height:1;}

/* ── 3. keyboard feedback ───────────────────────────── */
.kb-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.88);background:rgba(0,0,0,.75);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:10px 22px;font-size:14px;font-weight:700;z-index:9997;opacity:0;pointer-events:none;transition:all .16s cubic-bezier(.34,1.56,.64,1);font-family:'Space Mono',monospace;}
.kb-feedback.in{opacity:1;transform:translate(-50%,-50%) scale(1);}
.ptt-bar{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:rgba(6,12,24,.92);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 18px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:rgba(255,255,255,.4);z-index:9996;pointer-events:none;transition:border-color .15s,color .15s;font-family:'Space Mono',monospace;}
.ptt-bar kbd{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:1px 6px;font-size:10px;font-family:inherit;}
.ptt-bar.ptt-on{border-color:var(--vg);color:var(--vg);}
.ptt-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;}
.ptt-bar.ptt-on .ptt-dot{animation:ptt-pulse 1s ease-in-out infinite;}
@keyframes ptt-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ── 3. shortcuts panel ─────────────────────────────── */
.shortcuts-panel{position:fixed;bottom:90px;right:14px;z-index:9995;background:rgba(10,18,32,.98);border:1px solid rgba(255,255,255,.08);border-radius:16px;min-width:256px;overflow:hidden;opacity:0;transform:translateY(10px) scale(.97);pointer-events:none;transition:all .2s cubic-bezier(.34,1.2,.64,1);box-shadow:0 16px 48px rgba(0,0,0,.55);}
.shortcuts-panel.sp-in{opacity:1;transform:none;pointer-events:auto;}
.sp-head{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px;font-weight:700;color:rgba(255,255,255,.85);}
.sp-close{background:none;border:none;color:rgba(255,255,255,.3);font-size:14px;cursor:pointer;padding:2px 7px;border-radius:6px;}.sp-close:hover{background:rgba(255,255,255,.08);}
.sp-grid{padding:6px 10px 10px;}.sp-row{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:7px;font-size:12px;color:rgba(255,255,255,.5);}.sp-row:hover{background:rgba(255,255,255,.04);}
kbd{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700;color:rgba(255,255,255,.8);font-family:'Space Mono',monospace;flex-shrink:0;}

/* ── 4. mic meter ───────────────────────────────────── */
.mic-meter{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-top:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;}
.mm-icon{font-size:14px;flex-shrink:0;}.mm-bars{display:flex;align-items:flex-end;gap:2.5px;height:18px;}
.mm-bar{width:4px;border-radius:2px;background:rgba(255,255,255,.1);transition:background .07s;}
.mm-bar:nth-child(1){height:4px;}.mm-bar:nth-child(2){height:7px;}.mm-bar:nth-child(3){height:10px;}.mm-bar:nth-child(4){height:14px;}.mm-bar:nth-child(5){height:17px;}.mm-bar:nth-child(6){height:17px;}.mm-bar:nth-child(7){height:13px;}.mm-bar:nth-child(8){height:9px;}
.mm-bar.mm-on{background:#00E676;}.mm-bar.mm-warn{background:#FFAA00;}.mm-bar.mm-peak{background:#FF4058;}
.mm-label{font-size:11px;color:rgba(255,255,255,.3);flex-shrink:0;}

/* ── 6. ping badge ──────────────────────────────────── */
.ping-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:11px;font-weight:700;color:rgba(255,255,255,.35);font-family:'Space Mono',monospace;}
.ping-badge.pg-good{border-color:rgba(0,230,118,.3);color:#00E676;}.ping-badge.pg-warn{border-color:rgba(255,170,0,.3);color:#FFAA00;}.ping-badge.pg-bad{border-color:rgba(255,64,88,.3);color:#FF4058;}
.ping-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;}

/* ── 7. auto-hide ───────────────────────────────────── */
.cbar-wrap{transition:opacity .4s ease,transform .4s ease !important;}
.cbar-wrap.cbar-hidden{opacity:0 !important;transform:translateY(6px) !important;pointer-events:none !important;}

/* ── 8. copy link ───────────────────────────────────── */
.room-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:5px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:6px;color:rgba(255,255,255,.3);cursor:pointer;transition:all .14s;flex-shrink:0;vertical-align:middle;}
.room-copy-btn:hover{background:rgba(255,255,255,.12);color:#fff;}

/* ── 10. reconnect overlay ──────────────────────────── */
.reconn-overlay{position:fixed;inset:0;z-index:9999;background:rgba(6,12,24,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.reconn-overlay.active{opacity:1;pointer-events:auto;}
.reconn-card{background:rgba(10,18,32,.98);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 24px 64px rgba(0,0,0,.6);}
.reconn-card strong{font-size:17px;font-weight:700;color:#fff;}.reconn-card span{font-size:13px;color:rgba(255,255,255,.4);}
.reconn-spin{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:#00E676;animation:rx-spin .75s linear infinite;}
@keyframes rx-spin{to{transform:rotate(360deg);}}

/* ── 11. CALCULADORA ────────────────────────────────── */
.vcalc-panel{
  position:fixed;right:16px;bottom:100px;z-index:9994;
  width:320px;background:rgba(8,14,26,.98);
  border:1px solid rgba(255,255,255,.1);border-radius:20px;
  box-shadow:0 24px 80px rgba(0,0,0,.7);
  opacity:0;transform:translateY(12px) scale(.97);
  transition:all .22s cubic-bezier(.34,1.2,.64,1);
  pointer-events:none;overflow:hidden;
  font-family:'Sora',-apple-system,sans-serif;
}
.vcalc-panel.vcalc-in{opacity:1;transform:none;pointer-events:auto;}

.vcalc-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px 10px;
  border-bottom:1px solid rgba(255,255,255,.07);
  cursor:grab;user-select:none;
}
.vcalc-header:active{cursor:grabbing;}
.vcalc-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:rgba(255,255,255,.85);}
.vcalc-subtitle{font-size:11px;font-weight:400;color:rgba(255,255,255,.3);background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.2);border-radius:5px;padding:1px 6px;}
.vcalc-close{background:none;border:none;color:rgba(255,255,255,.3);font-size:15px;cursor:pointer;padding:2px 7px;border-radius:6px;}
.vcalc-close:hover{background:rgba(255,255,255,.1);color:#fff;}

.vcalc-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.07);overflow-x:auto;}
.vcalc-tabs::-webkit-scrollbar{display:none;}
.vctab{flex:1;padding:9px 4px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.35);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;}
.vctab.active{color:var(--vg);border-bottom-color:var(--vg);}
.vctab:hover:not(.active){color:rgba(255,255,255,.65);}

.vcalc-body{padding:14px;}

/* Display básico */
.vc-display{font-family:'Space Mono',monospace;font-size:32px;font-weight:700;color:#fff;text-align:right;padding:0 4px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;}
.vc-expr{font-family:'Space Mono',monospace;font-size:11px;color:rgba(255,255,255,.3);text-align:right;padding:0 4px 8px;min-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Keys */
.vc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px;}
.vck{height:52px;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .1s;background:rgba(255,255,255,.07);color:rgba(255,255,255,.85);}
.vck:hover{background:rgba(255,255,255,.13);}.vck:active{transform:scale(.93);}
.vck.fn2{background:rgba(255,255,255,.11);font-size:15px;color:rgba(255,255,255,.6);}
.vck.op{background:rgba(14,165,255,.18);color:var(--vb);font-size:20px;}
.vck.op:hover{background:rgba(14,165,255,.28);}
.vck.eq{background:linear-gradient(135deg,#0077CC,var(--vb));color:#fff;}
.vck.eq:hover{filter:brightness(1.15);}
.vck.wide{grid-column:span 2;text-align:left;padding-left:22px;}

/* Share row */
.vc-share-row{display:flex;gap:7px;align-items:center;}
.vc-share-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.25);border-radius:11px;color:var(--vg);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;}
.vc-share-btn:hover{background:rgba(0,230,118,.18);box-shadow:0 0 12px rgba(0,230,118,.2);}
.vc-hist-btn{width:38px;height:38px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;font-size:16px;cursor:pointer;color:rgba(255,255,255,.5);}
.vc-hist-btn:hover{background:rgba(255,255,255,.12);}

/* Histórico */
.vc-hist{margin-top:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;max-height:140px;overflow-y:auto;}
.vc-hist-head{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;font-weight:600;color:rgba(255,255,255,.4);}
.vc-hist-head button{background:none;border:none;color:rgba(255,64,88,.6);font-size:10px;cursor:pointer;font-family:inherit;}
.vc-hist-item{padding:5px 10px;font-family:'Space Mono',monospace;font-size:11px;color:rgba(255,255,255,.5);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);}
.vc-hist-item:hover{background:rgba(255,255,255,.05);color:rgba(255,255,255,.8);}

/* Agro / Financeiro / Conversor — inputs */
.vc-inp{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:9px 12px;font-size:14px;color:#fff;font-family:inherit;outline:none;transition:border-color .15s;}
.vc-inp:focus{border-color:rgba(0,230,118,.4);}
.vc-inp::placeholder{color:rgba(255,255,255,.2);}
.vc-sel{flex-shrink:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:9px 10px;font-size:12px;color:rgba(255,255,255,.75);font-family:inherit;outline:none;cursor:pointer;max-width:160px;}
.vc-row{display:flex;gap:7px;margin-bottom:8px;}
.vc-row2{margin-bottom:8px;}
.vc-row2 label{display:block;font-size:11.5px;color:rgba(255,255,255,.35);margin-bottom:4px;}
.vc-row2 label + label{margin-bottom:2px;}
.vc-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin:14px 0;}
.vc-section-title{font-size:12px;font-weight:700;color:rgba(255,255,255,.35);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}

/* Resultado grade */
.vc-conv-result{max-height:180px;overflow-y:auto;margin-top:4px;}
/* Dentro da sidebar: limita para não empurrar o chat */
#sbToolBody .vc-conv-result{max-height:100px;}
.vc-conv-result::-webkit-scrollbar{width:3px;}.vc-conv-result::-webkit-scrollbar-track{background:transparent;}.vc-conv-result::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px;}
.vc-conv-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.vc-conv-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:8px 10px;}
.vc-conv-item.vc-conv-self{background:rgba(0,230,118,.07);border-color:rgba(0,230,118,.2);}
.vc-conv-item.vc-conv-hl{background:rgba(14,165,255,.08);border-color:rgba(14,165,255,.2);}
.vc-conv-val{display:block;font-family:'Space Mono',monospace;font-size:14px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vc-conv-lbl{display:block;font-size:10px;color:rgba(255,255,255,.35);margin-top:2px;}

/* Fin sub-tabs */
.vc-fin-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;}
.vcfintab{flex:1;padding:7px 6px;font-size:11px;font-weight:600;color:rgba(255,255,255,.35);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap;}
.vcfintab.active{background:rgba(0,230,118,.12);border-color:rgba(0,230,118,.3);color:var(--vg);}
.vcfintab:hover:not(.active){background:rgba(255,255,255,.08);}

/* ── Mobile */
@media(max-width:640px){
  .vcalc-panel{width:calc(100vw - 16px);right:8px;bottom:82px;}
  .vc-keys{gap:5px;}.vck{height:46px;font-size:16px;}
  .shortcuts-panel{right:8px;bottom:82px;min-width:calc(100vw - 16px);}
  .swm-toast,.ptt-bar{bottom:82px;}
}

/* ══════════════════════════════════════════════════════
   PAINEL GENÉRICO (Notas, Timer, Custo, Pauta)
   ══════════════════════════════════════════════════════ */
.vtool-panel{
  position:fixed;right:16px;bottom:90px;z-index:9993;
  width:320px;background:rgba(8,14,26,.98);
  border:1px solid rgba(255,255,255,.1);border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.7);
  opacity:0;transform:translateY(10px) scale(.97);
  transition:all .2s cubic-bezier(.34,1.2,.64,1);
  pointer-events:none;overflow:hidden;
  font-family:'Sora',-apple-system,sans-serif;
  max-height:calc(100vh - 120px);overflow-y:auto;
}
.vtool-panel.vtool-in{opacity:1;transform:none;pointer-events:auto;}
.vtool-panel::-webkit-scrollbar{width:3px;}
.vtool-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px;}
.vtool-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.07);cursor:grab;user-select:none;position:sticky;top:0;background:rgba(8,14,26,.98);z-index:1;}
.vtool-header:active{cursor:grabbing;}
.vtool-title{font-size:13px;font-weight:700;color:rgba(255,255,255,.85);}
.vtool-saved{transition:opacity .3s;}
.vtool-danger-btn{background:rgba(255,64,88,.08);border:1px solid rgba(255,64,88,.2);border-radius:9px;color:rgba(255,64,88,.7);font-size:11px;font-weight:600;padding:8px 12px;cursor:pointer;font-family:inherit;}
.vtool-danger-btn:hover{background:rgba(255,64,88,.15);}
.vt-share-row{display:flex;gap:7px;align-items:center;}

/* ── Notas ─────────────────────────────────────────── */
.vtnotes-area{
  width:100%;min-height:140px;max-height:260px;resize:vertical;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:10px;padding:10px 12px;font-size:13px;color:#fff;
  font-family:inherit;outline:none;line-height:1.5;
  transition:border-color .15s;margin-bottom:10px;
}
.vtnotes-area:focus{border-color:rgba(0,230,118,.35);}
.vtnotes-area::placeholder{color:rgba(255,255,255,.2);}

/* ── Timer ─────────────────────────────────────────── */
.vtimer-panel{width:300px;}
.vtimer-mode-tabs{display:flex;gap:4px;margin-bottom:12px;}
.vtimertab{flex:1;padding:7px;font-size:11px;font-weight:600;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:rgba(255,255,255,.35);cursor:pointer;font-family:inherit;}
.vtimertab.active{background:rgba(0,230,118,.12);border-color:rgba(0,230,118,.3);color:var(--vg);}
.vtimer-presets{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap;}
.vtpreset{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:7px;padding:5px 10px;font-size:11px;font-weight:600;color:rgba(255,255,255,.5);cursor:pointer;font-family:inherit;}
.vtpreset:hover{background:rgba(255,255,255,.12);color:#fff;}
.vtimer-display{font-family:'Space Mono',monospace;font-size:48px;font-weight:700;color:#fff;text-align:center;letter-spacing:2px;padding:4px 0 8px;}
.vtimer-progress-wrap{background:rgba(255,255,255,.05);border-radius:999px;height:5px;overflow:hidden;margin-bottom:4px;}
.vtimer-progress-bar{height:100%;border-radius:999px;background:var(--vg);transition:width .5s linear,background .5s;}
.vtimer-btn{padding:10px 14px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .13s;}
.vtimer-start{background:rgba(0,230,118,.15);border:1px solid rgba(0,230,118,.3);color:var(--vg);}
.vtimer-start:hover{background:rgba(0,230,118,.25);}
.vtimer-reset{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);}
.vtimer-reset:hover{background:rgba(255,255,255,.14);}

/* ── Custo ─────────────────────────────────────────── */
.vcost-setup{margin-bottom:12px;}
.vcost-ticker-wrap{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:14px;text-align:center;}
.vcost-ticker-label{font-size:10px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.vcost-ticker{font-family:'Space Mono',monospace;font-size:28px;font-weight:700;color:#fff;}
.vcost-mini{display:flex;flex-direction:column;align-items:center;gap:2px;background:rgba(255,255,255,.04);border-radius:8px;padding:6px 10px;}
.vcost-mini span:first-child{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;color:#fff;}
.vcost-mini span:last-child{font-size:9px;color:rgba(255,255,255,.3);}
.vcost-mini{display:flex;flex-direction:column;align-items:center;gap:2px;background:rgba(255,255,255,.04);border-radius:8px;padding:6px 10px;}
[id=vcostTotal]~div{display:flex;gap:6px;justify-content:center;margin-top:6px;}
.vcost-bar-wrap{background:rgba(255,255,255,.05);border-radius:999px;height:4px;overflow:hidden;margin-top:10px;}
.vcost-bar{height:100%;border-radius:999px;background:var(--vg);transition:width .5s,background .5s;}

/* ── Pauta ─────────────────────────────────────────── */
.vpautapanel{width:330px;}
.vpauta-list{display:flex;flex-direction:column;gap:5px;max-height:200px;overflow-y:auto;margin-bottom:8px;}
.vpauta-list::-webkit-scrollbar{width:3px;}.vpauta-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px;}
.vpauta-empty{font-size:12px;color:rgba(255,255,255,.25);text-align:center;padding:12px;}
.vpauta-item{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:8px 10px;gap:8px;transition:all .15s;}
.vpauta-item.vpauta-done{opacity:.4;background:transparent;}
.vpauta-item.vpauta-current{background:rgba(0,230,118,.08);border-color:rgba(0,230,118,.25);}
.vpauta-item-left{display:flex;align-items:center;gap:7px;flex:1;min-width:0;}
.vpauta-idx{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.08);font-size:10px;font-weight:700;color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vpauta-current .vpauta-idx{background:rgba(0,230,118,.2);color:var(--vg);}
.vpauta-text{font-size:12px;color:rgba(255,255,255,.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vpauta-item-right{display:flex;align-items:center;gap:5px;flex-shrink:0;}
.vpauta-dur{font-size:11px;color:rgba(255,255,255,.3);font-family:'Space Mono',monospace;}
.vpauta-del{background:none;border:none;color:rgba(255,64,88,.4);font-size:14px;cursor:pointer;padding:0 2px;line-height:1;}
.vpauta-del:hover{color:var(--red);}
.vpauta-active{background:rgba(0,230,118,.05);border:1px solid rgba(0,230,118,.15);border-radius:12px;padding:12px;margin-bottom:10px;}
.vpauta-active-title{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:4px;}
.vpauta-active-timer{font-family:'Space Mono',monospace;font-size:36px;font-weight:700;color:#fff;text-align:center;}
.vpauta-timer-bar-wrap{background:rgba(255,255,255,.05);border-radius:999px;height:4px;overflow:hidden;margin-top:8px;}
.vpauta-timer-bar{height:100%;border-radius:999px;background:var(--vg);transition:width .5s linear,background .5s;}

/* ── Clima widget ─────────────────────────────────── */
.clima-widget{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:600;color:rgba(255,255,255,.6);margin-right:6px;cursor:default;}

/* ── QR Modal ────────────────────────────────────── */
.vqr-modal{position:fixed;inset:0;z-index:10000;background:rgba(6,12,24,.8);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s;}
.vqr-modal.vqr-in{opacity:1;pointer-events:auto;}
.vqr-card{background:rgba(10,18,32,.98);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:20px;box-shadow:0 24px 64px rgba(0,0,0,.7);min-width:240px;}

@media(max-width:640px){
  .vtool-panel{width:calc(100vw - 16px);right:8px;bottom:82px;}
}

/* ── 18. Sidebar tool overrides ──────────────────── */
/* When tools are embedded in #sbToolBody, remove floating styles */
#sbToolBody .vtool-panel,
#sbToolBody .vcalc-panel{
  position:relative!important;right:auto!important;bottom:auto!important;
  left:auto!important;top:auto!important;
  width:100%!important;max-width:100%!important;max-height:none!important;
  transform:none!important;opacity:1!important;pointer-events:auto!important;
  border:none!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;z-index:1!important;
  overflow:visible!important;
}
#sbToolBody .vtool-header,
#sbToolBody .vcalc-hdr{display:none!important;}
#sbToolBody .vcalc-tabs{border-radius:0;border-left:none;border-right:none;}
#sbToolBody .vcalc-body{border-radius:0;}

/* Pauta list — more height inside sidebar */
#sbToolBody .vpauta-list{ max-height: none !important; flex:1; }