

/* Start:/local/templates/main/template_styles.css?179261413687741*/
/**
 * РЛФ 2026 — Основные стили шаблона main (Российский Лаунж Фестиваль)
 * Адаптивный макет кабинета участника
 */

@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/local/templates/main/fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/local/templates/main/fonts/inter-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/local/templates/main/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/local/templates/main/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/local/templates/main/fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/local/templates/main/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/local/templates/main/fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/local/templates/main/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/local/templates/main/fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/local/templates/main/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/local/templates/main/fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/local/templates/main/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--font-sans:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--bg:#f6f6f9;--white:#fff;--ink:#40404a;--muted:#767682;--line:#e7e7ef;--pink:#d93080;--bright:#ff268d;--pale:#ffebf3;--green:#487d42;--green-bg:#eaf5e6;--radius:20px;--bx-panel-offset:0px;--rlf-pink:#D6286E;--rlf-pink-soft:#FCE8F0;--rlf-hover-bg:#FFEBF3;--rlf-hover-ink:#D9347B;--rlf-ink:#17171C;--rlf-ink-2:#55555F;--rlf-ink-3:#8C8C97;--rlf-line:#ECECF1;--rlf-fill:#F5F5F8;--rlf-bg:#FAFAFC;--rlf-surface:#FFFFFF;--rlf-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--rlf-r-control:12px;--rlf-sidebar-w:288px;--glass-bg:rgba(255,255,255,.8);--glass-bg-strong:rgba(255,255,255,.9);--glass-blur:blur(40px) saturate(160%) brightness(1.12);--glass-sheen:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.15) 100%);--glass-edge:inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px rgba(255,255,255,.45);--glass-border:rgba(23,23,28,.07);--glass-shadow:0 8px 32px rgba(23,23,28,.10);--topbar-h:84px;--tabbar-h:84px;}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--font-sans);font-family:var(--font-sans)}button,input,textarea,select{font-family:var(--font-sans);font:inherit;color:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}a{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f4a4ca;outline-offset:3px}input,textarea{width:100%;min-width:0;background:white;border:1px solid var(--line);border-radius:8px;padding:14px 16px;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--pink)}input::placeholder,textarea::placeholder{color:#a6a6af}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.2;letter-spacing:-1px;margin-bottom:40px;font-weight:700;color:#23232c}h2{font-size:23px;line-height:1.25;letter-spacing:-.6px}h3{font-size:17px;line-height:1.35;letter-spacing:-.3px}small,.muted{color:var(--muted)}svg.icon{width:21px;height:21px;flex-shrink:0;stroke-width:1.6;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:7px;font-size:13px;font-weight:700;min-height:44px;background:var(--pink);color:white;text-decoration:none;transition:background .18s,transform .18s}.btn,a.btn,button.btn,.btn:hover,.btn:focus,.btn:active,.btn:visited,a.btn:hover,a.btn:focus,a.btn:active,a.btn:visited{text-decoration:none}.btn:hover{background:#c12772;transform:translateY(-1px)}.btn.dark{background:#292932}.btn.light{background:var(--pale);color:var(--pink)}.btn.ghost{background:#f3f3f7;color:var(--ink)}.btn .icon{width:17px;height:17px}.text-btn{color:var(--pink);font-size:13px;font-weight:700;display:inline-flex;gap:7px;align-items:center;padding:8px 0;min-height:36px}.text-btn:hover{text-decoration:underline}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.icon-btn:hover{background:var(--pale);color:var(--pink)}.badge{display:inline-flex;align-items:center;gap:5px;background:var(--pale);color:var(--pink);font-size:11px;font-weight:700;padding:5px 9px;border-radius:5px;line-height:1.4}.badge.success{background:var(--green-bg);color:var(--green)}.badge.neutral{background:#f1f1f6;color:var(--muted)}.badge .icon{width:14px;height:14px}.round{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--pale);color:var(--pink);border:1px solid #ffd1e5;flex-shrink:0}.avatar{font-weight:700;font-size:20px}.sidebar{position:fixed;inset:0 auto 0 0;width:320px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 20px;z-index:30}.brand{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #f0f0f5}.brand img{width:130px;height:82px;object-fit:contain}.year{background:var(--pale);color:var(--pink);border-radius:20px;font-weight:700;padding:3px 9px;font-size:12px;display:inline-block}.brand-caption{text-align:center;letter-spacing:1.8px;font-size:11px;font-weight:600;margin:14px 0 28px}.nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:18px;width:100%;border-radius:14px;text-align:left;padding:0 18px;min-height:58px;height:58px;color:var(--muted);font-size:15px;font-weight:500;transition:background .2s,color .2s}.nav-link:hover{background:#faf6f8;color:var(--pink)}.nav-link.active{background:#ffedf5;color:var(--pink);font-weight:600}.nav-link .count{margin-left:auto;min-width:26px;height:26px;border-radius:13px;padding:0 6px;background:var(--pink,#d93080);color:#ffffff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1;border:none}.nav-link.active .count{background:var(--pink,#d93080);color:#ffffff}.side-bottom{margin-top:auto;border-top:1px solid #f0f0f5;padding-top:15px}.profile-link{display:flex;gap:10px;align-items:center;text-align:left;width:100%;padding:4px 0 16px}.profile-link .person{min-width:0;flex:1}.person strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.person small{font-size:12px}.profile-link .icon{width:16px;height:16px}.logout{display:flex;align-items:center;gap:17px;font-size:12px;color:var(--muted);width:100%;padding:14px}.main{margin-left:var(--rlf-sidebar-w,288px);min-height:100dvh;padding:48px 56px 72px;display:flex;flex-direction:column}.content{max-width:1320px;width:100%;margin:0;flex:1}.page{animation:appear .25s ease-out}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.stack{display:grid;gap:14px}.section-title{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:30px 0 20px}.section-title h2{min-width:0}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:230px;border-radius:20px;background:#08034e;padding:26px;color:white;display:flex;align-items:center}.hero-copy{z-index:2;max-width:70%}.hero h1{font-size:30px;line-height:1.25;margin:18px 0 26px;letter-spacing:-.6px}.hero .badge{background:#262169;color:#9bc8ff}.hero-date{display:flex;align-items:center;gap:10px;color:#9bc8ff;font-size:12px}.hero-date .round{background:#262169;border:none;color:#9bc8ff;width:38px;height:38px}.hero-art{position:absolute;width:410px;height:100%;right:0;top:0;z-index:0;pointer-events:none}.hero-art img{position:absolute;object-fit:contain}.hero-art .bear{width:385px;right:-55px;top:5px;transform:rotate(-12deg)}.hero-art .ball{width:240px;right:190px;top:-125px}.hero-art .purple{width:130px;right:40px;bottom:-45px}.hero-art .green{width:65px;right:230px;top:40px}.hero-art .yellow{width:120px;right:25px;top:-35px;transform:rotate(20deg)}.overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.activate-card{position:relative;overflow:hidden;min-height:240px;padding:24px}.activate-card .copy{position:relative;z-index:1;max-width:65%}.activate-card h2{margin:23px 0 10px}.activate-card p{font-size:13px;color:var(--muted);margin-bottom:20px;max-width:285px}.activate-card img{position:absolute;right:10px;top:45px;width:190px;pointer-events:none}.progress-card{display:flex;flex-direction:column;min-height:240px}.progress-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.big-number{font-size:52px;line-height:1.15;font-weight:700;letter-spacing:-2px}.big-number small{font-size:25px;color:var(--ink);letter-spacing:-1px}.progress-caption{margin:6px 0;font-size:13px;color:var(--muted)}.bar{height:20px;border-radius:20px;overflow:hidden;background:#ffe5ef}.bar>span{display:block;height:100%;border-radius:20px;background:linear-gradient(100deg,#ff2c94,#da307f);transition:width .6s cubic-bezier(.2,.7,.3,1)}.progress-card .bar{margin:24px 0}.progress-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:12px}.progress-foot strong{font-size:21px;letter-spacing:-.5px}.collection{margin-top:16px}.collection .section-title{margin:3px 0 20px;align-items:flex-end}.collection .section-title p{font-size:12px}.venue-row{border-top:1px solid var(--line);padding:22px 0;display:flex;align-items:center;gap:16px}.venue-row:last-child{padding-bottom:3px}.venue-info{flex:1;min-width:0}.venue-info p{margin-top:5px;font-size:12px;color:var(--muted)}.steps{display:flex;gap:8px;flex-shrink:0}.step{width:32px;height:32px;border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;color:var(--muted);font-size:12px}.step.done{border:1px solid #ffd0e4;background:#ffe5f0;color:#ed6da9}.step .icon{width:18px;height:18px;stroke-width:2.5}.empty{padding:32px 20px;text-align:center}.empty .round{margin:0 auto 15px;width:48px;height:48px}.empty p{max-width:420px;margin:8px auto 18px;color:var(--muted);font-size:13px}.history{overflow:hidden;padding:0}.history-head,.history-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,3fr) 155px;align-items:center;gap:20px}.history-head{padding:19px 24px;background:#fafafe;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.history-row{padding:21px 0;margin:0 24px;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-row h3{font-size:15px}.history-row small{display:block;font-size:12px;margin-top:5px}.history-code strong{font-size:15px;letter-spacing:-.2px;overflow-wrap:anywhere}.row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.review-status{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px}.review-status .icon{width:16px;height:16px}.search-wrap{position:relative;margin-bottom:10px}.search-wrap>.icon{position:absolute;left:14px;top:14px;color:var(--muted);width:19px;height:19px}.search-wrap input{padding-left:42px}.code-form{display:flex;align-items:flex-start;gap:14px;margin-top:24px}.code-form .field{flex:1;min-width:0}.code-input{font-size:17px;letter-spacing:1.5px;font-variant-numeric:tabular-nums}.field-error{font-size:12px;color:#b32658;margin-top:7px;min-height:18px}.field-error:empty{display:none}.intro{margin-top:8px;color:var(--muted);font-size:13px}.activate-heading{display:flex;justify-content:space-between;gap:14px}.review-card{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.review-card small{display:block;margin:7px 0 5px;font-size:12px}.review-content{min-width:0}.review-right{flex-shrink:0;text-align:right;display:grid;gap:10px}.review-right time{font-size:12px;color:var(--muted)}.rating-line{display:flex;gap:10px;align-items:center;justify-content:flex-end;font-size:11px;color:var(--muted)}.stars{display:flex;gap:1px;color:#d5d5dc}.stars .filled{color:var(--pink)}.stars .icon{width:18px;height:18px;fill:currentColor;stroke-width:0}.draw-card{padding:22px}.draw-card.featured{background:var(--pink);color:white;border-color:var(--pink)}.draw-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.draw-top .round{background:#f8f8fb;border-color:var(--line);color:#aaaab4}.draw-top time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.draw-top time .icon{width:18px;height:18px}.draw-card.featured .draw-top time{color:#ffe4f0}.draw-card.featured .round{background:#ffe4f0;border:0;color:var(--pink)}.draw-card p{display:flex;align-items:flex-start;gap:7px;font-size:13px;margin:8px 0 16px;color:var(--muted)}.draw-card p .icon{width:17px;height:17px;flex-shrink:0;margin-top:1px}.draw-card.featured p{color:#ffe9f3}.draw-card .bar{height:14px;background:#eeeeF2}.draw-card.featured .bar{background:#ea6ba7}.draw-bottom{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-top:16px}.draw-numbers{font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-1px}.draw-numbers small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:8px;color:var(--muted)}.draw-card.featured .draw-numbers small{color:#ffe9f3}.draw-card.featured .badge{background:#ffe7f1;color:var(--pink)}.draw-result{display:flex;justify-content:space-between;align-items:center;gap:20px}.draw-result.won{position:relative;overflow:hidden;min-height:156px;background:var(--pink);color:white}.draw-result.won .result-copy{z-index:1;max-width:72%}.draw-result.won img{position:absolute;right:0;top:-35px;width:230px;pointer-events:none}.draw-result p{margin-top:7px;font-size:13px}.draw-result small{color:#ffe4f0}.result-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.result-copy h3{margin-top:15px}.notifications-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.notification{display:flex;gap:16px;align-items:flex-start;text-align:left;width:100%;transition:border-color .2s}.notification.unread{border-left:3px solid var(--pink);padding-left:22px}.notification p{font-size:13px;color:var(--muted);margin:6px 0 10px}.notification .notification-text{flex:1;min-width:0}.notification time{font-size:11px;color:var(--muted)}.unread-dot{display:block;flex-shrink:0;margin-top:7px;width:7px;height:7px;border-radius:50%;background:var(--pink)}.profile-card{max-width:890px}.profile-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-heading .round{width:52px;height:52px}.profile-heading h2{font-size:21px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.form-grid .wide{grid-column:1/-1}.switch-row{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#f6f6f9;padding:14px 16px;border-radius:7px;font-weight:700;font-size:13px;cursor:pointer}.switch-input{appearance:none;width:36px;height:20px;border-radius:20px;padding:0;border:0;background:#dcdce5;position:relative;flex-shrink:0;cursor:pointer;transition:background .2s}.switch-input:before{content:'';position:absolute;width:16px;height:16px;top:2px;left:2px;background:white;border-radius:50%;box-shadow:0 1px 4px #0002;transition:transform .2s}.switch-input:checked{background:var(--pink)}.switch-input:checked:before{transform:translateX(16px)}.profile-switches{display:grid;gap:8px;margin:24px 0}.demo{margin:35px 0 24px;border:1px dashed #dcdce7;border-radius:12px;font-size:12px;color:var(--muted);padding:13px 16px}.demo summary{cursor:pointer;color:var(--muted);font-weight:700}.demo-content{margin-top:16px}.demo p{margin-bottom:12px;max-width:740px}.demo-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-controls .btn{font-size:12px;padding:8px 12px;min-height:36px}.demo-code{border:1px solid var(--line);background:white;padding:8px 12px;border-radius:6px;color:var(--ink);font-variant-numeric:tabular-nums;min-height:36px}.demo-code:hover{border-color:var(--pink);color:var(--pink)}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:11px;max-width:1480px;width:100%;margin:28px auto 0;padding:25px 0 28px}.mobile-top{display:none}.bottom-nav{display:none}.menu-backdrop{display:none}dialog{border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);padding:0;width:calc(100% - 32px);max-width:700px;max-height:calc(100dvh - 32px);box-shadow:0 20px 80px #18102930}dialog::backdrop{background:#24242c70;backdrop-filter:blur(3px)}.modal-inner{padding:28px;overflow-y:auto;max-height:calc(100dvh - 34px)}.modal-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.modal-head h2{font-size:28px;line-height:1.25}.modal-sub{color:var(--muted);font-size:13px;margin-bottom:25px}.modal-sub strong{color:var(--ink)}.rating-group{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.rating-group>span{font-weight:700;font-size:13px}.rating-controls{display:flex;gap:0;flex-shrink:0}.rating-controls button{color:#d8d8df;padding:4px;width:37px;height:40px}.rating-controls button.selected{color:var(--pink)}.rating-controls button:hover{color:#ed6aa8}.rating-controls .icon{width:28px;height:28px;fill:currentColor;stroke-width:0}.review-textarea{margin-top:24px}.review-textarea textarea{min-height:125px;resize:vertical;font-size:13px;line-height:1.5}.textarea-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:5px}.full{width:100%}.modal-action{margin-top:20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.detail-grid .wide{grid-column:1/-1}.detail-grid dt{color:var(--muted);font-size:12px;margin-bottom:4px}.detail-grid dd{margin:0;overflow-wrap:anywhere;font-weight:700;font-size:14px}.quote{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8f8fb;border-radius:10px;padding:18px;margin-top:20px;font-size:14px;line-height:1.6}.read-ratings{display:grid;gap:12px;margin-top:22px}.read-ratings .rating-line{justify-content:space-between;font-size:13px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px}.toast-area{position:fixed;bottom:24px;right:24px;z-index:100;display:grid;gap:10px;width:380px;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;background:white;border:1px solid var(--line);box-shadow:0 10px 40px #27203320;padding:17px;border-radius:14px;pointer-events:auto;animation:appear .25s}.toast.success{border-left:4px solid var(--pink)}.toast strong{display:block;font-size:14px}.toast p{color:var(--muted);font-size:12px;margin-top:4px}.toast .round{width:32px;height:32px}.toast .icon-btn{width:24px;height:24px}.toast .icon-btn .icon{width:16px;height:16px}.login{max-width:480px;width:calc(100% - 32px);margin:12vh auto;background:white;border:1px solid var(--line);border-radius:24px;padding:32px;text-align:center}.login img{width:120px;margin-bottom:25px}.login h1{font-size:28px}.login p{color:var(--muted);font-size:13px;margin:12px 0 24px}.login .badge{margin-bottom:18px}.storage-warning{background:#fff0d7;padding:12px 16px;margin-bottom:16px;border-radius:10px;font-size:13px;color:#83531d}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}body.modal-open{overflow:hidden}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.main,.rlf-main{padding-top:48px;padding-left:56px;padding-right:56px}.content{max-width:1320px;margin:0}}
@media(max-width:1200px){.sidebar{width:var(--rlf-sidebar-w,288px)}.main{margin-left:var(--rlf-sidebar-w,288px);padding:28px 24px 0}.hero h1{font-size:26px}.hero-art{right:-60px;opacity:.85}.hero-copy{max-width:76%}.activate-card .copy{max-width:72%}.activate-card img{width:160px;right:-10px;top:65px}.activate-card h2{font-size:21px}.progress-head{flex-wrap:wrap}.big-number{font-size:46px}.history-head,.history-row{grid-template-columns:145px minmax(100px,1fr) 135px;gap:14px}}
@media(max-width:980px) and (min-width:761px){.sidebar{width:200px;padding:16px 12px}.main{margin-left:200px;padding:24px 20px 0}.nav-link{gap:11px;padding:14px 10px;font-size:12px}.overview{grid-template-columns:1fr}.progress-card{min-height:210px}.activate-card{min-height:220px}.activate-card img{width:210px;right:15px;top:20px}.activate-card .copy{max-width:65%}.hero-copy{max-width:100%}.hero-art{opacity:.28;right:-95px}.collection .section-title{align-items:flex-start;flex-direction:column}.venue-row{flex-wrap:wrap}.steps{margin-left:58px}.history-head{display:none}.history-row{grid-template-columns:1fr auto}.history-code{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.history-code small{margin:0}.code-form{flex-direction:column}.code-form .field{width:100%}.code-form .btn{width:100%}}
@media(max-width:760px){body{font-size:14px}.sidebar{transform:translateX(-105%);transition:transform .25s;width:280px;box-shadow:10px 0 50px #25203815}.sidebar.open{transform:translateX(0)}.menu-backdrop.active{display:block;position:fixed;inset:0;background:#26263265;z-index:25}.main{margin-left:0;padding:80px 16px 88px}.mobile-top{position:fixed;top:0;left:0;right:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff!important;border-bottom:1px solid var(--line);padding:10px 16px;z-index:50;height:64px;box-shadow:0 1px 3px rgba(0,0,0,0.03)}.mobile-logo{display:flex;align-items:center;gap:10px}.mobile-logo a{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}.mobile-logo img{width:auto;height:38px;max-width:85px;object-fit:contain;background:transparent;display:block}.mobile-logo .year{background:var(--pale);color:var(--pink);border-radius:20px;font-weight:700;padding:2px 8px;font-size:11px;line-height:1.3;display:inline-block}.mobile-tools{display:flex;align-items:center;gap:8px}.mobile-tools .avatar{width:36px;height:36px;border-radius:50%;background:var(--pale);color:var(--pink);border:1px solid #ffd1e5;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;text-decoration:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 5px max(7px,env(safe-area-inset-bottom));background:#ffffff!important;border-top:1px solid var(--line);z-index:50;box-shadow:0 -1px 4px rgba(0,0,0,0.03)}.bottom-nav button,.bottom-nav a{position:relative;display:grid;justify-items:center;gap:4px;padding:5px 2px;font-size:10px;color:var(--muted);border-radius:10px;line-height:1.25;min-height:48px;text-decoration:none}.bottom-nav button.active,.bottom-nav a.active{color:var(--pink);background:var(--pale)}.bottom-nav .icon{width:21px;height:21px}.mobile-count{position:absolute;top:1px;left:calc(50% + 5px);background:var(--pink);color:white;min-width:15px;border-radius:12px;font-size:9px;padding:1px 4px;border:2px solid white}h1{font-size:27px;margin-bottom:22px}.hero{min-height:215px;padding:22px;border-radius:16px}.hero-copy{max-width:100%}.hero h1{font-size:25px;margin:16px 0 24px;max-width:440px}.hero-art{width:320px;right:-85px;opacity:.28}.hero-date{font-size:11px}.overview{grid-template-columns:1fr;gap:12px;margin-top:12px}.card{padding:20px;border-radius:16px}.activate-card{min-height:225px}.activate-card .copy{max-width:69%}.activate-card h2{font-size:22px}.activate-card p{font-size:12px}.activate-card img{width:170px;top:45px;right:-9px}.progress-card{min-height:205px}.progress-head{flex-wrap:nowrap}.big-number{font-size:47px}.progress-card .bar{height:15px;margin:22px 0}.progress-caption{font-size:12px}.progress-foot strong{font-size:20px}.collection{margin-top:12px}.section-title{margin:26px 0 16px;align-items:flex-start}.section-title h2,h2{font-size:22px}.collection .section-title{display:block}.collection .section-title p{margin-top:7px;font-size:11px}.venue-row{gap:12px;flex-wrap:wrap;padding:18px 0}.venue-info h3{font-size:15px}.venue-info p{font-size:11px}.venue-info{flex-basis:calc(100% - 60px)}.steps{margin-left:54px;width:calc(100% - 54px)}.history{padding:0}.history-head{display:none}.history-row{grid-template-columns:minmax(0,1fr) auto;gap:13px;margin:0 18px;padding:19px 0}.history-code{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:center}.history-code strong{font-size:14px}.history-code small{margin:0;font-size:11px}.history-row h3{font-size:14px}.history-row small{font-size:11px}.row-actions{gap:3px}.row-actions .text-btn{font-size:12px}.row-actions .icon-btn{width:32px;height:36px}.review-status{font-size:11px}.empty{padding:27px 16px}.code-form{gap:10px}.code-form .btn{min-height:49px;white-space:nowrap;padding:12px}.code-input{font-size:15px;letter-spacing:.6px;padding:13px 12px}.activate-heading h2{font-size:21px}.activate-heading .round{width:34px;height:34px}.review-card{display:block}.review-right{margin-top:10px;display:flex;justify-content:space-between;align-items:center;text-align:left;flex-wrap:wrap;gap:8px}.review-card .rating-line{font-size:10px;gap:6px}.review-right>time{order:1;margin-left:auto}.review-right .stars .icon{width:15px;height:15px}.draw-card{padding:20px}.draw-bottom{align-items:flex-start}.draw-numbers{font-size:29px}.draw-numbers small{display:block;margin:3px 0 0;font-size:11px;line-height:1.4}.draw-bottom .badge{margin-top:4px;font-size:10px}.draw-card p{font-size:12px}.draw-result{flex-wrap:wrap;gap:12px}.draw-result.won{min-height:165px}.draw-result.won img{width:180px;right:-25px;top:0;opacity:.55}.draw-result.won .result-copy{max-width:88%}.notifications-toolbar{align-items:flex-start;flex-direction:column;gap:4px}.notification{display:flex;gap:12px;padding:18px}.notification.unread{padding-left:16px}.notification .round{width:34px;height:34px}.notification h3{font-size:15px}.notification p{font-size:12px}.profile-heading h2{font-size:18px}.profile-heading{gap:12px}.form-grid{grid-template-columns:1fr;gap:18px}.form-grid .wide{grid-column:auto}.switch-row{font-size:12px;padding:13px}.profile-card .btn{width:100%}.demo{margin-top:26px;padding:12px}.demo-controls{gap:7px}.demo-code{font-size:11px}.footer{font-size:10px;padding:20px 0;align-items:flex-start}.footer span:first-child{max-width:80%}.modal-inner{padding:22px}.modal-head h2{font-size:24px}.rating-group{gap:10px}.rating-controls button{width:32px;padding:2px}.rating-controls .icon{width:26px;height:26px}.modal-sub{margin-bottom:16px;font-size:12px}.toast-area{right:16px;bottom:85px}.detail-grid{gap:16px}.detail-grid dd{font-size:13px}.login{padding:25px;margin-top:8vh}}
@media(max-width:380px){.main{padding-left:12px;padding-right:12px}.hero{padding:18px}.hero h1{font-size:22px}.card{padding:17px}.activate-card .copy{max-width:100%}.activate-card img{display:none}.activate-card h2{font-size:20px}.progress-head{flex-wrap:wrap;gap:6px}.progress-head .badge{font-size:10px}.code-form{flex-direction:column}.code-form .field,.code-form .btn{width:100%}.history{padding:0}.row-actions{gap:0}.history-row{margin:0 14px;gap:9px}.history-row h3{font-size:13px}.history-code{gap:5px}.history-code small{font-size:10px}.history-row .review-status span{max-width:65px;line-height:1.2}.rating-group{display:block}.rating-controls{margin-top:10px;justify-content:space-between}.rating-controls button{width:43px;height:44px}.rating-controls .icon{width:30px;height:30px}.modal-inner{padding:20px}.detail-grid{grid-template-columns:1fr}.detail-grid .wide{grid-column:auto}.draw-top time{font-size:11px}.notification{padding:16px}.notification.unread{padding-left:14px}.notification .round{display:none}.venue-info{flex-basis:calc(100% - 46px)}.steps{margin-left:0;width:100%}.venue-row>.round{width:34px;height:34px}.bottom-nav button{font-size:9px}.profile-heading{align-items:flex-start}.profile-heading .round{width:40px;height:40px}.profile-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ==========================================================================
   РЛФ × BLACKBURN — МЕНЮ (ШАБЛОН)
   ПК: боковое меню.
   ≤1024px: верхняя панель 84px (лого, профиль, меню) — белая;
            нижняя панель вкладок 84px — матовое стекло FROST; меню поверх всего.
   ========================================================================== */

.rlf-glass {
  background: var(--glass-sheen), var(--glass-bg);
  box-shadow: var(--glass-edge);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .rlf-glass { background: rgba(255, 255, 255, .96); }
}

.rlf-menu-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
}
.rlf-menu-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rlf-sidebar {
  position: fixed;
  top: var(--bx-panel-offset, 0px);
  left: 0;
  bottom: 0;
  width: var(--rlf-sidebar-w);
  height: calc(100vh - var(--bx-panel-offset, 0px));
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 20px 24px;
  background: var(--rlf-surface);
  border-right: 1px solid var(--rlf-line);
  z-index: 30;
  box-sizing: border-box;
}

.rlf-brand {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 0 4px 24px;
  border-bottom: 1px solid var(--rlf-line);
}
.rlf-brand__logo { height: 88px; width: auto; max-width: 170px; object-fit: contain; object-position: left bottom; }
.rlf-brand__year {
  margin-left: auto;
  flex: none;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--rlf-pink-soft);
  color: var(--rlf-pink);
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
}
.rlf-close {
  display: none;
  flex: none;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: var(--rlf-ink);
  color: #fff;
  cursor: pointer;
}
.rlf-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }

.rlf-sidebar__caption {
  margin: 0;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--rlf-ink-2);
}

