.role-policy-shell{display:grid;gap:14px}.role-policy-top-tabs,.role-policy-tabs{display:flex;gap:8px;flex-wrap:wrap}.role-policy-top-tabs button,.role-policy-tabs button{border:1px solid #bdd0f3;background:#fff;color:#18356d;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer}.role-policy-top-tabs button.active,.role-policy-tabs button.active{background:#eaf2ff;border-color:#2563eb;color:#1647a6}.role-policy-console{border:1px solid #c9dbf6;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(32,73,135,.08);padding:18px;display:grid;gap:16px}.role-policy-header,.role-policy-toolbar,.role-policy-editor-footer,.role-policy-review-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.role-policy-header h2{margin:5px 0 6px}.role-policy-header p{margin:0;max-width:850px;color:#55657e}.role-policy-status{border-radius:999px;background:#e8f8ef;color:#166534;padding:7px 11px;font-weight:800;white-space:nowrap}.role-policy-toolbar{align-items:end}.role-policy-toolbar label,.role-policy-editor-footer>label,.role-policy-review-detail>label{display:grid;gap:6px;font-weight:800}.role-policy-toolbar select,.role-policy-editor-footer textarea,.role-policy-review-detail textarea{border:1px solid #b8c9e7;border-radius:10px;background:#fff;padding:10px;color:#111827}.role-policy-toolbar select{min-width:280px}.role-policy-editor-footer textarea,.role-policy-review-detail textarea{min-height:76px;resize:vertical}.role-policy-notice{display:flex;gap:12px;align-items:center;border:1px solid #bfd8ff;background:#f2f7ff;border-radius:12px;padding:12px}.role-policy-notice.warning{border-color:#f4cf77;background:#fff8e8}.role-policy-notice span{color:#4b5f7e}.role-policy-impact{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.role-policy-impact article{border:1px solid #d8e3f5;border-radius:12px;padding:11px;background:#f8fbff}.role-policy-impact span{display:block;color:#5c6f8c;font-size:.78rem;font-weight:700}.role-policy-impact strong{display:block;margin-top:4px;font-size:1.15rem}.role-policy-matrix-wrap{position:relative;overflow:auto;border:1px solid #d5e0f2;border-radius:13px;max-height:58vh}.role-policy-matrix{width:100%;border-collapse:separate;border-spacing:0;min-width:930px}.role-policy-matrix th,.role-policy-matrix td{border-bottom:1px solid #e1e8f3;padding:9px 10px;text-align:center;background:#fff}.role-policy-matrix thead th{position:sticky;top:0;z-index:3;background:#245ddb;color:#fff;font-size:.78rem}.role-policy-matrix th:first-child{text-align:left;min-width:320px}.role-policy-matrix tbody th span,.role-policy-matrix tbody th small{display:block}.role-policy-matrix tbody th small{color:#71819a;font-weight:500;margin-top:2px}.role-policy-matrix .role-policy-group th{background:#edf4ff;color:#173f8c;position:sticky;left:0;z-index:2}.role-policy-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.role-policy-toggle input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}.role-policy-toggle span{width:34px;height:19px;border-radius:999px;background:#cbd5e1;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.role-policy-toggle span:after{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .16s ease}.role-policy-toggle input:checked+span{background:#16845b}.role-policy-toggle input:checked+span:after{transform:translateX(15px)}.role-policy-toggle input:focus-visible+span{outline:3px solid #1d4ed8;outline-offset:2px}.role-policy-toggle em{font-style:normal;font-size:.72rem;font-weight:800}.role-policy-toggle.is-unsupported{opacity:.42;cursor:not-allowed}.role-policy-matrix td.is-changed{background:#fff7df}.role-policy-diff{display:block;margin-top:3px;color:#8a5300;font-weight:800}.role-policy-editor-footer{align-items:end}.role-policy-editor-footer>label{flex:1}.role-policy-editor-footer>div,.role-policy-review-actions{display:flex;gap:8px;flex-wrap:wrap}.role-policy-review-layout{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:14px}.role-policy-review-layout nav{display:grid;align-content:start;gap:8px}.role-policy-review-layout nav button{text-align:left;border:1px solid #cbd8ec;background:#fff;border-radius:12px;padding:11px;display:grid;gap:3px;color:#1f2937;cursor:pointer}.role-policy-review-layout nav button.active{border-color:#2563eb;background:#eff6ff}.role-policy-review-layout nav span,.role-policy-review-layout nav small{color:#60718b}.role-policy-review-detail{display:grid;gap:12px;min-width:0}.role-policy-review-detail h3,.role-policy-review-detail p{margin:0}.role-policy-segregation-error{border:1px solid #f1b4b4;background:#fff1f1;color:#a02222;border-radius:10px;padding:11px;font-weight:800}.role-policy-empty{border:1px dashed #b9c9e2;border-radius:13px;text-align:center;padding:30px;color:#52647d}.role-policy-empty p{margin-bottom:0}.btn-action-approve{background:#147a52!important;color:#fff!important;border-color:#147a52!important}@media(max-width:900px){.role-policy-impact{grid-template-columns:repeat(2,minmax(130px,1fr))}.role-policy-review-layout{grid-template-columns:1fr}.role-policy-header,.role-policy-toolbar,.role-policy-editor-footer{align-items:stretch;flex-direction:column}.role-policy-toolbar select{min-width:0;width:100%}.role-policy-editor-footer>div{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.role-policy-toggle span:after{transition:none}}
.role-policy-action-heading{display:grid;justify-items:center;gap:6px;min-width:82px}.role-policy-column-select{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#eaf1ff;font-size:.62rem;font-weight:700;line-height:1.1;white-space:nowrap}.role-policy-column-select input{position:absolute;left:0;top:0;opacity:0;width:1px;height:1px}.role-policy-column-select>span{width:27px;height:15px;flex:0 0 auto;border-radius:999px;background:#a9b9d5;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.role-policy-column-select>span:after{content:"";position:absolute;width:11px;height:11px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .16s ease}.role-policy-column-select input:checked+span{background:#16845b}.role-policy-column-select input:checked+span:after{transform:translateX(12px)}.role-policy-column-select input:indeterminate+span{background:#d39b1e}.role-policy-column-select input:indeterminate+span:after{transform:translateX(6px)}.role-policy-column-select input:focus-visible+span{outline:3px solid #bfdbfe;outline-offset:2px}.role-policy-column-select.is-disabled{opacity:.4;cursor:not-allowed}.role-policy-column-select input:disabled{cursor:not-allowed}
.role-policy-declarative{display:block;margin:3px auto 0;max-width:100%;white-space:normal;text-align:center;font-size:.68rem;font-weight:700;color:#8a5a00;background:#fff4d6;border:1px solid #e6c36a;border-radius:6px;padding:1px 6px;width:max-content}

/* Asignaciones corporativas: formulario por secciones (2026-10-29). */
.role-policy-console .cg-form-sections { display:grid; gap:14px; margin:0 0 18px; }
.role-policy-console .cg-form-section { display:grid; gap:12px; margin:0; padding:14px 16px; border:1px solid #dbeafe; border-radius:12px; background:#fff; min-width:0; }
.role-policy-console .cg-form-section legend { display:flex; align-items:center; gap:8px; padding:0 6px; color:#1e293b; font-size:14px; font-weight:700; }
.role-policy-console .cg-form-step { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:999px; background:#e0e7ff; color:#3730a3; font-size:12px; font-weight:700; }
.role-policy-console .cg-form-section label { display:grid; gap:6px; font-size:13px; color:#334155; }
.role-policy-console .cg-form-section select:disabled { background:#f1f5f9; color:#64748b; }
.role-policy-console .cg-form-hint { margin:0; font-size:12px; color:#64748b; line-height:1.5; }
.role-policy-console .cg-form-status { margin:0; padding:10px 12px; border-radius:10px; font-size:13px; line-height:1.5; border:1px solid #bfdbfe; background:#eff6ff; color:#1e3a8a; }
.role-policy-console .cg-form-status[data-kind="error"] { border-color:#fecaca; background:#fef2f2; color:#991b1b; }
.role-policy-console .cg-form-status[data-kind="success"] { border-color:#bbf7d0; background:#f0fdf4; color:#166534; }
.role-policy-console .cg-plan-dates { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; margin:0; }
.role-policy-console .cg-plan-dates div { padding:8px 10px; border-radius:10px; background:#f8fafc; border:1px solid #e2e8f0; }
.role-policy-console .cg-plan-dates dt { font-size:11px; color:#64748b; text-transform:uppercase; letter-spacing:.04em; }
.role-policy-console .cg-plan-dates dd { margin:2px 0 0; font-size:13px; font-weight:600; color:#0f172a; }
@media (max-width:640px) { .role-policy-console .cg-form-section { padding:12px; } }
