
.role-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.role-menu a{text-decoration:none}.menu-card{background:#fff;border:1px solid #e6edf8;border-radius:20px;padding:18px;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;color:#071739;box-shadow:0 12px 28px rgba(7,23,57,.08)}
.menu-card.primary{background:linear-gradient(135deg,#0758e8,#0d2b45);color:#fff}.menu-card.primary span{color:rgba(255,255,255,.86)}.menu-card.gold{border-color:rgba(245,176,0,.45)}
.menu-icon{font-size:34px}.menu-card strong{font-size:18px}.menu-card span{color:#667085;line-height:1.4}
.quick-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.quick-summary .card strong{font-size:28px}.demo-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:700px){.role-menu{grid-template-columns:1fr}.menu-card{min-height:auto}}

.client-home-hero{padding:18px 22px;margin-bottom:12px}.client-home-hero h1{font-size:28px;margin-bottom:5px}.client-home-hero p{font-size:15px;margin:0}.client-requests-card{border:2px solid rgba(7,88,232,.14);margin-bottom:18px}.client-requests-card .section-heading h2{margin:0}.client-request-list{display:grid}.client-request-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(135px,.9fr) minmax(150px,1fr) auto;gap:16px;align-items:center;padding:15px 0;border-top:1px solid #e6edf8}.client-request-row:first-child{border-top:0}.client-request-main h3{font-size:18px;margin:0 0 6px}.client-request-main p{margin:0;line-height:1.5}.client-request-status,.client-request-professional{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.client-request-status small,.client-request-professional small{color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.client-request-row>.btn{white-space:nowrap}.empty-requests{padding:12px 0 4px}.home-shortcuts-heading h2{margin:4px 0 8px}.client-shortcuts{margin-top:0;grid-template-columns:repeat(3,1fr)}.client-shortcuts .menu-card{min-height:112px}.request-history{padding:0}.request-history summary{cursor:pointer;padding:18px;font-size:18px;font-weight:800;list-style-position:inside}.request-history[open] summary{border-bottom:1px solid #e6edf8}.request-history .client-request-list{padding:0 18px 10px}.history-list .client-request-row{opacity:.88}
@media(max-width:850px){.client-request-row{grid-template-columns:1fr 1fr}.client-request-main{grid-column:1/-1}.client-request-row>.btn{justify-self:start}}
@media(max-width:700px){.client-home-hero{padding:14px 17px}.client-home-hero h1{font-size:25px}.client-requests-card{padding:15px}.client-requests-card .section-heading{align-items:flex-start}.client-request-row{grid-template-columns:1fr 1fr;gap:11px}.client-request-main{grid-column:1/-1}.client-request-row>.btn{grid-column:1/-1;width:100%}.client-shortcuts{grid-template-columns:1fr}.client-shortcuts .menu-card{min-height:auto}.home-shortcuts-heading h2{font-size:20px}.request-history .client-request-list{padding:0 15px 8px}}

/* Panel administrativo compacto */
.admin-home-hero{padding:14px 18px;margin-bottom:12px}
.admin-home-hero h1{font-size:26px;margin-bottom:4px}
.admin-home-hero p{font-size:14px;margin:0}
.admin-quick-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-bottom:14px}
.admin-quick-summary .admin-stat{min-height:54px;padding:10px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 5px 14px rgba(7,23,57,.06)}
.admin-quick-summary .admin-stat span{font-size:14px;color:#667085}
.admin-quick-summary .admin-stat strong{font-size:23px;line-height:1;color:#071739}
.admin-modules-heading h2{font-size:19px;margin:4px 0 8px}
.admin-role-menu{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:9px;margin:0 0 18px}
.admin-role-menu a{min-width:0}
.admin-role-menu .menu-card{height:100%;min-height:76px;padding:11px 14px;border-radius:15px;justify-content:center;gap:6px;box-shadow:0 5px 14px rgba(7,23,57,.06);transition:transform .15s,border-color .15s,box-shadow .15s}
.admin-role-menu .menu-card:hover{transform:translateY(-1px);border-color:#b9cdf0;box-shadow:0 7px 17px rgba(7,23,57,.09)}
.admin-role-menu .menu-card-heading{display:flex;align-items:center;gap:9px;min-width:0}
.admin-role-menu .menu-icon{font-size:25px;line-height:1}
.admin-role-menu .menu-card strong{font-size:16px;line-height:1.2}
.admin-role-menu .menu-card span{font-size:13px;line-height:1.25}

@media(max-width:700px){
  .admin-role-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .admin-home-hero{padding:12px 15px}
  .admin-home-hero h1{font-size:23px}
  .admin-role-menu{grid-template-columns:1fr}
  .admin-role-menu .menu-card{min-height:68px}
}


/* Atajos compactos para cliente y técnico */
.compact-role-menu{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:9px;margin:10px 0 18px}
.compact-role-menu a{min-width:0}
.compact-role-menu .menu-card{height:100%;min-height:76px;padding:11px 14px;border-radius:15px;justify-content:center;gap:6px;box-shadow:0 5px 14px rgba(7,23,57,.06);transition:transform .15s,border-color .15s,box-shadow .15s}
.compact-role-menu .menu-card:hover{transform:translateY(-1px);border-color:#b9cdf0;box-shadow:0 7px 17px rgba(7,23,57,.09)}
.compact-role-menu .menu-card-heading{display:flex;align-items:center;gap:9px;min-width:0}
.compact-role-menu .menu-icon{font-size:25px;line-height:1;flex:0 0 auto}
.compact-role-menu .menu-card strong{font-size:16px;line-height:1.2}
.compact-role-menu .menu-card span{font-size:13px;line-height:1.25}
.technician-quick-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-bottom:14px}
.technician-quick-summary .compact-stat{min-height:54px;padding:10px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:9px;box-shadow:0 5px 14px rgba(7,23,57,.06)}
.technician-quick-summary .compact-stat>span{font-size:14px;color:#667085}
.technician-quick-summary .compact-stat strong{font-size:22px;line-height:1;white-space:nowrap}
.trust-stat-value{display:flex;align-items:center;gap:6px}
.technician-quick-summary .seal-svg.small{width:36px;height:43px}
.technician-quick-summary .seal-uncertified.small{padding:4px}
.technician-quick-summary .seal-uncertified.small .seal-uncertified__icon{width:26px;height:26px;font-size:16px}

@media(max-width:700px){
  .compact-role-menu,.client-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .compact-role-menu,.client-shortcuts{grid-template-columns:1fr}
  .compact-role-menu .menu-card{min-height:68px}
}


/* Fichas e indicadores compactos */
.client-request-row{display:block;padding:12px 0}
.client-request-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.request-state-line,.request-professional-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.request-state-line small,.request-professional-line small{color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.client-request-main h3{font-size:17px;margin:0 0 4px}
.client-request-main p{margin:0;font-size:13px;line-height:1.35}
.request-professional-line{margin-top:8px;font-size:14px}
.compact-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}
.compact-summary .compact-stat{min-height:54px;padding:10px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 5px 14px rgba(7,23,57,.06)}
.compact-summary .compact-stat span{font-size:13px;color:#667085;line-height:1.25}
.compact-summary .compact-stat strong{font-size:20px;line-height:1;white-space:nowrap}
@media(max-width:700px){
  .client-request-row{grid-template-columns:none}
  .client-request-main{grid-column:auto}
  .client-request-row>.btn{width:auto}
}


/* Confianza integrada al encabezado técnico */
.technician-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.technician-heading__identity{min-width:0}
.technician-heading__trust{margin-left:auto;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:15px;background:rgba(255,255,255,.13);color:#fff;text-decoration:none;transition:background .15s,transform .15s}
.technician-heading__trust:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.technician-heading__trust .seal-svg.small{width:42px;height:50px}
.technician-heading__trust .seal-uncertified.small{padding:4px;background:rgba(255,255,255,.92)}
.technician-heading__trust-copy{display:grid;line-height:1.05}
.technician-heading__trust-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.82}
.technician-heading__trust-copy strong{font-size:18px;margin:3px 0}
.technician-heading__trust-copy em{font-size:11px;font-style:normal;opacity:.86;white-space:nowrap}
.technician-quick-summary{grid-template-columns:repeat(2,minmax(125px,1fr))}

@media(max-width:560px){
  .technician-heading__trust{padding:6px 8px;gap:5px}
  .technician-heading__trust-copy small,.technician-heading__trust-copy em{display:none}
  .technician-heading__trust-copy strong{font-size:16px;margin:0}
}
@media(max-width:420px){
  .technician-heading{gap:9px;padding:14px}
  .technician-heading .profile-photo.large{width:70px;height:88px;flex-basis:70px}
  .technician-heading__identity h1{font-size:22px}
  .technician-heading__identity p{font-size:12px}
  .technician-heading__trust .seal-svg.small{width:34px;height:41px}
}


/* Contador general de solicitudes */
.client-requests-heading{display:block}
.client-requests-titleline{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.client-requests-titleline h2{margin:0}
.client-requests-titleline .badge{flex:0 0 auto}
.client-requests-heading>p{margin:5px 0 0}

.request-admin-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.request-admin-filters a{text-decoration:none}.request-admin-list{display:grid;gap:12px}.request-admin-card{margin:0}.request-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.request-admin-heading h2{margin:4px 0 0;font-size:19px}.request-admin-meta{display:flex;gap:8px 18px;flex-wrap:wrap;color:#475569;font-size:13px}@media(max-width:560px){.request-admin-heading{flex-direction:column}.request-admin-heading .badge{align-self:flex-start}}