*{box-sizing:border-box;}
:root{--bg:#0f2f24;--bg-soft:#123629;--panel:#163d2f;--panel-border:rgba(255,255,255,.08);--text:#ffffff;--muted:rgba(255,255,255,.72);--input-bg:#ffffff;--input-text:#111111;--accent:#e57b4e;--accent-strong:#ff9d00;--accent-soft:rgba(229,123,78,.18);--danger:#ff6b6b;--radius-xl:18px;--radius-lg:14px;--radius-md:12px;--shadow:0 10px 30px rgba(0,0,0,.25);--max-width:860px;}
html,body{margin:0;min-height:100%;}
body{background:linear-gradient(180deg,var(--bg) 0%,#0b221a 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
input,select,button,textarea{font:inherit;}
.app-shell{padding:16px;}
.page{width:100%;max-width:var(--max-width);margin:0 auto;display:grid;gap:14px;}
.page--narrow{max-width:560px;}
.panel{background:rgba(18,54,41,.95);border:1px solid var(--panel-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:16px;}
.hero-panel h1{margin:0;font-size:28px;line-height:1.15;}
.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.hero-kicker{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);font-weight:700;}
.mode-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:#ffd6c4;font-size:13px;font-weight:700;}
.hero-text{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.5;}
.order-form{display:grid;gap:14px;}
.form-grid{display:grid;gap:12px;}
.form-grid--two,.form-grid--three{grid-template-columns:1fr;}
.field{display:grid;gap:8px;}
.field__label{font-size:14px;font-weight:700;color:rgba(255,255,255,.88);}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:0 14px;border:0;border-radius:var(--radius-md);background:var(--input-bg);color:var(--input-text);outline:none;}
.field textarea{min-height:110px;padding:14px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(255,157,0,.24);}
.field-error input,.field-error select,.field-error textarea,.input-error{border:2px solid var(--danger);background:#fff7f7;}
.field-error input:focus,.field-error select:focus,.field-error textarea:focus,.input-error:focus{box-shadow:0 0 0 3px rgba(255,107,107,.28);}
.form-error-message{display:block;margin-top:2px;color:#ffd1d1;font-size:13px;font-weight:800;line-height:1.3;}
.form-validation-summary{grid-column:1/-1;padding:10px 12px;border:1px solid rgba(255,107,107,.28);border-radius:12px;background:rgba(255,107,107,.14);color:#ffd1d1;font-size:14px;font-weight:800;line-height:1.35;}
.toggle{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--text);}
.toggle input{width:18px;height:18px;margin:0;}
.remember-login{display:grid;gap:5px;padding:12px 14px;border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--text);cursor:pointer;}
.remember-login__line{display:flex;align-items:center;gap:10px;font-weight:800;}
.remember-login input{width:20px;height:20px;margin:0;flex:0 0 20px;}
.remember-login small{color:var(--muted);font-size:13px;line-height:1.35;}
.racket-cards{display:grid;gap:12px;}
.racket-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);}
.racket-card__header{margin-bottom:12px;}
.racket-card__header h2{margin:0;font-size:18px;}
.form-actions{display:grid;gap:10px;}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 16px;border:0;border-radius:12px;text-decoration:none;cursor:pointer;font-weight:800;}
.btn--primary{background:var(--accent);color:#fff;}
.btn--ghost{background:rgba(255,255,255,.08);color:#fff;}
.alert{padding:12px 14px;border-radius:12px;font-size:14px;font-weight:700;}
.alert--error{background:rgba(255,107,107,.14);color:#ffd1d1;border:1px solid rgba(255,107,107,.25);margin-bottom:12px;}
.alert--success{background:rgba(22,163,74,.14);color:#d7ffe5;border:1px solid rgba(22,163,74,.28);margin-bottom:12px;}
.summary-list{display:grid;gap:12px;margin:0;}
.summary-list div{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);}
.summary-list dt{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong);}
.summary-list dd{margin:0;font-size:16px;}
.top-gap{margin-top:4px;}
.price-total{margin-top:18px;padding:16px 18px;border:2px solid #111;border-radius:14px;background:#ea0707;text-align:center;font-size:18px;font-weight:700;letter-spacing:.3px;}
.price-total strong{display:block;margin-top:6px;font-size:34px;line-height:1;}
.panel-box{padding:14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.panel-box h3{margin:0 0 12px;font-size:18px;line-height:1.2;}
.passage-choice-grid{display:grid;gap:10px;}
.passage-choice{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-radius:var(--radius-md);background:rgba(255,255,255,.06);font-weight:800;cursor:pointer;}
.passage-choice input{width:20px;height:20px;margin:0;flex:0 0 20px;}
.passage-other-date[hidden]{display:none;}
.passage-confirmation{display:grid;gap:14px;}
.passage-confirmation h2{margin:0;font-size:24px;line-height:1.2;}
.passage-confirmation__time{margin:0;padding:14px;border-radius:var(--radius-md);background:rgba(22,163,74,.14);border:1px solid rgba(22,163,74,.28);font-size:18px;line-height:1.35;}
.passage-confirmation__time strong{display:block;margin-bottom:4px;}
.check-line{display:inline-flex;align-items:center;gap:10px;width:auto;max-width:100%;min-height:42px;margin:0 0 8px;white-space:nowrap;font-size:16px;line-height:1.2;cursor:pointer;touch-action:pan-y;}
.check-line:last-child{margin-bottom:0;}
.check-line input{width:20px;height:20px;margin:0;flex:0 0 20px;}
.check-line span{display:block;flex:none;}
.field input[type="date"]{width:100%;max-width:100%;min-width:0;display:block;appearance:none;-webkit-appearance:none;}
.site-footer{margin-top:40px;padding:18px 12px;text-align:center;border-top:1px solid rgba(255,255,255,.08);font-size:10px;opacity:.9;}
.site-footer a{color:inherit;text-decoration:none;}
.site-footer a:hover{opacity:1;}
.kiosk-reset{display:grid;gap:10px;}
.kiosk-reset__text{color:#d7ffe5;font-size:14px;font-weight:900;text-align:center;}
.kiosk-reset__bar{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12);}
.kiosk-reset__fill{width:100%;height:100%;border-radius:999px;background:#22c55e;transform-origin:left center;animation:kioskResetProgress 60s linear forwards;}
@keyframes kioskResetProgress{from{transform:scaleX(1);}to{transform:scaleX(0);}}
input[type="file"]{padding:12px;}
.photo-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
.photo-modal[hidden]{display:none;}
.photo-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);}
.photo-modal__box{position:relative;z-index:2;max-width:95vw;max-height:95vh;}
.photo-modal__box img{display:block;max-width:95vw;max-height:95vh;border-radius:14px;}
.photo-modal__close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;font-size:22px;}
.toast-success{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;background:#16a34a;color:#fff;padding:14px 18px;border-radius:12px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:toastIn .25s ease;}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(20px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.field--full{grid-column:1/-1;}
.check-group{display:grid;gap:10px;}

.page--print-station{max-width:760px;}
.print-station__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;}
.print-station__header h1{font-size:22px;}
.print-station__refresh{min-height:38px;padding:0 12px;}
.print-station__list{display:grid;gap:12px;}
.print-station__group{overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);}
.print-station__date{margin:0;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.045);color:var(--accent-strong);font-size:13px;line-height:1.25;font-weight:900;text-transform:uppercase;}
.print-station__group-list{display:grid;}
.print-station__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.06);}
.print-station__row:last-child{border-bottom:0;}
.print-station__id{font-size:17px;line-height:1.2;letter-spacing:0;font-weight:900;overflow-wrap:anywhere;}
.print-station__actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:nowrap;}
.print-station__form{display:inline-flex;margin:0;}
.print-station__button{gap:6px;min-height:34px;padding:0 10px;border-radius:10px;font-size:13px;line-height:1;white-space:nowrap;}
.print-station__payment{border:1px solid rgba(255,255,255,.12);font-weight:900;}
.print-station__payment.is-paid{background:rgba(22,163,74,.18);color:#d7ffe5;border-color:rgba(22,163,74,.32);}
.print-station__payment.is-unpaid{background:rgba(255,157,0,.16);color:#ffd6a3;border-color:rgba(255,157,0,.28);}
.print-station__button--hide{background:rgba(255,107,107,.18);color:#ffd1d1;border:1px solid rgba(255,107,107,.24);}
.print-station__icon::before{content:"\1F5A8";display:block;font-size:14px;line-height:1;}
.print-station__empty{margin:0;color:var(--muted);font-size:18px;font-weight:800;}
.print-station__empty--small{margin-top:10px;font-size:14px;}
.print-station__hidden-panel{padding:10px 14px;}
.print-station__hidden summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:900;}
.print-station__hidden-list{margin-top:10px;border-top:1px solid rgba(255,255,255,.06);}

@media (max-width:620px){
    .print-station__header,
    .print-station__row{
        grid-template-columns:1fr;
        align-items:stretch;
    }

    .print-station__header{
        display:grid;
    }

    .print-station__actions{
        flex-wrap:wrap;
        justify-content:start;
    }

    .print-station__form,
    .print-station__button{
        width:100%;
    }
}

/* SETTINGS FINAL */
.settings-grid{display:grid;gap:18px;}
.settings-section{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02);}
.settings-section h2{margin:0 0 14px;font-size:18px;line-height:1.2;}
.settings-divider{height:1px;background:rgba(255,255,255,.08);margin:18px 0;}
.settings-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;}
.settings-check{display:flex;align-items:center;gap:10px;padding:8px 0;}
.settings-check input[type="checkbox"]{width:18px;height:18px;margin:0;padding:0;flex:0 0 18px;cursor:pointer;}
.settings-check label{width:auto;flex:none;margin:0;cursor:default;}
.settings-check span{margin:0;line-height:1.2;}
.settings-secret{letter-spacing:.08em;}
.settings-note{margin-top:8px;font-size:13px;opacity:.65;}

