/* =========================================================
   Sol·licituds de reserva pendents (Odoo)
   ========================================================= */

.reserves-taula-wrap{background:var(--card);border:1px solid var(--linia);border-radius:var(--radi);box-shadow:var(--ombra);overflow-x:auto}

.reserves-lleg{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.reserves-lg{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--gris);background:#fbfcfb;border:1px solid var(--linia-forta);border-radius:20px;padding:6px 13px}
.reserves-lg:hover{border-color:var(--linia-forta);background:#fff}
.reserves-lg.on{background:#2c2c2c;color:#fff;border-color:#2c2c2c}
.reserves-lg.on .reserves-semafor{box-shadow:0 0 0 2px rgba(255,255,255,.5)}
table.reserves-taula{width:100%;border-collapse:collapse;font-size:12px;min-width:640px}
table.reserves-taula th{background:#fbfcfb;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gris-clar);padding:10px 12px;border-bottom:1px solid var(--linia);text-align:left}
table.reserves-taula th[data-ordena]{cursor:pointer;user-select:none}
table.reserves-taula th[data-ordena]:hover{color:var(--tinta)}
.reserves-fletxa{font-size:8px;color:#7d2b7d}
table.reserves-taula td{border-bottom:1px solid var(--linia);padding:9px 12px}
table.reserves-taula tr:last-child td{border-bottom:none}
table.reserves-taula tr:hover td{background:#fbfcfb}
.reserves-nom-link{font-weight:600;color:var(--tinta);text-decoration:none}
.reserves-nom-link:hover{color:#7d2b7d;text-decoration:underline}

.reserves-mes{font-size:12px;font-weight:700;color:#7d2b7d;background:#f9f0f9;border:1px solid #e8d4e8;border-radius:20px;padding:8px 18px}
.reserves-mes:hover{background:#f0e0f0}

.reserves-semafor{display:inline-block;width:9px;height:9px;border-radius:50%}
.reserves-semafor.sem-vermell{background:var(--vermell)}
.reserves-semafor.sem-groc{background:var(--taronja)}
.reserves-semafor.sem-verd{background:var(--verd-mig)}

.reserves-cases{font-size:10.5px;color:var(--gris-clar);margin-top:2px}
.reserves-contacte{display:block;font-size:10.5px;color:var(--blau-fort);text-decoration:none}
.reserves-contacte:hover{text-decoration:underline}

.reserves-bt-ia{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#7d2b7d;background:#f9f0f9;border:1px solid #e8d4e8;border-radius:20px;padding:6px 12px;white-space:nowrap}
.reserves-bt-ia:hover{background:#f0e0f0;border-color:#d9b8d9}
.reserves-bt-ia:disabled{opacity:.6;cursor:default}

.reserves-ia-badge{display:inline-block;font-size:10px;font-weight:700;color:#0a6b5c;background:#e3f7f2;border:1px solid #b8ebe0;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}

.reserves-demanades-badge{display:inline-block;font-size:10px;font-weight:700;color:#8a5a00;background:#fff3d6;border:1px solid #f0dba3;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}

.reserves-resposta-badge{display:inline-block;font-size:10px;font-weight:700;color:#0b4f8a;background:#e6f1fc;border:1px solid #b9d7f3;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}

.reserves-confirmat-badge{display:inline-block;font-size:10px;font-weight:700;color:#0a6b2f;background:#e6f7ea;border:1px solid #b8e6c4;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}

.reserves-revisio-badge{display:inline-block;font-size:10px;font-weight:700;color:#8a3a00;background:#ffe8d6;border:1px solid #f0b98a;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.reserves-origen-badge{display:inline-block;font-size:10px;font-weight:700;color:#4a5a68;background:#eef2f5;border:1px solid #d3dde3;border-radius:20px;padding:2px 8px;margin-left:6px;vertical-align:middle}

.reserves-bt-ocupacio{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#0b4f8a;background:#e6f1fc;border:1px solid #b9d7f3;border-radius:20px;padding:6px 12px;white-space:nowrap;margin-left:6px}
.reserves-bt-ocupacio:hover{background:#d8eafc;border-color:#9cc7ee}
.reserves-bt-ocupacio:disabled{opacity:.6;cursor:default}

.reserves-fila-ocupacio td{background:#f6f8f7;padding:16px 18px 16px 32px}
.reserves-ocupacio-carregant,.reserves-ocupacio-error{font-size:11.5px;color:var(--gris-clar)}
.reserves-ocupacio-resultat{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:900px){.reserves-ocupacio-resultat{grid-template-columns:1fr}}

.reserves-ocupacio-casa-card{background:#fff;border:1px solid var(--linia-forta);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column}
.reserves-ocupacio-cap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px}
.reserves-ocupacio-casa{font-weight:700;font-size:13px}

.reserves-ocupacio-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
.reserves-ocupacio-pill-lliure{background:#e3f7ea;color:#0a6b2f}
.reserves-ocupacio-pill-ocupada{background:#fde8e8;color:#a02020}

.reserves-ocupacio-capacitats{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.reserves-ocupacio-capbox{border:1px solid var(--linia);border-radius:9px;padding:7px 10px;background:#fbfcfb}
.reserves-ocupacio-capbox-destacat{border-color:#9cc7ee;background:#f3f9ff}
.reserves-ocupacio-capbox-cap{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;margin-bottom:5px}
.reserves-ocupacio-capbox-xifra{font-weight:700;color:var(--tinta)}
.reserves-ocupacio-barra{display:flex;height:6px;border-radius:6px;overflow:hidden;background:#eef1f0}
.reserves-ocupacio-barra span{display:block;height:100%;border-radius:6px;transition:width .4s ease}

.reserves-ocupacio-conflictes-tit{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gris-clar);margin-bottom:5px}
.reserves-ocupacio-conflictes{display:flex;flex-direction:column;gap:5px}
.reserves-ocupacio-conflicte{font-size:11.5px;color:var(--tinta);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:5px 8px;background:#fbfcfb;border-radius:7px}
.reserves-ocupacio-conflicte a{color:var(--tinta);text-decoration:none}
.reserves-ocupacio-conflicte a:hover{color:#7d2b7d;text-decoration:underline}
.reserves-ocupacio-conflicte-meta{color:var(--gris-clar);font-size:10.5px}
.reserves-ocupacio-cadenat{font-size:11px}
.reserves-ocupacio-sense-conflictes{font-size:11px;color:var(--gris-clar);font-style:italic}

/* ---------- Categoria (A/B/C/X/Z) ---------- */
.reserves-cat-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:10.5px;font-weight:800;margin-right:7px;vertical-align:middle;cursor:help;white-space:nowrap}
.reserves-cat-pill.cat-a{background:#0a6b2f;color:#fff}
.reserves-cat-pill.cat-b{background:#1f6fc0;color:#fff}
.reserves-cat-pill.cat-c{background:#e08a1e;color:#fff}
.reserves-cat-pill.cat-x{background:#e6e9ec;color:#4a5a68;border:1px solid #cfd6dc}
.reserves-cat-pill.cat-z{background:#c0392b;color:#fff}

/* ---------- Explicació plegable a sota de la taula ---------- */
.reserves-llegenda{margin-top:12px;background:var(--card);border:1px solid var(--linia);border-radius:var(--radi);padding:10px 16px}
.reserves-llegenda summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--gris);list-style:revert}
.reserves-llegenda summary:hover{color:var(--tinta)}
.reserves-llegenda-cos{padding:6px 0 4px}
.reserves-llegenda-tit{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gris-clar);margin:14px 0 6px}
.reserves-llegenda-text{font-size:11.5px;color:var(--gris);margin:0 0 8px;line-height:1.5}
.reserves-llegenda-cats{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11.5px;color:var(--gris);align-items:center}
.reserves-llegenda-cats>span{display:inline-flex;align-items:center;gap:6px}
.reserves-llegenda-cats .reserves-cat-pill,.reserves-llegenda-cats [class$="-badge"]{margin:0}
.reserves-llegenda-taula-wrap{overflow-x:auto;margin-top:10px}
table.reserves-llegenda-taula{width:100%;border-collapse:collapse;font-size:11.5px;min-width:560px}
table.reserves-llegenda-taula th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--linia);font-weight:700}
table.reserves-llegenda-taula th .reserves-cat-pill{margin:0}
table.reserves-llegenda-taula td{padding:6px 8px;border-bottom:1px solid var(--linia);vertical-align:top;color:var(--gris)}
table.reserves-llegenda-taula tr:last-child td{border-bottom:none}
