.isw-fam-overlay { display:none; position:fixed !important; inset:0; background:rgba(0,0,0,0.5); z-index:94000 !important; }
.isw-fam-overlay.open { display:block; }
.isw-fam-modal { display:none; position:fixed !important; top:18vh; left:28vw; width:44vw; height:58vh; background:#fff; z-index:94001 !important; flex-direction:column; font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:13px; overflow:hidden; box-shadow:0 8px 40px rgba(0,0,0,0.35); }
.isw-fam-modal.open { display:flex !important; }

.isw-fam-header { display:flex; align-items:center; gap:8px; padding:7px 14px; background:#8E44AD; color:#fff; flex-shrink:0; min-height:38px; }
.isw-fam-header-title { font-size:14px; font-weight:700; }
.isw-fam-counter { font-size:12px; opacity:0.8; }
.isw-fam-hclose { background:transparent; border:none; color:#fff; font-size:20px; cursor:pointer; width:32px; height:32px; display:flex; align-items:center; justify-content:center; }

.isw-fam-add-bar { display:flex; gap:6px; padding:8px 14px; background:#f4f0f7; border-bottom:1px solid #ddd; flex-shrink:0; }
.isw-fam-input { flex:1; padding:5px 8px; border:1px solid #ccc; font-size:13px; font-family:inherit; }
.isw-fam-input:focus { outline:none; border-color:#8E44AD; box-shadow:0 0 0 2px rgba(142,68,173,0.15); }
.isw-fam-btn { padding:5px 12px; font-size:12px; font-weight:700; border:none; cursor:pointer; color:#fff; display:inline-flex; align-items:center; gap:4px; }
.isw-fam-btn.green { background:#8E44AD; }
.isw-fam-btn.green:hover { background:#7D3C98; }

.isw-fam-body { flex:1; overflow-y:auto; padding:0; }
.isw-fam-empty { text-align:center; padding:40px; color:#999; font-size:14px; }
.isw-fam-empty i { display:block; font-size:28px; margin-bottom:8px; color:#ccc; }

.isw-fam-table { width:100%; border-collapse:collapse; }
.isw-fam-table th { background:#f0eaf4; padding:6px 10px; text-align:left; font-size:11px; font-weight:700; text-transform:uppercase; color:#6c3483; border-bottom:2px solid #d2b4de; position:sticky; top:0; }
.isw-fam-table td { padding:6px 10px; border-bottom:1px solid #f0f0f0; }
.isw-fam-table tr:hover { background:#faf5ff; }
.isw-fam-num { color:#999; font-size:11px; text-align:center; }
.isw-fam-name { cursor:pointer; font-weight:600; color:#2c3e50; font-size:13px; }
.isw-fam-name:hover { color:#8E44AD; text-decoration:underline; }
.isw-fam-edit-input { width:100%; padding:3px 6px; border:1px solid #8E44AD; font-size:13px; font-family:inherit; box-sizing:border-box; }
.isw-fam-prod-count { text-align:center; font-weight:600; color:#555; }
.isw-fam-del { background:none; border:none; color:#ccc; cursor:pointer; font-size:13px; padding:3px; }
.isw-fam-del:hover { color:#e74c3c; }

.isw-fam-footer { display:flex; align-items:center; gap:6px; padding:6px 14px; background:#8E44AD; color:rgba(255,255,255,0.7); font-size:11px; flex-shrink:0; }
