/* NovaCare Orbit v1. Forest green and orbit gold, on paper. */
:root {
    --nc-brand-700: #1e5b3e;
    --nc-brand-900: #0f3a29;
    --nc-brand-50: #e6f0ea;
    --nc-gold-500: #b59a55;
    --nc-gold-text: #a8894a;
    --nc-amber-50: #fff1d6;
    --nc-amber-text: #7a4d0b;
    --nc-danger-50: #fde8e6;
    --nc-danger-text: #9b1c1c;
    --nc-ground: #f5f6f2;
    --nc-line: #e2e6e0;
    --nc-ink: #0f1f18;
    --nc-muted: #56625b;
    --nc-white: #ffffff;
    --nc-disabled-bg: #e7e8e4;
    --nc-disabled-text: #8b938c;
    --nc-waiting-bg: #eeeef2;
    --nc-waiting-text: #5c6570;

    --nc-font: "Figtree", "Outfit", sans-serif;
    --nc-font-arabic: "Tajawal", sans-serif;
    --nc-display: 70px;
    --nc-h2: 42px;
    --nc-h3: 22px;
    --nc-body: 16px;
    --nc-body-leading: 1.7;
    --nc-eyebrow: 13px;

    --nc-radius-8: 8px;
    --nc-radius-12: 12px;
    --nc-radius-14: 14px;
    --nc-radius-20: 20px;
    --nc-radius-28: 28px;
    --nc-radius-pill: 999px;

    --nc-space-4: 4px;
    --nc-space-8: 8px;
    --nc-space-12: 12px;
    --nc-space-16: 16px;
    --nc-space-24: 24px;
    --nc-space-40: 40px;
    --nc-space-64: 64px;
    --nc-space-section: 104px;

    --nc-shadow-raised: 0 10px 28px rgba(15, 31, 24, 0.06);
}

.nc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: var(--nc-radius-20);
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 15px;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.nc-btn-primary {
    background: var(--nc-brand-700);
    color: var(--nc-white);
}

.nc-btn-primary:hover {
    background: var(--nc-brand-900);
    color: var(--nc-white);
}

.nc-btn-secondary {
    background: var(--nc-white);
    color: var(--nc-ink);
    border-color: #c9d0c8;
}

.nc-btn-ghost {
    background: transparent;
    color: var(--nc-brand-700);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nc-btn-disabled,
.nc-btn:disabled {
    background: var(--nc-disabled-bg);
    color: var(--nc-disabled-text);
    cursor: not-allowed;
}

.nc-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: var(--nc-radius-pill);
    font-size: 13px;
    font-weight: 600;
}

.nc-badge-stock {
    background: var(--nc-brand-50);
    color: var(--nc-brand-700);
}

.nc-badge-expiring {
    background: var(--nc-amber-50);
    color: var(--nc-amber-text);
}

.nc-badge-low {
    background: var(--nc-danger-50);
    color: var(--nc-danger-text);
}

.nc-badge-waiting {
    background: var(--nc-waiting-bg);
    color: var(--nc-waiting-text);
}

.nc-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 220px;
}

.nc-field span {
    font-size: 13px;
    color: var(--nc-muted);
}

.nc-field input {
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--nc-line);
    border-radius: var(--nc-radius-14);
    background: var(--nc-white);
    color: var(--nc-ink);
    font: inherit;
    font-size: var(--nc-body);
}

.nc-field input::placeholder {
    color: var(--nc-muted);
}

.nc-field input:focus {
    outline: 2px solid var(--nc-brand-700);
    outline-offset: 2px;
    border-color: var(--nc-brand-700);
}