.ai-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.ai-stats div{padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);}
.ai-stats strong{display:block;font-size:24px;line-height:1;}
.ai-stats span{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.3;}
.ai-tabs{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px;}
.ai-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 14px;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-weight:800;}
.ai-tabs a.is-active{background:var(--accent);color:#fff;}
.ai-toolbar{display:grid;gap:12px;margin-bottom:14px;}
.ai-search-form{display:grid;gap:8px;}
.ai-search-form input,.ai-search-form select{width:100%;height:46px;border:0;border-radius:12px;padding:0 12px;background:#fff;color:#111;}
.ai-search-form--standalone{margin-bottom:14px;}
.ai-card-list{display:grid;gap:12px;}
.ai-card h3{margin:0 0 10px;font-size:18px;line-height:1.25;}
.ai-card p{margin:8px 0;color:var(--muted);line-height:1.35;}
.ai-card p strong{color:#fff;}
.ai-card__head{display:grid;gap:10px;}
.ai-card__meta{display:grid;gap:8px;color:var(--muted);}
.ai-card__meta strong{color:#fff;}
.ai-table-wrap{width:100%;overflow:auto;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.03);}
.ai-table{width:100%;border-collapse:collapse;min-width:760px;}
.ai-table th,.ai-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:top;}
.ai-table th{color:#fff;font-size:13px;background:rgba(255,255,255,.05);}
.ai-table td{color:var(--muted);line-height:1.35;}
.ai-table td:first-child{color:#fff;}
.ai-table tr:last-child td{border-bottom:0;}
.ai-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;background:rgba(255,255,255,.45);vertical-align:middle;}
.ai-dot--active{background:#22c55e;}
.ai-question-list{display:grid;gap:8px;}
.ai-question-row{display:grid;grid-template-columns:1fr;gap:8px;}
.ai-question-row input{width:100%;height:46px;border:0;border-radius:12px;padding:0 12px;background:#fff;color:#111;}
.ai-form .panel-box{display:grid;gap:10px;}

.page--admin-passages{max-width:1080px;}
.passage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.passage-summary div{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.04);}
.passage-summary span{display:block;color:var(--muted);font-size:13px;}
.passage-summary strong{display:block;margin-top:4px;font-size:18px;line-height:1.25;}
.passage-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.passage-nav .is-active{background:var(--accent);color:#fff;}
.passage-controls{display:grid;gap:10px;}
.passage-month-nav{display:grid;gap:10px;align-items:center;text-align:center;}
.passage-month-nav strong{font-size:18px;}
.passage-day{display:grid;gap:10px;margin-bottom:16px;}
.passage-day:last-child{margin-bottom:0;}
.passage-day h2,.passage-calendar-detail h2{margin:0;font-size:20px;line-height:1.25;}
.passage-day__list{display:grid;gap:8px;}
.passage-event{display:grid;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.03);}
.passage-event--past{opacity:.58;}
.passage-event__main{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;color:#fff;text-decoration:none;}
.passage-event__time{font-size:20px;font-weight:900;}
.passage-event__order,.passage-event__phone{color:var(--muted);}
.passage-event__button{min-height:42px;}
.passage-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;width:max-content;padding:0 10px;border-radius:999px;font-size:13px;font-weight:900;}
.passage-badge--depot{background:rgba(255,157,0,.18);color:#ffd6a3;border:1px solid rgba(255,157,0,.28);}
.passage-badge--retrait{background:rgba(52,211,153,.14);color:#bbf7d0;border:1px solid rgba(52,211,153,.25);}
.passage-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
.passage-calendar__head{padding:8px 4px;color:var(--muted);font-size:12px;font-weight:900;text-align:center;}
.passage-calendar__day{min-height:112px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.03);color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:4px;}
.passage-calendar__day.is-muted{opacity:.38;}
.passage-calendar__day.is-selected{border-color:rgba(255,157,0,.75);background:rgba(255,157,0,.12);}
.passage-calendar__day span{font-weight:900;}
.passage-calendar__day strong{font-size:12px;line-height:1.2;}
.passage-calendar__day em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.25;}
.passage-calendar__day small{width:max-content;max-width:100%;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;}
.passage-calendar-detail{display:grid;gap:10px;}
.page--catalogue-admin{max-width:1080px;}
.catalogue-admin h2{margin:0 0 14px;font-size:22px;line-height:1.2;}
.catalogue-admin__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;}
.catalogue-admin__stats div{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.04);}
.catalogue-admin__stats span{display:block;color:var(--muted);font-size:13px;}
.catalogue-admin__stats strong{display:block;margin-top:4px;font-size:24px;line-height:1;}
.catalogue-admin__settings{align-items:end;}
.catalogue-admin__products{display:grid;gap:12px;}
.catalogue-admin__card{display:grid;grid-template-columns:46px 96px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.03);}
.catalogue-admin__card.is-dragging{opacity:.58;}
.catalogue-admin__drag{display:grid;gap:8px;justify-items:center;}
.catalogue-admin__moves{display:grid;gap:6px;}
.catalogue-admin__icon-btn{width:42px;min-height:38px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-weight:900;cursor:pointer;}
.catalogue-admin__icon-btn[data-drag-handle]{cursor:grab;}
.catalogue-admin__icon-btn[data-drag-handle]:active{cursor:grabbing;}
.catalogue-admin__thumb{width:96px;height:96px;object-fit:cover;border-radius:12px;background:#fff;display:block;}
.catalogue-admin__info{display:grid;gap:10px;min-width:0;}
.catalogue-admin__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;}
.catalogue-admin__head strong{display:block;font-size:20px;line-height:1.15;}
.catalogue-admin__head span:not(.catalogue-admin__badge){display:block;margin-top:4px;color:var(--muted);font-size:14px;}
.catalogue-admin p,.catalogue-admin__description{margin:0;color:var(--muted);line-height:1.45;}
.catalogue-admin__description ul,.catalogue-admin__description ol{margin:6px 0 0 18px;padding:0;}
.catalogue-admin__description li{margin:3px 0;}
.catalogue-admin__description a{color:#ffd6a3;font-weight:800;}
.catalogue-admin__description .catalog-highlight{display:inline;padding:1px 5px;border-radius:6px;background:rgba(255,157,0,.18);color:#fff;border:1px solid rgba(255,157,0,.24);}
.catalogue-admin__badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900;}
.catalogue-admin__badge.is-active{background:rgba(52,211,153,.14);color:#bbf7d0;border:1px solid rgba(52,211,153,.25);}
.catalogue-admin__badge.is-hidden{background:rgba(255,107,107,.14);color:#ffd1d1;border:1px solid rgba(255,107,107,.25);}
.catalogue-admin__actions{display:flex;gap:10px;flex-wrap:wrap;}
.catalogue-admin__actions form{display:inline-flex;}
.catalogue-admin__actions .btn{min-height:42px;}
.catalogue-admin__edit{padding-top:12px;border-top:1px solid rgba(255,255,255,.08);}
.catalogue-editor{display:grid;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.03);}
.catalogue-editor__toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);}
.catalogue-editor__button{width:auto;min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-weight:900;cursor:pointer;}
.catalogue-editor__button:hover{background:rgba(255,255,255,.12);}
.catalogue-editor__surface{min-height:120px;padding:12px 14px;outline:none;color:#fff;line-height:1.5;}
.catalogue-editor__surface:focus{box-shadow:inset 0 0 0 2px rgba(255,157,0,.5);}
.catalogue-editor__surface ul,.catalogue-editor__surface ol{margin:8px 0 0 20px;padding:0;}
.catalogue-editor__surface li{margin:4px 0;}
.catalogue-editor__surface a{color:#ffd6a3;font-weight:800;}
.catalogue-editor__surface .catalog-highlight{display:inline;padding:1px 5px;border-radius:6px;background:rgba(255,157,0,.18);color:#fff;border:1px solid rgba(255,157,0,.24);}
.catalogue-admin__toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(14px);z-index:9999;padding:12px 16px;border-radius:14px;background:#111827;color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(15,23,42,.18);opacity:0;pointer-events:none;transition:.18s ease;}
.catalogue-admin__toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.catalogue-admin__toast.is-error{background:#b91c1c;}
.page--partner-admin{max-width:1040px;}
.partner-inline-form{margin:0;}
.partner-inline-form .btn{min-height:42px;}
.partner-image-preview{width:180px;max-width:100%;padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.04);}
.partner-image-preview img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;}
.partner-promo-list{display:grid;gap:12px;}
.partner-promo-row{display:grid;gap:12px;}
.partner-promo-row__image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background:rgba(255,255,255,.08);}
.partner-promo-row__body{display:grid;gap:10px;min-width:0;}
.partner-promo-row__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;}
.partner-promo-row__head h3{margin:0;}
.partner-promo-row__body p{margin:0;color:var(--muted);line-height:1.45;}
.partner-promo-row__meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;color:var(--muted);}
.partner-promo-row__meta strong{color:#fff;font-size:20px;}
.partner-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900;}
.partner-status--active{background:rgba(52,211,153,.14);color:#bbf7d0;border:1px solid rgba(52,211,153,.25);}
.partner-status--scheduled{background:rgba(59,130,246,.16);color:#bfdbfe;border:1px solid rgba(59,130,246,.28);}
.partner-status--ended,.partner-status--disabled{background:rgba(255,107,107,.14);color:#ffd1d1;border:1px solid rgba(255,107,107,.25);}
.partner-offer{width:100%;max-width:100%;justify-self:center;overflow:hidden;border-color:rgba(255,157,0,.22);background:linear-gradient(135deg,rgba(22,61,47,.98),rgba(24,46,37,.98));}
.partner-offer[hidden]{display:none;}
.partner-offer__kicker{margin-bottom:12px;color:var(--accent-strong);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;}
.partner-offer__grid{display:grid;gap:14px;min-width:0;}
.partner-offer__image{display:block;width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:rgba(255,255,255,.08);}
.partner-offer__content{display:grid;gap:10px;min-width:0;}
.partner-offer__content h2{margin:0;font-size:24px;line-height:1.15;}
.partner-offer__content p{margin:0;color:var(--muted);font-size:16px;line-height:1.45;overflow-wrap:anywhere;}
.partner-offer__prices{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.partner-offer__prices span{color:rgba(255,255,255,.55);font-size:20px;font-weight:800;text-decoration:line-through;}
.partner-offer__prices strong{color:#fff;font-size:38px;line-height:1;font-weight:950;}
.partner-offer__note{color:#ffd6a3;font-size:15px;font-weight:800;}
.partner-offer__countdown{display:grid;gap:6px;min-width:0;padding:12px 14px;border:1px solid rgba(255,157,0,.26);border-radius:14px;background:rgba(255,157,0,.12);}
.partner-offer__countdown span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.partner-offer__countdown strong{font-size:22px;line-height:1.15;white-space:nowrap;}
.partner-offer__actions{display:grid;gap:12px;min-width:0;align-items:start;justify-items:start;}
.partner-offer__qr{display:grid;gap:8px;align-items:start;justify-items:start;}
.partner-offer__qr-code{width:min(190px,100%);aspect-ratio:1/1;border-radius:10px;background:#fff;}
.partner-offer__qr-code[hidden]{display:none;}
.partner-offer__qr-canvas{display:block;width:100%;height:auto;border-radius:10px;}
.partner-offer__qr-link{display:block;width:100%;border-radius:10px;}
.partner-offer__qr-link:focus-visible{outline:3px solid var(--accent-strong);outline-offset:4px;}
.partner-offer__qr p{max-width:320px;color:#fff;font-size:14px;font-weight:800;line-height:1.3;overflow-wrap:normal;}
.page--narrow .partner-offer{width:100%;max-width:100%;}
.page--narrow .partner-offer__countdown{width:min(320px,100%);justify-self:center;text-align:center;}
.page--narrow .partner-offer__actions{justify-items:center;}
.page--narrow .partner-offer__qr{justify-items:center;}
.page--narrow .partner-offer__qr p{text-align:center;}

@media (min-width:640px){
.app-shell{padding:24px;}
.panel{padding:20px;}
.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));}
.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.form-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
.ai-stats{grid-template-columns:repeat(4,minmax(0,1fr));}
.ai-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
.ai-toolbar{grid-template-columns:auto 1fr;align-items:center;}
.ai-search-form{grid-template-columns:1fr 150px auto;}
.ai-card__head{grid-template-columns:1fr auto;align-items:start;}
.ai-card__meta{grid-template-columns:repeat(2,auto);}
.ai-question-row{grid-template-columns:1fr auto;}
.passage-controls{grid-template-columns:180px 1fr auto auto;align-items:end;}
.passage-month-nav{grid-template-columns:auto 1fr auto;text-align:left;}
.passage-event{grid-template-columns:1fr auto;align-items:center;}
.passage-event__main{grid-template-columns:70px 90px minmax(140px,1fr) minmax(120px,1fr) minmax(100px,auto);}
.catalogue-admin__settings{grid-template-columns:1fr auto;}
.partner-promo-row{grid-template-columns:140px minmax(0,1fr);align-items:start;}
}

@media (min-width:768px){
.page:not(.page--narrow) .partner-offer{width:min(calc(100vw - 48px), var(--max-width));max-width:var(--max-width);}
.page:not(.page--narrow) .partner-offer__grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;align-items:start;}
.page:not(.page--narrow) .partner-offer__qr-code{width:180px;}
}

@media (min-width:900px){
.settings-grid--2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
}

@media (max-width:640px){
.settings-section{padding:14px;border-radius:12px;}
.settings-section h2{font-size:16px;}
.settings-actions{flex-direction:column;}
.settings-actions .btn{width:100%;}
.passage-calendar{grid-template-columns:repeat(2,minmax(0,1fr));}
.passage-calendar__head{display:none;}
.passage-calendar__day{min-height:96px;}
.catalogue-admin__card{grid-template-columns:1fr;}
.catalogue-admin__drag{grid-template-columns:auto 1fr;justify-items:start;align-items:center;}
.catalogue-admin__moves{display:flex;}
.catalogue-admin__thumb{width:100%;height:auto;aspect-ratio:1/1;}
.partner-offer{padding:12px;}
.partner-offer__kicker{margin-bottom:8px;}
.partner-offer__grid{gap:10px;}
.partner-offer__image{width:min(280px,100%);}
.partner-offer__content{gap:8px;}
.partner-offer__content h2{font-size:22px;}
.partner-offer__prices strong{font-size:34px;}
.partner-offer__countdown{width:min(320px,100%);justify-self:center;gap:4px;padding:10px 12px;text-align:center;}
.partner-offer__countdown strong{font-size:19px;white-space:normal;}
.partner-offer__actions{gap:10px;justify-items:center;}
.partner-offer__qr{gap:6px;justify-items:center;}
.partner-offer__qr-code{width:min(150px,100%);}
.partner-offer__qr p{max-width:260px;font-size:13px;line-height:1.25;text-align:center;}
}

@media (max-width:480px){
.app-shell{padding:12px;}
.panel{padding:14px;}
.hero-panel h1{font-size:24px;}
.check-line{font-size:15px;gap:8px;}
.price-total{padding:14px;}
.price-total strong{font-size:30px;}
}
.hero-topline{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    }
    
    .hero-left{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    }
    
    .hero-search{
    margin-left:auto;
    }
    
    .quick-search-form{
    display:flex;
    gap:8px;
    align-items:center;
    }
    
    .quick-search-form input{
    width:130px;
    height:42px;
    border:none;
    border-radius:12px;
    padding:0 14px;
    font-size:16px;
    font-weight:700;
    }
    
    .quick-search-form button{
    height:42px;
    padding:0 16px;
    border:none;
    border-radius:12px;
    cursor:pointer;
    font-weight:800;
    background:#e67e4b;
    color:#fff;
    }
    /* MENU ABOVE FOOTER */

.footer-menu-wrap{
    display:flex;
    justify-content:flex-start;
    position:fixed;
    left:16px;
    bottom:calc(16px + env(safe-area-inset-bottom, 0px));
    z-index:9998;
    margin:0;
}

.footer-menu-btn{
    border:none;
    background:#ff8b42;
    color:#fff;
    font-size:16px;
    font-weight:900;
    min-width:82px;
    height:52px;
    padding:0 16px;
    border-radius:999px;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
}

.footer-menu-btn:active{
    transform:scale(.98);
}



/* PANEL */

.footer-menu-panel{
    width:100%;
    max-width:420px;
    background:#10251d;
    border:1px solid rgba(255,255,255,.08);
    border-radius:26px;
    padding:22px;
    box-shadow:0 18px 50px rgba(0,0,0,.35);
}

.footer-menu-close{
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:#ff8b42;
    color:#fff;
    font-size:20px;
    cursor:pointer;
    margin:0 0 16px auto;
    display:block;
}

.footer-menu-panel a{
    display:block;
    text-decoration:none;
    color:#fff;
    background:#163428;
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:10px;
    font-weight:600;
}

.footer-menu-action{
    display:block;
    width:100%;
    text-decoration:none;
    color:#fff;
    background:#163428;
    padding:14px 16px;
    border:0;
    border-radius:14px;
    margin-bottom:10px;
    font:inherit;
    font-weight:600;
    text-align:left;
    cursor:pointer;
}

.footer-menu-action:hover,
.footer-menu-action:focus-visible{
    background:#1d4435;
    outline:none;
}
/* OVERLAY */

.footer-menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(4px);
    display:flex;
    align-items:flex-end;
    justify-content:center;
    z-index:9999;
    padding:20px;

    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
}

.footer-menu-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

/* PANEL */

.footer-menu-panel{
    width:100%;
    max-width:420px;
    background:#10251d;
    border:1px solid rgba(255,255,255,.08);
    border-radius:26px;
    padding:22px;
    box-shadow:0 18px 50px rgba(0,0,0,.35);

    transform:translateY(80px);
    opacity:0;
    transition:transform .35s ease, opacity .35s ease;
}

.footer-menu-overlay.is-open .footer-menu-panel{
    transform:translateY(0);
    opacity:1;
}

.app-share-modal{
    position:fixed;
    inset:0;
    z-index:10001;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.app-share-modal[hidden]{
    display:none;
}

.app-share-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(4px);
}

.app-share-modal__panel{
    position:relative;
    z-index:2;
    width:min(420px,100%);
    display:grid;
    gap:14px;
    padding:18px;
    border:1px solid rgba(151,206,178,.3);
    border-radius:18px;
    background:#17342b;
    color:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.45);
}

.app-share-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.app-share-modal__header strong{
    font-size:18px;
    line-height:1.2;
}

.app-share-modal__close{
    width:36px;
    height:36px;
    border:1px solid rgba(151,206,178,.24);
    border-radius:50%;
    background:rgba(255,255,255,.13);
    color:#fff;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

.app-share-modal__field{
    display:grid;
    gap:8px;
}

.app-share-modal__field span{
    color:rgba(255,255,255,.72);
    font-size:13px;
    font-weight:700;
}

.app-share-modal__field input{
    width:100%;
    min-height:48px;
    border:1px solid rgba(151,206,178,.34);
    border-radius:12px;
    padding:0 12px;
    background:#f5faf6;
    color:#10251d;
}

.app-share-modal__copy{
    min-height:48px;
    border:0;
    border-radius:12px;
    background:#e57b4e;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}
html,
body{
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
}

body.welcome-modal-active{
    overflow:hidden;
}
.clients-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.clients-row__left{
    display:flex;
    flex-direction:column;
    line-height:1.2;
}

.clients-row__right{
    display:flex;
    align-items:center;
    gap:8px;
}
.batch-row--client{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.batch-row__col{
    display:flex;
    flex-direction:column;
}

.batch-row__actions--client{
    display:flex;
    align-items:center;
    gap:8px;
}
.fav-btn{
    font-size:20px;
    line-height:1;
    color:#fff;
}

.fav-btn.is-active{
    color:#ff9d00; /* оранжевый */
}
.discount-box{
    display:flex;
    gap:12px;
    margin-top:14px;
    flex-wrap:wrap;
    }
    
    .discount-option{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:rgba(255,255,255,.04);
    cursor:pointer;
    }
    
.discount-option input{
    margin:0;
    }

.club-static{
    min-height:52px;
    display:flex;
    align-items:center;
    padding:0 14px;
    border-radius:var(--radius-md);
    background:rgba(255,255,255,.06);
    color:#fff;
    font-weight:800;
}

.club-title{
    margin:0;
    font-size:24px;
    line-height:1.2;
}

.club-subtitle{
    margin:18px 0 10px;
    font-size:18px;
}

.club-table{
    width:100%;
    overflow:auto;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    background:rgba(255,255,255,.02);
}

.club-table__head,
.club-table__row{
    display:grid;
    grid-template-columns:1.2fr 1fr .8fr .9fr 1fr 1.1fr;
    gap:10px;
    min-width:760px;
    padding:12px 14px;
}

.club-table__head{
    color:#fff;
    font-size:13px;
    font-weight:900;
    background:rgba(255,255,255,.05);
}

.club-table__row{
    color:var(--muted);
    text-decoration:none;
    border-top:1px solid rgba(255,255,255,.06);
}

.club-table__row span:first-child{
    color:#fff;
    font-weight:800;
}

.club-progress{
    display:grid;
    gap:8px;
}

.club-progress__bar{
    height:16px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.08);
}

.club-progress__bar span{
    display:block;
    height:100%;
    border-radius:999px;
    background:var(--accent);
}

.club-progress p{
    margin:0;
    color:var(--muted);
}

.club-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:10px;
}

.club-stats div{
    padding:12px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    background:rgba(255,255,255,.04);
}

.club-stats span{
    display:block;
    color:var(--muted);
    font-size:13px;
}

.club-stats strong{
    display:block;
    margin-top:4px;
    font-size:24px;
}

.club-history{
    display:grid;
    gap:10px;
}

.club-history__item{
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    background:rgba(255,255,255,.03);
}

.club-history__item span{
    color:var(--muted);
    font-size:14px;
}

.club-client-block{
    display:grid;
    gap:10px;
}

.club-client-block__bar{
    height:14px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.08);
}

.club-client-block__bar span{
    display:block;
    height:100%;
    border-radius:999px;
    background:var(--accent);
}

.club-client-block p{
    margin:0;
    color:var(--muted);
}

.club-status{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    background:rgba(255,255,255,.04);
}

.club-status span{
    color:#ffd6c4;
    font-weight:900;
}

.club-card{
    display:grid;
    gap:10px;
    padding:16px;
    border:1px solid rgba(255,157,0,.2);
    border-radius:16px;
    background:linear-gradient(180deg,rgba(255,157,0,.12),rgba(255,255,255,.04));
}

.club-card h3,
.club-card p{
    margin:0;
}

.club-card p{
    color:var(--muted);
}

.club-top-list{
    display:grid;
    gap:8px;
}

.club-top-list a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
    background:rgba(255,255,255,.03);
    color:#fff;
    text-decoration:none;
}

.club-top-list span{
    color:var(--muted);
}

.club-client-history{
    display:grid;
    gap:4px;
    padding-top:4px;
}

.club-client-history span{
    color:var(--muted);
    font-size:14px;
}

.club-danger-zone{
    border-color:rgba(255,107,107,.35);
}

.btn--danger{
    background:#b91c1c;
    color:#fff;
}

.btn--danger:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.club-delete-summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px 12px;
}

