/* SISPLUS v0.17.0 · Superadministración y permisos */
.platform-role-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  max-width:180px;
  padding:.34rem .62rem;
  border-radius:999px;
  font-size:.66rem;
  font-weight:900;
  line-height:1.15;
  text-align:center;
  white-space:normal;
}
.platform-role-super_admin,.platform-role-admin{background:#ede8ff;color:#5d36a7;border:1px solid #d8cef8}
.platform-role-platform_admin{background:#e5f3ff;color:#075f9c;border:1px solid #c7e3f7}
.platform-role-staff{background:#e9f7ed;color:#2c7442;border:1px solid #cdebd5}
.platform-role-veterinarian{background:#fff1dc;color:#8b5a0c;border:1px solid #f3d7a8}
.platform-role-owner{background:#eef2f5;color:#4f6474;border:1px solid #dbe4ea}
.role-nav>.platform-role-badge{margin-left:.1rem}
.admin-dashboard-role-line{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.admin-dashboard-role-line .eyebrow{margin-bottom:0}
.admin-dashboard-hero-v17{align-items:center}
.admin-dashboard-v17{display:grid;gap:1rem}
.admin-dashboard-v17 .admin-primary-kpis{margin-bottom:0}
.admin-attention-copy{display:grid;gap:.06rem;flex:1}
.admin-attention-copy small{color:var(--muted);font-size:.7rem;font-weight:600}
.platform-module-shortcuts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.platform-module-shortcut{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:.8rem;
  align-items:center;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fbfdff;
  color:var(--ink);
  transition:.18s ease;
}
.platform-module-shortcut:hover{
  transform:translateY(-2px);
  border-color:#aad1e8;
  background:#f4faff;
  box-shadow:0 10px 24px rgba(15,62,94,.08);
}
.platform-module-shortcut-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:var(--blue-soft);
  font-size:1.35rem;
}
.platform-module-shortcut div{min-width:0}
.platform-module-shortcut strong{display:block;color:#173f5e;font-size:.88rem}
.platform-module-shortcut p{margin:.15rem 0 0;color:var(--muted);font-size:.73rem}
.platform-module-shortcut-action{color:var(--blue);font-size:.72rem;font-weight:850;white-space:nowrap}
.platform-users-v17{display:grid;gap:1rem}
.platform-superadmin-note{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:.8rem;
  align-items:center;
  padding:1rem 1.1rem;
  border:1px solid #d9cff6;
  border-radius:18px;
  background:linear-gradient(135deg,#faf8ff,#f5faff);
}
.platform-superadmin-note>span:first-child{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#fff;
  font-size:1.35rem;
  box-shadow:0 7px 18px rgba(63,47,115,.1);
}
.platform-superadmin-note p{margin:.15rem 0 0;color:#607286;font-size:.78rem}
.platform-users-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.platform-users-table td{vertical-align:middle}
.platform-users-table td small{display:block;color:var(--muted);margin-top:.16rem}
.platform-protected-row{background:linear-gradient(90deg,rgba(238,232,255,.46),transparent 65%)}
.platform-protected-label{display:inline-flex;align-items:center;gap:.25rem;color:#5d36a7;font-size:.72rem;font-weight:850}
.platform-create-profile-help{
  padding:.75rem .85rem;
  border-radius:12px;
  background:#f2f8fc;
  color:#526d82;
  font-size:.76rem;
  font-weight:600;
}
.platform-access-heading{align-items:center}
.platform-access-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:1.2rem;
  align-items:start;
}
.platform-access-account-card{
  position:sticky;
  top:92px;
  display:grid;
  gap:1rem;
  padding:1.2rem;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,62,94,.07);
}
.platform-access-account-header{
  display:flex;
  align-items:center;
  gap:.8rem;
}
.platform-access-account-header h2{margin:.1rem 0;font-size:1.3rem}
.platform-access-account-header p{margin:0;color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}
.platform-access-avatar{width:54px;height:54px;flex:0 0 54px;font-size:1.1rem}
.platform-access-account-details{display:grid;margin:0}
.platform-access-account-details>div{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:.65rem;
  padding:.65rem 0;
  border-bottom:1px solid #edf2f5;
}
.platform-access-account-details>div:last-child{border-bottom:0}
.platform-access-account-details dt{color:var(--muted);font-size:.72rem;font-weight:750}
.platform-access-account-details dd{margin:0;color:#294b64;font-size:.76rem;font-weight:800}
.platform-protected-message{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  padding:.8rem;
  border-radius:14px;
  background:#f2edff;
  color:#5d427d;
  font-size:.73rem;
}
.platform-protected-message p{margin:0}
.platform-protected-message strong{display:block}
.platform-access-editor{min-width:0}
.platform-access-form{display:grid;gap:1rem}
.platform-access-basics{display:grid;gap:1rem}
.platform-access-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.platform-access-section-heading h2{margin-bottom:.2rem}
.platform-access-section-heading p{margin:0;color:var(--muted);font-size:.78rem}
.platform-profile-description{
  padding:.8rem .9rem;
  border:1px solid #d6e9f5;
  border-radius:13px;
  background:#f2f9fd;
  color:#48687f;
  font-size:.76rem;
  font-weight:650;
}
.platform-permission-counter{
  display:inline-flex;
  align-items:baseline;
  gap:.28rem;
  padding:.45rem .65rem;
  border-radius:999px;
  background:var(--blue-soft);
  color:var(--blue-dark);
  font-size:.7rem;
  font-weight:750;
  white-space:nowrap;
}
.platform-permission-counter strong{font-size:1rem}
.platform-matrix-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.platform-permission-matrix-card{display:grid;gap:1.1rem}
.platform-permission-group{display:grid;gap:.65rem}
.platform-permission-group-title{
  display:flex;
  align-items:center;
  gap:.7rem;
  color:#34576f;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.platform-permission-group-title i{height:1px;flex:1;background:var(--line)}
.platform-permission-modules{display:grid;gap:.7rem}
.platform-permission-module{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.platform-permission-module>header{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:.75rem;
  align-items:center;
  padding:.85rem .95rem;
  background:#f8fbfd;
}
.platform-permission-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  font-size:1.25rem;
  box-shadow:0 6px 15px rgba(15,62,94,.07);
}
.platform-permission-module h3{margin:0;font-size:.9rem}
.platform-permission-module header p{margin:.12rem 0 0;color:var(--muted);font-size:.69rem}
.platform-module-toggle{
  display:flex;
  align-items:center;
  gap:.35rem;
  cursor:pointer;
  font-size:.68rem;
  font-weight:800;
}
.platform-module-toggle input{width:auto}
.platform-permission-actions{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  padding:.8rem .95rem;
}
.platform-permission-actions label{
  display:inline-flex;
  grid-template-columns:none;
  align-items:center;
  gap:.35rem;
  padding:.42rem .55rem;
  border:1px solid #d7e4ec;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  color:#466278;
  font-size:.7rem;
  font-weight:750;
}
.platform-permission-actions label:has(input:checked){
  border-color:#8cc3e3;
  background:#eef8ff;
  color:#075f9c;
}
.platform-permission-actions input{width:auto;margin:0}
.platform-access-save-note{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  margin-top:.9rem;
  padding:.75rem .85rem;
  border-radius:13px;
  background:#fff8df;
  color:#725c19;
  font-size:.73rem;
}
.platform-access-save-note p{margin:0}
.platform-access-save-actions{justify-content:flex-end;margin-top:1rem}
.platform-readonly-permissions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin-top:1rem;
}
.platform-readonly-permissions article{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.7rem;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbfdff;
}
.platform-readonly-permissions article>span{font-size:1.15rem}
.platform-readonly-permissions strong{display:block;font-size:.76rem}
.platform-readonly-permissions p{margin:.1rem 0 0;color:var(--muted);font-size:.68rem}
.platform-access-hidden{display:none!important}
@media (max-width:1180px){
  .platform-users-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .platform-module-shortcuts{grid-template-columns:1fr}
  .platform-access-layout{grid-template-columns:285px minmax(0,1fr)}
  .role-nav>.platform-role-badge{display:none}
}
@media (max-width:820px){
  .platform-access-layout{grid-template-columns:1fr}
  .platform-access-account-card{position:static}
  .platform-superadmin-note{grid-template-columns:42px 1fr}
  .platform-superadmin-note>.platform-role-badge{grid-column:2}
}
@media (max-width:680px){
  .platform-users-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-module-shortcut{grid-template-columns:42px 1fr}
  .platform-module-shortcut-action{grid-column:2}
  .platform-permission-module>header{grid-template-columns:38px 1fr}
  .platform-module-toggle{grid-column:2}
  .platform-access-section-heading{display:grid}
  .platform-matrix-actions{justify-content:flex-start}
  .platform-readonly-permissions{grid-template-columns:1fr}
}
@media (max-width:460px){
  .platform-users-metrics{grid-template-columns:1fr 1fr}
  .platform-access-save-actions{display:grid}
  .platform-access-save-actions .button{width:100%}
}

/* SISPLUS v0.19.31-a.2.2 · Expediente y edición de usuarios internos */
.internal-user-table-actions{min-width:165px;align-items:stretch}
.internal-user-table-actions .button{width:100%;justify-content:center}
.internal-user-dossier{display:grid;gap:1rem}
.internal-user-heading{align-items:center}
.internal-user-heading-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.internal-user-summary-card{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  gap:1rem;
  align-items:center;
  padding:1.2rem;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#f6fbff);
  box-shadow:0 12px 30px rgba(15,62,94,.06);
}
.internal-user-summary-identity{display:flex;align-items:center;gap:1rem;min-width:0}
.internal-user-summary-identity>div{min-width:0}
.internal-user-summary-identity h2{margin:.35rem 0 .12rem;font-size:1.55rem}
.internal-user-summary-identity p{margin:0;color:#31536b;font-weight:750;overflow-wrap:anywhere}
.internal-user-summary-identity small{display:block;margin-top:.25rem;color:var(--muted)}
.internal-user-avatar{width:68px;height:68px;flex:0 0 68px;font-size:1.35rem}
.internal-user-badges{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.internal-user-summary-access{
  display:grid;
  gap:.25rem;
  padding:1rem;
  border:1px solid #d9e9f4;
  border-radius:16px;
  background:#fff;
}
.internal-user-summary-access small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.internal-user-summary-access strong{color:#173f5e;font-size:.9rem}
.internal-user-summary-access span{color:#647c8f;font-size:.72rem}
.internal-user-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.internal-user-metrics article{
  display:grid;
  gap:.18rem;
  min-width:0;
  padding:.9rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.internal-user-metrics small{color:var(--muted);font-size:.68rem;font-weight:800}
.internal-user-metrics strong{color:var(--blue);font-size:1.45rem}
.internal-user-metrics span{color:#718697;font-size:.68rem}
.internal-user-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;align-items:start}
.internal-user-side-column,.internal-user-main-column{display:grid;gap:1rem;min-width:0}
.internal-user-side-column{position:sticky;top:92px}
.internal-user-contact-card,.internal-user-links-card,.internal-user-status-card{display:grid;gap:.8rem}
.internal-user-contact-card h2,.internal-user-links-card h2,.internal-user-status-card h2{margin:0}
.internal-user-contact-card dl{display:grid;margin:0}
.internal-user-contact-card dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.6rem;padding:.65rem 0;border-bottom:1px solid #edf2f5}
.internal-user-contact-card dl>div:last-child{border-bottom:0}
.internal-user-contact-card dt{color:var(--muted);font-size:.7rem;font-weight:750}
.internal-user-contact-card dd{margin:0;color:#294b64;font-size:.75rem;font-weight:800;overflow-wrap:anywhere}
.internal-user-organization-list{display:grid;gap:.55rem}
.internal-user-organization-list a{display:grid;gap:.12rem;padding:.7rem;border:1px solid var(--line);border-radius:12px;background:#f8fbfd;color:#214a66}
.internal-user-organization-list span{color:var(--muted);font-size:.68rem}
.internal-user-status-card p{margin:0;color:var(--muted);font-size:.76rem}
.internal-user-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.internal-user-section-heading h2{margin:.12rem 0 .18rem}
.internal-user-section-heading p{margin:0;color:var(--muted);font-size:.76rem}
.internal-user-profile-card,.internal-user-history-card{display:grid;gap:1rem}
.internal-user-profile-form{gap:1rem}
.internal-user-profile-form input[disabled],.internal-user-profile-form select[disabled],.internal-user-profile-form textarea[disabled]{background:#f2f5f7;color:#647886;cursor:not-allowed}
.internal-user-veterinarian-box{padding:1rem;border:1px solid #f1d5a2;border-radius:16px;background:#fff8e9}
.internal-user-check-label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.55rem;align-self:end;padding:.8rem;border:1px solid #efd8ad;border-radius:12px;background:#fff}
.internal-user-check-label input{width:auto;margin:0}
.internal-user-check-label span{font-size:.75rem;color:#684e14}
.internal-user-save-note{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem;border-radius:13px;background:#edf8ff;color:#345d77;font-size:.74rem}
.internal-user-save-note p{margin:0}
.internal-user-form-actions{justify-content:flex-end}
.internal-user-history-sections{display:grid;gap:.65rem}
.internal-user-history-sections details{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}
.internal-user-history-sections summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:.85rem 1rem;background:#f8fbfd;color:#254a65;font-size:.78rem;font-weight:900}
.internal-user-history-sections summary span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:var(--blue-soft);color:var(--blue)}
.internal-user-timeline{display:grid;gap:.65rem;padding:.85rem}
.internal-user-timeline article{display:grid;gap:.35rem;padding:.8rem;border-left:4px solid #a8d1e9;border-radius:0 12px 12px 0;background:#fbfdff}
.internal-user-timeline article>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
.internal-user-timeline article>div span,.internal-user-timeline small{color:var(--muted);font-size:.68rem}
.internal-user-timeline p{margin:0;color:#405f74;font-size:.76rem}
.internal-user-timeline ul{display:grid;gap:.28rem;margin:.2rem 0 0;padding-left:1rem;color:#456278;font-size:.7rem}
.internal-user-timeline li span{overflow-wrap:anywhere}
.internal-user-empty-history{padding:1rem;margin:0}
@media(max-width:1180px){
  .internal-user-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .internal-user-layout{grid-template-columns:285px minmax(0,1fr)}
}
@media(max-width:900px){
  .internal-user-summary-card{grid-template-columns:1fr}
  .internal-user-layout{grid-template-columns:1fr}
  .internal-user-side-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .internal-user-status-card{grid-column:1/-1}
}
@media(max-width:680px){
  .internal-user-heading-actions{justify-content:flex-start}
  .internal-user-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .internal-user-side-column{grid-template-columns:1fr}
  .internal-user-summary-identity{align-items:flex-start}
  .internal-user-avatar{width:56px;height:56px;flex-basis:56px}
  .internal-user-section-heading{display:grid}
}
@media(max-width:460px){
  .internal-user-summary-identity{display:grid}
  .internal-user-metrics{grid-template-columns:1fr 1fr}
  .internal-user-form-actions{display:grid}
  .internal-user-form-actions .button,.internal-user-heading-actions .button{width:100%}
}
