.nav-link {
    @apply text-sm font-medium px-3 py-2 rounded-lg;
    color: #334155;
    letter-spacing: 0.02em;
    transition: color 120ms ease-out;
}

.nav-link:hover {
    color: #0F172A;
    background-color: rgba(53,69,125,0.08);
}

.nav-link.active {
    color: #35457D;
    background-color: rgba(53,69,125,0.14);
    font-weight: 600;
}

.badge {
    @apply text-xs font-medium px-2.5 py-1 rounded-full border;
}

.badge-info {
    @apply bg-blue-50 text-blue-700 border-blue-200;
}

.badge-success {
    background-color: rgba(22,163,74,0.10);
    color: #16A34A;
    border-color: rgba(22,163,74,0.20);
}

.badge-warning {
    background-color: rgba(217,119,6,0.10);
    color: #D97706;
    border-color: rgba(217,119,6,0.20);
}

.badge-danger {
    background-color: rgba(220,38,38,0.10);
    color: #DC2626;
    border-color: rgba(220,38,38,0.20);
}

.badge-neutral {
    @apply bg-slate-100 text-slate-700 border-slate-200;
}

.card {
    background-color: #FFFFFF;
    border-radius: 0.75rem;
    border: 1px solid #E2E8F0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.btn {
    @apply inline-flex items-center justify-center text-sm font-semibold;
    padding: 0.5rem 0.875rem;
    border-radius: 10px;
    gap: 0.5rem;
    min-height: 38px;
    transition: background-color 120ms, border-color 120ms, box-shadow 120ms, color 120ms;
}

.btn:disabled {
    background-color: #F1F5F9;
    color: #94A3B8;
    border-color: #E2E8F0;
    box-shadow: none;
    cursor: not-allowed;
}

.btn-primary {
    background-color: #35457D;
    color: white;
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgba(15,23,42,0.12);
}

.btn-primary:hover {
    background-color: #2B3764;
    box-shadow: 0 2px 6px rgba(15,23,42,0.14);
}

.btn-primary:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(53,69,125,0.20);
}

.btn-secondary {
    background-color: #FFFFFF;
    color: #0F172A;
    border: 1px solid #E2E8F0;
    box-shadow: none;
}

.btn-secondary:hover {
    background-color: #F8FAFC;
    box-shadow: 0 1px 2px rgba(15,23,42,0.08);
}

.btn-secondary:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(53,69,125,0.20);
}

.btn-danger {
    background-color: #DC2626;
    color: white;
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgba(15,23,42,0.12);
}

.btn-danger:hover {
    background-color: #B91C1C;
    box-shadow: 0 2px 6px rgba(15,23,42,0.14);
}

.btn-danger:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.30);
}

.btn-ghost {
    background-color: transparent;
    color: #334155;
    border: 1px solid transparent;
    box-shadow: none;
    font-weight: 500;
}

.btn-ghost:hover {
    color: #0F172A;
    background-color: rgba(15,23,42,0.04);
}

.btn-ghost:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(53,69,125,0.20);
}

.input {
    @apply w-full px-3 py-2 rounded-lg text-sm;
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    color: #0F172A;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.input:focus {
    outline: none;
    border-color: #35457D;
    box-shadow: 0 0 0 3px rgba(53,69,125,0.20);
}

.input::placeholder {
    color: #94A3B8;
}

.input:disabled,
.input[readonly] {
    background-color: #F8FAFC;
    color: #94A3B8;
    border-color: #E2E8F0;
    cursor: not-allowed;
}

.label {
    @apply block text-sm font-medium mb-1;
    color: #475569;
}

.table-container {
    background-color: #FFFFFF;
    border-radius: 0.75rem;
    border: 1px solid #E2E8F0;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.table-header {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
}

.table-header th {
    @apply px-6 py-3 text-left text-xs font-semibold uppercase tracking-wider;
    color: #475569;
}