.club-delete-summary span{
    color:var(--muted);
}

.club-delete-summary strong{
    color:#fff;
    text-align:right;
}
    .raw-total-price{
        display:none;
        }
        
        .discount-box{
        display:flex;
        gap:12px;
        margin-top:14px;
        flex-wrap:wrap;
        }
        
        .discount-option{
        display:flex;
        align-items:center;
        gap:8px;
        padding:10px 14px;
        border:1px solid rgba(255,255,255,.1);
        border-radius:12px;
        background:rgba(255,255,255,.04);
        cursor:pointer;
        }
        
        .discount-option input{
        margin:0;
        }

.chat-assistant{
    position:fixed;
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom, 0px));
    z-index:9998;
    font-family:inherit;
}

.chat-assistant__toggle{
    min-width:82px;
    height:52px;
    border:0;
    border-radius:999px;
    background:#ff8b42;
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
}

.chat-assistant__panel{
    position:absolute;
    right:0;
    bottom:64px;
    width:min(360px,calc(100vw - 32px));
    max-height:min(620px,calc(100vh - 104px));
    display:grid;
    grid-template-rows:auto minmax(180px,1fr) auto;
    overflow:hidden;
    background:#17342b;
    border:1px solid rgba(151,206,178,.46);
    border-radius:18px;
    box-shadow:
        0 26px 70px rgba(0,0,0,.58),
        0 8px 22px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.07);
}

