.campaign-form{display:flex;flex-direction:column;gap:20px;width:100%;padding:28px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-sizing:border-box;box-shadow:0 6px 20px #0f172a0d}.campaign-form__title{margin:0;font-size:2rem;font-weight:700;color:#0f172a}.campaign-form__group{display:flex;flex-direction:column;gap:8px}.campaign-form__label{font-size:.95rem;font-weight:600;color:#475569}.campaign-form__input{width:100%;height:46px;padding:0 14px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#fff;color:#1e293b;box-sizing:border-box;transition:all .2s ease}.campaign-form__input:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf826}.campaign-form__button{margin-top:10px;height:48px;border:none;border-radius:12px;background:#0ea5e9;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:.2s ease}.campaign-form__button:hover:not(:disabled){background:#0284c7}.campaign-form__button:disabled{opacity:.6;cursor:not-allowed}.campaign-search{width:100%}.campaign-search__input{width:100%;height:48px;padding:0 18px;border:1px solid #dbe3ec;border-radius:12px;background:#fff;color:#0f172a;font-size:15px;box-sizing:border-box;transition:.2s ease}.campaign-search__input::placeholder{color:#94a3b8}.campaign-search__input:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf826}.campaign-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.campaign-stat{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;box-shadow:0 6px 20px #0f172a0d;transition:.2s}.campaign-stat:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0f172a14}.campaign-stat__title{display:block;margin-bottom:12px;color:#64748b;font-size:14px;font-weight:600}.campaign-stat__value{margin:0;font-size:38px;font-weight:700}.campaign-stat--blue .campaign-stat__value{color:#2563eb}.campaign-stat--purple .campaign-stat__value{color:#7c3aed}.campaign-stat--green .campaign-stat__value{color:#16a34a}.campaign-stat--red .campaign-stat__value{color:#dc2626}@media (max-width:1024px){.campaign-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.campaign-stats{grid-template-columns:1fr}}.campaign-table-wrapper{width:100%;overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 6px 20px #0f172a0d}.campaign-table{width:100%;border-collapse:collapse}.campaign-table thead{background:#f8fafc}.campaign-table th{padding:18px;text-align:left;font-size:13px;font-weight:700;color:#64748b;border-bottom:1px solid #e5e7eb}.campaign-table td{padding:18px;border-bottom:1px solid #eef2f7;color:#334155}.campaign-table tbody tr:hover{background:#f8fbff}.campaign-name{display:flex;flex-direction:column;gap:4px}.campaign-name span{color:#94a3b8;font-size:13px}.badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600}.badge--active{background:#dcfce7;color:#15803d}.badge--inactive{background:#fee2e2;color:#b91c1c}.campaign-action{border:none;background:#0ea5e9;color:#fff;padding:8px 16px;border-radius:10px;cursor:pointer;font-weight:600;transition:.2s}.campaign-action:hover{background:#0284c7}.campaign-table__message,.campaign-table__error{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:40px;text-align:center}.campaign-table__error{color:#dc2626}.campaign-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;justify-content:center;align-items:center;padding:24px;z-index:9999;animation:fadeIn .2s ease}.campaign-modal{width:100%;max-width:720px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 25px 60px #0f172a40;animation:modalIn .25s ease}.campaign-modal--wide{max-width:1120px;display:flex;flex-direction:column;max-height:92vh;height:92vh}.campaign-modal__eyebrow{margin:0 0 4px;color:#0284c7;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.campaign-modal__header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid #e5e7eb}.campaign-modal__header h2{margin:0;font-size:28px;color:#0f172a}.campaign-modal__close{width:42px;height:42px;border:none;border-radius:10px;background:#f1f5f9;cursor:pointer;transition:.2s}.campaign-modal__close:hover{background:#e2e8f0}.campaign-modal__tabs{display:flex;gap:12px;padding:20px 30px;border-bottom:1px solid #e5e7eb}.campaign-modal__tab{border:none;background:transparent;padding:10px 18px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;color:#64748b;transition:.2s}.campaign-modal__tab:hover{background:#f1f5f9}.campaign-modal__tab--active{background:#0ea5e9;color:#fff}.campaign-modal__tab span{display:inline-grid;min-width:19px;height:19px;place-items:center;margin-left:5px;border-radius:999px;background:#ffffff40;font-size:11px}.campaign-modal__body{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:30px}.campaign-modal__item{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa}.campaign-modal__item span{font-size:13px;color:#64748b}.campaign-modal__item strong{font-size:20px;color:#0f172a}.campaign-modal__coupons{padding:26px 30px;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.coupon-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.coupon-stat{border:1px solid #e2e8f0;border-radius:14px;padding:15px;background:#fff}.coupon-stat span{display:block;color:#64748b;font-size:12px;font-weight:700}.coupon-stat strong{display:block;margin-top:4px;color:#0f172a;font-size:26px}.coupon-stat--blue{border-color:#bfdbfe;background:#eff6ff}.coupon-stat--blue strong{color:#2563eb}.coupon-stat--green{border-color:#bbf7d0;background:#f0fdf4}.coupon-stat--green strong{color:#15803d}.coupon-stat--amber{border-color:#fde68a;background:#fffbeb}.coupon-stat--amber strong{color:#b45309}.coupon-stat--violet{border-color:#ddd6fe;background:#f5f3ff}.coupon-stat--violet strong{color:#7c3aed}.campaign-coupon-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.coupon-filters{flex:1;display:grid;gap:10px}.coupon-filters input{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px}.coupon-filter-pills,.campaign-coupon-actions{display:flex;flex-wrap:wrap;gap:8px}.coupon-filter-pills button,.campaign-coupon-actions button,.coupon-copy-button{border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:8px 11px}.coupon-filter-pills button.is-active{border-color:#0284c7;background:#e0f2fe;color:#0369a1}.campaign-coupon-actions button:disabled,.campaign-modal__button:disabled{cursor:not-allowed;opacity:.55}.campaign-copy-notice{margin:0 0 12px;color:#15803d;font-size:13px;font-weight:700}.campaign-modal__error{color:#b91c1c;font-size:14px}.coupon-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:12px}.coupon-table{width:100%;border-collapse:collapse}.coupon-table th{background:#f8fafc;color:#64748b;font-size:11px;letter-spacing:.06em;text-align:left;text-transform:uppercase}.coupon-table th,.coupon-table td{border-bottom:1px solid #e2e8f0;padding:12px 14px}.coupon-table tbody tr:last-child td{border-bottom:0}.coupon-table tbody tr:hover{background:#f8fafc}.coupon-code{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.coupon-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.coupon-status--available{background:#dcfce7;color:#166534}.coupon-status--assigned{background:#fef3c7;color:#92400e}.coupon-status--redeemed{background:#ede9fe;color:#6d28d9}.campaign-modal__secondary-button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;padding:12px 20px;cursor:pointer;font-weight:700}.campaign-modal__empty{margin:0;text-align:center;color:#94a3b8;font-size:16px}.campaign-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:24px 30px;border-top:1px solid #e5e7eb}.campaign-modal__button{border:none;background:#0ea5e9;color:#fff;padding:12px 24px;border-radius:10px;cursor:pointer;font-weight:600}.campaign-modal__button:hover{background:#0284c7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:700px){.campaign-modal__body{grid-template-columns:1fr}.campaign-modal-overlay{padding:0}.campaign-modal{max-height:100vh;border-radius:0;overflow:auto}.campaign-modal__header,.campaign-modal__tabs,.campaign-modal__coupons,.campaign-modal__footer{padding-left:18px;padding-right:18px}.coupon-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-coupon-toolbar{align-items:stretch;flex-direction:column}}.campaign-modal__status-error{margin:0 24px 20px}.campaign-print-modal{width:min(1120px,100%);height:min(92vh,900px);display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 25px 60px #0f172a40;isolation:isolate}.campaign-print-modal__eyebrow{margin:0 0 4px;color:#0284c7;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.campaign-print-modal__body{flex:1;display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;min-height:0;height:0}.campaign-print-controls{padding:24px;border-right:1px solid #e5e7eb;background:#f8fafc;overflow-y:auto}.campaign-print-controls label{display:grid;gap:8px;margin-bottom:18px;color:#1e293b;font-size:13px;font-weight:700}.campaign-print-controls select{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 10px;font:inherit}.campaign-print-controls p{margin-top:24px;color:#64748b;font-size:13px}.campaign-print-checkbox{display:flex!important;align-items:center;gap:10px;cursor:pointer}.campaign-print-checkbox input{width:18px;height:18px;accent-color:#0284c7}.campaign-print-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;align-content:start;align-items:start;justify-items:center;padding:24px;background:#e2e8f0;overflow-y:auto;height:100%;min-height:0;max-height:100%}.coupon-print-card{position:relative;width:100%;aspect-ratio:2/1;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 8px 18px #0f172a26}.coupon-print-card__background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill}.coupon-print-card__code{position:absolute;left:72%;top:84%;width:9.5%;color:#12345a}.coupon-print-card__code strong{display:block;font:700 11px Arial,sans-serif}.coupon-print-card__code small{display:block;margin-top:3px;font:7px Arial,sans-serif}.coupon-print-card__qr{position:absolute;right:5.4%;bottom:3.4%;width:12%;aspect-ratio:1;background:#fff;padding:3px}.coupon-qr{width:100%;height:100%}.campaign-modal__footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#fff}.campaign-modal__secondary-button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;padding:12px 20px;font-weight:700}.campaign-modal__button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:760px){.campaign-print-modal{width:100%;height:100vh;border-radius:0}.campaign-print-modal__body{display:flex;flex-direction:column;overflow:hidden}.campaign-print-controls{max-height:260px;overflow-y:auto;border-right:0;border-bottom:1px solid #e5e7eb}.campaign-print-preview{flex:1;overflow-y:auto;grid-template-columns:1fr;padding:16px}.campaign-modal__footer{padding:16px;position:sticky;bottom:0;background:#fff;z-index:20}.campaign-modal__button,.campaign-modal__secondary-button{flex:1}.campaign-print-preview__notice{font-size:13px}}.campaign-print-preview__notice{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;border-radius:12px;border:1px solid #fdba74;background:#fff7ed;color:#9a3412;text-align:center;font-size:14px;line-height:1.5}.campaign-print-preview__notice strong{font-weight:700}.discount-page{display:flex;flex-direction:column;gap:28px;padding:30px;width:100%;box-sizing:border-box}@media (max-width: 1024px){.discount-page{padding:24px;gap:24px}}@media (max-width: 768px){.discount-page{padding:20px;gap:20px}}@media (max-width: 480px){.discount-page{padding:16px;gap:16px}}