.rlf-nav { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.rlf-nav__link {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 2px 12px 2px 2px;
  border-radius: var(--rlf-r-control);
  color: var(--rlf-ink-2);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  transition: background-color .15s ease, color .15s ease;
  text-decoration: none;
}
.rlf-nav__link:hover,
.rlf-nav__link.is-active {
  background: var(--rlf-hover-bg);
  color: var(--rlf-hover-ink);
}
.rlf-nav__link.is-active { font-weight: 600; }

.rlf-nav__count {
  margin-left: auto;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--rlf-pink);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.rlf-roles {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 4px;
  padding: 4px;
  margin-bottom: 4px;
  border-radius: var(--rlf-r-control);
  background: var(--rlf-fill);
}
.rlf-roles__btn {
  height: 36px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--rlf-ink-2);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.rlf-roles__btn:hover { background: var(--rlf-hover-bg); color: var(--rlf-hover-ink); }
.rlf-roles__btn.is-active { background: var(--rlf-pink); color: #fff; font-weight: 600; }

.rlf-sidebar__footer {
  margin-top: auto;
  display: grid;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--rlf-line);
}
.rlf-user {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 4px 8px 8px;
  border-radius: var(--rlf-r-control);
  transition: background-color .15s ease;
  text-decoration: none;
  color: inherit;
}
.rlf-user:hover { background: var(--rlf-hover-bg); }
.rlf-user:hover .rlf-menu-icon { color: var(--rlf-hover-ink); }
.rlf-user .rlf-menu-icon { flex-basis: 32px; width: 32px; height: 32px; color: var(--rlf-ink-3); }
.rlf-avatar {
  flex: none;
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--rlf-pink-soft);
  color: var(--rlf-pink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}
.rlf-user__text { min-width: 0; flex: 1; }
.rlf-user__name { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rlf-user__role { display: block; margin-top: 2px; font-size: 13px; line-height: 1.3; color: var(--rlf-ink-3); }

.rlf-logout {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 12px 0 2px;
  border-radius: var(--rlf-r-control);
  color: var(--rlf-ink-2);
  font-size: 14px;
  font-weight: 500;
  transition: background-color .15s ease, color .15s ease;
  text-decoration: none;
}
.rlf-logout:hover { background: var(--rlf-hover-bg); color: var(--rlf-hover-ink); }

.rlf-topbar { display: none; }
.rlf-topbar__logo { height: 58px; width: auto; max-width: 140px; object-fit: contain; display: block; }
.rlf-topbar__actions { display: flex; align-items: center; gap: 4px; }
.rlf-topbar__profile .rlf-avatar { width: 44px; height: 44px; font-size: 17px; }
.rlf-topbar__profile { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; text-decoration: none; }
.rlf-topbar .rlf-menu-icon svg { width: 24px; height: 24px; stroke-width: 2.08; }

.rlf-tabbar { display: none; }

.rlf-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(23, 23, 28, .28);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}

@media (max-width: 1024px) {
  .rlf-topbar {
    position: fixed;
    top: var(--bx-panel-offset, 0px);
    left: 0; right: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: calc(var(--topbar-h) + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 8px 0 16px;
    background: #FFFFFF;
    border-bottom: 1px solid var(--rlf-line);
    box-sizing: border-box;
  }

  .rlf-tabbar {
    position: fixed;
    left: 12px; right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 60;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: var(--tabbar-h);
    padding: 8px;
    border-radius: 28px;
    max-width: 520px;
    margin: 0 auto;
    transform: translateZ(0);
    box-sizing: border-box;
  }

  .rlf-tabbar--frost {
    background: var(--glass-sheen), var(--glass-bg);
    -webkit-backdrop-filter: var(--glass-blur);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-edge), var(--glass-shadow);
  }

  .rlf-tab {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
    gap: 4px;
    border-radius: 22px;
    color: var(--rlf-ink-2);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    transition: color .15s ease, background-color .15s ease;
    text-decoration: none;
  }
  .rlf-tab.is-active { color: var(--rlf-hover-ink); font-weight: 600; }
  .rlf-tab__icon { position: relative; display: inline-grid; place-items: center; width: 28px; height: 28px; }
  .rlf-tab__icon svg {
    width: 24px; height: 24px;
    fill: none; stroke: currentColor;
    stroke-width: 2.08;
    stroke-linecap: round; stroke-linejoin: round;
  }
  .rlf-tab__badge {
    position: absolute;
    top: -4px; right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: var(--rlf-pink);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .9);
  }

  .rlf-sidebar {
    position: fixed;
    top: var(--bx-panel-offset, 0px);
    inset: var(--bx-panel-offset, 0px) auto 0 0;
    z-index: 100;
    width: min(380px, 100vw);
    height: calc(100% - var(--bx-panel-offset, 0px));
    padding: calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));
    background: var(--glass-sheen), var(--glass-bg-strong);
    -webkit-backdrop-filter: var(--glass-blur);
    backdrop-filter: var(--glass-blur);
    border-right: 1px solid var(--glass-border);
    transform: translateX(-100%);
    visibility: hidden;
    transition: transform .3s cubic-bezier(.2, .8, .2, 1), visibility .3s ease;
    box-sizing: border-box;
  }
  .rlf-brand { align-items: center; padding: 0 0 20px; border-bottom-color: var(--glass-border); }
  .rlf-brand__logo { height: 56px; }
  .rlf-brand__year { margin-left: 4px; margin-right: auto; }
  .rlf-close { display: inline-grid; }
  .rlf-sidebar__footer { border-top-color: var(--glass-border); }

  body.is-menu-open { overflow: hidden; }
  body.is-menu-open .rlf-sidebar { transform: none; visibility: visible; box-shadow: 24px 0 64px rgba(23, 23, 28, .16); }
  body.is-menu-open .rlf-overlay { opacity: 1; visibility: visible; }

  /* Контент уходит под панели */
  .main,
  .rlf-main {
    margin-left: 0 !important;
    padding-top: calc(var(--bx-panel-offset, 0px) + var(--topbar-h) + env(safe-area-inset-top) + 24px) !important;
    padding-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 40px) !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