.chat-assistant__panel[hidden]{
    display:none;
}

.chat-assistant__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 14px 12px;
    background:linear-gradient(180deg,rgba(20,58,46,.98),rgba(15,43,34,.96));
    border-bottom:1px solid rgba(151,206,178,.32);
}

.chat-assistant__header strong{
    display:block;
    font-size:15px;
    line-height:1.2;
}

.chat-assistant__header span{
    display:block;
    margin-top:2px;
    font-size:12px;
    color:rgba(255,255,255,.66);
}

.chat-assistant__close{
    width:36px;
    height:36px;
    border:1px solid rgba(151,206,178,.24);
    border-radius:50%;
    background:rgba(255,255,255,.13);
    color:#fff;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,.2);
}

.chat-assistant__messages{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:220px;
    overflow:auto;
    padding:16px;
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.035));
}

.chat-assistant__message{
    max-width:88%;
    padding:11px 13px;
    border-radius:14px;
    font-size:14px;
    line-height:1.45;
    white-space:pre-wrap;
}

.chat-assistant__message--assistant{
    align-self:flex-start;
    background:rgba(217,239,225,.14);
    color:#fff;
    border:1px solid rgba(151,206,178,.18);
    border-bottom-left-radius:5px;
    box-shadow:0 8px 18px rgba(0,0,0,.16);
}

