@php
    $coupon = $coupon ?? null;
    $selectedPlans = old('applies_to_plan_ids', $coupon?->applies_to_plan_ids ?? []);
    $input = 'mt-1 w-full rounded-xl border border-slate-200 bg-white px-3 py-2.5 text-sm text-slate-900 focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20';
@endphp
<div class="space-y-5">
    <div>
        <label class="block text-sm font-medium text-slate-700">Code <span class="text-red-500">*</span></label>
        <input type="text" name="code" value="{{ old('code', $coupon?->code) }}" required maxlength="64" class="{{ $input }} uppercase">
        @error('code') <p class="mt-1 text-xs text-red-600">{{ $message }}</p> @enderror
    </div>
    <div>
        <label class="block text-sm font-medium text-slate-700">Name</label>
        <input type="text" name="name" value="{{ old('name', $coupon?->name) }}" class="{{ $input }}">
    </div>
    <div class="grid gap-4 sm:grid-cols-2">
        <div>
            <label class="block text-sm font-medium text-slate-700">Type <span class="text-red-500">*</span></label>
            <select name="discount_type" class="{{ $input }} js-select2">
                <option value="percent" {{ old('discount_type', $coupon?->discount_type) === 'percent' ? 'selected' : '' }}>Percent</option>
                <option value="fixed" {{ old('discount_type', $coupon?->discount_type) === 'fixed' ? 'selected' : '' }}>Fixed (₹)</option>
            </select>
        </div>
        <div>
            <label class="block text-sm font-medium text-slate-700">Value <span class="text-red-500">*</span></label>
            <input type="number" step="0.01" min="0.01" name="discount_value" value="{{ old('discount_value', $coupon?->discount_value) }}" required class="{{ $input }}">
        </div>
    </div>
    <div class="grid gap-4 sm:grid-cols-2">
        <div>
            <label class="block text-sm font-medium text-slate-700">Max uses (global)</label>
            <input type="number" min="1" name="max_uses" value="{{ old('max_uses', $coupon?->max_uses) }}" class="{{ $input }}">
        </div>
        <div>
            <label class="block text-sm font-medium text-slate-700">Max uses per company</label>
            <input type="number" min="1" name="max_uses_per_company" value="{{ old('max_uses_per_company', $coupon?->max_uses_per_company ?? 1) }}" class="{{ $input }}">
        </div>
    </div>
    <div class="grid gap-4 sm:grid-cols-2">
        <div>
            <label class="block text-sm font-medium text-slate-700">Valid from</label>
            <input type="datetime-local" name="valid_from" value="{{ old('valid_from', optional($coupon?->valid_from)->format('Y-m-d\\TH:i')) }}" class="{{ $input }}">
        </div>
        <div>
            <label class="block text-sm font-medium text-slate-700">Valid until</label>
            <input type="datetime-local" name="valid_until" value="{{ old('valid_until', optional($coupon?->valid_until)->format('Y-m-d\\TH:i')) }}" class="{{ $input }}">
        </div>
    </div>
    <div>
        <label class="block text-sm font-medium text-slate-700">Min amount (₹)</label>
        <input type="number" step="0.01" min="0" name="min_amount" value="{{ old('min_amount', $coupon?->min_amount) }}" class="{{ $input }}">
    </div>
    <div>
        <label class="block text-sm font-medium text-slate-700">Applies to plans (empty = all)</label>
        <select name="applies_to_plan_ids[]" multiple class="{{ $input }}" size="6">
            @foreach($plans as $plan)
                <option value="{{ $plan->id }}" {{ in_array($plan->id, array_map('intval', (array) $selectedPlans), true) ? 'selected' : '' }}>
                    {{ $plan->name }}
                </option>
            @endforeach
        </select>
    </div>
    <label class="inline-flex items-center gap-2">
        <input type="checkbox" name="is_active" value="1" {{ old('is_active', $coupon?->is_active ?? true) ? 'checked' : '' }} class="rounded border-slate-300 text-primary focus:ring-primary">
        <span class="text-sm font-medium text-slate-700">Active</span>
    </label>
</div>