@media (max-width: 640px) {
  .rlf-sidebar { width: 100vw; border-right: 0; }
  .main,
  .rlf-main { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Vue 3 Modal & Toasts */
.vue-modal-backdrop{position:fixed;inset:0;background:rgba(36,36,44,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:appear .2s ease-out}
.vue-modal-window{width:100%;max-width:620px;max-height:calc(100dvh - 32px);overflow:hidden;padding:0;box-shadow:0 20px 80px rgba(24,16,41,0.3);animation:modalPop .25s cubic-bezier(0.16,1,0.3,1)}.vue-modal-window:has(.review-modal-form){max-width:930px}
@keyframes modalPop{from{opacity:0;transform:scale(0.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.toast-stack{display:grid;gap:10px}
.toast-enter-active,.toast-leave-active{transition:all .3s cubic-bezier(0.16,1,0.3,1)}
.toast-enter-from{opacity:0;transform:translateY(16px) scale(0.95)}
.toast-leave-to{opacity:0;transform:translateX(30px) scale(0.95)}
[v-cloak]{display:none!important}

/* ========================================================
   HOME PAGE: «МОЙ ФЕСТИВАЛЬ» (ГОСТЬ) — ДИЗАЙН ИЗ ГЛАВНАЯ РЛФ ГОСТЬ.HTML
   ======================================================== */

:root {
  --rlf-navy: #110E58;              /* фон баннера фестиваля */
  --rlf-pink-light: #F0539A;        /* светлый край розового градиента */
  --rlf-pink-dark: #BF1F5F;         /* наведение на розовую кнопку */
  --rlf-success: #18794E;           /* статус «готово» */
  --rlf-success-soft: #E6F6EE;
  --rlf-success-dot: #3BDC8A;       /* «живая» точка на тёмном */
  --rlf-r-card: 20px;
  --rlf-r-hero: 24px;
  --rlf-star-empty: #E2E2E8;
}

/* ================= КАРКАС СТРАНИЦЫ (.rlf-page) ================= */
.rlf-main {
  min-width: 0;
  padding: calc(var(--bx-panel-offset, 0px) + 48px) 56px 72px;
}
.rlf-page {
  max-width: 1320px;
  margin: 0;
  display: grid;
  gap: 24px;
}
.rlf-page__row {                     /* ряд «промокоды + сбор сетов» */
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 24px;
}
.rlf-section-head {                  /* заголовок секции + ссылка справа */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 24px;
}
.rlf-h2 {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  text-wrap: balance;
  color: var(--rlf-ink);
}
.rlf-card {
  background: var(--rlf-surface);
  border: 1px solid var(--rlf-line);
  border-radius: var(--rlf-r-card);
  box-sizing: border-box;
}

/* ==========================================================================
   ДИЗАЙН-СИСТЕМА: ПЛАШКИ (.rlf-tag)
   ========================================================================== */
.rlf-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  box-sizing: border-box;
}
.rlf-tag--accent  { background: var(--rlf-pink-soft); color: var(--rlf-pink); }
.rlf-tag--neutral { background: var(--rlf-fill); color: var(--rlf-ink-2); }
.rlf-tag--success { background: var(--rlf-success-soft); color: var(--rlf-success); }
.rlf-tag--inverse { background: #fff; color: var(--rlf-pink); }
.rlf-tag--live {
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
  color: #fff;
}
.rlf-tag__dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rlf-success-dot);
  display: inline-block;
}
.rlf-tag__dot::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid var(--rlf-success-dot);
  opacity: 0;
  animation: rlf-pulse 2.4s ease-out infinite;
}
@keyframes rlf-pulse {
  0%   { transform: scale(.5); opacity: .7; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* ================= ДИЗАЙН-СИСТЕМА: СТАТУСЫ (.rlf-status) ================= */
.rlf-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px 0 8px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}
.rlf-status svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; }
.rlf-status--success { background: var(--rlf-success-soft); color: var(--rlf-success); }

/* ================= ДИЗАЙН-СИСТЕМА: КНОПКИ (.rlf-btn) ================= */
.rlf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 55px;
  padding: 15px 20px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
  text-decoration: none;
  box-sizing: border-box;
}
.rlf-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.rlf-btn--primary { background: var(--rlf-pink); border-color: var(--rlf-pink); color: #fff; }
.rlf-btn--primary:hover { background: var(--rlf-pink-dark); border-color: var(--rlf-pink-dark); color: #fff; text-decoration: none; }
.rlf-btn--secondary { background: #F6F7F9; border-color: #E6E8ED; color: var(--rlf-ink); }
.rlf-btn--secondary:hover { background: var(--rlf-pink); border-color: var(--rlf-pink); color: #fff; text-decoration: none; }
.rlf-btn--inverse { background: #fff; border-color: #fff; color: var(--rlf-pink-dark); }
.rlf-btn--inverse:hover { background: var(--rlf-ink); border-color: var(--rlf-ink); color: #fff; text-decoration: none; }
.rlf-btn--soft { background: var(--rlf-pink-soft); border-color: var(--rlf-pink-soft); color: var(--rlf-pink); }
.rlf-btn--soft:hover { background: var(--rlf-pink); border-color: var(--rlf-pink); color: #fff; text-decoration: none; }
.rlf-btn--sm { height: 40px; padding: 0 16px 0 12px; gap: 8px; font-size: 14px; }
.rlf-btn--sm svg { width: 18px; height: 18px; stroke-width: 2.78; }
.rlf-btn--block { width: 100%; }

.rlf-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  color: var(--rlf-pink);
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  transition: color .15s ease;
  text-decoration: none;
}
.rlf-link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.rlf-link:hover { color: var(--rlf-pink-dark); text-decoration: none; }
.rlf-link:hover svg { transform: translateX(3px); }

/* ================= ДИЗАЙН-СИСТЕМА: ИКОНКА НА ПОДЛОЖКЕ (.rlf-ico-tile) ================= */
.rlf-ico-tile {
  flex: none;
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--rlf-pink-soft);
  color: var(--rlf-pink);
  box-sizing: border-box;
}
.rlf-ico-tile svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.rlf-ico-tile--glass {
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
  color: #fff;
}

/* ================= БЛОК: БАННЕР ФЕСТИВАЛЯ (.rlf-hero) ================= */
.rlf-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  min-height: 360px;
  padding: 40px;
  border-radius: var(--rlf-r-hero);
  color: #fff;
  background:
    radial-gradient(55% 90% at 82% 55%, rgba(214, 40, 110, .38), transparent 70%),
    radial-gradient(40% 60% at 0% 100%, rgba(91, 108, 255, .30), transparent 70%),
    var(--rlf-navy);
  box-sizing: border-box;
}
.rlf-hero__img {
  position: absolute;
  z-index: -1;
  right: -2%;
  top: 50%;
  width: 46%;
  max-width: 640px;
  height: auto;
  transform: translateY(-50%);
  pointer-events: none;
}
.rlf-hero__content { max-width: min(66%, 700px); display: grid; justify-items: start; gap: 20px; }
.rlf-hero__title {
  margin: 0;
  font-size: clamp(28px, 2.6vw, 40px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
  color: #fff !important;
}
.rlf-hero__date {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  color: rgba(255, 255, 255, .86);
  font-variant-numeric: tabular-nums;
}

/* ================= БЛОК: АКТИВАЦИЯ ПРОМОКОДОВ (.rlf-promo) ================= */
.rlf-promo {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-height: 380px;
  padding: 36px;
  box-sizing: border-box;
}
.rlf-promo__img {
  position: absolute;
  z-index: -1;
  top: 50%;
  right: -7%;
  width: 43%;
  max-width: 340px;
  height: auto;
  transform: translateY(-50%) rotate(-4deg);
  filter: drop-shadow(0 14px 24px rgba(214, 40, 110, .22));
  pointer-events: none;
}
.rlf-promo__content { max-width: 56%; display: grid; justify-items: start; gap: 16px; }
.rlf-promo__title {
  margin: 4px 0 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--rlf-ink);
}
.rlf-promo__text { margin: 0; max-width: 36ch; font-size: 16px; line-height: 1.55; color: var(--rlf-ink-2); }
.rlf-promo__action { margin-top: auto; }

/* ================= БЛОК: СБОР СЕТОВ — ИНФОГРАФИКА (.rlf-goal) ================= */
.rlf-goal {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 36px;
  box-sizing: border-box;
}
.rlf-goal__body {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 28px;
}
.rlf-ring {
  position: relative;
  flex: none;
  width: 168px;
  height: 168px;
}
.rlf-ring svg { width: 100%; height: 100%; display: block; }
.rlf-ring__seg {
  fill: none;
  stroke: var(--rlf-pink-soft);
  stroke-width: 12;
  stroke-linecap: round;
  stroke-dasharray: 58.54 314.16;
}
.rlf-ring__seg.is-on { stroke: url(#rlf-ring-grad); }
.rlf-ring__value {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 52px;
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--rlf-ink);
}
.rlf-ring__total { font-size: 24px; font-weight: 600; color: var(--rlf-ink-3); letter-spacing: 0; }
.rlf-goal__label {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--rlf-ink);
  max-width: 18ch;
}
.rlf-goal__footer {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 24px;
  border-top: 1px solid var(--rlf-line);
}
.rlf-goal__draw-label { flex: 1; font-size: 15px; color: var(--rlf-ink-2); }
.rlf-goal__draw-date {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--rlf-ink);
}

/* ================= БЛОК: КОЛЛЕКЦИЯ ПО ЗАВЕДЕНИЯМ (.rlf-collection) ================= */
.rlf-collection { padding: 32px 36px; box-sizing: border-box; }
.rlf-collection__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  flex-wrap: wrap;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rlf-line);
}
.rlf-collection__note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--rlf-ink-3);
}
.rlf-collection__note svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.78; stroke-linecap: round; stroke-linejoin: round; }
.rlf-place {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 24px;
}
.rlf-place + .rlf-place { margin-top: 24px; border-top: 1px solid var(--rlf-line); }
.rlf-place__info { flex: 1; min-width: 0; }
.rlf-place__name { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--rlf-ink); }
.rlf-place__meta { display: block; margin-top: 4px; font-size: 14px; color: var(--rlf-ink-3); }