.chat-assistant__message--user{
    align-self:flex-end;
    background:#ff8b42;
    color:#fff;
    border-bottom-right-radius:5px;
    box-shadow:0 8px 18px rgba(128,54,15,.22);
}

.chat-assistant__form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:13px 14px 14px;
    background:rgba(11,32,25,.42);
    border-top:1px solid rgba(151,206,178,.24);
}

.chat-assistant__input{
    width:100%;
    min-width:0;
    height:44px;
    border:1px solid rgba(151,206,178,.34);
    border-radius:12px;
    padding:0 12px;
    background:#f5faf6;
    color:#10251d;
    outline:none;
    box-shadow:inset 0 1px 3px rgba(16,37,29,.18);
}

.chat-assistant__send{
    height:44px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    padding:0 12px;
    background:#e57b4e;
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 9px 18px rgba(98,39,10,.28);
}

.chat-assistant__send:disabled,
.chat-assistant__input:disabled{
    opacity:.72;
    cursor:wait;
}

.chat-assistant__contact{
    align-self:stretch;
    max-width:100%;
    padding:12px;
    border:1px solid rgba(151,206,178,.2);
    border-radius:14px;
    background:rgba(217,239,225,.1);
}

.chat-assistant__contact-form{
    display:grid;
    gap:9px;
}

