@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";#app{min-height:100vh}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f5;--bg-hover: #e9ecef;--text-primary: #212529;--text-secondary: #495057;--text-muted: #6c757d;--accent-primary: #6366f1;--accent-primary-hover: #818cf8;--accent-success: #22c55e;--accent-warning: #f59e0b;--accent-danger: #ef4444;--border-color: #dee2e6;--border-focus: #6366f1;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 8px 24px rgba(0, 0, 0, .12);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .15);--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.btn-danger{background:var(--accent-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:6px 12px;font-size:12px}.btn-block{width:100%}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--border-focus)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:disabled{background:var(--bg-tertiary);color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-container{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background:var(--bg-tertiary);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .mono{font-family:var(--font-mono);font-size:13px}.data-table .actions{display:flex;gap:8px}.empty-row{text-align:center!important;color:var(--text-muted);padding:40px!important}.status-tag{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:20px}.status-tag.active{background:#22c55e26;color:var(--accent-success)}.status-tag.inactive{background:#ef444426;color:var(--accent-danger)}.status-tag.pending{background:#f59e0b26;color:var(--accent-warning)}.status-tag.sending{background:#6366f126;color:var(--accent-primary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal-sm{max-width:400px}.modal-lg{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border-color)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.pagination .total{color:var(--text-secondary);font-size:13px}.page-buttons{display:flex;align-items:center;gap:8px}.page-buttons button{padding:6px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.page-buttons button:hover:not(:disabled){background:var(--bg-hover)}.page-buttons button:disabled{opacity:.4;cursor:not-allowed}.page-buttons .current-page{padding:6px 12px;font-weight:600;color:var(--accent-primary)}.toast{position:fixed;top:24px;right:24px;padding:14px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;z-index:2000;animation:slideIn .3s ease}.toast.success{background:var(--accent-success);color:#fff}.toast.error{background:var(--accent-danger);color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.text-muted{color:var(--text-muted)}.text-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
