/* Componentes novos: diálogos, progresso, Pix, tabelas de administração e gráficos. */
.dialog-backdrop{display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}
.dialog{background:var(--panel,#10151b);color:inherit;border:1px solid rgba(255,255,255,.12);border-radius:16px;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.dialog.wide{width:min(720px,100%)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:inherit;z-index:1}
.dialog-head h2{margin:0;font-size:18px}
.dialog-body{padding:18px}
.dialog-actions{gap:10px;margin-top:14px;flex-wrap:wrap}
.progress{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;margin:8px 0}
.progress>span{display:block;height:100%;background:var(--lime,#a6ff00);transition:width .25s}
.pix-block{display:grid;gap:8px;justify-items:center;text-align:center;padding:14px;margin-bottom:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px}
.pix-amount{font-size:26px;font-weight:800;color:var(--lime,#a6ff00)}
.pix-qr{background:#fff;padding:8px;border-radius:10px;max-width:100%;height:auto}
.pix-code{width:100%;font:12px/1.4 ui-monospace,monospace;resize:none;background:rgba(0,0,0,.25);color:inherit;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px}
.ok{color:var(--lime,#a6ff00)}
.stock-badge.out{background:#5b1d1d;color:#ffb4b4}
.address-form{margin-top:12px}
.table-scroll{overflow:auto;max-width:100%}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th,.admin-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle}
.admin-table th{font-size:11px;letter-spacing:.06em;color:var(--muted,#9aa4b2);white-space:nowrap}
.admin-table input,.admin-table select{max-width:130px}
.tag{display:inline-block;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.1);font-size:11px;white-space:nowrap}
.tag.ok{background:rgba(166,255,0,.16);color:var(--lime,#a6ff00)}
.tag.bad{background:#5b1d1d;color:#ffb4b4}
.tag.warn{background:#5a4a12;color:#ffe08a}
.timeline{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:12px}
.timeline li{padding-left:14px;position:relative;color:var(--muted,#9aa4b2)}
.timeline li::before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--lime,#a6ff00)}
.bars{display:flex;align-items:flex-end;gap:4px;height:120px;margin:12px 0 4px}
.bars span{flex:1;min-width:6px;background:var(--lime,#a6ff00);border-radius:4px 4px 0 0;opacity:.85}
.bars span.dtf{background:#5ec8ff}
.bar-legend{display:flex;gap:14px;font-size:11px;color:var(--muted,#9aa4b2)}
.dtf-canvas-wrap{background:repeating-conic-gradient(rgba(255,255,255,.06) 0 25%,transparent 0 50%) 0 0/20px 20px;border-radius:10px;overflow:auto;max-height:640px}
.dtf-canvas-wrap canvas{display:block;width:100%;height:auto}
.job-list{display:grid;gap:8px;margin-top:10px}
.job-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;flex-wrap:wrap}
.upload-queue{display:grid;gap:6px;margin:10px 0}
.upload-row{display:grid;gap:4px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:12px}
.banner-info{padding:12px 14px;border-radius:10px;background:rgba(94,200,255,.1);border:1px solid rgba(94,200,255,.3);margin:12px 0;font-size:13px}
.legal{max-width:820px}.legal h2{margin-top:26px}.legal p,.legal li{line-height:1.6;color:var(--muted,#c3cad4)}
@media (max-width:640px){.admin-table th,.admin-table td{padding:6px}.dialog-head,.dialog-body{padding:12px}}
.captcha-box{min-height:0;display:flex;justify-content:center}
