/* SIPAD 1.8.2 · UX/UI integral administración, permisos y auditoría */
:root{--surface:#fff;--surface-soft:#f7fafb;--surface-teal:#eef8f8;--focus:rgba(31,107,143,.16);--danger-soft:#fff2ef;--warn-soft:#fff8df;--shadow-soft:0 14px 34px rgba(18,48,74,.07)}
.admin-page-head{align-items:flex-end}.admin-page-head p{max-width:760px;color:var(--muted);line-height:1.55}.admin-page-head .actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
.compact-card{padding:18px 20px}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,.8fr);gap:1rem;align-items:end;margin-bottom:1.1rem}.search-field,.permission-toolbar label,.audit-filters label,.compare-role-form label{display:grid;gap:.45rem;font-weight:800;color:var(--navy)}.search-field input,.permission-toolbar input,.permission-toolbar select,.audit-filters input,.audit-filters select,.compare-role-form select{width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #b8c8d0;border-radius:11px;background:#fff;font:inherit;color:var(--ink)}.search-field input:focus,.permission-toolbar input:focus,.permission-toolbar select:focus,.audit-filters input:focus,.audit-filters select:focus,.compare-role-form select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px var(--focus)}.toolbar-note{display:grid;gap:.2rem;padding:.7rem 0}.toolbar-note span{color:var(--muted);font-size:.9rem}
.professional-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role-card{min-height:280px}.role-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.pill-neutral,.pill-soft{font-size:.76rem}.pill-neutral{background:#eef2f4;color:#53636c}.pill-soft{background:#e7f5f3;color:#146d6a}.role-card p{color:var(--muted);line-height:1.45}.role-stats{padding-top:.8rem;border-top:1px solid var(--line)}.role-actions{display:flex;gap:.55rem;align-items:center}.role-actions form{margin:0;flex:0 0 auto}.role-actions .primary{flex:1;text-align:center}.role-actions button{min-height:44px}
.permission-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;overflow:hidden;margin-bottom:1rem}.permission-summary>div{padding:20px 22px;border-right:1px solid var(--line)}.permission-summary>div:last-child{border-right:0}.permission-summary strong{display:block;color:var(--navy);font-size:1.35rem;margin:.15rem 0}.permission-summary small{color:var(--muted)}
.permission-toolbar{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(200px,.7fr) auto;gap:1rem;align-items:end;margin-bottom:1rem}.permission-toolbar-actions{display:flex;gap:.5rem}.permission-toolbar-actions button{min-height:48px;white-space:nowrap}.permission-groups-pro{align-items:start}.permission-box{position:relative;background:#fff;box-shadow:0 8px 22px rgba(18,48,74,.035);padding:1rem 1.1rem}.permission-box legend{display:flex;align-items:baseline;gap:.55rem;color:var(--navy)}.permission-box legend small{font-weight:600;color:var(--muted);font-size:.75rem}.permission-box-tools{display:flex;gap:.65rem;justify-content:flex-end;border-bottom:1px solid var(--line);padding:0 0 .5rem;margin-bottom:.2rem}.text-button{border:0;background:transparent;padding:.3rem .1rem;color:var(--blue);font:inherit;font-weight:750;cursor:pointer;text-decoration:none}.text-button:hover{text-decoration:underline}.permission-item{padding:.82rem .2rem}.permission-item:hover{background:#f8fbfc}.permission-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.risk-badge{font-style:normal;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:.18rem .42rem;border-radius:999px;background:var(--warn-soft);color:#7d5d00}.sticky-save-bar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:12px 14px;border:1px solid #cbdbe2;border-radius:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 16px 34px rgba(18,48,74,.15)}.sticky-save-bar>div{display:grid;gap:.12rem}.sticky-save-bar span{color:var(--muted);font-size:.88rem}.sticky-save-bar .primary{min-width:180px}.role-history{margin-top:1rem}.timeline-list{display:grid}.timeline-item{display:grid;grid-template-columns:20px 1fr;gap:.6rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--teal);margin:6px 0 0 3px;box-shadow:0 0 0 4px #e8f6f5}.timeline-item div{display:grid;gap:.12rem}.timeline-item span,.timeline-item small{color:var(--muted);font-size:.86rem}
.compare-role-form{display:grid;grid-template-columns:1fr auto 1fr auto;gap:1rem;align-items:end}.compare-symbol{font-size:1.4rem;color:var(--teal);padding-bottom:.7rem}.compare-summary{display:grid;grid-template-columns:1fr 1fr .6fr;gap:0;padding:0;overflow:hidden;margin-top:1rem}.compare-summary>div{padding:18px 20px;border-right:1px solid var(--line);display:grid;gap:.2rem}.compare-summary>div:last-child{border-right:0}.compare-summary span{color:var(--muted)}.compare-summary b{font-size:1.2rem;color:var(--navy)}.permission-compare-list{display:grid;gap:.4rem;margin-top:1rem}.permission-compare-list>h2{font-size:1rem;color:var(--teal);text-transform:uppercase;letter-spacing:.06em;margin:1.2rem 0 .2rem}.compare-permission{display:grid;grid-template-columns:1fr 90px 90px;gap:.7rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff}.compare-permission.is-different{border-color:#e7cf81;background:#fffdf4}.compare-permission>div{display:grid;gap:.15rem}.compare-permission small{color:var(--muted)}.compare-state{display:grid;place-items:center;min-height:36px;border-radius:10px;font-weight:900}.compare-state.yes{background:#e8f7f1;color:var(--ok)}.compare-state.no{background:#f2f5f6;color:#7a8891}
.audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.audit-summary .metric-card{margin:0}.audit-filters{margin-bottom:1rem}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.filter-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.audit-results-head{display:flex;justify-content:space-between;align-items:end;margin:1.2rem 0 .65rem}.audit-results-head h2{margin:0;color:var(--navy)}.audit-results-head p{margin:.25rem 0 0;color:var(--muted)}.audit-table-pro th{white-space:nowrap}.audit-table-pro td{vertical-align:top}.audit-actor{display:grid;gap:.15rem;min-width:180px}.audit-actor small{color:var(--muted)}.audit-badge{display:inline-flex;padding:.23rem .5rem;border-radius:999px;background:#eef3f5;color:#53636c;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin:0 .35rem .25rem 0}.family-auth,.family-teacher_portal{background:#eaf3ff;color:#245b84}.family-system,.family-audit{background:#f0edf9;color:#655080}.family-role,.family-staff{background:#fff5dd;color:#7b5a00}.family-teacher{background:#e8f7f3;color:#176d5a}.family-period{background:#fff0ed;color:#8d4235}.audit-event{font-weight:800;color:var(--navy);display:inline}.audit-code{display:block;color:var(--muted);margin-top:.22rem}.ip-code{font-size:.82rem;white-space:nowrap}.audit-detail summary{cursor:pointer;color:var(--blue);font-weight:750;white-space:nowrap}.audit-detail dl{display:grid;gap:.65rem;margin:.7rem 0 0;min-width:260px}.audit-detail dl div{display:grid;gap:.2rem}.audit-detail dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;font-weight:800}.audit-detail dd{margin:0;overflow-wrap:anywhere}.audit-detail pre{margin:0;max-width:420px;white-space:pre-wrap;font-size:.74rem;background:#f5f8f9;padding:.55rem;border-radius:8px}.inline-empty{padding:1rem;text-align:center;display:grid;gap:.2rem}.inline-empty span{color:var(--muted)}
/* actividades */
.activity-filters{display:grid;gap:.8rem;margin-bottom:1rem}.activity-filters select,.activity-filters button{min-height:50px;border-radius:11px}.activity-list .empty{display:grid;place-items:center;gap:.6rem;min-height:230px}.activity-list .empty h2{margin:0}.activity-list .empty p{margin:0;color:var(--muted)}.activity-list .empty .button{margin-top:.35rem}
/* cumpleaños */
.birthdays-layout-wide{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.5fr);gap:1rem;align-items:start}.birthday-settings-form{gap:1rem}.birthday-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:1rem;align-items:start}.birthday-preview{position:sticky;top:100px;background:linear-gradient(145deg,#f8ffff,#eef8f8);border:1px solid #cfe6e5}.birthday-preview-card{padding:1.2rem;border-radius:16px;background:#fff;box-shadow:var(--shadow-soft);border:1px solid var(--line)}.birthday-preview-card .preview-mark{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--teal));display:grid;place-items:center;color:#fff;font-size:1.45rem;font-weight:900;margin-bottom:1rem}.birthday-preview-card h3{color:var(--navy);margin:.3rem 0 .6rem}.birthday-preview-card p{white-space:pre-line;line-height:1.55;color:var(--ink)}.switch-row{transition:border-color .15s,background .15s}.switch-row:has(input:checked){border-color:#9bcfcb;background:#f0fbfa}
/* cierre */
.closure-head{gap:1.2rem}.closure-period select{border-radius:11px;padding:10px 12px;border:1px solid #b8c8d0}.closure-summary .metric-card{min-height:150px;align-content:start}.closure-check{transition:transform .15s,box-shadow .15s}.closure-check:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(18,48,74,.06)}
/* usuarios y tablas */
.responsive-table td small{display:block;color:var(--muted);margin-top:.2rem}.responsive-table .pill{font-size:.78rem}.compact-empty{min-height:180px}
@media(max-width:1050px){.birthdays-layout-wide{grid-template-columns:1fr}.professional-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-toolbar{grid-template-columns:1fr 1fr}.permission-toolbar-actions{grid-column:1/-1}.audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-settings-grid{grid-template-columns:1fr}.birthday-preview{position:static}}
@media(max-width:760px){.admin-page-head{align-items:stretch;flex-direction:column}.admin-page-head .actions{justify-content:stretch}.admin-page-head .actions .button{flex:1;text-align:center}.admin-toolbar,.professional-role-grid,.permission-summary,.permission-toolbar,.filter-grid,.compare-summary{grid-template-columns:1fr}.permission-summary>div,.compare-summary>div{border-right:0;border-bottom:1px solid var(--line)}.permission-summary>div:last-child,.compare-summary>div:last-child{border-bottom:0}.permission-toolbar-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.permission-groups-pro{grid-template-columns:1fr}.sticky-save-bar{bottom:8px}.sticky-save-bar .primary{min-width:0}.compare-role-form{grid-template-columns:1fr}.compare-symbol{display:none}.compare-permission{grid-template-columns:1fr 52px 52px}.audit-summary{grid-template-columns:1fr 1fr}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions .primary,.filter-actions .button{text-align:center}.audit-table-pro table,.audit-table-pro thead,.audit-table-pro tbody,.audit-table-pro tr,.audit-table-pro td{display:block;width:100%}.audit-table-pro thead{display:none}.audit-table-pro tr{padding:1rem;border-bottom:1px solid var(--line)}.audit-table-pro td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.7rem;border:0;padding:.38rem 0}.audit-table-pro td::before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--muted)}.audit-detail dl{min-width:0}.audit-detail pre{max-width:100%}.role-card{min-height:0}.role-actions{flex-direction:column;align-items:stretch}.role-actions .button,.role-actions button{width:100%}.activity-filters{grid-template-columns:1fr!important}}
@media(max-width:480px){.audit-summary{grid-template-columns:1fr 1fr;gap:.65rem}.audit-summary .metric-card{padding:1rem}.filter-actions{grid-template-columns:1fr}.permission-toolbar-actions{grid-template-columns:1fr}.sticky-save-bar{align-items:stretch;flex-direction:column}.sticky-save-bar .primary,.sticky-save-bar .button{width:100%;text-align:center}.compare-permission{grid-template-columns:1fr 44px 44px;padding:.75rem}.audit-table-pro td{grid-template-columns:92px minmax(0,1fr)}.birthday-card{grid-template-columns:auto 1fr}.birthday-card form{grid-column:1/-1}.birthday-card form button{width:100%}}

/* SIPAD 1.8.3 · refinamiento de controles, títulos y jerarquía visual */
:root{
  --control-border:#b9cbd4;
  --control-hover:#87adb9;
  --control-active:#148f95;
  --title-soft:#edf7f7;
  --title-line:#d8e8eb;
}

/* Títulos administrativos: escala consistente y mejor separación */
.admin-page-head h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;letter-spacing:-.035em;margin:.3rem 0 .55rem;color:var(--navy)}
.admin-page-head .eyebrow{font-size:.79rem;font-weight:900;letter-spacing:.115em}
.section-title h2,.birthday-settings-form h2,.birthday-preview h2{font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.15;letter-spacing:-.02em;color:var(--navy);margin:.15rem 0 .3rem}
.card>h2:first-child{margin-top:0;color:var(--navy);letter-spacing:-.02em}

/* Controles de formularios: un solo lenguaje visual */
.birthday-settings-form>label:not(.switch-row){display:grid;gap:.5rem;color:var(--navy);font-size:.95rem;font-weight:850}
.birthday-settings-form input[type="text"],
.birthday-settings-form input:not([type]),
.birthday-settings-form textarea,
.permission-toolbar input,
.permission-toolbar select{
  width:100%;min-width:0;border:1px solid var(--control-border);border-radius:12px;background:#fff;color:var(--ink);
  font:inherit;font-size:1rem;line-height:1.35;padding:.78rem .9rem;transition:border-color .16s,box-shadow .16s,background .16s
}
.birthday-settings-form input:not([type]),.permission-toolbar input,.permission-toolbar select{min-height:50px}
.birthday-settings-form textarea{min-height:150px;resize:vertical}
.birthday-settings-form input:focus,.birthday-settings-form textarea:focus,.permission-toolbar input:focus,.permission-toolbar select:focus{
  outline:0;border-color:var(--control-active);box-shadow:0 0 0 4px rgba(20,143,149,.13)
}
.birthday-settings-form label>small{font-weight:600;color:var(--muted);font-size:.82rem;line-height:1.4}
.birthday-settings-form code{padding:.12rem .35rem;border-radius:6px;background:#edf3f5;color:#294b5f;font-size:.78rem}

/* Checkbox profesional y accesible */
.switch-row input[type="checkbox"],.permission-item input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;flex:0 0 auto;width:22px!important;height:22px!important;min-height:22px!important;margin:.05rem 0 0!important;
  border:1.7px solid #8ea6b1;border-radius:6px;background:#fff;display:grid;place-content:center;cursor:pointer;transition:.15s ease
}
.switch-row input[type="checkbox"]::before,.permission-item input[type="checkbox"]::before{
  content:"";width:11px;height:7px;border-left:2.2px solid #fff;border-bottom:2.2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .12s ease
}
.switch-row input[type="checkbox"]:checked,.permission-item input[type="checkbox"]:checked{background:var(--control-active);border-color:var(--control-active)}
.switch-row input[type="checkbox"]:checked::before,.permission-item input[type="checkbox"]:checked::before{transform:rotate(-45deg) scale(1)}
.switch-row input[type="checkbox"]:focus-visible,.permission-item input[type="checkbox"]:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(20,143,149,.16)}
.switch-row input[type="checkbox"]:disabled,.permission-item input[type="checkbox"]:disabled{cursor:not-allowed;opacity:.62}

