/* MAccPro ERP — Soft Colorful Enterprise Design System */

:root {
    --bg-main: #F5F7FA;
    --bg-surface: #FFFFFF;
    --bg-surface-soft: #F8FAFC;
    --border-subtle: #E6EAF0;
    --border-hover: #D0D5DD;
    
    --text-strong: #111827;
    --text-primary: #172033;
    --text-secondary: #475467;
    --text-muted: #667085;
    --text-disabled: #98A2B3;
    
    --brand-orange: #F97316;
    --brand-orange-hover: #EA580C;
    --brand-orange-soft: #FFF7ED;
    --brand-orange-tint: #FFEDD5;
    --brand-navy: #0F172A;
    --brand-slate: #334155;
    
    --color-success: #10B981;
    --color-success-soft: #ECFDF5;
    --color-warning: #F59E0B;
    --color-warning-soft: #FFFBEB;
    --color-danger: #EF4444;
    --color-danger-soft: #FEF2F2;
    --color-info: #3B82F6;
    --color-info-soft: #EFF6FF;
    --color-purple: #8B5CF6;
    --color-purple-soft: #F5F3FF;
    --color-cyan: #06B6D4;
    --color-cyan-soft: #ECFEFF;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: var(--bg-main);
    color: var(--text-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Soft Surface Cards */
.card-soft {
    background-color: #ffffff;
    border: 1px solid #E6EAF0;
    border-radius: 14px;
    box-shadow: 0 1px 3px 0 rgba(16, 24, 40, 0.04);
}

.card-soft:hover {
    border-color: #D0D5DD;
}

/* Button System - Clean, Crisp & Minimal */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25rem;
    color: #ffffff;
    background-color: #F97316;
    border-radius: 8px;
    border: 1px solid transparent;
    box-shadow: 0 1px 2px 0 rgba(249, 115, 22, 0.2);
    transition: all 0.15s ease-in-out;
}
.btn-primary:hover {
    background-color: #EA580C;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25rem;
    color: #344054;
    background-color: #ffffff;
    border-radius: 8px;
    border: 1px solid #D0D5DD;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
    transition: all 0.15s ease-in-out;
}
.btn-secondary:hover {
    background-color: #F9FAFB;
    color: #1D2939;
    border-color: #98A2B3;
}

.btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475467;
    background-color: transparent;
    border-radius: 8px;
    transition: all 0.15s ease-in-out;
}
.btn-ghost:hover {
    background-color: #F2F4F7;
    color: #172033;
}

/* Soft Badges */
.badge-soft-success {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    background-color: #ECFDF3;
    color: #027A48;
}

.badge-soft-warning {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    background-color: #FFFAEB;
    color: #B54708;
}

.badge-soft-danger {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    background-color: #FEF3F2;
    color: #B42318;
}

.badge-soft-info {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    background-color: #EFF8FF;
    color: #175CD3;
}

.badge-soft-neutral {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    background-color: #F2F4F7;
    color: #344054;
}

/* Backward-compatible Badge Classes */
.badge-success { @apply badge-soft-success; }
.badge-warning { @apply badge-soft-warning; }
.badge-danger  { @apply badge-soft-danger; }
.badge-info    { @apply badge-soft-info; }

/* Soft Clean Inputs */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="hidden"]),
textarea,
select {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.8125rem !important;
    line-height: 1.25rem !important;
    border: 1px solid #D0D5DD !important;
    border-radius: 8px !important;
    background-color: #FFFFFF !important;
    color: #172033 !important;
    box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.04) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="hidden"]):focus,
textarea:focus,
select:focus {
    border-color: #F97316 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12) !important;
}

/* Custom Scrollbar - Minimal & Subtle */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #D0D5DD;
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: #98A2B3;
}
