.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.checks-grid label{background:#f8fbff;border:1px solid #e6edf8;border-radius:14px;padding:12px;font-weight:bold}
.actions-row,.table-actions{display:flex;gap:10px;flex-wrap:wrap}.table-actions form{margin:0}.table-wrap{overflow:auto}
.specialties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.specialty-card{border:1px solid #dbe5f6;border-radius:18px;padding:16px;display:grid;gap:12px;background:white}
.specialty-title{display:flex;align-items:center;gap:10px}.specialty-icon{font-size:28px}
.principal-option{background:#eef4ff;border-radius:12px;padding:10px;color:#0758e8;font-weight:bold}
.dynamic-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.category-card{background:white;border:1px solid #e6edf8;border-radius:20px;padding:18px;text-decoration:none;color:#071739;box-shadow:0 12px 28px rgba(7,23,57,.08);display:grid;gap:10px}
.category-card:hover{transform:translateY(-2px)}.category-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:white;font-size:30px}
.category-card small{color:#667085;line-height:1.35}


/* Galería de iconos para categorías */
.icon-picker{display:grid;gap:16px;border:1px solid #dbe5f6;border-radius:18px;padding:16px;background:#f8fbff}
.icon-picker-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.icon-picker-heading h3,.section-heading h2{margin:0}
.icon-picker-heading p,.section-heading p{margin:5px 0 0}
.icon-preview{min-width:62px;height:62px;border-radius:18px;background:#fff;border:2px solid #0758e8;display:grid;place-items:center;font-size:34px;box-shadow:0 8px 20px rgba(7,88,232,.12)}
.icon-group{border:1px solid #dbe5f6;border-radius:14px;padding:12px;background:#fff}
.icon-group legend{padding:0 8px;font-weight:800;color:#071739}
.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.icon-option{min-height:82px;border:1px solid #dbe5f6;border-radius:12px;background:#fff;color:#071739;display:grid;place-items:center;align-content:center;gap:3px;padding:8px;cursor:pointer}
.icon-option span{font-size:28px;line-height:1}
.icon-option small{font-size:11px;line-height:1.15}
.icon-option:hover{border-color:#0758e8;background:#f3f7ff}
.icon-option.selected{border:2px solid #0758e8;background:#eaf2ff;box-shadow:0 0 0 3px rgba(7,88,232,.1)}
.category-table-icon{font-size:26px;text-align:center}

/* Panel de especialidades del técnico */
.specialties-info{display:flex;gap:12px;align-items:flex-start;margin:0 0 18px;padding:16px 18px;border-radius:18px;background:#eaf2ff;border:1px solid #cfe0ff;color:#071739}
.specialties-info>span{font-size:24px}
.specialties-info p{margin:4px 0 0;color:#52627a}
.selected-specialties{margin-bottom:18px}
.specialty-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.specialty-chip{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dbe5f6;border-radius:14px;background:#f8fbff}
.specialty-chip.principal{border:2px solid #0758e8;background:#eaf2ff}
.specialty-chip-icon{font-size:26px}
.specialty-chip>span:nth-child(2){display:grid}
.specialty-chip small{color:#667085;margin-top:2px}
.specialty-chip b{font-size:11px;color:#0758e8;background:#fff;border-radius:999px;padding:4px 7px}
.empty-specialties{margin-top:14px;padding:16px;border:1px dashed #aab9d1;border-radius:14px;color:#52627a;background:#fbfdff}
.specialty-card{transition:border-color .2s,background .2s,box-shadow .2s,opacity .2s}
.specialty-card:not(.selected){opacity:.78;background:#f8fafc}
.specialty-card.selected{border:2px solid #8eb7ff;background:#f7faff;box-shadow:0 8px 20px rgba(7,88,232,.08)}
.specialty-card.principal{border-color:#0758e8;background:#eaf2ff}
.specialty-card.principal .principal-option{background:#0758e8;color:#fff}
.specialty-title input,.principal-option input{width:auto}
.specialty-title strong{line-height:1.2}

@media(max-width:600px){
  .icon-picker-heading,.section-heading{align-items:flex-start}
  .icon-grid{grid-template-columns:repeat(3,1fr)}
  .icon-option{min-height:76px}
  .specialty-chips{display:grid}
  .specialty-chip{width:100%}
}


/* Catálogo compacto de servicios */
.service-catalog{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}
.service-catalog .compact-service-card{min-height:76px;padding:11px 14px;border-radius:15px;gap:6px;box-shadow:0 5px 14px rgba(7,23,57,.06)}
.service-catalog .category-card-heading{display:flex;align-items:center;gap:10px;min-width:0}
.service-catalog .category-icon{width:40px;height:40px;flex:0 0 40px;border-radius:12px;font-size:22px}
.service-catalog .compact-service-card strong{font-size:16px;line-height:1.2}
.service-catalog .compact-service-card small{font-size:12px;line-height:1.25}
@media(max-width:700px){.service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.service-catalog{grid-template-columns:1fr}.service-catalog .compact-service-card{min-height:68px}}


/* Especialidades separadas entre activas y disponibles */
.specialties-form{display:block}
.current-specialties{margin-top:16px}
.specialties-save{display:flex;justify-content:flex-end;margin-top:14px}
.add-specialties{padding:0;overflow:hidden}
.add-specialties summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;font-size:18px;font-weight:800;list-style:none}
.add-specialties summary::-webkit-details-marker{display:none}
.add-specialties summary>span{display:flex;align-items:center;gap:8px}
.add-specialties summary b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eaf2ff;color:#0758e8;font-size:20px}
.add-specialties summary small{font-size:12px;color:#667085;background:#f1f5f9;border-radius:999px;padding:5px 8px;white-space:nowrap}
.add-specialties[open] summary{border-bottom:1px solid #e6edf8}
.add-specialties__content{padding:16px 18px 18px}
.add-specialties__content>p{margin-top:0}
.add-specialties-grid{margin-top:14px}
.add-specialties .specialty-card:not(.selected){min-height:64px;padding:11px 13px;opacity:1;align-content:center}
.add-specialties .specialty-card:not(.selected)>label:not(.specialty-title){display:none}
.add-specialties .specialty-card:not(.selected) .specialty-title{margin:0}
.add-specialties .specialty-card.selected>label{display:grid}
.add-specialties .specialty-card.selected .specialty-title{display:flex}
@media(max-width:600px){
  .specialties-save .btn{width:100%}
  .add-specialties summary{padding:14px}
  .add-specialties__content{padding:14px}
}


/* =========================================================
   Categorías existentes
   Escritorio: tabla tradicional
   Móvil <=700px: tarjetas compactas
   ========================================================= */
.categories-existing-card{margin-bottom:110px}
.categories-table-wrap{overflow-x:auto}
.categories-admin-table .category-main-cell strong{display:block}
.categories-admin-table .category-description{display:block;margin-top:4px;line-height:1.35}

@media(max-width:700px){
  .categories-existing-card{padding:14px;margin-bottom:118px}
  .categories-existing-card>h2{margin:0 0 14px}
  .categories-table-wrap{overflow:visible}

  .categories-admin-table,
  .categories-admin-table tbody,
  .categories-admin-table tr,
  .categories-admin-table td{
    display:block;
    width:100%;
  }

  .categories-admin-table{border:0}
  .categories-admin-table thead{display:none}
  .categories-admin-table tbody{display:grid;gap:12px}

  .categories-admin-table tr{
    position:relative;
    box-sizing:border-box;
    border:1px solid #dbe5f6;
    border-radius:18px;
    padding:14px 14px 12px;
    background:#fff;
    box-shadow:0 6px 16px rgba(7,23,57,.05);
  }

  .categories-admin-table td{
    box-sizing:border-box;
    border:0;
    min-width:0;
    overflow-wrap:anywhere;
  }

  /* Cabecera compacta: icono + nombre + orden */
  .categories-admin-table .category-table-icon{
    position:absolute;
    top:14px;
    left:14px;
    width:42px;
    padding:0;
    font-size:28px;
    line-height:1;
    text-align:left;
  }

  .categories-admin-table .category-main-cell{
    min-height:44px;
    padding:0 54px 10px 52px;
    border-bottom:1px solid #e6edf8;
  }

  .categories-admin-table .category-main-cell strong{
    font-size:17px;
    line-height:1.2;
    color:#071739;
  }

  .categories-admin-table .category-description{
    margin-top:5px;
    color:#667085;
    font-size:13px;
    line-height:1.3;
  }

  .categories-admin-table .category-order-cell{
    position:absolute;
    top:13px;
    right:14px;
    width:42px;
    padding:0;
    text-align:right;
    font-weight:800;
    color:#071739;
  }

  .categories-admin-table .category-order-cell::before{
    content:"Orden";
    display:block;
    margin-bottom:1px;
    font-size:10px;
    line-height:1;
    font-weight:600;
    color:#667085;
  }

  /* Los 4 datos operativos quedan en una sola fila */
  .categories-admin-table .category-meta-cell{
    display:inline-flex;
    vertical-align:top;
    width:25%;
    min-height:58px;
    padding:9px 4px 7px;
    margin:0;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    text-align:center;
    font-size:12px;
    line-height:1.15;
  }

  .categories-admin-table .category-meta-cell::before{
    content:attr(data-label);
    display:block;
    font-size:10px;
    line-height:1.1;
    font-weight:700;
    color:#52627a;
  }

  .categories-admin-table .category-status-cell .badge{
    font-size:11px;
    padding:5px 8px;
  }

  .categories-admin-table .category-actions-cell{
    padding:10px 0 0;
    border-top:1px solid #e6edf8;
  }

  .categories-admin-table .category-actions-cell::before,
  .categories-admin-table .category-table-icon::before,
  .categories-admin-table .category-main-cell::before{
    display:none;
  }

  .categories-admin-table .table-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
  }

  .categories-admin-table .table-actions form{width:100%}

  .categories-admin-table .table-actions .btn{
    width:100%;
    min-width:0;
    min-height:42px;
    box-sizing:border-box;
    padding:10px 12px;
    text-align:center;
    white-space:nowrap;
  }
}

@media(max-width:380px){
  .categories-admin-table .category-main-cell{
    padding-right:48px;
    padding-left:48px;
  }
  .categories-admin-table .category-meta-cell{
    font-size:11px;
  }
  .categories-admin-table .table-actions{
    gap:8px;
  }
}

