/* Lot 2 : modules additifs, respecte les quatre themes du lot 1. */
.v30mod-card{margin-bottom:14px;min-width:0}
.v30mod-card h3{margin:18px 0 10px;font-size:1rem}
.v30mod-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border,#d8dfe9);min-width:0;flex-wrap:wrap}
.v30mod-row:last-child{border-bottom:0}
.v30mod-row>.field{flex:1;min-width:165px;max-width:100%}
.v30mod-row .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v30mod-row small{opacity:.72}
.v30mod-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v30mod-number{font-size:2.1rem;line-height:1.3;font-weight:800;display:block;margin-top:5px}
.v30mod-map{width:100%;height:380px;min-height:260px;border-radius:13px;overflow:hidden;background:#d4e1e6;margin:14px 0;z-index:0}
.v30mod-plan{position:relative;width:100%;min-height:450px;overflow:hidden;margin-top:16px;border:2px solid var(--border,#9ba9bb);border-radius:12px;background-color:var(--surface,#f7f9fc);background-image:linear-gradient(rgba(125,140,168,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(125,140,168,.14) 1px,transparent 1px);background-size:30px 30px}
.v30mod-plan-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;opacity:.65;width:80%;pointer-events:none}
.v30mod-piece{position:absolute;display:grid;place-items:center;gap:0;transform:translate(-50%,-50%);min-width:58px;min-height:54px;border:1px solid #338ed2;border-radius:10px;background:#d9edff;color:#132e47;font-size:1.3rem;cursor:grab;touch-action:none;user-select:none;z-index:1;padding:3px 16px 3px 6px}
.v30mod-piece small{display:block;font-size:.55rem;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v30mod-piece span{position:absolute;top:1px;right:2px;display:block;font-size:14px;line-height:16px;color:#bc2734;cursor:pointer}
.v30mod-perm-table{max-width:100%;overflow-x:auto;margin-top:12px}
.v30mod-perm-table table{width:100%;border-collapse:collapse;min-width:550px}
.v30mod-perm-table td,.v30mod-perm-table th{padding:8px;border-bottom:1px solid var(--border,#d8dfe9);text-align:center}
.v30mod-perm-table td:first-child,.v30mod-perm-table th:first-child{text-align:left}
.v30mod-chat-list{max-height:450px;overflow:auto;margin:14px 0;border:1px solid var(--border,#d8dfe9);border-radius:10px;padding:12px}
.v30mod-msg{border-bottom:1px solid var(--border,#d8dfe9);padding:10px 2px}
.v30mod-msg:last-child{border:0}
.v30mod-msg p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}
.v30-push-page .actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:850px){.v30mod-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v30mod-map{height:320px}.v30mod-plan{min-height:330px}}
@media(max-width:410px){.v30mod-metrics{gap:8px}.v30mod-row>.field{width:100%}.v30mod-plan{min-height:280px}}