.chat-assistant__contact-form input{
    width:100%;
    min-width:0;
    height:42px;
    border:1px solid rgba(151,206,178,.34);
    border-radius:12px;
    padding:0 11px;
    background:#f5faf6;
    color:#10251d;
    outline:none;
    box-shadow:inset 0 1px 3px rgba(16,37,29,.18);
}

.chat-assistant__contact-form button{
    min-height:44px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    padding:0 12px;
    background:#e57b4e;
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 9px 18px rgba(98,39,10,.28);
}

.chat-assistant__contact-form button:disabled,
.chat-assistant__contact-form input:disabled{
    opacity:.72;
    cursor:wait;
}

.chat-assistant__contact-consent{
    margin:0;
    font-size:12px;
    line-height:1.35;
    color:rgba(255,255,255,.74);
}

.chat-assistant__contact-error{
    font-size:12px;
    line-height:1.35;
    color:#ffd1c4;
}

.welcome-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.welcome-modal[hidden]{
    display:none;
}

.welcome-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(4px);
    opacity:0;
    transition:opacity .24s ease;
}

.welcome-modal__panel{
    position:relative;
    z-index:2;
    width:min(560px,100%);
    max-height:min(720px,calc(100vh - 40px));
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
    background:#17342b;
    border:1px solid rgba(151,206,178,.46);
    border-radius:18px;
    color:#fff;
    box-shadow:
        0 26px 70px rgba(0,0,0,.58),
        0 8px 22px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.07);
    opacity:0;
    transform:translateY(18px) scale(.98);
    transition:opacity .26s ease, transform .26s ease;
    outline:none;
}

