.ls-overlay {
    position: fixed; inset: 0; background: rgba(15, 23, 42, 0.55);
    display: flex; align-items: center; justify-content: center; z-index: 9000;
    padding: 20px;
}
.ls-modal {
    background: #fff; border-radius: 14px; max-width: 720px; width: 100%;
    max-height: 90vh; display: flex; flex-direction: column;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2); overflow: hidden;
}
.ls-modal-header {
    padding: 16px 22px; border-bottom: 1px solid #e2e8f0;
    display: flex; justify-content: space-between; align-items: center;
}
.ls-modal-header h2 { margin: 0; font-size: 1.1rem; color: #0f172a; }
.ls-modal-header .ls-close {
    background: #f1f5f9; border: none; width: 32px; height: 32px;
    border-radius: 50%; font-size: 1.1rem; cursor: pointer; color: #475569;
}
.ls-modal-body { padding: 18px 22px; overflow-y: auto; flex: 1; }
.ls-tabs { display: flex; gap: 4px; border-bottom: 2px solid #e2e8f0; margin-bottom: 1rem; }
.ls-tabs button {
    background: transparent; border: none; padding: 10px 16px;
    font-size: 0.9rem; font-weight: 600; color: #64748b; cursor: pointer;
    border-bottom: 3px solid transparent; margin-bottom: -2px;
}
.ls-tabs button.active { color: #CA3C42; border-bottom-color: #CA3C42; }
.ls-panel { display: none; }
.ls-panel.active { display: block; }
.ls-search {
    width: 100%; padding: 10px 12px; border: 1px solid #cbd5e1;
    border-radius: 8px; font-size: 0.9rem; margin-bottom: 10px;
}
.ls-users-list {
    max-height: 320px; overflow-y: auto; border: 1px solid #e2e8f0;
    border-radius: 8px; padding: 6px;
}
.ls-user-row {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 0.85rem;
}
.ls-user-row:hover { background: #f8fafc; }
.ls-user-row.selected { background: #fee2e2; }
.ls-user-row input { margin: 0; }
.ls-user-row .u-name { flex: 1; font-weight: 600; color: #0f172a; }
.ls-user-row .u-email { color: #64748b; font-size: 0.78rem; }
.ls-user-row .u-cargo { color: #94a3b8; font-size: 0.72rem; }
.ls-textarea {
    width: 100%; min-height: 160px; padding: 10px 12px;
    border: 1px solid #cbd5e1; border-radius: 8px; font-family: inherit; font-size: 0.85rem;
    resize: vertical;
}
.ls-file-input { margin-bottom: 10px; }
.ls-hint { font-size: 0.78rem; color: #64748b; margin-bottom: 10px; }
.ls-hint code { background: #f1f5f9; padding: 2px 6px; border-radius: 4px; font-family: monospace; }
.ls-summary {
    background: #fef3c7; border-left: 3px solid #f59e0b;
    padding: 10px 14px; border-radius: 6px; font-size: 0.85rem; color: #78350f;
    margin: 10px 0;
}
.ls-modal-footer {
    padding: 14px 22px; border-top: 1px solid #e2e8f0;
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
}
.ls-btn-primary {
    background: #CA3C42; color: #fff; border: none; padding: 10px 20px;
    border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 0.9rem;
}
.ls-btn-primary:disabled { background: #cbd5e1; cursor: not-allowed; }
.ls-btn-secondary {
    background: #f1f5f9; color: #475569; border: none; padding: 10px 18px;
    border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 0.9rem;
}
.ls-selected-count { color: #475569; font-size: 0.85rem; }
@media (max-width: 640px) {
    .ls-modal { max-height: 100vh; border-radius: 0; }
    .ls-overlay { padding: 0; }
}
