.action-btn-group{flex-shrink:0;gap:8px;display:flex}.action-btn{cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.action-btn-approve{background:var(--color-green-500);color:var(--color-text-inverse);border:none}.action-btn-reschedule{background:var(--color-blue-500);color:var(--color-text-inverse)}.btn-outline-danger{color:var(--color-red-500);border:1px solid var(--color-red-500);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.btn-outline-danger:hover{background:var(--color-error-soft)}.btn-outline-primary{color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.btn-outline-primary:hover{background:var(--color-info-faint)}.status-badge{border-radius:10px;justify-content:center;align-items:center;width:fit-content;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.status-badge[data-status=confirmed],.status-badge[data-status=completed]{background:var(--color-green-100);color:var(--color-green-600)}.status-badge[data-status=pending],.status-badge[data-status=pending_admin],.status-badge[data-status=pending_doctor]{background:var(--color-amber-100);color:var(--color-amber-600)}.status-badge[data-status=cancelled],.status-badge[data-status=rejected]{background:var(--color-red-100);color:var(--color-red-600)}.status-badge[data-status=rescheduled],.status-badge[data-status=reschedule_pending]{background:var(--color-blue-100);color:var(--color-blue-600)}.status-badge[data-status=default]{background:var(--color-gray-100);color:var(--color-gray-500)}.role-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.role-badge[data-role=admin]{background:var(--color-error-light);color:var(--color-red-500)}.role-badge[data-role=doctor]{background:var(--color-success-light);color:var(--color-green-500)}.role-badge[data-role=staff]{background:var(--color-info-soft);color:var(--color-blue-500)}.role-badge[data-role=other],.role-badge[data-role=pending]{background:var(--color-bg-tertiary);color:var(--color-gray-500)}.filter-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-tabs-right{align-items:center;gap:12px;margin-left:auto;display:flex}.filter-checkbox{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.filter-checkbox input{accent-color:var(--color-accent)}.filter-checkbox-label{color:var(--color-red-500);font-weight:500}.filter-tab{cursor:pointer;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:none;border-radius:16px;padding:6px 14px;font-size:12px;font-weight:500}.filter-tab.btn-ghost:hover:not(:disabled),.filter-tab.btn-ghost:active:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-secondary);transform:none}.filter-tab.active,.filter-tab[data-active=true],.filter-tab.active.btn-ghost:hover:not(:disabled),.filter-tab.active.btn-ghost:active:not(:disabled){background:var(--color-accent);color:var(--color-text-inverse)}.slot-btn-selected{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.slot-remaining{color:inherit;opacity:.7;margin-left:4px;font-size:11px}.filter-tab[data-active=false]{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.approval-list-items{flex-direction:column;gap:8px;display:flex}.approval-list-error{color:var(--color-error);padding:16px}.approval-list-loading{text-align:center;color:var(--color-text-tertiary);padding:32px}.approval-slot-hint{color:var(--color-text-tertiary);text-align:center;padding:16px;font-size:13px}.approval-card-content{align-items:flex-start;gap:var(--spacing-lg);display:flex}.approval-card-name{flex-shrink:0}.approval-card-info{flex:1;min-width:0}.approval-card-actions-pc{gap:var(--spacing-sm);flex-shrink:0;display:flex}.approval-card-actions-mobile{display:none}@media (max-width:768px){.approval-card-content{flex-wrap:wrap}.approval-card-name{min-width:60px}.approval-card-info{flex:1}.approval-card-actions-pc{display:none}.approval-card-actions-mobile{gap:var(--spacing-sm);border-top:1px solid var(--color-border-light);margin-top:12px;padding-top:12px;display:flex}}.ai-tooltip-bubble{background:var(--color-amber-600);color:var(--color-text-inverse);box-shadow:var(--shadow-modal-lg);cursor:pointer;-webkit-user-select:none;user-select:none;z-index:10;white-space:nowrap;border-radius:12px;padding:12px 16px;animation:.3s ease-out tooltip-appear;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.ai-tooltip-row{align-items:center;gap:8px;display:flex}.ai-tooltip-icon{font-size:16px}.ai-tooltip-title{font-size:14px;font-weight:600}.ai-tooltip-reason{opacity:.9;margin-top:2px;font-size:11px}.ai-tooltip-arrow{border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--color-amber-600);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.ai-status-selected{opacity:.8;color:var(--color-green-600);margin-left:2px}.ai-status-skipped{opacity:.7;color:var(--color-text-tertiary);margin-left:2px}.ai-status-error{opacity:.7;margin-left:2px}.ai-refresh-btn{color:var(--color-text-tertiary);margin-left:4px;font-size:11px}.appointment-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:12px;padding:14px 16px}.appointment-card-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.appointment-patient-name{font-weight:700;font-size:var(--font-title);color:var(--color-text-primary);min-width:70px}.appointment-info{flex:1;min-width:200px}.appointment-info-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.appointment-date{font-size:var(--font-label);color:var(--color-text-primary);font-weight:500}.appointment-tentative-badge{background:var(--color-warning-light);color:var(--color-warning);border-radius:8px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:inline-flex}.appointment-meta-row{align-items:center;gap:10px;margin-top:4px;display:flex}.appointment-meta-time{color:var(--color-text-secondary);font-size:13px}.appointment-meta-type{color:var(--color-text-tertiary);font-size:12px}.appointment-meta-pending{color:var(--color-link);font-size:12px}.appointment-actions{flex-shrink:0;gap:8px;display:flex}