/* ===== Сканер купонов (для продавцов) ===== */
.dl-scanner-page {
    max-width: 560px;
    margin: 0 auto;
    padding: 24px 16px 60px;
    font-family: var(--font, system-ui, sans-serif);
    color: #1a1a1a;
}

.dl-scanner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dl-scanner__title {
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 700;
}

/* Поля */
.dl-scanner__setup,
.dl-scanner__scan {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.dl-scanner__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
}
.dl-scanner__field input,
.dl-scanner__field select {
    height: 52px;
    border: 1px solid #c9c9c9;
    border-radius: 12px;
    padding: 0 14px;
    font-size: 16px;
    outline: none;
    transition: border-color .15s;
    box-sizing: border-box;
}
.dl-scanner__field input:focus,
.dl-scanner__field select:focus {
    border-color: #6bb022;
}

.dl-scanner__code-row {
    display: flex;
    gap: 10px;
}
.dl-scanner__code-row input {
    flex: 1;
    min-width: 0;
}

/* Кнопки */
.dl-scanner__btn {
    height: 52px;
    min-width: 120px;
    padding: 0 20px;
    border: none;
    border-radius: 12px;
    background: #6bb022;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s, background .15s;
    white-space: nowrap;
}
.dl-scanner__btn:hover { opacity: .9; }
.dl-scanner__btn:disabled { opacity: .5; cursor: not-allowed; }
.dl-scanner__btn--ghost {
    background: transparent;
    color: #6bb022;
    border: 1px solid #6bb022;
}

/* Камера */
.dl-scanner__video-wrap {
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
}
.dl-scanner__video-wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Результат */
.dl-scanner__result {
    padding: 18px 20px;
    border-radius: 14px;
    font-size: 16px;
    line-height: 1.4;
    animation: dl-pop .2s ease;
}
.dl-scanner__result--ok {
    background: #eaf6df;
    color: #2f7a00;
    border: 1px solid #b6e089;
}
.dl-scanner__result--err {
    background: #fdeaea;
    color: #b3261e;
    border: 1px solid #f3b4b4;
}
.dl-scanner__result-title {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 4px;
}

@keyframes dl-pop {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 480px) {
    .dl-scanner__code-row { flex-direction: column; }
    .dl-scanner__btn { width: 100%; }
}