.welcome-modal.is-open .welcome-modal__backdrop{
    opacity:1;
}

.welcome-modal.is-open .welcome-modal__panel{
    opacity:1;
    transform:translateY(0) scale(1);
}

.welcome-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 16px 13px;
    background:linear-gradient(180deg,rgba(20,58,46,.98),rgba(15,43,34,.96));
    border-bottom:1px solid rgba(151,206,178,.32);
}

.welcome-modal__header strong{
    display:block;
    font-size:18px;
    line-height:1.2;
}

.welcome-modal__header span{
    display:block;
    margin-top:3px;
    font-size:12px;
    color:rgba(255,255,255,.66);
}

.welcome-modal__close{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid rgba(151,206,178,.24);
    border-radius:50%;
    background:rgba(255,255,255,.13);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,.2);
}

.welcome-modal__body{
    overflow:auto;
    padding:16px;
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.035));
    -webkit-overflow-scrolling:touch;
}

.welcome-modal__body p{
    margin:0 0 12px;
    color:rgba(255,255,255,.86);
    font-size:14px;
    line-height:1.52;
}

.welcome-modal__body ol,
.welcome-modal__body ul{
    margin:0 0 14px;
    padding-left:20px;
    color:rgba(255,255,255,.88);
}

.welcome-modal__body li{
    margin-bottom:10px;
    font-size:14px;
    line-height:1.5;
}

