/* Compact, brandable, with map */
.as-tzf-card{
  --as-bg:#0b1022; --as-text:#e5e7eb; --as-muted:#9ca3af; --as-panel:#111827; --as-border:#1f2937; --as-primary:#7c3aed; --as-radius:12px;
  max-width:720px;margin:0 auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:var(--as-text);background:var(--as-bg);padding:16px;border-radius:var(--as-radius);border:1px solid var(--as-border);
}
.as-light{ --as-bg:#ffffff; --as-text:#111827; --as-muted:#4b5563; --as-panel:#f8fafc; --as-border:#e5e7eb; }
.as-compact .row{margin-bottom:6px}
.as-tzf-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.as-tzf-head h3{margin:0;font-size:18px}
.as-tzf-tabs{display:flex;gap:6px}
.as-tzf-tab{border:1px solid var(--as-border);background:var(--as-panel);padding:6px 10px;border-radius:999px;cursor:pointer;font-size:12px}
.as-tzf-tab.is-active{background:var(--as-primary);border-color:var(--as-primary);color:#fff}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.row.tight{gap:6px;margin-bottom:0}
.box{border:1px dashed var(--as-border);border-radius:10px;padding:8px;flex:1;min-width:260px}
label{display:block;font-weight:600;margin-bottom:4px}
input, select{width:100%;padding:8px;border:1px solid var(--as-border);border-radius:8px;background:var(--as-panel);color:var(--as-text)}
button{padding:8px 10px;border-radius:999px;border:1px solid var(--as-border);background:var(--as-primary);color:#fff;cursor:pointer;margin-top:6px}
button.secondary{background:var(--as-panel);color:var(--as-text)}
.small{font-size:12px}
.muted{color:var(--as-muted)}
.mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.as-tzf-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--as-border);background:var(--as-panel);padding:4px 8px;border-radius:999px;margin:3px 4px 0 0}
.as-tzf-chip .pct{opacity:.75}
.as-tzf-msg{margin-top:8px;padding:8px 10px;border-radius:8px}
.as-tzf-msg.ok{background:#0f5132;color:#d1fae5}
.as-tzf-msg.err{background:#5c1a1a;color:#ffe4e6}
/* Modal — white background by request */
.as-tzf-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:block}
.as-tzf-modal[hidden]{display:none}
.as-tzf-modal-panel{position:relative;max-width:640px;margin:10vh auto;background:#ffffff;color:#111827;border-radius:12px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.as-tzf-modal-panel button{background:var(--as-primary);color:#fff}
#as-tzf-map .leaflet-container{outline:none}


/* Panels */
.as-tzf-panels{margin-bottom:8px}
.as-tzf-panel{display:block}
.as-tzf-panel[hidden]{display:none}
