.security-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:22px;background:linear-gradient(118deg,#071f3b 0%,#0c5689 58%,#13afc9 120%);color:#fff;box-shadow:0 18px 45px rgba(8,46,82,.18)}
.security-hero h1{margin:7px 0 5px;font-size:31px}.security-hero p{margin:0;color:#d3e8f3;font-size:12px}.security-hero-actions{display:flex;align-items:center;gap:12px}.security-live{font-size:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08)}.security-live i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#3be397;box-shadow:0 0 0 4px rgba(59,227,151,.12)}.security-create{background:#fff!important;color:#0b527f!important;box-shadow:none!important}
.security-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.security-kpis article{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e5edf5;border-radius:16px;padding:15px 17px;box-shadow:0 8px 24px rgba(13,49,82,.05)}.security-kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#e7f6ff,#e9edff);color:#176fca;font-weight:900}.security-kpis small,.security-kpis strong,.security-kpis em{display:block}.security-kpis small{font-size:9px;color:#718398}.security-kpis strong{font-size:21px;margin:2px 0}.security-kpis em{font-style:normal;font-size:8px;color:#91a0af}
.security-center-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:15px;align-items:start}.security-role-catalog,.security-permission-workspace{background:#fff;border:1px solid #e4ebf3;border-radius:19px;box-shadow:0 8px 28px rgba(14,43,71,.06)}.security-role-catalog{padding:17px;position:sticky;top:88px;max-height:calc(100vh - 105px);overflow:auto}.security-section-title{display:flex;justify-content:space-between;align-items:center}.security-section-title h2{font-size:18px;margin:4px 0 12px}.catalog-count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:10px;background:#eef6fd;color:#236aab;font-size:10px;font-weight:800}.security-field{display:grid;gap:6px;font-size:9px;font-weight:800;color:#64768a}.security-field select{padding:11px;border:1px solid #dae5ef;border-radius:11px;background:#fff}.security-search{display:flex;align-items:center;gap:8px;background:#f5f8fb;border:1px solid #e0e8f0;border-radius:11px;padding:9px 11px;margin:11px 0}.security-search input{border:0;background:transparent;outline:0;width:100%;font-size:10px}.security-role-list{display:grid;gap:7px}.security-role-card{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:13px;background:#fff;text-align:left;cursor:pointer}.security-role-card:hover,.security-role-card.selected{background:#edf7ff;border-color:#c7e3fa}.security-role-card.system-admin{background:linear-gradient(135deg,#f0ebff,#eaf8ff)}.security-role-symbol{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#e7f2ff;color:#1767b3;font-weight:900;font-size:10px}.system-admin .security-role-symbol{background:linear-gradient(145deg,#7647e9,#1c9cda);color:#fff}.security-role-copy{min-width:0;flex:1}.security-role-copy strong,.security-role-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.security-role-copy strong{font-size:10px}.security-role-copy small{font-size:7.5px;color:#8495a7;margin-top:3px}.security-role-state{font-size:7.5px;font-weight:800;padding:5px 7px;border-radius:999px}.security-role-state.active{background:#def8ea;color:#0c8348}.security-role-state.passive{background:#edf0f4;color:#718092}.system-admin .security-role-state{background:#eee8ff;color:#7044cf}
.security-permission-workspace{min-height:650px;overflow:hidden}.security-role-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e7edf4}.security-role-header h2{font-size:21px;margin:5px 0}.security-role-header p{margin:0;color:#8493a5;font-size:9px}.admin-lock{display:inline-flex;align-items:center;padding:9px 11px;border-radius:10px;background:#f0ebff;color:#6c42c7;font-size:9px;font-weight:800}.security-switch{display:flex;align-items:center;gap:7px;font-size:9px}.security-switch input{display:none}.security-switch span{width:34px;height:19px;border-radius:999px;background:#cbd5df;position:relative}.security-switch span:after{content:"";position:absolute;width:13px;height:13px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.security-switch input:checked+span{background:#22bd78}.security-switch input:checked+span:after{transform:translateX(15px)}.security-tabs{display:flex;gap:4px;padding:10px 20px 0;border-bottom:1px solid #e7edf4}.security-tabs button{border:0;background:transparent;padding:11px 13px;color:#687b90;font-size:9px;font-weight:800;border-bottom:2px solid transparent;cursor:pointer}.security-tabs button.active{color:#136cca;border-bottom-color:#1f7adb}.security-toolbar{display:flex;gap:9px;align-items:center;padding:13px 20px 0}.security-toolbar .security-search{margin:0;flex:1}.security-action-legend{display:flex;gap:10px;flex-wrap:wrap;margin:12px 20px;padding:9px 11px;border-radius:11px;background:#f4f8fc;font-size:9px;color:#566c81}.security-action-legend b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 4px;margin-right:3px;border-radius:6px;background:#dff1ff;color:#075d9e}.security-matrix{padding:0 20px 82px;display:grid;gap:8px}.security-module{border:1px solid #dce6ef;border-radius:12px;overflow:hidden}.security-module-head{display:grid;grid-template-columns:20px 30px 1fr auto auto;align-items:center;gap:8px;width:100%;padding:11px 13px;border:0;background:#f3f8fc;text-align:left;cursor:pointer;color:#173550}.security-module-head strong{font-size:11px}.security-module-head em{font-size:8px;font-style:normal;color:#8091a3}.module-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e2f1ff;color:#1769b5;font-size:8px;font-weight:900}.module-progress{font-size:8px;padding:5px 7px;border-radius:999px;background:#fff;color:#557086;border:1px solid #dce7f0}.security-matrix-head,.security-matrix-row{display:grid;grid-template-columns:minmax(230px,1fr) repeat(8,46px);align-items:center}.security-matrix-head{padding:8px 12px;background:#fff;color:#718295;font-size:8px;font-weight:800;border-top:1px solid #e7edf4}.security-matrix-head b{text-align:center}.security-matrix-row{padding:9px 12px;border-top:1px solid #edf1f5}.security-matrix-row>div strong,.security-matrix-row>div small{display:block}.security-matrix-row>div strong{font-size:9px}.security-matrix-row>div small{font-size:7.5px;color:#8a99a8;margin-top:2px}.security-check{display:grid;place-items:center}.security-check input{display:none}.security-check span{width:23px;height:23px;display:grid;place-items:center;border:1px solid #d8e2ec;border-radius:7px;color:transparent;background:#fff;font-size:9px}.security-check input:checked+span{background:#1674d5;border-color:#1674d5;color:#fff}.security-check.unavailable span{background:#f2f4f7;border-color:#edf0f3}.security-check.locked input:checked+span{background:#7a4edf;border-color:#7a4edf}.security-savebar{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:13px 20px;background:rgba(255,255,255,.96);border-top:1px solid #e4ebf2;backdrop-filter:blur(8px)}.security-permission-workspace{position:relative}.security-savebar b,.security-savebar small{display:block}.security-savebar b{font-size:9px}.security-savebar small{font-size:8px;color:#8796a5;margin-top:2px}.security-savebar button:disabled{opacity:.55;cursor:not-allowed}.security-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px}.security-summary-grid article{padding:15px;border:1px solid #e4ebf2;border-radius:13px;background:#f8fafc}.security-summary-grid small,.security-summary-grid strong{display:block}.security-summary-grid small{font-size:8px;color:#7e8fa0}.security-summary-grid strong{margin-top:7px;font-size:11px}.security-info-banner{grid-column:1/-1;padding:15px;border:1px solid #cfe6f8;border-radius:13px;background:#eff8ff}.security-info-banner b{font-size:10px}.security-info-banner p{font-size:9px;color:#60768a;margin:5px 0 0;line-height:1.6}.security-info-banner.compact{margin-top:14px}.security-empty{display:grid;place-items:center;text-align:center;padding:100px 20px}.security-empty>span{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#eaf4fe;color:#176bbd}.security-empty h2{margin:13px 0 4px}.security-empty p{font-size:10px;color:#8493a5}
@media(max-width:1150px){.security-center-grid{grid-template-columns:280px minmax(0,1fr)}.security-matrix-head,.security-matrix-row{grid-template-columns:minmax(190px,1fr) repeat(8,39px)}}@media(max-width:900px){.security-kpis{grid-template-columns:repeat(2,1fr)}.security-center-grid{grid-template-columns:1fr}.security-role-catalog{position:static;max-height:none}.security-summary-grid{grid-template-columns:repeat(2,1fr)}}

.security-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.security-tabs button{border:1px solid var(--border-color,#dbe3ef);background:#fff;padding:9px 14px;border-radius:10px;font-weight:700;cursor:pointer}.security-tabs button.active{background:#102a56;color:#fff;border-color:#102a56}.security-summary-list{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:14px;margin-top:18px}.security-summary-list div{padding:18px;border:1px solid #e3e9f2;border-radius:14px;background:#f8fafc}.security-summary-list strong{display:block;font-size:28px}.security-summary-list span,.block-muted{display:block;color:#64748b;font-size:12px;margin-top:4px}@media(max-width:900px){.security-summary-list{grid-template-columns:repeat(2,1fr)}}

/* Sprint 18.1 enterprise RBAC readability and governance states */
.security-role-copy em{display:block;margin-top:3px;color:#6f8295;font-size:9px;font-style:normal}.role-scope-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:0 0 11px;padding:3px;border-radius:10px;background:#eef3f8}.role-scope-filter button{padding:7px 5px;border:0;border-radius:8px;background:transparent;color:#718397;font-size:10px;font-weight:800;cursor:pointer}.role-scope-filter button.active{background:#fff;color:#176cba;box-shadow:0 2px 7px rgba(19,53,84,.09)}
.role-policy-chips{display:flex;gap:6px;margin-top:9px}.role-policy-chips span{padding:5px 8px;border-radius:999px;background:#edf5fc;color:#426b8e;font-size:9px;font-weight:800}
.security-role-copy strong{font-size:12px}.security-role-copy small{font-size:9px}.security-role-state{font-size:9px}.security-field,.security-search input{font-size:11px}.security-role-header p,.admin-lock,.security-switch{font-size:11px}.security-module-head strong{font-size:12px}.security-module-head em,.module-progress{font-size:9px}.security-matrix-head{font-size:9px}.security-matrix-row>div strong{font-size:11px}.security-matrix-row>div small{font-size:9px}.security-savebar b{font-size:11px}.security-savebar small{font-size:9px}.security-info-banner b{font-size:11px}.security-info-banner p{font-size:10px}

/* Sprint 27.1 - User-centric Permission Engine */
.user-permission-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}
.permission-legend{display:flex;gap:12px;align-items:center;padding:10px 14px;margin:0 0 14px}.legend{border-radius:999px;padding:5px 10px;font-size:.76rem;font-weight:800}.legend.role{background:#e7eef8;color:#23405f}.legend.allow,.user-decision-group .allow{background:#dff8eb;color:#087347}.legend.deny,.user-decision-group .deny{background:#ffe4e7;color:#a51d32}.legend.none,.user-decision-group .inherit{background:#edf2f8;color:#52677d}.user-decision-group{display:flex;gap:6px;margin-left:auto}.user-decision-group button{border:1px solid #ccd8e6;background:#fff;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.user-decision-group button.active{box-shadow:0 0 0 2px #1688ff33;border-color:#1688ff}.user-decision-group button:disabled{opacity:.55;cursor:not-allowed}.theme-yunus-one-dark .user-decision-group button{background:#102744;color:#dcecff;border-color:#285179}.theme-yunus-one-dark .permission-legend{background:#0d213d!important}