/* Automatización de cumpleaños */
.birthday-settings-form{padding:1.45rem!important}
.birthday-settings-form>div:first-of-type{padding-bottom:.25rem;border-bottom:1px solid var(--title-line)}
.birthday-settings-form>div:first-of-type p{margin:.35rem 0 .75rem;line-height:1.55}
.switch-row{position:relative;display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:.85rem!important;align-items:start!important;padding:1rem 1.05rem!important;border:1px solid #d1dfe4!important;border-radius:15px!important;background:#fff;cursor:pointer;box-shadow:0 3px 12px rgba(18,48,74,.025);transition:.16s ease!important}
.switch-row:hover{border-color:#9abfc4!important;background:#fbfefe;transform:translateY(-1px)}
.switch-row:has(input:checked){border-color:#85c9c4!important;background:#effaf9!important;box-shadow:0 6px 16px rgba(20,143,149,.075)}
.switch-row span{gap:.2rem!important}
.switch-row b{font-size:1rem;line-height:1.3;color:var(--navy)}
.switch-row small{font-size:.84rem;line-height:1.42;color:#587184!important;font-weight:600}
.birthday-settings-form>.primary{margin-top:.1rem;min-height:50px;border-radius:12px}

/* Permisos: sustituimos el aspecto de fieldset tradicional por tarjetas con cabecera real */
.permission-groups-pro{gap:1.15rem}
.permission-box{
  border:1px solid #d4e1e6!important;border-radius:18px!important;padding:0 1.15rem 1rem!important;
  background:#fff!important;box-shadow:0 9px 24px rgba(18,48,74,.045)!important;overflow:visible;min-width:0
}
.permission-box legend{
  width:auto;max-width:calc(100% - 1rem);padding:.38rem .65rem!important;margin-left:-.35rem;background:var(--title-soft);border:1px solid var(--title-line);
  border-radius:10px;color:var(--navy)!important;font-size:1.02rem;font-weight:900;line-height:1.2;box-shadow:0 2px 5px rgba(18,48,74,.025)
}
.permission-box legend span{overflow-wrap:anywhere}
.permission-box legend small{font-size:.72rem!important;color:#587184!important;font-weight:750!important;white-space:nowrap}
.permission-box-tools{margin-top:.55rem;padding:.15rem 0 .65rem!important;min-height:40px;align-items:center}
.permission-box-tools .text-button{min-height:36px;padding:.35rem .5rem;border-radius:8px}
.permission-box-tools .text-button:hover{background:#eef7f8;text-decoration:none}
.permission-item{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:.8rem!important;align-items:start!important;padding:.9rem .2rem!important;border-radius:10px;transition:background .13s}
.permission-item:hover{background:#f6fafb!important}
.permission-item>span{min-width:0}
.permission-name b{font-size:.98rem;line-height:1.34;color:var(--navy);overflow-wrap:anywhere}
.permission-item small{font-size:.79rem;line-height:1.35;color:#667b89!important;overflow-wrap:anywhere}
.risk-badge{font-size:.64rem!important;padding:.22rem .45rem!important;letter-spacing:.055em}

/* Barra de guardado menos invasiva y más clara */
.sticky-save-bar{bottom:10px;padding:.85rem 1rem!important;border-radius:16px!important;border-color:#bed3dc!important;box-shadow:0 12px 28px rgba(18,48,74,.13)!important}
.sticky-save-bar b{font-size:.96rem;color:var(--navy)}
.sticky-save-bar .primary{min-height:48px;border-radius:11px}

/* Toolbar de permisos */
.permission-toolbar{padding:1.1rem!important;border-radius:16px!important}
.permission-toolbar label>span{font-size:.84rem;letter-spacing:.01em;color:#38586c}
.permission-toolbar-actions .secondary{border-radius:11px;min-height:50px}

@media(max-width:900px){
  .birthday-settings-grid{grid-template-columns:1fr}
  .birthday-preview{position:static}
  .permission-box legend{max-width:calc(100% - .4rem)}
}
@media(max-width:760px){
  .birthday-settings-form{padding:1rem!important}
  .switch-row{padding:.9rem!important}
  .permission-box{padding:0 .85rem .8rem!important;border-radius:15px!important}
  .permission-box legend{font-size:.95rem;display:grid!important;gap:.15rem!important;max-width:100%}
  .permission-box legend small{white-space:normal}
  .permission-box-tools{justify-content:flex-start;flex-wrap:wrap}
  .permission-item{grid-template-columns:22px minmax(0,1fr);padding:.82rem .1rem!important}
  .sticky-save-bar{align-items:stretch;display:grid;grid-template-columns:1fr;bottom:6px}
  .sticky-save-bar .primary,.sticky-save-bar .secondary{width:100%;min-width:0}
}
@media(max-width:430px){
  .permission-toolbar-actions{grid-template-columns:1fr!important}
  .permission-name{align-items:flex-start}
  .risk-badge{display:inline-flex}
}

/* SIPAD 1.8.4 · refinamiento UX/UI de Configurar permisos */
.permission-groups-pro{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start;
}
.permission-box{
  padding:0 1.2rem 1.05rem!important;border-radius:18px!important;overflow:visible;
}
.permission-box legend{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:.55rem!important;
  max-width:calc(100% - .5rem);padding:.42rem .72rem!important;margin-left:-.25rem!important;text-align:left!important;
}
.permission-box legend>span{font-size:1.03rem;line-height:1.2;font-weight:900;text-align:left}
.permission-box legend>small{font-size:.73rem!important;line-height:1.2;white-space:nowrap;margin:0;text-align:left}
.permission-box-tools{
  display:flex;justify-content:flex-end;align-items:center;gap:.35rem;margin:.55rem 0 .15rem;padding:0 0 .65rem!important;
}
.permission-box-tools .text-button{font-size:.88rem;line-height:1.2;padding:.45rem .55rem!important}
.permission-item{
  display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:.85rem!important;align-items:start!important;
  width:100%;margin:0;padding:1rem .25rem!important;text-align:left!important;border-bottom:1px solid #e8eef1;border-radius:0!important;
}
.permission-item:last-child{border-bottom:0}
.permission-item:hover{background:#f8fbfc!important}
.permission-item input[type="checkbox"]{
  width:24px!important;height:24px!important;min-height:24px!important;margin:.05rem 0 0!important;justify-self:start;
}
.permission-content{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.24rem!important;min-width:0;width:100%;text-align:left!important}
.permission-name{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:.5rem!important;flex-wrap:wrap!important;
  width:100%;text-align:left!important;
}
.permission-name b{
  display:block;font-size:.98rem!important;line-height:1.35!important;font-weight:800!important;color:var(--navy)!important;
  text-align:left!important;overflow-wrap:anywhere;
}
.permission-code{
  display:block!important;width:100%;font-size:.78rem!important;line-height:1.35!important;color:#607889!important;
  text-align:left!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;
}
.risk-badge{
  display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;margin:0!important;vertical-align:middle;
}
.sticky-save-bar{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;
}
.sticky-save-bar>div{align-items:start;text-align:left}

@media(max-width:980px){
  .permission-groups-pro{grid-template-columns:1fr}
}
@media(max-width:620px){
  .permission-box{padding:0 .85rem .85rem!important}
  .permission-box legend{display:grid!important;grid-template-columns:1fr!important;gap:.12rem!important;max-width:100%;padding:.4rem .6rem!important}
  .permission-box legend>small{white-space:normal}
  .permission-box-tools{justify-content:flex-start;flex-wrap:wrap}
  .permission-item{grid-template-columns:26px minmax(0,1fr)!important;gap:.75rem!important;padding:.9rem .1rem!important}
  .permission-item input[type="checkbox"]{width:23px!important;height:23px!important;min-height:23px!important}
  .sticky-save-bar{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
}