.table-row {
    border-bottom: 1px solid #E2E8F0;
    transition: background-color 120ms ease-out;
}

.table-row:hover {
    background-color: rgba(15,23,42,0.03);
}

.table-row:last-child {
    border-bottom: none;
}

.table-cell {
    @apply px-6 py-4 whitespace-nowrap text-sm;
    color: #0F172A;
}

.table-cell-secondary {
    color: #475569;
}

.metric-card {
    background-color: #FFFFFF;
    border-radius: 0.75rem;
    border: 1px solid #E2E8F0;
    padding: 1.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.metric-label {
    @apply text-sm font-medium uppercase tracking-wide;
    color: #475569;
}

.metric-value {
    @apply text-3xl font-bold mt-2;
    color: #0F172A;
}

.metric-icon {
    @apply w-5 h-5;
    color: #94A3B8;
}

.page-title {
    @apply text-3xl font-semibold;
    color: #0F172A;
}

.section-title {
    @apply text-lg font-semibold;
    color: #0F172A;
}

.text-muted {
    color: #475569;
}

.text-body {
    color: #475569;
}

.empty-state {
    @apply text-center py-12;
}

.empty-state-icon {
    @apply mx-auto h-12 w-12 mb-4;
    color: #CBD5E1;
}

.empty-state-title {
    @apply text-lg font-medium mb-2;
    color: #0F172A;
}

.empty-state-description {
    @apply mb-6;
    color: #475569;
}

.deal-card {
    background-color: rgba(53,69,125,0.04);
    border-radius: 0.75rem;
    border: 1px solid #E2E8F0;
    padding: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: background-color 150ms ease-out, border-color 150ms ease-out, box-shadow 150ms ease-out;
}

.deal-card:hover {
    background-color: rgba(53,69,125,0.08);
    border-color: #CBD5E1;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
}

.deal-card.dragging {
    background-color: rgba(53,69,125,0.12);
    border-color: #35457D;
}

.deal-column.drag-over {
    background-color: rgba(53,69,125,0.10);
    border-radius: 0.5rem;
}

.deal-column {
    min-height: 200px;
}

.opacity-50 {
    opacity: 0.5;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.flash-success {
    @apply p-4 rounded-lg;
    background-color: rgba(22,163,74,0.10);
    color: #16A34A;
    border: 1px solid rgba(22,163,74,0.20);
}

.flash-error {
    @apply p-4 rounded-lg;
    background-color: rgba(220,38,38,0.10);
    color: #DC2626;
    border: 1px solid rgba(220,38,38,0.20);
}

.flash-warning {
    @apply p-4 rounded-lg;
    background-color: rgba(217,119,6,0.10);
    color: #D97706;
    border: 1px solid rgba(217,119,6,0.20);
}

.flash-info {
    @apply p-4 rounded-lg bg-blue-50 text-blue-800 border border-blue-200;
}

.modal-overlay {
    @apply fixed inset-0 z-50 flex items-center justify-center;
    background-color: rgba(15, 23, 42, 0.5);
}

.modal-content {
    background-color: #FFFFFF;
    border-radius: 0.75rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    max-width: 32rem;
    width: 100%;
    margin: 1rem;
    overflow: hidden;
}

.modal-header {
    @apply flex justify-between items-center px-6 py-4;
    border-bottom: 1px solid #E2E8F0;
}

.modal-body {
    @apply px-6 py-4;
}

.modal-footer {
    @apply flex justify-end space-x-3 px-6 py-4;
    background-color: #FFFFFF;
    border-top: 1px solid #E2E8F0;
}

.action-icon {
    @apply w-5 h-5 transition-colors cursor-pointer;
    color: #94A3B8;
}

.action-icon:hover {
    color: #475569;
}

.action-icon-danger {
    @apply w-5 h-5 transition-colors cursor-pointer;
    color: #94A3B8;
}

.action-icon-danger:hover {
    color: #DC2626;
}
