.fx-profiles-page{display:flex;flex-direction:column;gap:6px;min-height:0}
.fx-profiles-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:2px}
.fx-profiles-page-head h1{margin:0;font-size:23px;font-weight:600;line-height:1.12;letter-spacing:0;color:var(--fx-text,#18313d)}
.fx-profiles-page-head p{margin:1px 0 0;color:var(--fx-muted,#687985);font-size:12px;line-height:1.25}
.fx-profiles-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.fx-profiles-actions .btn{min-height:31px;padding:6px 10px;border-radius:4px;font-size:11px;font-weight:650;letter-spacing:0;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.fx-profiles-actions .btn span{font-weight:800;line-height:1}
.fx-profiles-grid{display:grid;grid-template-columns:minmax(330px,32%) minmax(0,68%);gap:12px;min-height:560px}
.fx-profiles-panel{border:1px solid var(--fx-line,#dbe7ea);border-radius:6px;background:var(--fx-surface,#fff);box-shadow:0 3px 10px rgba(20,33,44,.045);min-width:0;overflow:hidden}
.fx-profiles-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;border-bottom:1px solid var(--fx-line,#dbe7ea);background:var(--fx-soft,#f4f9fa)}
.fx-profiles-panel-head h2{margin:0;font-size:12.5px;font-weight:700;color:var(--fx-blue,#1f5d78)}
.fx-profiles-count{font-size:10.5px;color:var(--fx-muted,#687985);white-space:nowrap}
.fx-profiles-search{padding:8px 10px;border-bottom:1px solid var(--fx-line,#dbe7ea)}
.fx-profiles-search input,.fx-profile-field input,.fx-profile-field select,.fx-profile-field textarea,.fx-profile-subsystem{width:100%;border:1px solid var(--fx-line,#dbe7ea);border-radius:4px;background:#fbfefe;color:var(--fx-text,#18313d);font:inherit;font-size:12px;line-height:1.25;padding:5px 8px;box-sizing:border-box}
.fx-profile-field textarea{min-height:28px;resize:vertical}
.fx-profiles-table-wrap{overflow:auto;max-height:492px}
.fx-profiles-table{width:100%;border-collapse:collapse;font-size:11.5px;table-layout:fixed}
.fx-profile-col-code{width:54px}.fx-profile-col-name{width:30%}.fx-profile-col-desc{width:auto}.fx-profile-col-status{width:70px}.fx-profile-col-default{width:62px}
.fx-profiles-table th{position:sticky;top:0;background:var(--fx-soft,#f4f9fa);color:var(--fx-blue,#1f5d78);font-size:10px;text-align:left;padding:7px 8px;border-bottom:1px solid var(--fx-line,#dbe7ea);z-index:1}
.fx-profiles-table td{padding:7px 8px;border-bottom:1px solid #e3eef0;vertical-align:middle}
.fx-profiles-table tr{cursor:pointer}
.fx-profiles-table tr:hover td{background:#f7fcfc}
.fx-profiles-table tr.is-selected td{background:#e5f4f7;border-bottom-color:#c8e5eb}
.fx-profiles-code{font-weight:700;color:#23495a}
.fx-profiles-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fx-muted,#687985)}
.fx-profile-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:700}
.fx-profile-badge.ok{background:#eaf8ef;color:#28784e}.fx-profile-badge.off{background:#f3f5f6;color:#6d7b82}.fx-profile-badge.info{background:#e6f9fb;color:#167486}
.fx-profile-list-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#fbfefe;border-top:1px solid var(--fx-line,#dbe7ea)}
.fx-profile-form{display:grid;grid-template-columns:92px minmax(210px,1fr) 128px;gap:5px;padding:5px 10px 4px;border-bottom:1px solid var(--fx-line,#dbe7ea)}
.fx-profile-field{display:flex;flex-direction:column;gap:3px;min-width:0}
.fx-profile-field.full{grid-column:1/-1}
.fx-profile-field span,.fx-profile-subsystem-field span{font-size:10px;font-weight:700;color:var(--fx-muted,#687985);text-transform:uppercase}
.fx-profile-checks{display:flex;align-items:center;gap:16px;padding:4px 10px;border-bottom:1px solid var(--fx-line,#dbe7ea);font-size:12px}
.fx-profile-checks label{display:flex;align-items:center;gap:7px;color:var(--fx-text,#18313d)}
.fx-profile-checks input{width:15px;height:15px}
.fx-profile-permission-head{display:flex;align-items:flex-end;gap:8px;padding:4px 10px 3px;border-bottom:0;background:#fff}
.fx-profile-subsystem-field{display:flex;flex-direction:column;gap:3px;min-width:280px;width:min(420px,52%)}
.fx-profile-mode{margin-left:auto;padding-bottom:4px;color:var(--fx-muted,#687985);font-size:11px}
.fx-profile-permissions-title{padding:0 10px 4px;color:var(--fx-blue,#1f5d78);font-size:12px;font-weight:700;border-bottom:1px solid var(--fx-line,#dbe7ea)}
.fx-permission-matrix{overflow:auto;max-height:375px}
.fx-permission-table{width:100%;border-collapse:collapse;font-size:11.5px;table-layout:fixed}
.fx-permission-table th{position:sticky;top:0;background:#f4f9fa;color:#1f5d78;font-size:9.5px;padding:6px 5px;border-bottom:1px solid #dbe7ea;z-index:1;text-align:center}
.fx-permission-table th:first-child{text-align:left;width:34%;min-width:220px}
.fx-permission-table td{border-bottom:1px solid #e3eef0;padding:6px 5px;text-align:center}
.fx-permission-table td:first-child{text-align:left}
.fx-permission-menu td{background:#f8fbfc;font-weight:700;color:#23495a}
.fx-permission-name{font-weight:600;color:#203844}
.fx-permission-name small{display:block;font-size:9.5px;font-weight:500;color:#687985;margin-top:1px}
.fx-permission-table input[type="checkbox"]{width:14px;height:14px;margin:0}
.fx-permission-disabled{display:inline-block;width:14px;height:14px;border-radius:3px;background:repeating-linear-gradient(135deg,#eef3f4 0,#eef3f4 3px,#dce7ea 3px,#dce7ea 6px);border:1px solid #d7e2e5;vertical-align:middle}
.fx-profile-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;background:#fbfefe;border-top:1px solid var(--fx-line,#dbe7ea)}
.fx-profile-footer .btn{min-height:29px;padding:6px 10px;border-radius:4px;font-size:11px}
.fx-profile-message{font-size:12px;color:var(--fx-muted,#687985)}
.fx-profile-message.error{color:#a9404d}
.fx-profile-empty{padding:24px;text-align:center;color:var(--fx-muted,#687985);font-size:12px}
@media(max-width:1180px){.fx-profiles-grid{grid-template-columns:1fr}.fx-profiles-table-wrap,.fx-permission-matrix{max-height:none}.fx-profile-form{grid-template-columns:1fr 1fr}.fx-profile-subsystem-field{width:100%}}
