.dm-root { display:flex; flex-direction:column; height:100%; overflow-y:auto; background:#f0f4ff; font-family:'Inter','Geist','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; padding:32px 36px; gap:24px; }
.dm-header { display:flex; align-items:center; justify-content:space-between; }
.dm-title { font-size:34px; font-weight:800; color:#0f172a; }
.dm-subtitle { font-size:20px; font-weight:500; color:#334155; }

.dm-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.dm-stat-card { display:flex; align-items:center; gap:14px; background:white; border-radius:18px; padding:14px 18px; border:1px solid #e2e8f0; }
.dm-stat-icon { width:42px; height:42px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:22px; }
.dm-stat-body { display:flex; flex-direction:column; }
.dm-stat-blue .dm-stat-icon { background:#eff6ff; color:#1a56db; }
.dm-stat-green .dm-stat-icon { background:#f0fdf4; color:#16a34a; }
.dm-stat-purple .dm-stat-icon { background:#f5f3ff; color:#7c3aed; }
.dm-stat-orange .dm-stat-icon { background:#fff7ed; color:#f97316; }
.dm-stat-value { font-size:28px; font-weight:900; color:#0f172a; line-height:1; }
.dm-stat-label { font-size:13px; font-weight:600; color:#475569; margin-top:4px; }
.dm-stat-sub { font-size:13px; font-weight:500; color:#64748b; }

.dm-card { background:white; border-radius:14px; padding:16px 20px; border:1px solid #e2e8f0; }
.dm-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.dm-card-title { font-size:13px; font-weight:800; color:#0f172a; text-transform:uppercase; letter-spacing:.5px; }
.dm-search-wrap { position:relative; display:flex; align-items:center; }
.dm-search-icon { position:absolute; left:16px; color:#94a3b8; pointer-events:none; }
.dm-search { border:1.5px solid #e2e8f0; border-radius:10px; padding:13px 16px 13px 42px; font-size:18px; font-weight:500; color:#0f172a; outline:none; width:300px; }
.dm-search::placeholder { color:#94a3b8; font-weight:400; }
.dm-search:focus { border-color:#1a56db; }

.dm-table-wrap { overflow-x:auto; }
.dm-table { width:100%; border-collapse:collapse; font-size:15px; }
.dm-table th { font-size:12px; font-weight:800; color:#64748b; text-transform:uppercase; letter-spacing:.5px; padding:10px 14px; border-bottom:2px solid #f1f5f9; text-align:left; }
.dm-table td { padding:10px 14px; border-bottom:1px solid #f8fafc; font-weight:500; color:#1e293b; vertical-align:middle; }
.dm-table tr:last-child td { border-bottom:none; }
.dm-table tr:hover td { background:#fafbff; }
.dm-doc-cell { display:flex; align-items:center; gap:10px; }
.dm-avatar { width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#1a56db,#6366f1); color:white; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0; }
.dm-doc-name { font-size:15px; font-weight:700; color:#1e293b; }
.dm-doc-meta { font-size:13px; font-weight:500; color:#64748b; }
.dm-phone,.dm-clinic { font-size:15px; font-weight:500; color:#334155; }
.dm-commission { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:700; color:#1e293b; }
.dm-commission-type { font-size:12px; font-weight:600; color:#64748b; background:#f1f5f9; padding:3px 10px; border-radius:5px; }
.dm-ref-stats { display:flex; flex-direction:column; gap:2px; }
.dm-ref-count { font-size:18px; font-weight:700; color:#1a56db; }
.dm-ref-rev { font-size:15px; font-weight:500; color:#475569; }
.dm-status-badge { font-size:15px; font-weight:700; padding:5px 16px; border-radius:20px; }
.dm-active { background:#dcfce7; color:#16a34a; }
.dm-inactive { background:#f1f5f9; color:#94a3b8; }
.dm-actions { display:flex; gap:10px; }
.dm-icon-btn { width:42px; height:42px; border-radius:9px; border:1.5px solid #e2e8f0; background:white; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:17px; }
.dm-edit:hover { background:#eff6ff; color:#1a56db; border-color:#93c5fd; }
.dm-commission:hover { background:#f5f3ff; color:#7c3aed; border-color:#c4b5fd; }
.dm-toggle:hover { background:#f0fdf4; color:#16a34a; border-color:#86efac; }
.dm-loading,.dm-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:48px; color:#475569; font-size:17px; font-weight:500; gap:8px; }

.dm-overlay { position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:9998; backdrop-filter:blur(2px); }
.dm-panel { position:fixed; top:0; right:0; height:100dvh; width:480px; max-width:100vw; background:white; z-index:9999; box-shadow:-8px 0 40px rgba(0,0,0,.15); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .25s ease; }
.dm-panel-open { transform:translateX(0); }
.dm-panel-header { display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid #f1f5f9; }
.dm-panel-title { font-size:20px; font-weight:800; color:#0f172a; }
.dm-panel-close { width:38px; height:38px; border-radius:10px; border:1.5px solid #e2e8f0; background:white; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#64748b; font-size:18px; }
.dm-panel-close:hover { background:#fef2f2; border-color:#fca5a5; color:#dc2626; }
.dm-panel-body { flex:1; overflow-y:auto; padding:18px 24px; display:flex; flex-direction:column; gap:14px; }
.dm-panel-footer { display:flex; gap:14px; padding-top:10px; margin-top:auto; }
.dm-form-group { display:flex; flex-direction:column; gap:8px; }
.dm-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dm-label { font-size:14px; font-weight:700; color:#374151; }
.dm-input { border:1.5px solid #e2e8f0; border-radius:10px; padding:12px 14px; font-size:15px; font-weight:500; color:#0f172a; outline:none; width:100%; box-sizing:border-box; }
.dm-input::placeholder { color:#94a3b8; font-weight:400; }
.dm-input:focus { border-color:#1a56db; box-shadow:0 0 0 3px rgba(26,86,219,.08); }
.dm-toggle-group { flex-direction:row; align-items:center; justify-content:space-between; }
.dm-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}
.dm-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}
.dm-slider {
    position: relative;
    width: 50px;
    height: 26px;
    background-color: #cbd5e1;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 100px;
}
.dm-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
input:checked + .dm-slider {
    background-color: #10b981;
}
input:focus + .dm-slider {
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}
input:checked + .dm-slider:before {
    transform: translateX(24px);
}
.dm-switch-label { font-size:17px; font-weight:600; color:#475569; }
.dm-form-error { background:#fef2f2; border:1px solid #fca5a5; border-radius:10px; padding:14px 18px; font-size:16px; font-weight:500; color:#dc2626; }
.dm-add-btn { 
    background: linear-gradient(135deg, #2563eb, #1d4ed8); 
    color: white !important; 
    border: none; 
    border-radius: 12px; 
    font-size: 16px; 
    font-weight: 700; 
    padding: 12px 24px; 
    cursor: pointer; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    gap: 8px; 
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.dm-add-btn:hover { 
    background: linear-gradient(135deg, #1d4ed8, #1e40af); 
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.dm-add-btn:active { 
    transform: translateY(1px);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
}

.dm-import-btn { 
    background: rgba(255, 255, 255, 0.85); 
    color: #2563eb !important; 
    border: 1.5px solid rgba(37, 99, 235, 0.4); 
    border-radius: 12px; 
    font-size: 16px; 
    font-weight: 700; 
    padding: 12px 24px; 
    cursor: pointer; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    gap: 8px; 
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}
.dm-import-btn:hover:not(:disabled) { 
    background: #eff6ff; 
    border-color: #2563eb;
    color: #1d4ed8 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.15);
}
.dm-import-btn:active:not(:disabled) { 
    transform: translateY(1px);
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.05);
}
.dm-import-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #94a3b8 !important;
}

.dm-save-btn { 
    flex: 1; 
    background: linear-gradient(135deg, #10b981, #059669); 
    color: white !important; 
    border: none; 
    border-radius: 12px; 
    font-size: 16px; 
    font-weight: 700; 
    padding: 14px 28px; 
    cursor: pointer; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    gap: 8px; 
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.dm-save-btn:hover:not(:disabled) { 
    background: linear-gradient(135deg, #059669, #047857); 
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
}
.dm-save-btn:active:not(:disabled) { 
    transform: translateY(1px);
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
}
.dm-save-btn:disabled { 
    opacity: .6; 
    cursor: not-allowed; 
}

.dm-cancel-btn { 
    padding: 14px 28px; 
    border: 1.5px solid #e2e8f0; 
    border-radius: 12px; 
    background: white; 
    font-size: 16px; 
    font-weight: 600; 
    color: #64748b; 
    cursor: pointer; 
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.dm-cancel-btn:hover { 
    background: #f8fafc; 
    border-color: #cbd5e1;
    color: #334155;
    transform: translateY(-2px);
}
.dm-cancel-btn:active { 
    transform: translateY(1px);
}

.dm-delete-btn { 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    padding: 14px 24px; 
    border: 1.5px solid #fca5a5; 
    border-radius: 12px; 
    background: #fef2f2; 
    font-size: 16px; 
    font-weight: 700; 
    color: #dc2626; 
    cursor: pointer; 
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.dm-delete-btn:hover:not(:disabled) { 
    background: #fee2e2; 
    border-color: #f87171; 
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.1);
}
.dm-delete-btn:active:not(:disabled) { 
    transform: translateY(1px);
}
.dm-delete-btn:disabled { 
    opacity: .5; 
    cursor: not-allowed; 
}

.dm-confirm-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:10001; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(6px); }
.dm-confirm-box { background:white; border-radius:20px; padding:0; max-width:460px; width:92%; text-align:center; overflow:hidden; box-shadow:0 25px 80px rgba(0,0,0,.25), 0 8px 30px rgba(0,0,0,.15); border:1px solid rgba(255,255,255,.8); }
.dm-confirm-icon { width:100%; padding:28px 40px 0; font-size:2.8rem; background:linear-gradient(135deg,#fef2f2,#fff7ed); color:#dc2626; box-sizing:border-box; }
.dm-confirm-title { font-size:22px; font-weight:800; color:#0f172a; margin:20px 36px 10px; }
.dm-confirm-msg { font-size:15px; font-weight:500; color:#475569; line-height:1.6; margin:0 36px 24px; }
.dm-confirm-msg strong { color:#dc2626; }
.dm-confirm-actions { display:flex; gap:12px; justify-content:center; padding:0 36px 28px; }
.dm-confirm-cancel { padding:14px 32px; border:1.5px solid #e2e8f0; border-radius:10px; background:white; font-size:18px; font-weight:600; color:#64748b; cursor:pointer; }
.dm-confirm-cancel:hover { background:#f8fafc; }
.dm-confirm-delete { padding:14px 32px; border:none; border-radius:10px; background:linear-gradient(135deg,#dc2626,#b91c1c); color:white; font-size:18px; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:8px; }
.dm-confirm-delete:disabled { opacity:.6; cursor:not-allowed; }

.dm-spec-drop { position:absolute; top:100%; left:0; right:0; background:white; border:1.5px solid #e2e8f0; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:300; max-height:260px; overflow-y:auto; margin-top:2px; }
.dm-spec-item { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; font-size:16px; font-weight:500; color:#1e293b; cursor:pointer; }
.dm-spec-item:hover { background:#eff6ff; }
.dm-spec-custom { color:#7c3aed; font-weight:600; }
.dm-spec-del { background:none; border:none; color:#ef4444; font-size:14px; cursor:pointer; padding:4px 8px; border-radius:4px; }
.dm-spec-del:hover { background:#fef2f2; }
.dm-spec-add { padding:12px 16px; font-size:16px; color:#1a56db; font-weight:700; cursor:pointer; border-top:1px solid #f1f5f9; }
.dm-spec-add:hover { background:#eff6ff; }
