/* =========================================================
   admin.html — barra lateral + vistes independents
   Reutilitza els components de admin.css/tercers.css (pills, targetes,
   formularis).
   ========================================================= */

/* Xarxa de seguretat: cap secció d'administració pot fer petar
   l'amplada de la pàgina, encara que algun contingut intern (taules,
   files amb molts camps...) sigui més ample del compte. Els
   continguts que necessiten desplaçar-se lateralment ho fan dins del
   seu propi contenidor (ex. #taula-resum-equip), mai la pàgina sencera. */
html,body{overflow-x:hidden;max-width:100%}

.admin-sense-acces{max-width:600px;margin:40px auto}

/* ---------- Layout general: sidebar + contingut ---------- */
.admin-layout{display:flex;align-items:flex-start;max-width:1440px;margin:0 auto;gap:0}

.admin-sidebar{width:200px;flex-shrink:0;position:sticky;top:0;padding:26px 14px;display:flex;flex-direction:column;gap:5px}
.admin-nav-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;font-size:13px;font-weight:600;color:var(--gris);text-align:left}
.admin-nav-item:hover{background:#fff;color:var(--tinta)}
.admin-nav-item.activa{background:var(--card);color:var(--verd-fort);box-shadow:var(--ombra);font-weight:700}
.admin-nav-ic{font-size:15px}

.admin-contingut{flex:1;min-width:0;padding:26px 26px 60px}
.admin-vista{animation:vista-apareix .18s ease-out}
@keyframes vista-apareix{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Vista Usuaris: dues columnes ---------- */
.admin-columnes{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}
.compte-graella{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:start}
.copia-camp{display:flex;gap:8px}
.copia-camp input{flex:1;padding:10px 12px;border:1px solid var(--linia-forta);border-radius:10px;background:#fbfcfb;font-family:monospace;font-size:14px;letter-spacing:.5px}
.copia-camp .usuari-bt{padding:8px 16px}
.admin-col-estreta{position:sticky;top:26px}
@media(max-width:900px){
  .admin-columnes{grid-template-columns:1fr}
  .admin-col-estreta{position:static}
}

.pagina-bloc{background:var(--card);border:1px solid var(--linia);border-radius:var(--radi);box-shadow:var(--ombra);padding:22px 24px;margin:0;transition:box-shadow .18s ease}
.pagina-bloc-cap{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.pagina-bloc-cap .bico{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:var(--ombra)}
.pagina-bloc-cap h2{font-size:16px;font-weight:800;margin-bottom:3px}
.pagina-bloc-cap .bloc-modal-nota{margin:0}

/* ---------- Usuaris: graella responsiva de targetes ---------- */
#llista-admin-usuaris{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}

.usuari-card{background:var(--card);border:1px solid var(--linia);border-radius:14px;box-shadow:var(--ombra);padding:14px;transition:.15s}
.usuari-card:hover{box-shadow:var(--ombra-hover);transform:translateY(-1px)}

.usuari-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.usuari-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;flex-shrink:0}
.usuari-nom-email{min-width:0}
.usuari-nom{font-size:14px;font-weight:800;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usuari-email{font-size:11px;color:var(--gris-clar);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.usuari-pills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.pill-suau{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}
.pill-suau.rol-superadmin{background:#f5eefa;color:var(--lila)}
.pill-suau.rol-cap_departament{background:var(--blau-clar);color:var(--blau-fort)}
.pill-suau.rol-usuari{background:#eef1f0;color:var(--gris)}
.pill-suau.direccio{background:var(--verd-clar);color:var(--verd-fort)}
.pill-suau.inactiu{background:var(--vermell-clar);color:var(--vermell)}
.pill-suau.dep{background:#fdf6e8;color:#b8860b}
.pill-suau.dep.es-cap{background:#fff0d6;color:#c07a00;font-weight:800}
.pill-suau.ok{background:var(--verd-clar);color:var(--verd-fort)}
.pill-suau.no{background:#eef1f0;color:var(--gris)}

.usuari-deps{font-size:11px;color:var(--gris-clar);margin-bottom:11px;display:flex;flex-wrap:wrap;gap:5px}
.usuari-deps em{font-style:normal;color:var(--gris-clar)}

.usuari-accions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.usuari-bt{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:5px 10px;border-radius:8px;border:1px solid var(--linia-forta);background:#fbfcfb;color:var(--gris);transition:.13s}
.usuari-bt:hover{background:#fff;border-color:var(--linia-forta);transform:translateY(-1px)}
.usuari-bt.perill{color:var(--vermell);border-color:#f3c6c6}
.usuari-bt.perill:hover{background:var(--vermell-clar)}
.usuari-bt.ok{color:var(--verd-fort);border-color:#c3e0c5}
.usuari-bt.ok:hover{background:var(--verd-clar)}
.usuari-bt:disabled{opacity:.4;cursor:default}
.usuari-accions .select-rol-inline{font-size:10px;padding:5px 7px}

/* ---------- Línies de negoci: xips en línia ---------- */
#llista-admin-linies{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.linia-xip{display:inline-flex;align-items:center;gap:8px;padding:7px 8px 7px 12px;border-radius:20px;background:#fbfcfb;border:1px solid var(--linia);font-size:12.5px;font-weight:600;transition:.13s}
.linia-xip:hover{border-color:var(--linia-forta)}
.linia-xip.inactiva{opacity:.5}
.linia-xip .linia-color-mostra{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.linia-xip button{font-size:10.5px;font-weight:700;color:var(--vermell);padding:3px 9px;border-radius:14px;background:transparent}
.linia-xip.inactiva button{color:var(--verd-fort)}
.linia-xip button:hover{background:var(--vermell-clar)}
.linia-xip.inactiva button:hover{background:var(--verd-clar)}

/* ---------- Responsive: sidebar es converteix en pestanyes horitzontals ---------- */
@media(max-width:760px){
  /* En columna, el <main> prenia l'amplada del contingut més llarg
     (p. ex. la previsualització d'un avís, que és una sola línia) i
     sortia de la pantalla. Amb "stretch" + sense marges automàtics
     queda fixat a l'amplada del mòbil a totes les vistes. */
  .admin-layout{flex-direction:column;align-items:stretch}
  /* base.css posa main{margin:0 auto}: en un element flex els marges
     automàtics anul·len el "stretch". Els traiem aquí. */
  .admin-contingut{margin:0;width:100%;padding:16px 12px 50px}
  .pagina-bloc{padding:16px 15px}
  .admin-sidebar{width:100%;flex-direction:row;position:static;padding:14px 16px;overflow-x:auto;border-bottom:1px solid var(--linia)}
  .admin-nav-item{white-space:nowrap}
}

/* ---------- Resum de l'equip ---------- */
.taula-resum{width:max-content;min-width:100%;border-collapse:collapse;font-size:12.5px}
.taula-resum th{text-align:left;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gris-clar);padding:8px 10px;border-bottom:1px solid var(--linia)}
.taula-resum td{padding:9px 10px;border-bottom:1px solid var(--linia);white-space:nowrap}
.taula-resum tr:last-child td{border-bottom:none}
.taula-resum tr:hover td{background:#fbfcfb}
#taula-resum-equip{overflow-x:auto;-webkit-overflow-scrolling:touch}
.resum-alerta{color:var(--vermell);font-weight:700}

/* ---------- Departaments ---------- */
.avis-dep-comercial{background:var(--taronja-clar);color:var(--taronja);font-size:11.5px;padding:9px 12px;border-radius:9px;margin-bottom:12px}
.fila-departament{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 0}
.dep-nom-input{flex:1;min-width:120px;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 10px;font-size:12.5px}
.dep-nom-input:focus{border-color:var(--verd-mig)}
.dep-guardar{font-size:11px;font-weight:700;padding:6px 12px;border-radius:8px;border:1px solid var(--linia-forta);background:#fbfcfb;flex-shrink:0}
.dep-guardar:hover{background:#fff;border-color:var(--verd-mig);color:var(--verd-fort)}
.dep-esborrar{width:24px;height:24px;border-radius:7px;font-size:15px;color:var(--gris-clar);flex-shrink:0}
.dep-esborrar:hover{background:var(--vermell-clar);color:var(--vermell)}

/* ---------- Cases de colònies (configuració: preu, capacitat...) ---------- */
.fila-casa-colonia{border:1px solid var(--linia);border-radius:12px;padding:14px 16px;margin-bottom:14px;background:#fbfcfb;transition:opacity .15s}
.fila-casa-colonia.inactiva{opacity:.55}
.casa-colonia-cap{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.casa-colonia-nom{font-size:14px;font-weight:800;color:var(--tinta)}
.casa-activa-check{font-size:11.5px;color:var(--gris);gap:6px}
.casa-colonia-camps{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.casa-camp label{display:block;font-size:11px;font-weight:700;color:var(--gris);margin-bottom:4px}
.casa-camp input[type="text"],.casa-camp input[type="number"]{width:100%;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 10px;font-size:12.5px;box-sizing:border-box}
.casa-camp input[type="text"]:focus,.casa-camp input[type="number"]:focus{border-color:var(--verd-mig)}
.casa-camp-color input[type="color"]{width:52px;height:34px;border:1px solid var(--linia-forta);border-radius:8px;padding:2px;cursor:pointer}
.casa-coord-fila{display:flex;gap:8px}
.casa-coord-fila input{width:100%;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 10px;font-size:12.5px;box-sizing:border-box}
.casa-camp-ajuda a{color:var(--verd-fort);font-weight:600}
.casa-camp-ajuda{font-size:10.5px;color:var(--gris-clar);margin-top:4px;line-height:1.4}
.casa-guardar{margin-top:4px}
@media(max-width:640px){
  .casa-colonia-camps{grid-template-columns:1fr}
}

/* ---------- Connexions ---------- */
.fila-connexio{display:flex;align-items:center;gap:10px;font-size:13px;padding:10px 0}
.conn-estat{font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px}
.conn-ok{background:var(--verd-clar);color:var(--verd-fort)}
.conn-error{background:var(--vermell-clar);color:var(--vermell)}
.conn-avis{font-size:12px;padding:9px 12px;border-radius:9px;margin-top:6px}
.conn-avis-vermell{background:var(--vermell-clar);color:var(--vermell)}
.conn-avis-groc{background:var(--taronja-clar);color:var(--taronja)}
.conn-avis-verd{background:var(--verd-clar);color:var(--verd-fort)}

/* ---------- Mòduls (activar/desactivar) ---------- */
.fila-modul-bloc{border-bottom:1px solid var(--linia);padding:11px 0}
.fila-modul-bloc:last-child{border-bottom:none}
.fila-modul{display:flex;align-items:center;gap:11px;font-size:13px;cursor:pointer}
.modul-bt-assignar{display:inline-flex;align-items:center;gap:4px;margin-top:6px;margin-left:29px;font-size:11px;font-weight:700;color:var(--lila);background:var(--lila-clar);border:1px solid #e4d3f0;border-radius:20px;padding:5px 12px}
.modul-bt-assignar:hover{background:#ecdaf5}
.modul-assignacio{margin:10px 0 0 29px;padding:12px;background:#fbfcfb;border:1px solid var(--linia);border-radius:10px}
.modul-assig-nota{font-size:11.5px;color:var(--gris);margin-bottom:10px;line-height:1.5}
.modul-assig-tothom{display:flex;align-items:center;gap:9px;padding:10px 12px;background:var(--verd-clar);border:1px solid var(--verd-mig);border-radius:9px;font-size:13px;margin-bottom:10px;cursor:pointer}
.modul-assig-tothom input{width:auto;flex-shrink:0;transform:scale(1.15)}
.modul-assig-restriccio{margin-bottom:4px}
.modul-assig-llista{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;margin-bottom:10px}
.modul-assig-item{display:flex;align-items:center;gap:8px;font-size:12.5px}
.modul-assig-item input{width:auto;flex-shrink:0}
.modul-assig-grup{border:1px solid var(--linia);border-radius:9px;padding:8px 10px;background:#fff}
.modul-assig-grup-cap{padding-bottom:6px;margin-bottom:6px;border-bottom:1px dashed var(--linia)}
.modul-assig-grup-n{font-weight:400;color:var(--gris-clar);font-size:11px}
.modul-assig-subllista{display:flex;flex-direction:column;gap:5px;padding-left:22px}
.modul-bt-guardar-assig{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px;background:var(--verd-fort);color:#fff;border-radius:9px;font-weight:700;font-size:13px;box-shadow:0 2px 6px rgba(46,125,50,.25);margin-top:4px}
.modul-bt-guardar-assig:hover{background:var(--verd-mig)}
.modul-switch{width:38px;height:22px;appearance:none;background:#dde2df;border-radius:20px;position:relative;flex-shrink:0;cursor:pointer;transition:.2s}
.modul-switch::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.modul-switch:checked{background:var(--verd-fort)}
.modul-switch:checked::after{left:18px}

/* ---------- Accessos ràpids ---------- */
.fila-grup-acces{border:1px solid var(--linia);border-radius:12px;padding:12px 14px;margin-bottom:12px;background:#fbfcfb}
.grup-acces-cap{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13.5px}
.grup-acces-input-nom{flex:1;min-width:120px;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 10px;font-size:13px;font-weight:700}
.grup-acces-cap .bt-esborrar-grup-acces{margin-left:auto}
.grup-acces-files{display:flex;flex-direction:column;gap:6px}
.fila-acces{flex-wrap:wrap;padding:6px 0;border-bottom:1px dashed var(--linia)}
.fila-acces:last-child{border-bottom:none}
.acces-reordena{display:flex;flex-direction:column;gap:2px;flex-shrink:0}
.acces-bt-moure{width:22px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--linia-forta);border-radius:5px;font-size:10px;line-height:1;color:var(--gris)}
.acces-bt-moure:hover:not(:disabled){background:var(--verd-clar);border-color:var(--verd-mig);color:var(--verd-fort)}
.acces-bt-moure:disabled{opacity:.3}
.acces-input-icona{width:48px;flex-shrink:0;text-align:center;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 4px;font-size:14px}
.acces-input-text{flex:1;min-width:140px;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 10px;font-size:12.5px}
.acces-input-url{flex:1.6;min-width:180px;border:1px solid var(--linia-forta);border-radius:8px;padding:7px 10px;font-size:12.5px}
.acces-check-destacat{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--gris);flex-shrink:0;white-space:nowrap}
.acces-afegir-fila{margin-top:8px;font-size:11.5px;font-weight:700;color:var(--verd-fort);background:var(--verd-clar);border:1px dashed var(--verd-mig);border-radius:8px;padding:7px 12px;width:100%}
.acces-afegir-fila:hover{background:#dff2e0}
