/* Знаходка 5.217 — визуальная система по предоставленным макетам.
   Реальные HTML-компоненты, а не изображения интерфейса. */
:root{--zn217-night:#061724;--zn217-surface:#0b273a;--zn217-surface-2:#0d3146;--zn217-accent:#19d6df;--zn217-green:#15d7ae;--zn217-border:rgba(84,201,225,.24);--zn217-text:#eefaff;--zn217-muted:#a9c5d4;--zn217-radius:18px;--zn217-shadow:0 16px 40px rgba(0,13,29,.17)}
body:not(.zn-effective-light):not(.zn-theme-light){--zn216-accent:#16ddd3;--zn216-link:#53dffc;--zn216-surface:#0b283b;--zn216-surface2:#103347;--zn216-border:rgba(101,210,235,.22)}
/* Shared layout — readably sized cards and no horizontal overflow. */
body{max-width:100%;overflow-x:clip}
:is(.shell,.admin-main,.ecosystem-page,.zn-wallet-5178,.zn216-promo-page,.promotion-page-5158,.zn-advertising-5203){min-width:0;max-width:100%}
:is(.panel,.product-card,.zn216-panel,.zn216-table-wrap,.zn-glass,.admin-stat-card){min-width:0;overflow-wrap:anywhere}
:is(.product-grid,.catalog-product-grid,.listing-grid,.zn-sections-grid,.admin-stats-grid){min-width:0}
:is(.product-card,.panel,.zn216-panel,.admin-stat-card,.zn-glass){transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){:is(.product-card,.zn216-panel,.admin-stat-card):hover{box-shadow:var(--zn217-shadow);transform:translateY(-2px)}}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #22cbec;outline-offset:3px}
:where(input,select,textarea){max-width:100%;min-width:0}
/* Desktop header, global search, catalog/sidebar. */
body:not(.zn-effective-light):not(.zn-theme-light) .top{background:linear-gradient(110deg,#061723 0%,#082a3e 100%);border-bottom:1px solid rgba(71,209,232,.19)}
.top-in{gap:clamp(8px,1vw,18px)}
.top .top-search{max-width:min(660px,48vw);min-width:185px;border-radius:13px}
.top .top-actions>*{flex-shrink:0}
.brand-symbol-5159{border-radius:12px!important;box-shadow:inset 0 0 20px rgba(33,231,219,.15)}
body:not(.zn-effective-light):not(.zn-theme-light) :is(.page-index,.page-sections,.page-search,.page-profile,.page-wallet,.page-notifications,.page-promocodes,.page-advertising) :is(.panel,.zn-glass,.zn216-panel){border-color:var(--zn217-border)}
:is(.home-page-5166,.page-sections,.page-search) :is(.category-card,.section-card,.product-card,.catalog-card){border-radius:16px!important;overflow:hidden}
:is(.home-page-5166,.page-sections,.page-search) :is(.category-card,.section-card,.product-card) img{object-fit:cover;max-width:100%}
:is(.home-page-5166,.page-sections,.page-search) :is(.product-card,.listing-card) :is(h2,h3,p,strong,small){overflow-wrap:anywhere;min-width:0}
:is(.page-sections,.page-search,.page-index) :is(.section-grid,.categories-grid,.category-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
/* Profile, wallet and promo screens inspired by desktop/mobile examples. */
.page-profile :is(.profile-hero,.profile-header,.profile-top-card,.profile-stat,.profile-stats),
.page-wallet .zn-wallet-balance,.page-promocodes .zn216-intro{border-radius:21px}
.page-wallet .zn-wallet-balance{background:linear-gradient(125deg,#006d82,#082741 80%)!important;border-color:#1fbfc3!important}
.page-wallet .zn-wallet-summary-5203>div{border-radius:15px}
.page-wallet .zn-wallet-links-5205{display:flex;flex-wrap:wrap;gap:8px}
.page-wallet .zn-wallet-links-5205 a{border-radius:10px;min-height:42px;display:inline-flex;align-items:center}
.page-wallet .zn-provider-list{min-width:0}
.page-wallet .zn-wallet-row{gap:12px}
.page-wallet .zn-wallet-row .amount{font-variant-numeric:tabular-nums}
.page-promocodes .zn216-intro{padding:clamp(18px,3vw,38px);background:radial-gradient(circle at 90% 5%,rgba(19,225,217,.22),transparent 40%),linear-gradient(115deg,#092b4a,#061c32);border:1px solid rgba(89,204,236,.28)}
.page-promocodes .zn216-intro h1{color:#f5ffff}
.page-promocodes .zn216-intro p{color:#c4dce7}
.zn217-site-coupon{display:flex;align-items:flex-start;gap:14px;margin:12px 0;padding:15px;border:1px solid rgba(19,202,184,.38);border-radius:15px;background:linear-gradient(135deg,rgba(19,217,172,.17),rgba(37,161,243,.07))}
.zn217-site-coupon b{display:block}.zn217-site-coupon small{display:block;opacity:.83;margin-top:5px;line-height:1.45}
.zn217-coupon-icon{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:13px;background:#17d6bb;color:#052636;font-weight:900;font-size:25px}
.zn217-coupon-checkout{display:grid;gap:10px;border:1px solid rgba(21,212,189,.42);border-radius:17px;background:linear-gradient(125deg,rgba(25,215,192,.11),rgba(20,138,226,.09));padding:clamp(14px,2.5vw,20px);margin:18px 0}
.zn217-coupon-checkout label{font-weight:750;margin:0}
.zn217-coupon-checkout select{background:var(--zn216-surface2,#123249);color:var(--zn216-ink,#ecffff);border:1px solid rgba(85,194,214,.4);border-radius:10px;min-height:49px;width:100%;padding:10px 13px;font:inherit;cursor:pointer}
.zn217-coupon-checkout small{color:var(--zn216-muted,#a8c5d0);line-height:1.5}
.zn217-coupon-result{font-weight:750;font-variant-numeric:tabular-nums;color:#34ead5}
.zn217-coupon-checkout>a{color:#37c9f7;text-decoration:underline;text-underline-offset:2px}
.page-advertising .ad-order-form-wrap,.page-promotion .promotion-offer-5158{border-radius:21px}
.page-advertising .ad-payment-summary{border-radius:15px}
/* Notification rows and unread count without giant touch targets. */
.page-notifications :is(.notification-row,.notification-item,.notification-card){border-radius:14px;gap:12px}
.page-notifications :is(.notification-row,.notification-item,.notification-card) :is(h2,h3,span,p){min-width:0;overflow-wrap:anywhere}
.page-notifications :is(.notification-row,.notification-item,.notification-card):focus-within{border-color:#35dbd6}
/* Dialogs and system status cards. */
.page-inbox :is(.conversation-card,.inbox-row,.thread-card),.page-message_user :is(.zn-bubble,.zn-composer){border-radius:17px}
.page-message_user .zn-bubble.mine{background:linear-gradient(130deg,#056678,#098b86)}
.page-inbox :is(.conversation-card,.inbox-row),.page-message_user :is(.zn-bubble,.zn-composer){overflow-wrap:anywhere;max-width:100%}
/* Maintenance / restricted state. */
.page-maintenance :is(.panel,.maintenance-card),.page-account_restricted :is(.panel,.restricted-card){border-radius:22px}
/* Administration coupon form: two columns on desktop, one column on phone. */
.zn216-admin-promos .zn216-table-wrap{max-width:100%;overscroll-behavior:contain}
.zn216-admin-promos .zn216-table td{vertical-align:middle}
.zn216-admin-promos .zn216-table tbody tr:hover{background:rgba(18,207,208,.045)}
.zn216-admin-promos :is(.form input,.form select){min-height:43px}
/* Consistent bottom navigation with five compact reachable actions. */
.zn-mobile-nav-5178{box-sizing:border-box}
.zn-mobile-nav-5178>a,.zn-mobile-nav-5178>button{min-width:0!important;flex:1 1 0;gap:3px}
.zn-mobile-nav-5178 :is(small,.nav-icon){white-space:nowrap}
.zn-mobile-nav-5178 small{font-size:clamp(9px,2.2vw,12px);line-height:1.3}
.zn-mobile-nav-5178 .mobile-create-command .nav-icon-create{box-shadow:0 5px 20px rgba(20,204,230,.3);border-radius:50%}
/* Theme parity: treat theme surfaces via variables, avoid hardcoded white/dark overlapping panels. */
html.zn-effective-light body,body.zn-effective-light,body.zn-theme-light{--zn216-surface:#fff;--zn216-surface2:#f4f9fc;--zn216-border:#dae8ee;--zn216-ink:#173044;--zn216-muted:#587086;--zn216-link:#075ac6;color:#163044}
html.zn-effective-light :is(.zn217-coupon-checkout,.zn217-site-coupon),body.zn-effective-light :is(.zn217-coupon-checkout,.zn217-site-coupon){background:#f1fbf8;border-color:#b6e7d8;color:#15364a}
html.zn-effective-light .zn217-coupon-checkout select,body.zn-effective-light .zn217-coupon-checkout select{background:#fff;color:#163044;border-color:#b9d2de}
html.zn-effective-light .zn217-coupon-result,body.zn-effective-light .zn217-coupon-result{color:#078b72}
html.zn-effective-light :is(.zn216-promo-page .zn216-panel,.zn216-admin-promos .admin-panel),body.zn-effective-light :is(.zn216-promo-page .zn216-panel,.zn216-admin-promos .admin-panel){background:#fff;color:#163044;border-color:#d8e7ef}
/* Mobile: no overflow, readable forms, side-scroll only for large tables. */
@media(max-width:1024px){.top .top-search{max-width:none;flex:1}.zn216-admin-promos .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){
  :is(.zn216-promo-page,.promotion-page-5158,.zn-advertising-5203,.zn-wallet-5178){width:100%;padding-left:12px;padding-right:12px;box-sizing:border-box}
  :is(.zn216-admin-promos,.page-promocodes) :is(.two,.zn216-promo-columns){grid-template-columns:minmax(0,1fr)}
  .top .top-search{min-width:0}
  .zn216-admin-promos .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .zn216-admin-promos .admin-stat-card{padding:12px}
  .zn217-coupon-checkout select{font-size:16px}
  .zn-mobile-nav-5178{padding-bottom:max(4px,env(safe-area-inset-bottom));max-width:100vw}
  .page-wallet .zn-wallet-summary-5203{grid-template-columns:1fr!important}
}
@media(max-width:390px){.zn-mobile-nav-5178 small{font-size:9px}.zn217-site-coupon{padding:11px}.zn217-coupon-checkout{padding:11px}.zn216-admin-promos .admin-stat-card strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){:is(.product-card,.zn216-panel,.admin-stat-card){transition:none!important;transform:none!important}}

/* Reward message replaces generic flash with a clear coupon/points summary. */
.zn217-reward-card{display:flex;gap:14px;align-items:flex-start;margin:16px 0;padding:18px;border:1px solid rgba(19,218,176,.48);border-radius:17px;background:linear-gradient(120deg,rgba(14,200,172,.18),rgba(19,127,211,.1));color:var(--zn216-ink,#e9ffff)}
.zn217-reward-star{flex:0 0 50px;height:50px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(140deg,#15dcb4,#14a7e2);color:#072738;font-size:27px}
.zn217-reward-card strong{display:block;font-size:18px}.zn217-reward-card p{margin:5px 0 9px}.zn217-reward-card a{color:var(--zn216-link,#4fe3f6);font-weight:750}