/* --- Коллекция → ячейки сетов: is-on = собран --- */
.rlf-slots { display: grid; grid-template-columns: repeat(4, 48px); gap: 8px; }
.rlf-slot {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1.5px dashed #D9D9E1;
  color: var(--rlf-ink-3);
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
}
.rlf-slot.is-on {
  border: 0;
  background: linear-gradient(135deg, var(--rlf-pink-light), var(--rlf-pink));
  color: #fff;
  box-shadow: 0 6px 14px rgba(214, 40, 110, .25);
}
.rlf-slot svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* ================= БЛОК: АКТИВАЦИЯ КОДА (.rlf-activate) ================= */
.rlf-activate { padding: 32px 36px 36px; }
.rlf-activate__head { display: flex; align-items: flex-start; gap: 20px; }
.rlf-activate__titles { flex: 1; min-width: 0; }
.rlf-activate__title { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; text-wrap: balance; }
.rlf-activate__sub { margin: 6px 0 0; font-size: 15px; line-height: 1.45; color: var(--rlf-ink-2); }
.rlf-activate__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin-top: 24px;
}

/* ================= ДИЗАЙН-СИСТЕМА: ПОЛЯ ВВОДА (.rlf-input) ================= */
.rlf-input {
  width: 100%;
  height: 55px;
  padding: 0 18px;
  border: 1px solid #E6E8ED;
  border-radius: 5px;
  background: #FAFAFC;
  font: inherit;
  font-size: 16px;
  color: var(--rlf-ink);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  box-sizing: border-box;
}
.rlf-input::placeholder { color: #A9A9B3; }
.rlf-input:hover { border-color: #D6D8DF; }
.rlf-input:focus { outline: none; background: #fff; border-color: var(--rlf-pink); box-shadow: 0 0 0 4px rgba(214, 40, 110, .12); }
.rlf-input--code {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
}
.rlf-input--code::placeholder { font-weight: 500; letter-spacing: .12em; }

.rlf-search { position: relative; width: 100%; }
.rlf-search svg {
  position: absolute;
  left: 18px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  fill: none;
  stroke: var(--rlf-ink-3);
  stroke-width: 2.5;
  stroke-linecap: round;
  pointer-events: none;
}
.rlf-input--search { height: 55px; padding-left: 52px; background: #fff; }

/* ================= БЛОК: ИСТОРИЯ АКТИВАЦИЙ — заголовок + поиск ================= */
.rlf-history-head {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}
.rlf-table__empty td { padding: 40px 28px; text-align: center !important; color: var(--rlf-ink-3); font-size: 15px; }

/* ================= БЛОК: ПОСЛЕДНИЕ АКТИВАЦИИ — ТАБЛИЦА (.rlf-table) ================= */
.rlf-table-wrap { overflow: hidden; }
.rlf-table { width: 100%; border-collapse: collapse; }
.rlf-table th {
  padding: 16px 28px;
  background: #FAFAFC;
  border-bottom: 1px solid var(--rlf-line);
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  color: var(--rlf-ink-3);
}
.rlf-table th:last-child,
.rlf-table td:last-child { text-align: right; }
.rlf-table td { padding: 20px 28px; vertical-align: middle; }
.rlf-table tbody tr + tr td { border-top: 1px solid var(--rlf-line); }
.rlf-table tbody tr { transition: background-color .15s ease; }
.rlf-table tbody tr:hover { background: #FCFCFE; }
.rlf-table__main { display: block; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--rlf-ink); }
.rlf-table__sub { display: block; margin-top: 4px; font-size: 14px; color: var(--rlf-ink-3); line-height: 1.4; }
.rlf-table__code { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ================= ШАБЛОН: ПОДВАЛ (.rlf-footer) ================= */
.rlf-footer {
  max-width: 1320px;
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid var(--rlf-line);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 13px;
  color: var(--rlf-ink-3);
  box-sizing: border-box;
}

/* ================= БЛОК: ОКНО «ОЦЕНИТЬ ПОСЕЩЕНИЕ» (.rlf-modal) ================= */
.rlf-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  pointer-events: none;
}
.rlf-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(23, 23, 28, .36);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity .4s ease;
}
.rlf-modal__dialog {
  position: relative;
  width: min(100%, 580px);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  display: grid;
  gap: 24px;
  padding: 32px;
  border-radius: 24px;
  background: var(--rlf-surface);
  box-shadow: 0 24px 64px rgba(23, 23, 28, .18);
  opacity: 0;
  transform: translateY(48px) scale(.97);
  transition: opacity .35s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
  box-sizing: border-box;
}
body.is-modal-open { overflow: hidden; }
body.is-modal-open .rlf-modal[aria-hidden="false"],
body.is-modal-open .rlf-modal.is-open { visibility: visible; pointer-events: auto; }
body.is-modal-open .rlf-modal[aria-hidden="false"] .rlf-modal__backdrop,
body.is-modal-open .rlf-modal.is-open .rlf-modal__backdrop { opacity: 1; }
body.is-modal-open .rlf-modal[aria-hidden="false"] .rlf-modal__dialog,
body.is-modal-open .rlf-modal.is-open .rlf-modal__dialog { opacity: 1; transform: none; }

.rlf-modal__head { display: flex; align-items: flex-start; gap: 16px; }
.rlf-modal__titles { flex: 1; min-width: 0; }
.rlf-modal__title { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.2; letter-spacing: -0.015em; color: var(--rlf-ink) !important; }
.rlf-modal__sub { margin: 6px 0 0; font-size: 14px; line-height: 1.45; color: var(--rlf-ink-3); }
.rlf-modal__close {
  flex: none;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin: -6px -6px 0 0;
  border: 0;
  border-radius: 50%;
  background: var(--rlf-fill);
  color: var(--rlf-ink-2);
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.rlf-modal__close:hover { background: var(--rlf-hover-bg); color: var(--rlf-hover-ink); }
.rlf-modal__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }
.rlf-modal__handle { display: none; }
.rlf-modal__grab { display: contents; }

.rlf-visit {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--rlf-fill);
}
.rlf-visit__info { flex: 1; min-width: 0; }
.rlf-visit__name { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--rlf-ink); }
.rlf-visit__set { display: block; margin-top: 2px; font-size: 14px; color: var(--rlf-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rlf-visit__code { flex: none; font-size: 13px; font-weight: 600; color: var(--rlf-ink-3); font-variant-numeric: tabular-nums; }

.rlf-rate-list { margin: 0; padding: 0; border: 0; display: grid; }
.rlf-rate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid var(--rlf-line);
  min-width: 0;
}
.rlf-rate:first-child { padding-top: 0; }
.rlf-rate__label { padding: 0; font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--rlf-ink); }

.rlf-stars-input { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.rlf-stars-input input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.rlf-stars-input label {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--rlf-star-empty, #E2E2E8);
  cursor: pointer;
  transition: color .12s ease, transform .12s ease;
}
.rlf-stars-input svg { width: 32px; height: 32px; fill: currentColor; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.rlf-stars-input input:checked ~ label { color: var(--rlf-pink); }
@media (hover: hover) {
  .rlf-stars-input label:hover,
  .rlf-stars-input label:hover ~ label { color: var(--rlf-pink); }
  .rlf-stars-input:hover input:checked ~ label:not(:hover):not(:hover ~ label) { color: var(--rlf-star-empty, #E2E2E8); }
  .rlf-stars-input label:hover { transform: scale(1.1); }
}
.rlf-stars-input label:active { transform: scale(.92); }
.rlf-stars-input input:focus-visible + label { outline: 2px solid var(--rlf-pink); outline-offset: 0; }

.rlf-field { display: grid; gap: 10px; }
.rlf-field__label { font-size: 16px; font-weight: 600; color: var(--rlf-ink); }
.rlf-textarea {
  width: 100%;
  min-height: 132px;
  padding: 14px 16px;
  border: 1px solid var(--rlf-line);
  border-radius: 12px;
  background: #FAFAFC;
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--rlf-ink);
  resize: vertical;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  box-sizing: border-box;
}
.rlf-textarea::placeholder { color: var(--rlf-ink-3); }
.rlf-textarea:hover { border-color: #DCDCE3; }
.rlf-textarea:focus { outline: none; background: #fff; border-color: var(--rlf-pink); box-shadow: 0 0 0 4px rgba(214, 40, 110, .12); }

/* ================= АДАПТИВ СТРАНИЦЫ ================= */
@media (max-width: 1280px) {
  .rlf-promo__title { font-size: 26px; }
  .rlf-ring { width: 148px; height: 148px; }
  .rlf-ring__value { padding-top: 44px; font-size: 46px; }
}

@media (max-width: 1024px) {
  .rlf-hero { padding: 32px; min-height: 320px; }
  .rlf-goal { padding: 28px; }
  .rlf-promo { padding: 28px; }
  .rlf-promo__title { font-size: 24px; }
  .rlf-promo__content { max-width: 62%; }
  .rlf-goal__body { flex-direction: column; align-items: flex-start; gap: 16px; }
  .rlf-goal__label { max-width: none; }
  .rlf-collection { padding: 28px; }
  .rlf-activate { padding: 28px; }
  .rlf-table th, .rlf-table td { padding-left: 20px; padding-right: 20px; }
}

@media (max-width: 820px) {
  .rlf-page__row { grid-template-columns: minmax(0, 1fr); }
  .rlf-hero { padding: 0 24px 28px; gap: 24px; min-height: 0; justify-content: flex-start; }
  .rlf-hero__img {
    position: static;
    z-index: 0;
    transform: none;
    width: calc(100% + 48px);
    max-width: none;
    margin: -4% -24px -6%;
    -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
  }
  .rlf-hero__content { max-width: none; }
  .rlf-promo { min-height: 340px; }
  .rlf-promo__img { width: 42%; max-width: 340px; right: -6%; }
  .rlf-promo__content { max-width: 60%; }
  .rlf-goal__body { flex-direction: row; align-items: center; gap: 24px; }
}

@media (max-width: 640px) {
  .rlf-page { gap: 16px; }
  .rlf-section-head { margin-top: 16px; }
  .rlf-h2 { font-size: 22px; }

  .rlf-hero { padding: 0 20px 24px; border-radius: 20px; }
  .rlf-hero__img { width: calc(100% + 40px); margin: -4% -20px -6%; }
  .rlf-hero__title { font-size: 26px; }
  .rlf-hero__date { font-size: 15px; }

  .rlf-promo { padding: 0 20px 24px; gap: 20px; min-height: 0; }
  .rlf-promo__img {
    position: static;
    z-index: 0;
    align-self: center;
    width: 76%;
    max-width: 320px;
    margin: 16px auto -4px;
    transform: rotate(-4deg);
  }
  .rlf-promo__content { max-width: none; }
  .rlf-promo__title { font-size: 24px; }
  .rlf-promo__text { font-size: 15px; }
  .rlf-promo__action .rlf-btn, .rlf-promo__action { width: 100%; }

  .rlf-goal { padding: 20px; gap: 20px; }
  .rlf-goal__body { gap: 20px; }
  .rlf-ring { width: 128px; height: 128px; }
  .rlf-ring__value { padding-top: 38px; font-size: 40px; }
  .rlf-ring__total { font-size: 20px; }
  .rlf-goal__label { font-size: 16px; }
  .rlf-goal__draw-date { font-size: 24px; }

  .rlf-collection { padding: 20px; }
  .rlf-collection__head { padding-bottom: 20px; }
  .rlf-place { flex-wrap: wrap; padding-top: 20px; }
  .rlf-slots { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-left: 64px; }
  .rlf-slot { width: 100%; }

  .rlf-activate { padding: 20px; }
  .rlf-activate__head .rlf-ico-tile { display: none; }
  .rlf-activate__title { font-size: 20px; }
  .rlf-activate__sub { font-size: 14px; }
  .rlf-activate__form { grid-template-columns: minmax(0, 1fr); margin-top: 20px; }
  .rlf-activate__form .rlf-btn { width: 100%; }
  .rlf-input--code { text-align: center; }

  .rlf-history-head { margin-top: 16px; gap: 12px; }
  .rlf-input--search { height: 48px; padding-left: 48px; }

  /* Таблица → карточки */
  .rlf-table thead { display: none; }
  .rlf-table, .rlf-table tbody, .rlf-table tr, .rlf-table td { display: block; }
  .rlf-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 18px 20px;
  }
  .rlf-table tbody tr + tr { border-top: 1px solid var(--rlf-line); }
  .rlf-table tbody tr + tr td { border-top: 0; }
  .rlf-table td { padding: 0; }
  .rlf-table td:last-child { text-align: left; }
  .rlf-table__main { font-size: 15px; }
  .rlf-table .rlf-btn--sm { width: 100%; height: 44px; }
  .rlf-table__empty td { padding: 24px 0; }

  .rlf-footer { flex-direction: column; gap: 4px; margin-top: 40px; }

  .rlf-modal { padding: 0; place-items: end stretch; }
  .rlf-modal__dialog {
    width: 100%;
    max-height: calc(100dvh - 24px);
    gap: 20px;
    padding: 12px 20px calc(20px + env(safe-area-inset-bottom));
    border-radius: 24px 24px 0 0;
    transform: translateY(calc(100% + 40px));
    transition: opacity .4s ease, transform .55s cubic-bezier(.22, 1, .36, 1);
  }
  .rlf-modal__handle { display: block; width: 40px; height: 5px; margin: 0 auto; border-radius: 999px; background: #DCDCE3; }
  .rlf-modal__grab {
    display: grid;
    gap: 16px;
    margin: -12px -20px 0;
    padding: 12px 20px 0;
    touch-action: none;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
  }
  .rlf-modal__dialog.is-dragging { transition: none; cursor: grabbing; }
  .rlf-modal__title { font-size: 22px; }
  .rlf-rate { flex-direction: column; align-items: flex-start; gap: 8px; }
  .rlf-stars-input { gap: 2px; }
  .rlf-stars-input label { width: 48px; height: 48px; }
  .rlf-visit__code { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rlf-tag__dot::after { animation: none; }
  .rlf-link:hover svg { transform: none; }
  .rlf-modal__dialog, .rlf-modal__backdrop, .rlf-stars-input label { transition: none; }
}

/* ========================================================
   REVIEWS PAGE & MODAL — ГОСТЬ (ОТЗЫВЫ РЛФ ГОСТЬ.HTML)
   ======================================================== */

.rlf-h1 {
  margin: 0 0 8px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

/* ================= БЛОК: СПИСОК ОТЗЫВОВ (.rlf-reviews) ================= */
.rlf-reviews {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
  gap: 20px;
}

/* --- Карточка отзыва (.rlf-review) --- */
.rlf-review {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 28px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.rlf-review:hover {
  border-color: #E3E3EA;
  box-shadow: 0 10px 28px rgba(23, 23, 28, .06);
}

/* --- Карточка → шапка: иконка, заведение, сет, дата --- */
.rlf-review__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.rlf-review__info {
  flex: 1;
  min-width: 0;
}
.rlf-review__place {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
}
.rlf-review__set {
  margin: 4px 0 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--rlf-ink-2);
}
.rlf-review__date {
  flex: none;
  padding: 4px 10px;
  border-radius: 8px;
  background: var(--rlf-fill);
  color: var(--rlf-ink-2);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* --- Карточка → оценки: сет звёздами, сервис текстом --- */
.rlf-review__scores {
  display: grid;
  gap: 10px;
}
.rlf-score {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.rlf-score__label {
  font-size: 14px;
  color: var(--rlf-ink-2);
}
.rlf-score__value {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rlf-score__value span {
  font-weight: 500;
  color: var(--rlf-ink-3);
}

/* --- Карточка → низ: статус отзыва --- */
.rlf-review__foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--rlf-line);
}
.rlf-review__empty {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  font-size: 14px;
  color: var(--rlf-ink-3);
}
.rlf-review__empty svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.78;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rlf-review .rlf-link {
  border: 0;
  padding: 0;
  background: none;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

/* ================= ДИЗАЙН-СИСТЕМА: ЗВЁЗДЫ ОЦЕНКИ — только просмотр (.rlf-stars) ================= */
.rlf-stars {
  display: inline-flex;
  gap: 4px;
}
.rlf-stars svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
  color: #E2E2E8;
}
.rlf-stars svg.is-on {
  color: var(--rlf-pink);
}
.rlf-stars--lg svg {
  width: 24px;
  height: 24px;
}

/* --- Окно → текст отзыва (цитата) --- */
.rlf-quote {
  position: relative;
  margin: 0;
  padding: 18px 20px 18px 26px;
  border-radius: 12px;
  background: var(--rlf-fill);
  font-size: 16px;
  line-height: 1.6;
  color: var(--rlf-ink);
  overflow-wrap: anywhere;
}
.rlf-quote::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 16px;
  bottom: 16px;
  width: 3px;
  border-radius: 2px;
  background: var(--rlf-pink);
}
.rlf-modal__foot {
  display: flex;
  justify-content: flex-end;
}
.rlf-visit__meta {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: var(--rlf-ink-3);
  font-variant-numeric: tabular-nums;
}
.rlf-visit__meta b {
  font-weight: 600;
  color: var(--rlf-ink-2);
}

/* Адаптив для отзывов */
@media (max-width: 1024px) {
  .rlf-review {
    padding: 24px;
  }
}

@media (max-width: 640px) {
  .rlf-h1 {
    font-size: 28px;
    margin-bottom: 4px;
  }
  .rlf-reviews {
    gap: 12px;
  }
  .rlf-review {
    padding: 20px;
    gap: 16px;
  }
  .rlf-review__head .rlf-ico-tile {
    width: 44px;
    height: 44px;
  }
  .rlf-review__place {
    font-size: 16px;
  }
  .rlf-review__set {
    font-size: 14px;
  }
  .rlf-review__foot {
    padding-top: 12px;
  }
  .rlf-modal__foot .rlf-btn {
    width: 100%;
  }
  .rlf-quote {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rlf-review {
    transition: none;
  }
}

/* ==========================================================================
   PROFILE PAGE (ПРОФИЛЬ РЛФ.HTML)
   ========================================================================== */

/* ================= КАРКАС ПРОФИЛЯ (.rlf-profile) — все блоки друг за другом, одна колонка =================
   Единый шаблон для всех ролей (гость, шеф, организатор). */
.rlf-profile {
  display: grid;
  gap: 20px;
  max-width: 880px;
}
.rlf-profile__aside { display: grid; gap: 20px; }
.rlf-profile__main { display: grid; gap: 20px; }
.rlf-panel { padding: 28px; }
.rlf-panel__title { margin: 0 0 20px; font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }

/* ================= БЛОК: КАРТОЧКА ПОЛЬЗОВАТЕЛЯ (.rlf-me) ================= */
.rlf-me { display: flex; align-items: center; gap: 16px; }
.rlf-me .rlf-avatar { width: 64px; height: 64px; font-size: 24px; }
.rlf-me__name { margin: 0 0 6px; font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }

/* ================= ДИЗАЙН-СИСТЕМА: ПОЛЯ ВВОДА (.rlf-input) ================= */
.rlf-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.rlf-field--wide { grid-column: 1 / -1; }
.rlf-field__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

/* ================= ДИЗАЙН-СИСТЕМА: ПЕРЕКЛЮЧАТЕЛЬ (.rlf-switch) — настоящий checkbox, работает с формой ================= */
.rlf-toggles { display: grid; }
.rlf-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rlf-line);
  cursor: pointer;
}
.rlf-toggle:first-child { padding-top: 0; min-height: 54px; }
.rlf-toggle:last-child { border-bottom: 0; padding-bottom: 0; min-height: 54px; }
.rlf-toggle__text { flex: 1; min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 15px; font-weight: 600; line-height: 1.35; }
.rlf-switch { position: relative; flex: none; width: 48px; height: 28px; }
.rlf-switch input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.rlf-switch span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #DCDCE3;
  transition: background-color .2s ease;
  pointer-events: none;
}
.rlf-switch span::after {
  content: "";
  position: absolute;
  top: 3px; left: 3px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(23, 23, 28, .18);
  transition: transform .2s cubic-bezier(.3, 1.4, .5, 1);
}
.rlf-switch input:checked + span { background: var(--rlf-pink); }
.rlf-switch input:checked + span::after { transform: translateX(20px); }
.rlf-switch input:focus-visible + span { outline: 2px solid var(--rlf-pink); outline-offset: 2px; }

/* --- статус «Не привязан» --- */
.rlf-status--warn { height: 26px; padding: 0 10px; background: var(--rlf-pink-soft); color: var(--rlf-pink); font-size: 12px; }

/* ================= БЛОК: ПРИВЯЗКА МЕССЕНДЖЕРОВ (.rlf-connect) ================= */
.rlf-connect__text { margin: -8px 0 20px; font-size: 14px; line-height: 1.5; color: var(--rlf-ink-2); }
.rlf-connect__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ================= БЛОК: СОХРАНЕНИЕ ================= */
.rlf-save { display: flex; justify-content: flex-end; }

/* --- телефон ≤ 640px для профиля --- */
@media (max-width: 640px) {
  .rlf-profile, .rlf-profile__aside, .rlf-profile__main { gap: 12px; }
  .rlf-panel { padding: 20px; }
  .rlf-panel__title { font-size: 18px; margin-bottom: 16px; }
  .rlf-me .rlf-avatar { width: 56px; height: 56px; font-size: 21px; }
  .rlf-me__name { font-size: 20px; }
  .rlf-form-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .rlf-field__pair { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .rlf-toggle__text { font-size: 14px; }
  .rlf-connect__actions .rlf-btn { flex: 1 1 100%; }
  .rlf-save .rlf-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .rlf-switch span, .rlf-switch span::after { transition: none; }
}

/* ==========================================================================
   DRAWS PAGE (РОЗЫГРЫШ РЛФ ГОСТЬ.HTML)
   ========================================================================== */

/* ================= ДИЗАЙН-СИСТЕМА: ПРОГРЕСС ИЗ СЕГМЕНТОВ (.rlf-steps) ================= */
.rlf-steps { display: flex; gap: 6px; }
.rlf-steps span {
  flex: 1;
  height: 10px;
  border-radius: 999px;
  background: #F0F0F4;
}
.rlf-steps span.is-on { background: linear-gradient(90deg, var(--rlf-pink-light, #F0539A), var(--rlf-pink)); }

/* --- Счётчик «3/4 Сетов в одном заведении» --- */
.rlf-count { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.rlf-count__value { font-size: 34px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.rlf-count__value span { color: var(--rlf-ink-3); font-weight: 700; }
.rlf-count__label { font-size: 14px; font-weight: 500; color: var(--rlf-ink-2); }

/* --- Условие участия с иконкой «i» --- */
.rlf-note { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-size: 14px; line-height: 1.45; color: var(--rlf-ink-2); }
.rlf-note svg { flex: none; width: 18px; height: 18px; margin-top: 1px; fill: none; stroke: currentColor; stroke-width: 2.78; stroke-linecap: round; stroke-linejoin: round; }

/* ================= БЛОК: БЛИЖАЙШИЙ РОЗЫГРЫШ (.rlf-draw-main) ================= */
.rlf-draw-main {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  padding: 36px 40px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(60% 120% at 88% 50%, rgba(255, 255, 255, .20), transparent 60%),
    linear-gradient(120deg, #C32272 0%, #D6286E 45%, #E961A5 100%);
  box-shadow: 0 18px 40px rgba(214, 40, 110, .22);
}
.rlf-draw-main__info { display: grid; justify-items: start; gap: 14px; }
.rlf-draw-main .rlf-ico-tile { background: #fff; color: var(--rlf-pink); }
.rlf-draw-main__title { margin: 6px 0 0; font-size: 34px; font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; color: #fff !important; }
.rlf-draw-main .rlf-note { color: rgba(255, 255, 255, .9); font-size: 15px; }

.rlf-ring-wide { position: relative; width: 196px; height: 196px; flex: none; }
.rlf-ring-wide svg { width: 100%; height: 100%; display: block; }
.rlf-ring-wide__seg { fill: none; stroke: rgba(255, 255, 255, .25); stroke-width: 11; stroke-linecap: round; }
.rlf-ring-wide__seg.is-on { stroke: #fff; }
.rlf-ring-wide__center {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 6px;
  text-align: center;
}
.rlf-ring-wide__value { font-size: 52px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.rlf-ring-wide__value span { opacity: .7; font-weight: 700; }
.rlf-ring-wide__label { max-width: 12ch; font-size: 13px; font-weight: 500; line-height: 1.3; color: rgba(255, 255, 255, .9); }

/* ================= БЛОК: ПРЕДСТОЯЩИЕ РОЗЫГРЫШИ (.rlf-draws) ================= */
.rlf-draws {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr));
  gap: 20px;
}
.rlf-draw {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px;
}
.rlf-draw__head { display: flex; align-items: center; gap: 14px; }
.rlf-draw__title { flex: 1; min-width: 0; margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; }
.rlf-draw .rlf-ico-tile { background: var(--rlf-fill); color: var(--rlf-ink-3); }
.rlf-draw.is-done .rlf-ico-tile { background: var(--rlf-pink-soft); color: var(--rlf-pink); }
.rlf-draw__check {
  flex: none;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--rlf-fill);
  color: #B4B4BE;
}
.rlf-draw__check svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.78; stroke-linecap: round; stroke-linejoin: round; }
.rlf-draw.is-done .rlf-draw__check { background: var(--rlf-success-soft, #E6F6EE); color: var(--rlf-success, #18794E); }
.rlf-draw__progress { margin-top: auto; display: grid; gap: 14px; }

/* ================= БЛОК: ПРОШЕДШИЕ РОЗЫГРЫШИ (.rlf-past) ================= */
.rlf-past { display: grid; gap: 12px; }
.rlf-past__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
}
.rlf-past__item .rlf-ico-tile { width: 44px; height: 44px; background: var(--rlf-fill); color: var(--rlf-ink-3); }
.rlf-past__info { flex: 1; min-width: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.rlf-past__title { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.3; }
.rlf-past__date { font-size: 14px; color: var(--rlf-ink-3); font-variant-numeric: tabular-nums; }
.rlf-past__status {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--rlf-fill);
  color: var(--rlf-ink-3);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.rlf-past__status svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; }

.rlf-past__item.is-win {
  border-color: rgba(214, 40, 110, .25);
  background:
    radial-gradient(50% 140% at 0% 50%, rgba(214, 40, 110, .10), transparent 70%),
    #FFF5F9;
}
.rlf-past__item.is-win .rlf-ico-tile { background: linear-gradient(135deg, var(--rlf-pink-light, #F0539A), var(--rlf-pink)); color: #fff; box-shadow: 0 6px 14px rgba(214, 40, 110, .28); }
.rlf-past__item.is-win .rlf-past__status { background: var(--rlf-pink); color: #fff; }

/* --- планшет ≤ 1024px для розыгрышей --- */
@media (max-width: 1024px) {
  .rlf-draw-main { padding: 32px; gap: 24px; }
  .rlf-draw-main__title { font-size: 30px; }
  .rlf-ring-wide { width: 168px; height: 168px; }
  .rlf-ring-wide__value { font-size: 44px; }
  .rlf-draw { padding: 24px; }
}

/* --- телефон ≤ 640px для розыгрышей --- */
@media (max-width: 640px) {
  .rlf-draw-main { grid-template-columns: minmax(0, 1fr); padding: 24px 20px; border-radius: 20px; }
  .rlf-draw-main__title { font-size: 26px; }
  .rlf-ring-wide { order: -1; justify-self: center; width: 172px; height: 172px; }

  .rlf-draws { gap: 12px; }
  .rlf-draw { padding: 20px; gap: 16px; }
  .rlf-draw__title { font-size: 17px; }
  .rlf-count__value { font-size: 30px; }

  .rlf-past { gap: 10px; }
  .rlf-past__item { flex-wrap: wrap; padding: 16px; gap: 12px 14px; }
  .rlf-past__info { flex: 1 1 calc(100% - 64px); flex-direction: column; gap: 2px; }
  .rlf-past__status { margin-left: 58px; }
}

/* ==========================================================================
   NOTIFICATIONS PAGE (УВЕДОМЛЕНИЯ РЛФ ГОСТЬ.HTML)
   ========================================================================== */

/* ================= БЛОК: ШАПКА СТРАНИЦЫ — заголовок + «Прочитать все» ================= */
.rlf-page-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rlf-page-top .rlf-h1 { margin: 0; }
.rlf-btn__badge {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--rlf-pink);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transition: background-color .15s ease, color .15s ease;
}
.rlf-btn--soft:hover .rlf-btn__badge { background: #fff; color: var(--rlf-pink); }
.rlf-btn:disabled { opacity: .45; cursor: default; pointer-events: none; }

/* ================= БЛОК: СПИСОК УВЕДОМЛЕНИЙ (.rlf-notes) ================= */
.rlf-notes { display: grid; gap: 12px; }
.rlf-notice {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 4px 16px;
  padding: 22px 24px;
  border: 1px solid var(--rlf-line);
  border-radius: var(--rlf-r-card, 20px);
  background: var(--rlf-surface);
  transition: background-color .4s ease, border-color .3s ease, box-shadow .3s ease;
  cursor: pointer;
}
.rlf-notice:hover {
  border-color: rgba(214, 40, 110, .26);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .04);
}
.rlf-notice .rlf-ico-tile {
  grid-row: span 2;
  background: var(--rlf-fill);
  color: var(--rlf-ink-3);
  transition: background-color .5s ease, color .5s ease;
}
.rlf-notice__title { margin: 2px 0 0; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--rlf-ink); }
.rlf-notice__date {
  font-size: 13px;
  color: var(--rlf-ink-3);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  padding-top: 4px;
}
.rlf-notice__text {
  grid-column: 2 / -1;
  margin: 0;
  max-width: 80ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--rlf-ink-2);
}

/* --- Непрочитанное --- */
.rlf-notice.is-unread {
  background: #FFF7FA;
  border-color: rgba(214, 40, 110, .18);
}
.rlf-notice.is-unread .rlf-ico-tile { background: var(--rlf-pink-soft); color: var(--rlf-pink); }
.rlf-notice__dot {
  position: absolute;
  top: 18px;
  left: 60px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rlf-pink);
  box-shadow: 0 0 0 3px #FFF7FA;
  transform: scale(0);
  transition: transform .3s ease;
}
.rlf-notice.is-unread .rlf-notice__dot { transform: scale(1); }
.rlf-notice.is-unread .rlf-notice__title { font-weight: 700; }

/* --- телефон ≤ 640px для уведомлений --- */
@media (max-width: 640px) {
  .rlf-notes { gap: 10px; }
  .rlf-notice {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 14px;
    padding: 16px;
  }
  .rlf-notice .rlf-ico-tile { grid-row: span 3; width: 44px; height: 44px; }
  .rlf-notice__date { grid-column: 2; grid-row: 2; padding-top: 0; font-size: 12px; }
  .rlf-notice__title { font-size: 15px; }
  .rlf-notice__text { grid-column: 2; margin-top: 6px; font-size: 14px; }
  .rlf-notice__dot { top: 12px; left: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .rlf-notice, .rlf-notice .rlf-ico-tile, .rlf-notice__dot { transition: none; }
}




/* End */
/* /local/templates/main/template_styles.css?179261413687741 */