.welcome-modal__actions{
    display:grid;
    gap:9px;
    padding:13px 16px 16px;
    background:rgba(11,32,25,.42);
    border-top:1px solid rgba(151,206,178,.24);
}

.welcome-modal__primary,
.welcome-modal__secondary,
.welcome-modal__footer-link{
    font:inherit;
}

.welcome-modal__primary{
    min-height:46px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    padding:0 14px;
    background:#e57b4e;
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 9px 18px rgba(98,39,10,.28);
}

.welcome-modal__secondary{
    min-height:38px;
    border:0;
    border-radius:10px;
    padding:0 12px;
    background:transparent;
    color:rgba(255,255,255,.72);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.welcome-modal__footer-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.72);
    font-size:11px;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer;
}

.welcome-modal__close:focus-visible,
.welcome-modal__primary:focus-visible,
.welcome-modal__secondary:focus-visible,
.welcome-modal__footer-link:focus-visible{
    outline:3px solid rgba(255,157,0,.36);
    outline-offset:2px;
}

@media (max-width:480px){
    .footer-menu-wrap{
        left:12px;
        bottom:calc(12px + env(safe-area-inset-bottom, 0px));
    }

    .chat-assistant{
        right:12px;
        bottom:calc(12px + env(safe-area-inset-bottom, 0px));
    }

    .chat-assistant__panel{
        width:calc(100vw - 24px);
        max-height:calc(100vh - 92px);
        bottom:62px;
    }

    .welcome-modal{
        align-items:flex-end;
        padding:12px;
    }

    .welcome-modal__panel{
        max-height:calc(100vh - 24px);
        border-radius:18px;
    }

    .welcome-modal__header{
        padding:14px 14px 12px;
    }

    .welcome-modal__header strong{
        font-size:16px;
    }

    .welcome-modal__body{
        padding:14px;
    }

    .welcome-modal__actions{
        padding:12px 14px 14px;
    }
}
