/* =========================================================
   disponibilitat.css — Mòdul "Disponibilitat de cases"
   Colors d'estat: els mateixos que l'Excel de l'equip.
   ========================================================= */
:root{
  --dc-ocupada:#E53935;
  --dc-compartible:#FBC02D;
  --dc-lliure:#81C784;
  --dc-proposta:#FB8C00;
  --dc-confirmada:#9C4DCC;
  --dc-desconegut:#eef0ef;
}

/* L'atribut hidden ha de guanyar sempre als display:flex d'aquest fitxer */
.dc-camp[hidden],.dc-pista[hidden]{display:none}

/* ---------- Mostres i colors d'estat (cel·les, llegenda, botons) ---------- */
.dc-e-ocupada{background:var(--dc-ocupada)}
.dc-e-compartible{background:var(--dc-compartible)}
.dc-e-lliure{background:var(--dc-lliure)}
.dc-e-proposta{background:var(--dc-proposta)}
.dc-e-confirmada{background:var(--dc-confirmada)}
.dc-e-desconegut{background:repeating-linear-gradient(135deg,var(--dc-desconegut) 0 4px,#f8f9f8 4px 8px)}
.dc-mostra{display:inline-block;width:12px;height:12px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,.06)}

/* ---------- Barres d'eines ---------- */
.dc-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.dc-barra-2{margin-bottom:8px}
.dc-vistes{margin-bottom:0}
.dc-vistes .ocup-tab{display:inline-flex;align-items:center;gap:6px}
.dc-barra-dreta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dc-cerca{padding:8px 12px;border:1px solid var(--linia-forta);border-radius:11px;min-width:200px;background:#fbfcfb}
.dc-bt-primari{display:inline-flex;align-items:center;gap:6px;background:var(--verd-fort);color:#fff;border-radius:11px;padding:8px 14px;font-weight:700;font-size:12.5px}
.dc-bt-primari:hover{background:var(--verd-mig);transform:translateY(-1px);box-shadow:var(--ombra)}
.dc-bt-sec{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--linia-forta);background:#fbfcfb;border-radius:10px;padding:7px 12px;font-weight:600;font-size:12px;color:var(--tinta);text-decoration:none}
.dc-bt-sec:hover{border-color:var(--verd-mig);background:var(--verd-clar);color:var(--verd-fort)}

.dc-filtres{display:flex;gap:6px;flex-wrap:wrap}
.dc-filtre{border:1px solid var(--linia-forta);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;background:#fff;color:var(--gris)}
.dc-filtre.on{background:var(--tinta);border-color:var(--tinta);color:#fff}
.dc-chk-dades{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gris);font-weight:600;margin-left:6px;cursor:pointer}

.dc-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dc-nav-bt{width:32px;height:32px;border:1px solid var(--linia-forta);border-radius:10px;font-size:18px;line-height:1;background:#fff}
.dc-nav-bt:hover,.dc-nav-avui:hover{border-color:var(--verd-mig);background:var(--verd-clar)}
.dc-nav-avui{height:32px;padding:0 12px;border:1px solid var(--linia-forta);border-radius:10px;font-weight:600;font-size:12px;background:#fff}
.dc-nav-rang{font-weight:700;font-size:12.5px;min-width:130px;text-align:center}
.dc-anar{padding:5px 8px;border:1px solid var(--linia-forta);border-radius:10px;font-size:12px;background:#fff}

.dc-llegenda{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--gris);margin:4px 0 12px}
.dc-lleg{display:inline-flex;align-items:center;gap:6px}

.dc-pista{background:var(--blau-clar);color:var(--blau-fort);border-radius:10px;padding:8px 12px;font-size:12.5px;margin-bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dc-pista button{font-weight:700;text-decoration:underline;font-size:12px;color:var(--blau-fort)}

/* ---------- Graella cases × dies ---------- */
.dc-graella-wrap{overflow-x:auto;border:1px solid var(--linia);border-radius:var(--radi-petit);max-height:70vh;overflow-y:auto}
.dc-graella{border-collapse:separate;border-spacing:0;font-size:11px;width:100%;table-layout:fixed;min-width:calc(200px + var(--dc-n,31) * 26px)}
.dc-graella thead th{position:sticky;background:#fff;z-index:2}
.dc-graella thead tr:first-child th{top:0;height:22px}
.dc-graella thead tr:nth-child(2) th{top:22px}
.dc-mes{text-align:left;padding:4px 6px;font-weight:700;font-size:11px;text-transform:capitalize;color:var(--gris);border-bottom:1px solid var(--linia);border-left:1px solid var(--linia)}
.dc-dia-cap{padding:3px 0;text-align:center;font-weight:700;border-bottom:1px solid var(--linia-forta)}
.dc-dia-cap span{display:block;font-size:11px}
.dc-dia-cap small{display:block;font-size:9px;font-weight:500;color:var(--gris-clar)}
.dc-cap-sem{background:#f6f7f6 !important}
.dc-cap-avui span{background:var(--verd-fort);color:#fff;border-radius:6px;margin:0 2px}

.dc-col-casa{position:sticky;left:0;z-index:1;background:#fff;text-align:left;padding:5px 10px;width:200px;min-width:200px;max-width:200px;overflow:hidden;border-right:1px solid var(--linia-forta);border-bottom:1px solid var(--linia)}
.dc-graella thead .dc-col-casa{z-index:3;font-size:11px;color:var(--gris);font-weight:700;vertical-align:bottom}
.dc-cap-casa small{font-weight:500;color:var(--gris-clar)}
.dc-nom{display:block;font-weight:700;font-size:12px;text-align:left;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.dc-nom:hover{color:var(--verd-fort);text-decoration:underline}
.dc-casa-sub{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--gris-clar);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.dc-c{height:30px;border-bottom:1px solid rgba(255,255,255,.7);border-right:1px solid rgba(255,255,255,.7);cursor:pointer;text-align:center;font-size:10px;font-weight:700;color:rgba(0,0,0,.55);position:relative}
.dc-c:hover{outline:2px solid var(--tinta);outline-offset:-2px;z-index:1}
.dc-c.dc-e-desconegut.dc-c-sem{background:repeating-linear-gradient(135deg,#e7e9e8 0 4px,#f1f2f1 4px 8px)}
.dc-c-info::after{content:'';position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.dc-sel{outline:3px solid var(--blau-fort) !important;outline-offset:-3px;z-index:1}

/* Frescor de la comprovació */
.dc-frescor{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dc-f-verd{background:var(--verd-mig)}
.dc-f-groc{background:#F9A825}
.dc-f-vermell{background:var(--vermell)}
.dc-f-mai{background:transparent;border:1.5px solid var(--vermell)}

/* ---------- Vista "Cases i comprovacions" ---------- */
.dc-cases-cap{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--gris);margin-bottom:12px}
.dc-cases-graella{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.dc-casa-card{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--linia);border-radius:var(--radi-petit);padding:11px 13px;background:#fff}
.dc-casa-card:hover{border-color:var(--verd-mig);box-shadow:var(--ombra);transform:translateY(-1px)}
.dc-casa-card-nom{font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dc-casa-card-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--gris)}
.dc-pill{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:20px;letter-spacing:.3px}
.dc-pill-ae{background:var(--blau-clar);color:var(--blau-fort)}
.dc-pill-tyt{background:var(--lila-clar);color:var(--lila)}

/* ---------- Modals ---------- */
.dc-camp{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.dc-camp > span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gris)}
.dc-camp input,.dc-camp select,.dc-camp textarea{width:100%;padding:9px 11px;border:1px solid var(--linia-forta);border-radius:10px;background:#fff}
.dc-camp textarea{resize:vertical}
.dc-fila2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dc-estats{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.dc-estat-bt{display:flex;align-items:center;gap:8px;border:1.5px solid var(--linia-forta);border-radius:10px;padding:9px 10px;font-size:12px;font-weight:600;text-align:left;background:#fff}
.dc-estat-bt:hover{border-color:var(--gris-clar)}
.dc-estat-bt.on{border-color:var(--tinta);background:#f6f7f6;box-shadow:0 0 0 2px rgba(24,36,32,.08)}
.dc-estat-bt .dc-mostra{width:16px;height:16px}
.dc-nota-peu{font-size:11.5px;color:var(--gris-clar);margin:-2px 0 14px}

.dc-fitxa-estat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f7f8f7;border-radius:12px;padding:10px 12px;margin-bottom:16px;font-size:12.5px}
.dc-fitxa-estat > span{display:flex;align-items:center;gap:7px;font-weight:600;margin-right:auto}
.dc-fitxa-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.dc-camp-ample{grid-column:1 / -1}
.dc-checks{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px}
.dc-checks label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.dc-checks input{width:auto}
.dc-fitxa-extra{background:#fafbfa;border:1px dashed var(--linia-forta);border-radius:12px;padding:12px 14px;margin:4px 0 16px;font-size:12px;color:var(--gris);line-height:1.6}
.dc-fitxa-extra p{margin-bottom:4px}
.dc-fitxa-accions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.dc-fitxa-accions .bt-crear-periodica{width:auto;margin:0}
.dc-bt-arxivar{margin-left:auto;font-size:11.5px;color:var(--vermell);font-weight:600;text-decoration:underline}
.dc-historial{border-top:1px solid var(--linia);padding-top:14px}
.dc-hist-fila{display:flex;gap:10px;font-size:12px;padding:4px 0;color:var(--tinta)}
.dc-hist-data{color:var(--gris-clar);min-width:48px;font-variant-numeric:tabular-nums}

/* ---------- Mòbil ---------- */
@media(max-width:640px){
  .dc-cerca{min-width:0;flex:1}
  .dc-barra-dreta{width:100%}
  .dc-bt-primari{flex-shrink:0}
  .dc-graella{min-width:calc(130px + var(--dc-n,14) * 26px)}
  .dc-col-casa{width:130px;min-width:130px;max-width:130px;padding:4px 6px}
  .dc-nom{max-width:118px;font-size:11.5px}
  .dc-casa-sub{font-size:9.5px}
  .dc-nav-rang{min-width:0}
  .dc-anar{display:none}
  .dc-fitxa-grid,.dc-fila2{grid-template-columns:1fr}
  .dc-llegenda{gap:8px;font-size:10.5px}
}

/* ---------- Odoo i conflictes ---------- */
.dc-odoo-estat{margin-left:auto;font-size:11.5px;color:var(--gris-clar);font-weight:600}
.dc-odoo-estat.dc-odoo-avis{color:var(--vermell)}
.dc-c-conflicte{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--vermell)}
.dc-c-conflicte::before{content:'!';position:absolute;top:1px;left:3px;font-size:10px;font-weight:900;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.6)}

/* ---------- Cases pròpies ---------- */
.dc-f-odoo{background:var(--dc-confirmada)}
.dc-col-propia{background:#faf6fd}
.dc-col-propia .dc-nom{color:var(--lila)}
.dc-pill-propia{background:var(--lila);color:#fff}

/* ---------- Calendaris de les cases (iCal) ---------- */
.dc-ajuda{display:block;font-size:11px;color:var(--gris-clar);font-weight:500;text-transform:none;letter-spacing:0;line-height:1.45;margin-top:2px}
.dc-fitxa-lectura{border-radius:10px;padding:8px 12px;font-size:12px;margin-bottom:10px}
.dc-lec-ok{background:var(--verd-clar);color:var(--verd-fort)}
.dc-lec-error{background:var(--vermell-clar);color:var(--vermell)}

/* ---------- Enllaç per a la casa ---------- */
.dc-enllac-bloc{border-top:1px solid var(--linia);padding-top:14px;margin:6px 0 16px}
.dc-enl-fila{display:flex;gap:8px}
.dc-enl-url{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--linia-forta);border-radius:10px;background:#fafbfa;font-size:12px;color:var(--gris)}
.dc-enl-estat{font-size:12px;color:var(--gris);margin:8px 0 10px}
.dc-enl-ok{color:var(--verd-fort);font-weight:600}
.dc-enl-avis{color:var(--vermell);font-weight:600}
.dc-enl-neutre{color:var(--gris-clar)}

/* ---------- Google Calendar ---------- */
.dc-passos{background:#fafbfa;border:1px solid var(--linia);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:12.5px;color:var(--gris);line-height:1.55}
.dc-passos summary{cursor:pointer;font-weight:700;color:var(--tinta)}
.dc-passos ol{margin:10px 0 6px 18px}
.dc-passos li{margin-bottom:6px}
.dc-codi{display:block;margin-top:4px;padding:6px 8px;background:#fff;border:1px solid var(--linia-forta);border-radius:8px;font-size:11.5px;word-break:break-all;user-select:all;color:var(--tinta)}
.dc-taula-wrap{overflow-x:auto;margin:6px 0 14px}
.dc-taula-g{width:100%;border-collapse:collapse;font-size:12.5px}
.dc-taula-g th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--gris-clar);padding:4px 8px}
.dc-taula-g td{padding:6px 8px;border-top:1px solid var(--linia);vertical-align:middle}
.dc-taula-g select{max-width:210px;padding:5px 8px;border:1px solid var(--linia-forta);border-radius:8px;background:#fff;font-size:12.5px}

.dc-cmp-llista{list-style:none;font-size:12px;color:var(--gris);margin:6px 0 14px;max-height:220px;overflow:auto;border:1px solid var(--linia);border-radius:10px;padding:6px 10px}
.dc-cmp-llista li{padding:4px 0;border-bottom:1px solid var(--linia)}
.dc-cmp-llista li:last-child{border-bottom:none}
.dc-cmp-llista b{color:var(--tinta)}

.dc-lec-neutre{background:#f4f5f4;color:var(--gris)}

/* =========================================================================================
   REDISSENY (estil modern: pastels, targetes arrodonides, barres per estades, ressalt)
   ========================================================================================= */
:root{
  --dcp-ocupada:#F7BDB9;   --dct-ocupada:#8C1D18;
  --dcp-compartible:#FCE49A; --dct-compartible:#6B4F00;
  --dcp-lliure:#DDF1E1;
  --dcp-proposta:#FFD6A3;  --dct-proposta:#8A4B08;
  --dcp-confirmada:#D8C6F3; --dct-confirmada:#4A2780;
  --dcp-desconegut:#F1F2F4;
  --dc-tinta:#111827;
}
/* Colors dels puntets de llegenda i del modal: els mateixos pastels */
.dc-mostra.dc-e-ocupada{background:var(--dcp-ocupada)}
.dc-mostra.dc-e-compartible{background:var(--dcp-compartible)}
.dc-mostra.dc-e-lliure{background:var(--dcp-lliure)}
.dc-mostra.dc-e-proposta{background:var(--dcp-proposta)}
.dc-mostra.dc-e-confirmada{background:var(--dcp-confirmada)}
.dc-mostra.dc-e-desconegut{background:repeating-linear-gradient(135deg,#E9EAEE 0 3px,#F6F7F8 3px 6px)}
.dc-mostra{width:12px;height:12px;border-radius:50%;border:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}

/* ---- disposició: barra lateral + calendari ---- */
#dc-arrel .dc-app{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
#dc-arrel .dc-side{display:none}
@media(min-width:1280px){
  #dc-arrel .dc-app{grid-template-columns:236px minmax(0,1fr)}
  #dc-arrel .dc-side{display:block}
  #dc-arrel .dc-llegenda{display:none !important}   /* a pantalla ampla, la llegenda i les fonts ja són a la barra lateral */
}
#dc-arrel .dc-main{min-width:0}

/* ---- capçalera ---- */
#dc-arrel .dc-cap{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
#dc-arrel .dc-cap-esq{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#dc-arrel .dc-titol-w{min-width:0}
#dc-arrel .dc-titol{font-size:28px;line-height:1.05;font-weight:800;letter-spacing:-.6px;color:var(--dc-tinta);text-transform:capitalize}
#dc-arrel .dc-subtitol{display:block;font-size:12.5px;font-weight:600;color:#9CA3AF;margin-top:3px}
#dc-arrel .dc-nav{display:flex;align-items:center;gap:6px}
#dc-arrel .dc-nav-avui{height:36px;padding:0 16px;border:1px solid #E5E7EB;border-radius:999px;background:#fff;font-weight:700;font-size:13px;color:var(--dc-tinta)}
#dc-arrel .dc-nav-bt{width:36px;height:36px;border:1px solid #E5E7EB;border-radius:50%;background:#fff;font-size:19px;line-height:1;color:#4B5563;display:inline-flex;align-items:center;justify-content:center;padding-bottom:2px}
#dc-arrel .dc-nav-avui:hover,#dc-arrel .dc-nav-bt:hover{background:#F3F4F6;border-color:#D1D5DB}
#dc-arrel .dc-anar{height:36px;border:1px solid #E5E7EB;border-radius:999px;padding:0 12px;font-size:12.5px;background:#fff;color:#4B5563}
#dc-arrel .dc-cap-dre{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#dc-arrel .dc-cerca{height:38px;min-width:210px;border:1px solid #E5E7EB;border-radius:999px;padding:0 14px 0 38px;font-size:13px;background:#F9FAFB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l3.5 3.5'/%3E%3C/svg%3E") no-repeat 13px center}
#dc-arrel .dc-cerca:focus{outline:none;border-color:#9CA3AF;background-color:#fff}
#dc-arrel .dc-bt-primari{height:38px;border-radius:12px;background:var(--dc-tinta);color:#fff;padding:0 16px;font-weight:700;font-size:13px;gap:7px}
#dc-arrel .dc-bt-primari:hover{background:#000;transform:none;box-shadow:0 6px 16px rgba(17,24,39,.25)}
#dc-arrel .dc-bt-sec{height:38px;border-radius:12px;border:1px solid #E5E7EB;background:#fff}

/* ---- pestanyes i filtres ---- */
#dc-arrel .dc-barra-2{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
#dc-arrel .dc-vistes{display:inline-flex;background:#F3F4F6;border-radius:12px;padding:3px;gap:2px;margin:0}
#dc-arrel .dc-vistes .ocup-tab{border:none;background:transparent;border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:700;color:#6B7280}
#dc-arrel .dc-vistes .ocup-tab.on{background:#fff;color:var(--dc-tinta);box-shadow:0 1px 3px rgba(0,0,0,.1)}
#dc-arrel .dc-filtre{border:none;background:#F3F4F6;color:#4B5563;padding:7px 13px;font-size:12.5px;font-weight:700}
#dc-arrel .dc-filtre:hover{background:#E5E7EB}
#dc-arrel .dc-filtre.on{background:var(--dc-tinta);color:#fff}
#dc-arrel .dc-llegenda{margin:0 0 12px;font-size:12px}
#dc-arrel .dc-odoo-estat{font-size:11.5px}

/* ---- graella ---- */
#dc-arrel .dc-graella-wrap{border:1px solid #ECEEF1;border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px rgba(16,24,40,.06);max-height:72vh}
#dc-arrel .dc-graella{min-width:calc(228px + var(--dc-n,31) * 30px)}
#dc-arrel .dc-graella thead th{background:#fff}
#dc-arrel .dc-mes{padding:12px 8px 4px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#9CA3AF;border:none;border-left:1px solid #F1F2F4}
#dc-arrel .dc-dia-cap{padding:2px 0 8px;border-bottom:1px solid #ECEEF1}
#dc-arrel .dc-dia-cap span{font-size:13px;font-weight:800;color:var(--dc-tinta);width:26px;height:26px;line-height:26px;margin:0 auto;border-radius:50%}
#dc-arrel .dc-dia-cap small{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#B0B6BF;margin-top:1px}
#dc-arrel .dc-cap-sem{background:#fff !important}
#dc-arrel .dc-cap-sem span{color:#6B7280}
#dc-arrel .dc-cap-avui span{background:var(--dc-tinta);color:#fff}

#dc-arrel .dc-col-casa{width:228px;min-width:228px;max-width:228px;padding:6px 12px;border-right:1px solid #F1F2F4;border-bottom:1px solid #F5F6F7;display:table-cell;vertical-align:middle}
#dc-arrel .dc-cap-casa{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#9CA3AF;vertical-align:bottom;padding-bottom:10px}
#dc-arrel .dc-cap-casa small{background:#F3F4F6;color:#6B7280;border-radius:999px;padding:1px 7px;font-size:10.5px;margin-left:4px;letter-spacing:0}
#dc-arrel .dc-col-casa.dc-col-propia{background:#FBF9FE}
#dc-arrel .dc-col-casa .dc-av{float:left;margin-right:10px}
#dc-arrel .dc-casa-txt{display:block;overflow:hidden}
#dc-arrel .dc-av{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.3px;flex-shrink:0;margin-top:1px}
#dc-arrel .dc-av-ae{background:#E3EEFF;color:#1D4ED8}
#dc-arrel .dc-av-tyt{background:#FFEFD9;color:#B45309}
#dc-arrel .dc-av-propia{background:#EEE5FB;color:#6D3FB0}
#dc-arrel .dc-av-cap{background:#F1F2F4;color:#6B7280}
#dc-arrel .dc-nom{font-size:13px;font-weight:700;color:var(--dc-tinta);max-width:170px}
#dc-arrel .dc-col-propia .dc-nom{color:#5B2D9B}
#dc-arrel .dc-casa-sub{font-size:10.5px;color:#9CA3AF}

/* cel·les: la pastilla es dibuixa amb ::before; les estades seguides s'ajunten en una barra */
#dc-arrel td.dc-c{position:relative;height:46px;padding:0;border:none;background:transparent !important;cursor:pointer;color:#374151;font-size:10.5px;font-weight:800}
#dc-arrel td.dc-c::before{content:'';position:absolute;top:6px;bottom:6px;left:2px;right:2px;border-radius:9px;background:var(--cc,transparent);transition:filter .12s,box-shadow .12s}
#dc-arrel td.dc-e-lliure{--cc:var(--dcp-lliure)}
#dc-arrel td.dc-e-desconegut{--cc:var(--dcp-desconegut)}
#dc-arrel td.dc-e-ocupada{--cc:var(--dcp-ocupada);--tt:var(--dct-ocupada)}
#dc-arrel td.dc-e-compartible{--cc:var(--dcp-compartible);--tt:var(--dct-compartible)}
#dc-arrel td.dc-e-proposta{--cc:var(--dcp-proposta);--tt:var(--dct-proposta)}
#dc-arrel td.dc-e-confirmada{--cc:var(--dcp-confirmada);--tt:var(--dct-confirmada)}
#dc-arrel td.dc-e-compartible,#dc-arrel td.dc-e-ocupada,#dc-arrel td.dc-e-proposta,#dc-arrel td.dc-e-confirmada{color:var(--tt)}
#dc-arrel td.dc-c-sem.dc-e-desconegut{--cc:#EBECEF}
#dc-arrel td.dc-run::before{left:-1px;right:-1px;border-radius:0}   /* se solapen 1px: sense costures entre dies */
#dc-arrel td.dc-run.dc-rs::before{left:2px;border-radius:10px 0 0 10px}
#dc-arrel td.dc-run.dc-re::before{right:2px;border-radius:0 10px 10px 0}
#dc-arrel td.dc-run.dc-rs.dc-re::before{border-radius:10px}
#dc-arrel td.dc-c:hover{outline:none}
#dc-arrel td.dc-c:hover::before{filter:saturate(1.25) brightness(.95);box-shadow:0 2px 8px rgba(17,24,39,.18)}
#dc-arrel td.dc-c-avui{background:rgba(17,24,39,.035) !important}
#dc-arrel td.dc-c-info::after{display:none}
#dc-arrel td.dc-sel::before{outline:2.5px solid #2563EB;outline-offset:1px;filter:none}
#dc-arrel td.dc-c-conflicte::before{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #DC2626}
#dc-arrel td.dc-c-conflicte::after{content:'!';display:block;position:absolute;top:2px;right:3px;width:13px;height:13px;border-radius:50%;background:#DC2626;color:#fff;font-size:9px;line-height:13px;text-align:center;font-weight:900;z-index:2}
#dc-arrel .dc-lbl{position:absolute;z-index:1;left:9px;top:50%;transform:translateY(-50%);width:calc(var(--len,1) * 100% - 16px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:800;color:var(--tt,#374151);pointer-events:none;text-align:left}

/* ---- ressalt ---- */
.dc-pop{position:fixed;z-index:9999;min-width:200px;max-width:290px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:12px 14px;box-shadow:0 18px 44px rgba(17,24,39,.2);pointer-events:none;font-size:12.5px;color:#374151}
.dc-pop[hidden]{display:none}
.dc-pop-casa{font-weight:800;font-size:13.5px;color:#111827;margin-bottom:6px}
.dc-pop-estat{display:inline-flex;align-items:center;gap:7px;font-weight:700;background:#F3F4F6;border-radius:999px;padding:3px 10px 3px 8px;margin-bottom:7px}
.dc-pop-fila{display:flex;align-items:center;gap:6px;margin-top:3px;color:#4B5563}
.dc-pop-nota{color:#111827;font-weight:600}
.dc-pop-av{margin-top:8px;background:#FEF2F2;color:#B91C1C;border-radius:8px;padding:6px 8px;font-weight:600}
.dc-pop-font{margin-top:8px;padding-top:7px;border-top:1px solid #F1F2F4;font-size:11px;color:#9CA3AF}

/* ---- barra lateral ---- */
#dc-arrel .dc-side-bloc{background:#fff;border:1px solid #ECEEF1;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
#dc-arrel .dc-side-tit{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#9CA3AF;margin-bottom:8px}
#dc-arrel .dc-side-fila{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#374151;padding:4px 0}
#dc-arrel .dc-side-fila small{display:block;font-size:11px;color:#9CA3AF;line-height:1.3}
#dc-arrel .dc-side-fila b{font-weight:700;color:#111827}
#dc-arrel .dc-side-av{color:#B91C1C;background:#FEF2F2;border-radius:8px;padding:6px 8px;margin-top:4px}
#dc-arrel .dc-punt{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#D1D5DB}
#dc-arrel .dc-punt.ok{background:#22C55E;box-shadow:0 0 0 3px #DCFCE7}
#dc-arrel .dc-punt.warn{background:#F59E0B;box-shadow:0 0 0 3px #FEF3C7}
#dc-arrel .dc-punt.err{background:#EF4444;box-shadow:0 0 0 3px #FEE2E2}
#dc-arrel .dc-mini-cap{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;text-transform:capitalize}
#dc-arrel .dc-mini-cap button{width:26px;height:26px;border-radius:50%;font-size:16px;color:#6B7280;line-height:1}
#dc-arrel .dc-mini-cap button:hover{background:#F3F4F6}
#dc-arrel .dc-mini-sem,#dc-arrel .dc-mini-dies{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
#dc-arrel .dc-mini-sem span{font-size:10px;font-weight:700;text-align:center;color:#9CA3AF;text-transform:uppercase;padding-bottom:3px}
#dc-arrel .dc-mini-d{height:28px;font-size:12px;font-weight:600;color:#374151;position:relative}
#dc-arrel .dc-mini-d:hover{background:#F3F4F6;border-radius:50%}
#dc-arrel .dc-mini-d.dins{background:#F1F2F5}
#dc-arrel .dc-mini-d.ini{border-radius:14px 0 0 14px}
#dc-arrel .dc-mini-d.fi{border-radius:0 14px 14px 0}
#dc-arrel .dc-mini-d.ini.fi{border-radius:14px}
#dc-arrel .dc-mini-d.avui{font-weight:900;color:#111827}
#dc-arrel .dc-mini-d.avui::after{content:'';position:absolute;bottom:3px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#111827}

/* ---- vista de cases ---- */
#dc-arrel .dc-casa-card{border:1px solid #ECEEF1;border-radius:16px;padding:13px 15px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
#dc-arrel .dc-casa-card:hover{border-color:#D1D5DB;box-shadow:0 10px 26px rgba(17,24,39,.09)}
#dc-arrel .dc-pill{border-radius:999px}

/* ---- modal «Apuntar ocupació», a l'estil de les captures ---- */
#overlay-dc-marcar .modal{border-radius:22px;max-width:480px !important}
#overlay-dc-marcar .modal-cap{background:#fff;color:#111827;padding:20px 22px 6px}
#overlay-dc-marcar .modal-cap h3{font-size:19px;font-weight:800;color:#111827}
#overlay-dc-marcar .modal-tancar{color:#9CA3AF;font-size:26px}
#overlay-dc-marcar .modal-cos{padding:12px 22px 22px}
#overlay-dc-marcar .dc-camp > span{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:700;color:#6B7280}
#overlay-dc-marcar .dc-camp input,#overlay-dc-marcar .dc-camp select{border:1.5px solid #E5E7EB;border-radius:14px;padding:12px 14px;font-size:14px;background:#fff}
#overlay-dc-marcar .dc-camp input:focus,#overlay-dc-marcar .dc-camp select:focus{outline:none;border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
#overlay-dc-marcar .dc-estats{display:flex;flex-wrap:wrap;gap:8px}
#overlay-dc-marcar .dc-estat-bt{border:1.5px solid #E5E7EB;border-radius:999px;padding:8px 14px 8px 10px;font-size:12.5px;gap:8px}
#overlay-dc-marcar .dc-estat-bt .dc-mostra{width:14px;height:14px}
#overlay-dc-marcar .dc-estat-bt.on{border-color:#111827;background:#F9FAFB;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
#overlay-dc-marcar .bt-crear-periodica{background:#111827;border-radius:14px;padding:13px;font-size:14.5px}
#overlay-dc-marcar .bt-crear-periodica:hover{background:#000}

/* =========================================================================================
   FITXA DE LA CASA (modal): contacte i enllaç a dalt, botons rodons, peu fix
   ========================================================================================= */
#overlay-dc-fitxa .modal{border-radius:22px;max-width:700px !important;display:flex;flex-direction:column;max-height:92vh}
#overlay-dc-fitxa .modal-cap{background:#fff;color:#111827;padding:18px 22px 10px;border-bottom:1px solid #F1F2F4}
#overlay-dc-fitxa .modal-cap h3{font-size:20px;font-weight:800;letter-spacing:-.3px;color:#111827}
#overlay-dc-fitxa .modal-tancar{color:#9CA3AF;font-size:26px}
#overlay-dc-fitxa .modal-cos{padding:16px 22px 8px;max-height:none;overflow-y:auto;flex:1;background:#FAFAFB}
.dcf-peu{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #ECEEF1}
.dcf-peu .bt-crear-periodica{background:#111827;border-radius:12px;padding:11px 22px;font-size:14px;font-weight:700;width:auto;margin:0}
.dcf-peu .bt-crear-periodica:hover{background:#000}
.dcf-arxivar{font-size:12.5px;font-weight:600;color:#9CA3AF;padding:6px 8px}
.dcf-arxivar:hover{color:#DC2626;text-decoration:underline}

/* resum de dalt */
.dcf-top{background:#fff;border:1px solid #ECEEF1;border-radius:18px;padding:14px 16px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto;gap:12px 16px;align-items:center;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.dcf-id{display:flex;align-items:center;gap:12px;min-width:0}
.dcf-av{width:42px;height:42px;border-radius:50%;background:#EEF2FF;color:#4338CA;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}
.dcf-id-txt{min-width:0}
.dcf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:#6B7280}
.dcf-meta span:not(.dcf-pill){position:relative}
.dcf-meta span:not(.dcf-pill) + span:not(.dcf-pill)::before{content:'·';margin-right:6px;color:#D1D5DB}
.dcf-pill{font-size:10px;font-weight:800;border-radius:999px;padding:2px 8px;letter-spacing:.3px}
.dcf-pill-ae{background:#E3EEFF;color:#1D4ED8}
.dcf-pill-tyt{background:#FFEFD9;color:#B45309}
.dcf-pill-propia{background:#6D3FB0;color:#fff}
.dcf-estat{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#374151;margin-top:4px}
.dcf-contacte{display:flex;align-items:center;gap:12px;justify-content:flex-end;min-width:0}
.dcf-persona{text-align:right;min-width:0}
.dcf-persona b{display:block;font-size:13.5px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcf-persona small{display:block;font-size:11.5px;color:#9CA3AF;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.dcf-ics{display:flex;align-items:center;gap:6px;flex-shrink:0}
.dcf-rapid{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #F1F2F4}

/* botons rodons d'icona (trucar, correu, copiar, obrir...) */
.dcf-ic,#overlay-dc-fitxa .wa-bt{width:36px;height:36px;border-radius:50%;background:#F3F4F6;color:#374151;display:inline-flex;align-items:center;justify-content:center;border:none;padding:0;margin:0;flex-shrink:0;text-decoration:none;transition:background .12s,transform .08s,color .12s;cursor:pointer}
.dcf-ic:hover{background:#E5E7EB}
.dcf-ic:active{transform:scale(.92)}
.dcf-ic-wa,#overlay-dc-fitxa .wa-bt{background:#DCF7E5;color:#16A34A}
.dcf-ic-wa:hover,#overlay-dc-fitxa .wa-bt:hover{background:#BFEFD0}
/* el botó de WhatsApp que posa whatsapp.js al costat dels telèfons: aquí, rodó i només amb la icona */
#overlay-dc-fitxa .wa-bt{font-size:0 !important;line-height:0;border:none !important;align-self:auto;width:36px;max-width:36px}
#overlay-dc-fitxa .wa-bt svg{width:17px;height:17px}

.dcf-bt{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:999px;background:#F3F4F6;font-size:12.5px;font-weight:700;color:#374151;border:none}
.dcf-bt:hover{background:#E5E7EB}
.dcf-bt:disabled{opacity:.6;cursor:default}
.dcf-bt-fort{background:#111827;color:#fff}
.dcf-bt-fort:hover{background:#000}

/* targetes */
.dcf-card{background:#fff;border:1px solid #ECEEF1;border-radius:18px;padding:14px 16px 16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.dcf-card-tit{font-size:14px;font-weight:800;color:#111827;margin-bottom:4px}
.dcf-card-tit small{font-weight:500;font-size:12px;color:#9CA3AF;margin-left:4px}
.dcf-ajuda{font-size:12px;color:#9CA3AF;line-height:1.45;margin-bottom:10px}
.dcf-card .dc-ajuda{display:block;font-size:11.5px;color:#9CA3AF;line-height:1.45;margin:2px 0 10px}
.dcf-fila2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.dcf-fila-bt{display:flex;gap:8px;margin-top:2px}
.dcf-lectura{border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.45;margin:8px 0 12px}
.dcf-lectura.ok{background:#ECFDF3;color:#166534}
.dcf-lectura.error{background:#FEF2F2;color:#B91C1C}
.dcf-lectura.neutre{background:#F3F4F6;color:#6B7280}

/* enllaç per a la casa */
.dce-url-fila{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.dce-url{flex:1;min-width:0;height:36px;border:1px solid #E5E7EB;border-radius:999px;padding:0 14px;font-size:12px;color:#6B7280;background:#F9FAFB}
.dce-accions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dce-estat{font-size:12px;color:#6B7280;margin-left:4px;flex:1;min-width:140px}
.dce-estat.avis{color:#B91C1C;font-weight:700}
.dce-mes{position:relative;margin-left:auto}
.dce-menu{position:absolute;right:0;top:42px;z-index:5;background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 14px 34px rgba(17,24,39,.16);padding:6px;min-width:280px}
.dce-menu[hidden]{display:none}
.dce-menu button{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:8px;font-size:12.5px;color:#374151}
.dce-menu button:hover{background:#F3F4F6}
#dce-regen{color:#B45309}

/* seccions plegables */
.dcf-det{background:#fff;border:1px solid #ECEEF1;border-radius:18px;margin-bottom:12px;padding:0 16px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.dcf-det > summary{cursor:pointer;list-style:none;padding:14px 0;font-size:14px;font-weight:800;color:#111827;display:flex;align-items:center;gap:8px}
.dcf-det > summary::-webkit-details-marker{display:none}
.dcf-det > summary::before{content:'›';display:inline-block;font-size:18px;color:#9CA3AF;transition:transform .15s;width:12px}
.dcf-det[open] > summary::before{transform:rotate(90deg)}
.dcf-det > summary small{font-weight:500;font-size:12px;color:#9CA3AF}
.dcf-det[open]{padding-bottom:14px}
.dcf-det .dc-fitxa-extra{background:transparent;border:none;padding:0;margin:0}
#overlay-dc-fitxa .dc-camp input,#overlay-dc-fitxa .dc-camp select,#overlay-dc-fitxa .dc-camp textarea{border:1.5px solid #E5E7EB;border-radius:12px;padding:10px 12px;font-size:13.5px;background:#fff}
#overlay-dc-fitxa .dc-camp input:focus,#overlay-dc-fitxa .dc-camp select:focus,#overlay-dc-fitxa .dc-camp textarea:focus{outline:none;border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
#overlay-dc-fitxa .dc-camp > span{text-transform:none;letter-spacing:0;font-size:12px;font-weight:700;color:#6B7280}
@media(max-width:620px){
  .dcf-top{grid-template-columns:1fr}
  .dcf-contacte{justify-content:space-between}
  .dcf-persona{text-align:left}
  .dcf-fila2{grid-template-columns:1fr}
}

/* ---- ressalt interactiu (enllaç a Odoo) ---- */
.dc-pop{pointer-events:auto}
.dc-pop-odoo{display:inline-flex;align-items:center;margin-top:9px;padding:7px 12px;border-radius:999px;background:#111827;color:#fff !important;font-size:12px;font-weight:700;text-decoration:none}
.dc-pop-odoo:hover{background:#000}

/* ---- full inferior (mòbil) ---- */
.dc-sheet-fons{position:fixed;inset:0;z-index:10000;background:rgba(17,24,39,0);display:flex;align-items:flex-end;justify-content:center;transition:background .18s}
.dc-sheet-fons[hidden]{display:none}
.dc-sheet-fons.on{background:rgba(17,24,39,.45)}
.dc-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;border-radius:24px 24px 0 0;padding:8px 20px calc(20px + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .2s ease-out;box-shadow:0 -12px 40px rgba(17,24,39,.2)}
.dc-sheet-fons.on .dc-sheet{transform:translateY(0)}
.dc-sheet-nansa{width:40px;height:4px;border-radius:2px;background:#D1D5DB;margin:6px auto 14px}
.dc-sheet-tit{font-size:20px;font-weight:800;letter-spacing:-.3px;color:#111827;margin-bottom:10px}
.dc-sheet-tit small{display:block;font-size:13px;font-weight:600;color:#9CA3AF;letter-spacing:0;margin-top:2px}
.dc-sheet-estat{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;background:#F3F4F6;border-radius:999px;padding:6px 14px 6px 10px;margin-bottom:10px}
.dc-sheet-estat .dc-mostra{width:14px;height:14px}
.dc-sheet-fila{display:flex;align-items:center;gap:8px;font-size:14px;color:#4B5563;margin-top:6px}
.dc-sheet-nota{color:#111827;font-weight:600}
.dc-sheet-av{margin-top:10px;background:#FEF2F2;color:#B91C1C;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600}
.dc-sheet-font{margin-top:10px;font-size:12px;color:#9CA3AF}
.dc-sheet-accions{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.dc-sheet-bt{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:14px;border:1.5px solid #E5E7EB;background:#fff;font-size:15px;font-weight:700;color:#111827;text-decoration:none}
.dc-sheet-bt-p{background:#111827;border-color:#111827;color:#fff}
.dc-sheet-bt-g{border:none;color:#6B7280;font-weight:600}
body.dc-sheet-oberta{overflow:hidden}
.mm-cerca{width:100%;height:44px;border:1.5px solid #E5E7EB;border-radius:14px;padding:0 14px;font-size:15px;margin-bottom:10px;background:#F9FAFB}
.mm-llista{display:flex;flex-direction:column;gap:2px}
.mm-llista-fila{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:14px;text-align:left}
.mm-llista-fila:active,.mm-llista-fila.on{background:#F3F4F6}

/* ---- vista mòbil: calendari mensual d'una casa ---- */
.mm-av{width:38px;height:38px;border-radius:50%;background:#EEF2FF;color:#4338CA;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}
.mm-casa{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #ECEEF1;border-radius:16px;padding:10px 14px;margin-bottom:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.mm-casa-txt{flex:1;min-width:0;display:block}
.mm-casa-txt b{display:block;font-size:15px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-casa-txt small{display:block;font-size:12px;color:#9CA3AF;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-casa-canvi{font-size:12.5px;font-weight:700;color:#2563EB;flex-shrink:0}
.mm-cal{background:#fff;border:1px solid #ECEEF1;border-radius:18px;padding:8px 6px 6px;box-shadow:0 1px 2px rgba(16,24,40,.04);touch-action:pan-y}
.mm-sem{display:grid;grid-template-columns:repeat(7,1fr);padding:2px 0 6px}
.mm-sem span{text-align:center;font-size:10.5px;font-weight:800;color:#9CA3AF;text-transform:uppercase;letter-spacing:.3px}
.mm-setmana{position:relative;border-top:1px solid #F1F2F4}
.mm-fons{display:grid;grid-template-columns:repeat(7,1fr)}
.mm-dia{height:62px;border:none;background:#fff;position:relative;text-align:center;padding:5px 0 0;border-right:1px solid #F7F7F9}
.mm-dia:nth-child(7){border-right:none}
.mm-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12.5px;font-weight:700;color:#111827}
.mm-fs .mm-num{color:#6B7280}
.mm-altre{opacity:.38}
.mm-avui .mm-num{background:#111827;color:#fff}
.mm-dia.dc-e-lliure{background:#EFF9F1}
.mm-dia.dc-e-desconegut{background:repeating-linear-gradient(135deg,#F3F4F6 0 4px,#FAFAFB 4px 8px)}
.mm-dia.dc-e-ocupada,.mm-dia.dc-e-compartible,.mm-dia.dc-e-proposta,.mm-dia.dc-e-confirmada{background:#fff}
.mm-conflicte::after{content:'!';position:absolute;top:4px;right:6px;width:14px;height:14px;border-radius:50%;background:#DC2626;color:#fff;font-size:9px;line-height:14px;font-weight:900}
.mm-barres{position:absolute;left:0;right:0;top:32px;display:grid;grid-template-columns:repeat(7,1fr);pointer-events:none}
.mm-barra{pointer-events:auto;height:24px;margin:0 3px;border:none;border-radius:8px;display:flex;align-items:center;padding:0 7px;font-size:11px;font-weight:800;overflow:hidden;text-align:left}
.mm-barra span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-barra.mm-cont-esq{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
.mm-barra.mm-cont-dre{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
.mm-barra.dc-e-ocupada{background:var(--dcp-ocupada);color:var(--dct-ocupada)}
.mm-barra.dc-e-compartible{background:var(--dcp-compartible);color:var(--dct-compartible)}
.mm-barra.dc-e-proposta{background:var(--dcp-proposta);color:var(--dct-proposta)}
.mm-barra.dc-e-confirmada{background:var(--dcp-confirmada);color:var(--dct-confirmada)}
.mm-lleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 4px 0;font-size:11.5px;color:#6B7280}
.mm-lleg span{display:inline-flex;align-items:center;gap:6px}

/* ---- adaptació mòbil de la capçalera ---- */
@media(max-width:820px){
  #dc-arrel .dc-titol{font-size:26px}
  #dc-arrel .dc-cap{gap:10px;margin-bottom:10px}
  #dc-arrel .dc-cap-esq{width:100%;justify-content:space-between;gap:10px}
  #dc-arrel .dc-anar{display:none}
  #dc-arrel .dc-cap-dre{width:100%}
  #dc-arrel .dc-cerca{flex:1;min-width:0}
  #dc-arrel .dc-bt-primari{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:900;width:56px;height:56px;border-radius:50%;padding:0;justify-content:center;font-size:0;box-shadow:0 12px 28px rgba(17,24,39,.35)}
  #dc-arrel .dc-bt-primari svg{width:22px;height:22px}
  #dc-arrel .dc-barra-2{flex-direction:column;align-items:stretch}
  #dc-arrel .dc-filtres{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  #dc-arrel .dc-filtres::-webkit-scrollbar{display:none}
  #dc-arrel .dc-filtre{flex:0 0 auto}
  #dc-arrel .dc-chk-dades{display:none}
  #dc-arrel .dc-llegenda{display:none !important}
}

/* ---- retocs mòbil: res no pot eixamplar la pàgina; capçalera més compacta; números a dalt de cada dia ---- */
.mm-dia{display:flex;align-items:flex-start;justify-content:center}
@media(max-width:820px){
  #dc-arrel .dc-barra-2 > *{min-width:0;max-width:100%}
  #dc-arrel .dc-vistes{overflow-x:auto;scrollbar-width:none;align-self:flex-start}
  #dc-arrel .dc-vistes::-webkit-scrollbar{display:none}
  #dc-arrel .dc-vistes .ocup-tab{padding:7px 11px;font-size:12px;white-space:nowrap}
  #dc-arrel .dc-cap-esq{flex-wrap:nowrap}
  #dc-arrel .dc-subtitol{display:none}
  #dc-arrel .dc-titol{font-size:24px}
  #dc-arrel .dc-nav-avui{height:32px;padding:0 13px}
  #dc-arrel .dc-nav-bt{width:32px;height:32px}
  #dc-arrel .dc-cap-dre .dc-bt-sec{display:none}
  .dc-sheet-fons,.dc-sheet{max-width:100vw}
}

@media(max-width:820px){
  #dc-arrel .dc-titol{font-size:22px;white-space:nowrap}
  #dc-arrel .dc-nav{gap:4px;flex-wrap:nowrap}
  #dc-arrel .dc-cap-esq{align-items:center}
  #dc-arrel .dc-bt-primari:not(:has(svg))::after{content:'+';font-size:30px;line-height:1;color:#fff}
}

/* =========================================================================================
   TROBAR CASA
   ========================================================================================= */
.dcc-form{background:#fff;border:1px solid #ECEEF1;border-radius:20px;padding:16px 18px;margin-bottom:14px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px rgba(16,24,40,.05)}
.dcc-fila{display:grid;grid-template-columns:1.1fr 1.1fr .8fr .8fr;gap:12px}
.dcc-fila-b{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.dcc-camp{display:flex;flex-direction:column;gap:5px;min-width:0}
.dcc-camp > span{font-size:12px;font-weight:700;color:#6B7280}
.dcc-camp input,.dcc-camp select{height:42px;border:1.5px solid #E5E7EB;border-radius:12px;padding:0 12px;font-size:14px;background:#fff;width:100%}
.dcc-camp input:focus,.dcc-camp select:focus,.dcc-sol:focus{outline:none;border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.dcc-xips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dcc-sol{height:38px;border:1.5px solid #E5E7EB;border-radius:999px;padding:0 14px;font-size:12.5px;background:#fff;max-width:340px;color:#374151}
.dcc-sol[hidden]{display:none}
.dcc-buscar{height:42px !important;padding:0 22px !important}
.dcc-buit{background:#fff;border:1px dashed #D1D5DB;border-radius:18px;padding:34px 22px;text-align:center;color:#6B7280;font-size:14px}
.dcc-res-cap{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:6px 2px 12px;font-size:14px;color:#374151}
.dcc-resum{display:flex;flex-wrap:wrap;gap:6px}
.dcc-es{font-size:12px;font-weight:700;border-radius:999px;padding:4px 11px;background:#F3F4F6;color:#4B5563}
.dcc-es-lliure,.dcc-estat.dcc-es-lliure{background:#DCFCE7;color:#166534}
.dcc-es-rellevament,.dcc-estat.dcc-es-rellevament{background:#E0F2FE;color:#075985}
.dcc-es-compartible,.dcc-estat.dcc-es-compartible{background:#FEF3C7;color:#92400E}
.dcc-es-desconegut,.dcc-estat.dcc-es-desconegut{background:#F3F4F6;color:#4B5563}
.dcc-es-ocupada,.dcc-estat.dcc-es-ocupada{background:#FEE2E2;color:#991B1B}
.dcc-grup{margin-bottom:14px}
.dcc-grup-tit,.dcc-grup > summary{font-size:13px;font-weight:800;color:#111827;margin:0 2px 8px;cursor:default}
.dcc-grup > summary{cursor:pointer;margin-bottom:8px}
.dcc-grup-tit small,.dcc-grup > summary small{font-weight:500;color:#9CA3AF;margin-left:4px}
.dcc-casa{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;background:#fff;border:1px solid #ECEEF1;border-radius:16px;padding:12px 14px;margin-bottom:8px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.dcc-casa.dcc-e-lliure{border-left:4px solid #22C55E}
.dcc-casa.dcc-e-rellevament{border-left:4px solid #38BDF8}
.dcc-casa.dcc-e-compartible{border-left:4px solid #F59E0B}
.dcc-casa.dcc-e-desconegut{border-left:4px solid #D1D5DB}
.dcc-casa.dcc-e-ocupada{border-left:4px solid #F87171;opacity:.8}
.dcc-chk{padding-top:2px}
.dcc-chk input{width:20px;height:20px;accent-color:#111827;cursor:pointer}
.dcc-info{min-width:0}
.dcc-nom{font-size:14.5px;color:#111827;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dcc-meta{font-size:12px;color:#9CA3AF;margin-top:2px}
.dcc-notes{list-style:none;margin-top:6px}
.dcc-notes li{font-size:12px;color:#6B7280;padding:2px 0 2px 14px;position:relative}
.dcc-notes li::before{content:'';position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:#D1D5DB}
.dcc-dre{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.dcc-estat{font-size:12px;font-weight:800;border-radius:999px;padding:5px 12px}
.dcc-link{font-size:12px;font-weight:700;color:#2563EB;padding:2px 0}
.dcc-link:hover{text-decoration:underline}
.dcc-resp{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:#F3F4F6;color:#4B5563}
.dcc-resp-si{background:#DCFCE7;color:#166534}
.dcc-resp-no{background:#FEE2E2;color:#991B1B}
.dcc-resp-par{background:#FEF3C7;color:#92400E}
.dcc-resp-nota{font-size:11px;color:#6B7280;max-width:220px}
.dcc-desc ul{list-style:none;font-size:12.5px;color:#6B7280;padding:0 4px}
.dcc-desc li{padding:3px 0}
.dcc-barra{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;gap:12px;background:#111827;color:#fff;border-radius:16px;padding:10px 12px 10px 18px;box-shadow:0 18px 40px rgba(17,24,39,.35);margin-top:14px}
.dcc-barra[hidden]{display:none}
.dcc-barra span{flex:1;font-size:13.5px}
.dcc-barra .dc-bt-primari{background:#fff;color:#111827;height:38px}
.dcc-barra .dc-bt-primari:hover{background:#F3F4F6;box-shadow:none}
.dcc-bt-g{font-size:12.5px;font-weight:600;color:#9CA3AF;padding:6px 8px}
.dcc-rec-tit{font-size:13px;font-weight:800;color:#111827;margin:22px 2px 8px}
.dcc-rec{background:#fff;border:1px solid #ECEEF1;border-radius:16px;padding:12px 14px;margin-bottom:8px}
.dcc-rec-cap{font-size:13.5px;color:#111827;margin-bottom:6px}
.dcc-rec-cap small{margin-left:8px;color:#9CA3AF;font-size:11.5px}
.dcc-rec-fila{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:5px 0;border-top:1px solid #F5F6F7;font-size:12.5px}
.dcc-rec-casa{font-weight:700;color:#374151;min-width:150px}
.dcc-rec-fila small{color:#9CA3AF}
.dcc-esb{margin-left:auto;font-size:16px;color:#9CA3AF}
.dck-llista{display:flex;flex-direction:column;gap:8px}
.dck-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ECEEF1;border-radius:14px;padding:10px 12px}
.dck-nom b{display:block;font-size:14px;color:#111827}
.dck-nom small{display:block;font-size:11.5px;color:#9CA3AF}
.dck-bts{display:flex;gap:6px}
@media(max-width:820px){
  .dcc-fila{grid-template-columns:1fr 1fr}
  .dcc-fila-b{align-items:stretch}
  .dcc-sol{max-width:100%;width:100%}
  .dcc-buscar{width:100%;justify-content:center}
  .dcc-casa{grid-template-columns:auto 1fr}
  .dcc-dre{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left}
  .dcc-barra{bottom:84px}
}

.dcc-ref{display:inline-block;background:#111827;color:#fff;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700;margin-right:8px;max-width:100%}


/* =========================================================================================
   FAVORITES, VISIÓ SETMANAL (mòbil) I ESTADÍSTIQUES
   ========================================================================================= */
.dc-estrella{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:16px;line-height:1;color:#C4C9D1;cursor:pointer;user-select:none;flex-shrink:0;transition:color .12s,transform .1s}
.dc-estrella:hover{color:#F59E0B;transform:scale(1.15)}
.dc-estrella.on{color:#F59E0B}
.dc-nom-fila{display:flex;align-items:center;gap:4px;min-width:0}
.dc-nom-fila .dc-nom{min-width:0}
.dc-casa-card-nom .dc-estrella,.dcc-nom .dc-estrella,.dcf-meta .dc-estrella{vertical-align:middle}
.dcf-meta .dc-estrella{font-size:20px;width:26px;height:26px}
.mm-casa .dc-estrella,.mm-llista-fila .dc-estrella{font-size:20px;width:28px;height:28px}
.mm-llista-fila{position:relative}
.mm-llista-fila .dc-estrella{margin-left:auto}

.dc-fav-chip{border:none;background:#F3F4F6;color:#4B5563;padding:7px 13px;font-size:12.5px;font-weight:700;border-radius:999px;cursor:pointer;white-space:nowrap}
.dc-fav-chip:hover{background:#E5E7EB}
.dc-fav-chip.on{background:#FEF3C7;color:#92400E;box-shadow:inset 0 0 0 1.5px #F59E0B}
.dc-sep th,.dc-sep td{background:#FAFAFB;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#9CA3AF;padding:8px 12px 4px !important;height:auto !important;border:none !important}
.dc-sep td::before{display:none !important}

/* pestanya Setmana: només al mòbil */
.dc-tab-mobil{display:none !important}
@media(max-width:820px){.dc-tab-mobil{display:inline-flex !important}}

.sw-cap{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sw-mode{margin:0}
.sw-resum{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.sw-r{font-size:12px;font-weight:700;border-radius:999px;padding:5px 11px;background:#F3F4F6;color:#4B5563}
.sw-r b{font-weight:800}
.sw-r-lliure{background:#DCFCE7;color:#166534}.sw-r-compartible{background:#FEF3C7;color:#92400E}.sw-r-ocupada{background:#FEE2E2;color:#991B1B}
.sw-ajuda{font-size:11.5px;color:#9CA3AF;margin:4px 2px 10px;line-height:1.45}
.sw-llista{display:flex;flex-direction:column;gap:8px}
.sw-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nom estrella" "dies dies";align-items:center;gap:8px 6px;background:#fff;border:1px solid #ECEEF1;border-radius:16px;padding:10px 12px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.sw-fila .sw-nom{grid-area:nom;display:flex;align-items:center;gap:10px;text-align:left;min-width:0}
.sw-fila .dc-estrella{grid-area:estrella;font-size:20px;width:30px;height:30px}
.sw-dies{grid-area:dies;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px}
.sw-dia{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50px;border-radius:12px;border:none;background:#F3F4F6;color:#374151;line-height:1.1}
.sw-dia small{font-size:9.5px;font-weight:800;text-transform:uppercase;opacity:.75}
.sw-dia b{font-size:15px;font-weight:800}
.sw-dia.sw-info{opacity:.55}
.sw-dia.sw-avui{box-shadow:inset 0 0 0 2px #111827}
.sw-e-ocupada{background:var(--dcp-ocupada);color:var(--dct-ocupada)}
.sw-e-compartible{background:var(--dcp-compartible);color:var(--dct-compartible)}
.sw-e-lliure{background:#DDF1E1;color:#166534}
.sw-e-proposta{background:var(--dcp-proposta);color:var(--dct-proposta)}
.sw-e-confirmada{background:var(--dcp-confirmada);color:var(--dct-confirmada)}
.sw-e-desconegut{background:repeating-linear-gradient(135deg,#ECEDF0 0 4px,#F7F8F9 4px 8px);color:#6B7280}

/* estadístiques */
.est-cap{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.est-per{margin:0}
.est-targetes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.est-t{background:#fff;border:1px solid #ECEEF1;border-radius:18px;padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.est-t small{display:block;font-size:11.5px;font-weight:700;color:#9CA3AF}
.est-t b{display:block;font-size:26px;font-weight:800;letter-spacing:-.5px;color:#111827;margin-top:2px}
.est-t em{display:block;font-style:normal;font-size:11px;color:#9CA3AF;margin-top:1px}
.est-t.est-t-avis{background:#FEF2F2;border-color:#FECACA}
.est-t.est-t-avis b{color:#B91C1C}
.est-resp{font-size:15px !important;letter-spacing:0 !important}
.est-resp .si{color:#166534}.est-resp .par{color:#92400E}.est-resp .no{color:#991B1B}
.est-taula-wrap{background:#fff;border:1px solid #ECEEF1;border-radius:18px;overflow-x:auto;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.est-taula{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}
.est-taula th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#9CA3AF;padding:12px 12px 10px;cursor:pointer;white-space:nowrap;border-bottom:1px solid #ECEEF1}
.est-taula th.ord{color:#111827}
.est-taula td{padding:9px 12px;border-top:1px solid #F5F6F7;color:#374151;white-space:nowrap}
.est-taula td small{color:#9CA3AF}
.est-nom button{font-weight:700;color:#111827;text-align:left}
.est-nom button:hover{text-decoration:underline}
.est-taula tr.est-avis td{background:#FFF8F8}
.est-etiq-avis{font-size:10.5px;font-weight:800;background:#FEE2E2;color:#991B1B;border-radius:999px;padding:2px 8px;margin-left:4px}
.est-pct{font-weight:800;border-radius:999px;padding:2px 9px;font-size:12px}
.est-pct.bo{background:#DCFCE7;color:#166534}.est-pct.mig{background:#FEF3C7;color:#92400E}.est-pct.mal{background:#FEE2E2;color:#991B1B}

.dcc-grup-fav .dcc-grup-tit{color:#92400E}
.dcc-grup-fav .dcc-casa{background:#FFFDF5}


/* =========================================================================================
   BLOC UNIFICAT «SOL·LICITUDS I DISPONIBILITAT»: pestanyes de primer nivell
   ========================================================================================= */
.solic-tabs{display:inline-flex;gap:3px;background:#F3F4F6;border-radius:14px;padding:4px;margin:2px 0 16px}
.solic-tab{border:none;background:transparent;border-radius:11px;padding:9px 20px;font-size:13.5px;font-weight:700;color:#6B7280;cursor:pointer;font-family:inherit}
.solic-tab:hover{color:#111827}
.solic-tab.on{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.dcc-torna{font-size:12px;font-weight:700;color:#2563EB;background:#EFF6FF;border-radius:999px;padding:3px 11px;margin-right:8px;cursor:pointer}
.dcc-torna:hover{background:#DBEAFE}

/* Bloc unificat: més aire a dalt i a baix de la pestanya Disponibilitat */
#solic-pane-disponibilitat .mod-card{padding:26px 28px 34px}
#solic-pane-disponibilitat #dc-arrel{padding-top:2px}
.solic-tabs{margin:6px 0 20px}
@media(max-width:820px){
  #solic-pane-disponibilitat .mod-card{padding:18px 14px 30px}
  .solic-tabs{margin:4px 0 16px}
}


/* =========================================================================================
   TROBAR CASA (panell des d'una sol·licitud) i etiquetes de la llista
   ========================================================================================= */
/* Botó de la llista: suau, amb la icona de línia de l'app */
.reserves-bt-trobar{display:inline-flex;align-items:center;gap:7px;background:#F4F6F5 !important;color:#1F2D27 !important;border:1px solid #E3E8E5 !important;border-radius:999px !important;font-weight:700;padding:7px 14px !important;box-shadow:none !important}
.reserves-bt-trobar svg{color:#5E6F69}
.reserves-bt-trobar:hover:not(:disabled){background:#E9F3EC !important;border-color:#BFDCC8 !important;color:#2E7D32 !important}
.reserves-bt-trobar:hover:not(:disabled) svg{color:#2E7D32}
.reserves-bt-trobar:disabled{opacity:.5}

/* Sota el botó: les nostres cases (inicials, sempre en el mateix ordre i alineades) + les d'agència */
.tc-sem{display:flex;align-items:center;gap:8px;margin-top:8px;min-height:24px}
.tc-minis{display:inline-flex;gap:4px}
.tc-mini{display:inline-flex;align-items:center;justify-content:center;width:27px;height:22px;border-radius:7px;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.2px;line-height:1}
.tc-mini-ok{background:#DCF3E4;color:#1E7A45}
.tc-mini-mig{background:#FDF0CF;color:#8A5A07}
.tc-mini-no{background:#F1F2F4;color:#A3A9B3}
.tc-mini-calc{background:#F1F2F4;animation:tc-pulsa 1.4s ease-in-out infinite}
@keyframes tc-pulsa{50%{opacity:.45}}
.tc-ag-n{font-size:11.5px;font-weight:700;color:#6B7280;background:#F4F5F7;border-radius:7px;padding:4px 9px;white-space:nowrap}
.tc-ag-n-ok{color:#8A5A07;background:#FDF0CF}
.tc-ag-n-no{color:#A3A9B3}
.tc-sem-text{font-size:12px;color:#9CA3AF}
#reserves-cos tr.tc-actiu > td{background:#F7FAF8}

/* Panell */
.tc-fons{position:fixed;inset:0;z-index:9490;background:rgba(17,24,39,0);pointer-events:none;transition:background .2s}
.tc-calaix{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;z-index:9500;background:#F6F7F9;box-shadow:-20px 0 56px rgba(17,24,39,.16);transform:translateX(104%);transition:transform .26s ease;display:flex;flex-direction:column;font-family:inherit}
.tc-calaix.on{transform:none}
.tc-cap{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 4px}
.tc-nav{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#8A94A0}
.tc-nav button,.tc-tanca{width:32px;height:32px;border-radius:50%;background:#fff;font-size:19px;line-height:1;color:#5B6572;display:inline-flex;align-items:center;justify-content:center;padding-bottom:2px;cursor:pointer;border:none;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.tc-nav button:hover,.tc-tanca:hover{color:#111827;box-shadow:0 2px 6px rgba(16,24,40,.14)}
.tc-nav span{min-width:62px;text-align:center}
.tc-sol{padding:8px 22px 18px}
.tc-sol-nom{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-size:27px;font-weight:700;line-height:1.15;letter-spacing:-.4px;color:#17211D}
.tc-odoo{font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:0;color:#2E7D32;text-decoration:none;background:#E5F2E8;border-radius:999px;padding:3px 10px;margin-left:6px;vertical-align:middle;white-space:nowrap}
.tc-odoo:hover{background:#D3EADA}
.tc-xips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tc-xips span{background:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;color:#3F4A45;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.tc-cos{flex:1;overflow-y:auto;padding:4px 20px 28px;display:flex;flex-direction:column;gap:14px}
.tc-carrega,.tc-buit{padding:28px 8px;text-align:center;color:#9CA3AF;font-size:13.5px}

/* Les nostres cases: 2 x 2, sense vora de color */
.tc-grup-propies{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tc-casa{background:#fff;border-radius:18px;padding:14px 14px 13px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 6px 18px rgba(16,24,40,.05);display:flex;flex-direction:column;gap:7px;min-width:0}
.tc-casa-ok{background:linear-gradient(160deg,#F1FAF4,#fff 70%);box-shadow:0 1px 2px rgba(16,24,40,.05),0 8px 22px rgba(46,125,50,.12)}
.tc-casa-no{background:#FBFBFC;box-shadow:none}
.tc-casa-no b,.tc-casa-no .tc-barra-t,.tc-casa-no .tc-motiu{color:#9AA2AD}
.tc-casa-cap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc-casa-cap b{font-size:14px;color:#17211D;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-av{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#EDEFF3;color:#6B7585;font-size:11px;font-weight:800;flex-shrink:0}
.tc-av-ok{background:#D5EFDD;color:#1E7A45}
.tc-chip{font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px;background:#EEF0F3;color:#6B7280;white-space:nowrap;flex-shrink:0}
.tc-chip-ok{background:#DCF3E4;color:#1E7A45}.tc-chip-mig{background:#FDF0CF;color:#8A5A07}.tc-chip-no{background:#FBE4E2;color:#B03A32}.tc-chip-gris{background:#EEF0F3;color:#6B7280}
.tc-casa .tc-chip{margin-left:auto}
.tc-barra{height:5px;border-radius:3px;background:#EAEEF1;overflow:hidden}
.tc-barra span{display:block;height:100%;border-radius:3px}
.tc-barra-t,.tc-motiu{font-size:11.5px;color:#6B7585;line-height:1.35}
.tc-motiu{color:#8A5A07}
.tc-casa-ok .tc-motiu{color:#6B7585}
.tc-conf{font-size:11.5px;color:#6B7585}
.tc-conf a{color:#2E6FD6;text-decoration:none}
.tc-conf a:hover{text-decoration:underline}

/* Cases d'agència */
.tc-plega{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border-radius:16px;background:#fff;font-size:13.5px;font-weight:800;color:#2B3A33;cursor:pointer;text-align:left;border:none;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.tc-plega span{flex:1}
.tc-plega em{font-style:normal;font-size:11.5px;font-weight:800;background:#EEF0F3;color:#6B7280;border-radius:999px;padding:2px 9px}
.tc-plega i{font-style:normal;color:#9AA2AD;transition:transform .15s}.tc-plega.on i{transform:rotate(180deg)}
.tc-llista-ag{display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:4px 6px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 6px 18px rgba(16,24,40,.04)}
.tc-ag{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:14px}
.tc-ag + .tc-ag{border-top:1px solid #F1F2F5}
.tc-ag-txt{flex:1;min-width:0}
.tc-ag-txt b{display:block;font-size:14px;color:#17211D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-ag-txt small{display:block;font-size:11.5px;color:#8A94A0;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-rod{width:34px;height:34px;border-radius:50%;background:#F1F4F2;color:#4C5C54;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s,transform .08s}
.tc-rod:hover{background:#DCF3E4;color:#1E7A45}
.tc-rod:active{transform:scale(.92)}
.tc-ag .dc-estrella{width:24px;height:24px}
.tc-mes{align-self:center;font-size:13px;font-weight:700;color:#2E6FD6;padding:6px 14px;cursor:pointer;background:none;border:none}
.tc-mes:hover{text-decoration:underline}

@media(max-width:860px){
  .tc-fons{pointer-events:none}
  body.tc-obert .tc-fons.on{pointer-events:auto;background:rgba(17,24,39,.45)}
  .tc-calaix{top:auto;left:0;right:0;width:100%;height:92vh;border-radius:24px 24px 0 0;transform:translateY(104%);box-shadow:0 -14px 44px rgba(17,24,39,.25)}
  .tc-calaix.on{transform:none}
  .tc-cap{padding:14px 16px 4px}
  .tc-sol{padding:6px 18px 16px}
  .tc-sol-nom{font-size:24px}
  .tc-cos{padding:4px 14px 28px}
  .tc-ag{flex-wrap:wrap}
}
@media(max-width:420px){.tc-grup-propies{grid-template-columns:1fr}}

.dc-regim-nom{color:#9CA3AF;font-weight:500}
.tc-retira{font-size:11.5px;font-weight:700;color:#9AA2AD;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:8px;white-space:nowrap}
.tc-retira:hover{color:#B03A32;background:#FBE4E2}
.tc-retira-totes{color:#9AA2AD}
.tc-retira-totes:hover{color:#B03A32;text-decoration:underline}


/* Rànquing al panell de «Trobar casa»: puntuació 0-100 de cada casa d'agència */
.tc-rank{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:12.5px;font-weight:800;letter-spacing:-.3px;flex-shrink:0}
.tc-rank-a{background:#DCF3E4;color:#1E7A45}.tc-rank-b{background:#DDEEF8;color:#1F6E96}.tc-rank-c{background:#FDF0CF;color:#8A5A07}.tc-rank-d{background:#EEF0F3;color:#6B7280}
.tc-nota-ref{font-size:12px;color:#8A94A0;background:#fff;border-radius:14px;padding:10px 14px;line-height:1.4;box-shadow:0 1px 2px rgba(16,24,40,.05)}


/* Filtre «Cal casa d'agència» de Sol·licituds: barra de progrés mentre es mira cada sol·licitud */
.reserves-prog-agencia{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 12px;padding:10px 14px;border-radius:14px;background:#F1F7F3;color:#3F5A4A;font-size:13px}
.reserves-prog-agencia b{color:#17211D}
.reserves-prog-barra{flex:0 0 120px;height:6px;border-radius:3px;background:#DDE8E1;overflow:hidden}
.reserves-prog-barra i{display:block;height:100%;border-radius:3px;background:#1E7A45;transition:width .25s}


/* Targeta de casa d'agència (Trobar casa) redissenyada: nom i característiques llegibles, etiquetes i botons compactes */
.tc-llista-ag{padding:6px}
.tc-ag{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px 12px;border-radius:14px}
.tc-ag-cap{display:flex;align-items:center;gap:10px}
.tc-ag-cap .tc-rank{width:auto;min-width:46px;height:26px;padding:0 9px;border-radius:999px;font-size:12px}
.tc-ag-nom{flex:1;min-width:0}
.tc-ag-nom b{display:block;font-size:16px;line-height:1.25;color:#17211D;white-space:normal;overflow:visible}
.tc-ag-nom small{display:block;font-size:12.5px;color:#6B7585;margin-top:1px;white-space:normal}
.tc-ag-motius{font-size:13px;line-height:1.45;color:#4B5563}
.tc-ag-peu{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc-ag-peu .tc-chip{font-size:11px;padding:3px 9px}
.tc-ag-bts{margin-left:auto;display:flex;gap:6px}
.tc-bt-mini{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:none;border-radius:999px;background:#F1F4F2;color:#2B3A33;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.tc-bt-mini:hover{background:#DCF3E4;color:#1E7A45}
.tc-bt-mini:active{transform:scale(.96)}
.tc-ag .dc-estrella{width:26px;height:26px;font-size:20px;flex-shrink:0}


/* Respostes de les cases, a sota de cada sol·licitud de la llista */
.tc-sem{flex-wrap:wrap}
.tc-resp{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}
.tc-resp > span{font-size:11px;font-weight:800;border-radius:7px;padding:3px 8px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tc-resp-si{background:#DCF3E4;color:#1E7A45}
.tc-resp-pa{background:#FDF0CF;color:#8A5A07}
.tc-resp-no{background:#FBE4E2;color:#B03A32}
.tc-resp-pe{background:#EEF0F3;color:#6B7280}
