@font-face{font-family:Manrope;src:url('/manrope-cyrillic.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Manrope;src:url('/manrope-latin.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Bricolage;src:url('/bricolage-cyrillic.woff2') format('woff2');font-weight:500 800;font-display:swap}@font-face{font-family:Bricolage;src:url('/bricolage-latin.woff2') format('woff2');font-weight:500 800;font-display:swap}
:root{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;color:#183126;background:#edf3ed;--dark:#123324;--deep:#1a4931;--green:#2d7048;--leaf:#eef6ed;--gold:#e7bb4d;--muted:#64766b;--line:rgba(30,82,55,.15);--shadow:0 24px 70px rgba(17,54,34,.15)}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 7% 5%,rgba(236,201,111,.23),transparent 24rem),radial-gradient(circle at 95% 8%,rgba(92,146,91,.25),transparent 28rem),linear-gradient(180deg,#eaf2e9 0,#f8f5ed 38rem,#edf3ed 100%)}
body::before{content:"";position:fixed;inset:0 0 auto;height:305px;z-index:0;pointer-events:none;background:linear-gradient(135deg,rgba(11,46,30,.99),rgba(38,96,61,.91)),repeating-linear-gradient(110deg,transparent 0 46px,rgba(255,255,255,.03) 47px 48px);clip-path:ellipse(90% 68% at 50% 26%)}
button,input,textarea,select{font:inherit}a{color:var(--green)}.page-shell,footer{position:relative;z-index:3}.page-shell{width:min(1040px,calc(100% - 34px));min-height:calc(100vh - 90px);margin:auto;padding:30px 0 64px}
.season-layer{position:fixed;inset:0;z-index:2;overflow:hidden;pointer-events:none}.season-particle{position:absolute;left:var(--x);top:-40px;font-size:var(--size);animation:fall var(--duration) linear var(--delay) infinite;opacity:.64;filter:drop-shadow(0 4px 5px rgba(42,54,30,.16))}.season-particle.winter{color:#fff;text-shadow:0 1px 4px #6d91aa}.season-particle.spring{opacity:.3}.sun-rays{position:absolute;right:-12vw;top:-20vw;width:55vw;height:55vw;border-radius:50%;background:repeating-conic-gradient(from 10deg,rgba(255,211,84,.18) 0 7deg,transparent 7deg 18deg);animation:turn 70s linear infinite}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(540deg)}}@keyframes turn{to{transform:rotate(360deg)}}
.brand{display:flex;align-items:center;gap:15px;min-height:80px;margin-bottom:46px;color:#fff}.brand-mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:62px;height:62px;border:1px solid rgba(255,255,255,.3);border-radius:22px 22px 22px 8px;color:#fff;background:linear-gradient(145deg,#4d9b66,#245e3e);box-shadow:inset 0 1px rgba(255,255,255,.25),0 12px 30px rgba(0,0,0,.2);font-weight:900}.brand-mark::after{content:"";position:absolute;right:-4px;top:-5px;width:17px;height:25px;border-radius:90% 10% 90% 10%;background:#d9b85c;transform:rotate(32deg)}.brand p,.brand h1,.eyebrow,h2,.card-label,.balance-value{margin:0}.brand p{color:rgba(255,255,255,.7);font-size:.75rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.brand h1{margin-top:2px;color:#fff;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,1.8rem)}.clock{display:grid;gap:3px;margin-left:auto;padding:10px 15px;border:1px solid rgba(255,255,255,.16);border-radius:16px;color:rgba(255,255,255,.68);background:rgba(255,255,255,.07);backdrop-filter:blur(8px);text-align:right}.clock span:first-child{color:#fff;font-size:1.14rem;font-weight:850}
.card{padding:clamp(23px,4vw,36px);border:1px solid rgba(255,255,255,.72);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);backdrop-filter:blur(12px)}#login-view,#password-view{position:relative;max-width:560px;margin:74px auto 0;overflow:hidden}#login-view::before,#password-view::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--gold),#80ad69,var(--green))}#login-view::after{content:"";position:absolute;right:-56px;bottom:-68px;width:180px;height:180px;border:34px solid rgba(55,126,78,.06);border-radius:50%;pointer-events:none}.status-card{max-width:560px;margin:74px auto 0;text-align:center;color:var(--muted)}.hidden{display:none!important}.eyebrow,.card-label{color:#4d7b5d;font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}h2{margin-top:8px;color:var(--dark);font-family:Georgia,serif;font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.08}h3{margin:0;color:var(--dark);font-size:1.22rem}
form{display:grid;gap:18px;margin-top:28px}label{display:grid;gap:8px;color:#294437;font-size:.94rem;font-weight:750}input,textarea,select{width:100%;min-height:52px;padding:12px 15px;border:1px solid #c7d5ca;border-radius:14px;color:#183126;background:rgba(255,255,255,.97);box-shadow:inset 0 1px 2px rgba(20,55,35,.04);font-size:1rem}textarea{min-height:132px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:#43895d;box-shadow:0 0 0 4px rgba(61,133,89,.14)}button{min-height:50px;padding:11px 21px;border:0;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--green),var(--dark));box-shadow:0 8px 18px rgba(32,83,58,.18);font-weight:850;cursor:pointer;transition:.16s}button:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 10px 24px rgba(32,83,58,.23)}button:disabled{cursor:wait;opacity:.65}.button-secondary{color:#20533a;border:1px solid #bcd0c1;background:rgba(255,255,255,.9);box-shadow:0 5px 16px rgba(34,76,51,.07)}.muted{color:var(--muted);line-height:1.58}.check-row{grid-template-columns:24px 1fr;align-items:start;font-weight:500;line-height:1.48}.check-row input{width:20px;min-height:20px;height:20px;margin:2px 0 0;accent-color:var(--green)}.form-error{min-height:1.4em;margin:0;color:#a62c2c}
.cabinet-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 26px}.cabinet-head h2{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.18)}.cabinet-head .eyebrow{color:rgba(255,255,255,.7)}.head-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.head-actions .button-secondary,.cabinet-head>.button-secondary{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.11);box-shadow:none;backdrop-filter:blur(8px)}.head-actions .button-secondary:hover,.cabinet-head>.button-secondary:hover{background:rgba(255,255,255,.2)}.envelope-button{position:relative}.badge{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:99px;color:#fff;background:#c34d3c;font-size:.75rem}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.dashboard-grid .card{min-height:210px}.balance-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,247,239,.94))}.balance-card::after{content:"₽";position:absolute;right:22px;bottom:-28px;color:rgba(42,105,70,.06);font-size:9rem;font-weight:900}.balance-card[data-state=debt]{border-color:#ecc3bb}.balance-card[data-state=overpayment]{border-color:#a9d1b4}.balance-value{position:relative;z-index:1;margin-top:16px;color:var(--deep);font-size:clamp(2.3rem,7vw,4rem);font-weight:900;letter-spacing:-.055em}[data-state=debt] .balance-value{color:#ad3d32}[data-state=overpayment] .balance-value{color:#247446}.owners{display:grid;gap:11px;margin:20px 0 0;padding:0;list-style:none}.owners li{position:relative;padding:10px 12px 10px 42px;border-radius:12px;background:var(--leaf)}.owners li::before{content:"";position:absolute;left:15px;top:13px;width:14px;height:18px;border-radius:70% 10% 70% 10%;background:#79a66d;transform:rotate(18deg)}.event-card{margin-top:20px;border-left:6px solid var(--gold)}.event-card h3{margin-top:12px}
.content-nav,.staff-nav{display:flex;gap:8px;margin-bottom:22px;padding:7px;border:1px solid var(--line);border-radius:18px;background:rgba(225,235,225,.9);overflow-x:auto}.content-nav button{min-height:42px;color:#31543f;background:transparent;box-shadow:none;white-space:nowrap}.content-nav button.active{color:#fff;background:linear-gradient(145deg,var(--green),var(--dark))}.content-feed{display:grid;gap:18px}.content-card{border-left:4px solid rgba(61,133,89,.55)}.content-card h3{margin-bottom:10px}.content-card p{white-space:pre-wrap;line-height:1.65}.content-date{color:var(--muted);font-size:.86rem}.document-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.document-row h3{min-width:0;overflow-wrap:anywhere;margin-bottom:0;flex:1 1 260px}.document-row a{font-weight:850}.work-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.work-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#dfe9e1;box-shadow:0 8px 18px rgba(20,52,34,.12)}.contact-list{display:grid;gap:14px;margin:18px 0 0}.contact-list div{display:grid;gap:4px;padding:12px 14px;border-radius:13px;background:var(--leaf)}.contact-list dt{color:var(--muted);font-size:.82rem}.contact-list dd{margin:0;font-size:1.04rem;font-weight:750}
.notification-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.channel-actions{display:flex;gap:10px;margin-top:20px}.link-code-card{margin-top:20px;text-align:center}.link-code{margin:12px 0;color:var(--deep);font-size:clamp(1.8rem,6vw,3rem);font-weight:900;letter-spacing:.16em}.button-link{display:inline-flex;min-height:48px;align-items:center;padding:10px 18px;border-radius:14px;color:#fff;background:var(--green);font-weight:850;text-decoration:none}.compact{margin:-8px 0 0;font-size:.9rem}.appeals-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start}.appeals-list{display:grid;gap:10px;margin-top:20px}.appeal-item{width:100%;padding:16px;text-align:left;color:#173026;border:1px solid var(--line);background:#f8fbf8;box-shadow:none}.appeal-row{display:flex;justify-content:space-between;gap:12px}.appeal-subject{font-weight:850}.appeal-meta{margin:6px 0 0;color:var(--muted);font-size:.88rem}.unread-dot{color:#a62c2c;font-weight:850}.messages{display:grid;gap:14px;margin-bottom:20px}.message{width:min(720px,92%);padding:18px 20px;border-radius:22px 22px 22px 7px;background:#fff;box-shadow:0 10px 30px rgba(30,67,45,.09)}.message.plot{margin-left:auto;border-radius:22px 22px 7px 22px;background:#daebdc}.message-author{margin:0 0 8px;font-weight:850}.message-body{margin:0;white-space:pre-wrap;line-height:1.55}.message-time{margin:10px 0 0;color:var(--muted);font-size:.82rem}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.reply-card{margin-top:20px}
footer{padding:24px 16px 36px;color:#617268;text-align:center;font-size:.84rem}footer::before{content:"";display:block;width:52px;height:2px;margin:0 auto 18px;background:linear-gradient(90deg,transparent,#7aa082,transparent)}.policy-page{width:min(850px,calc(100% - 32px));margin:auto;padding:35px 0 70px}.back-link{display:inline-block;margin-bottom:18px;font-weight:750}.policy h1{font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,2.7rem)}.policy h2{margin-top:28px;font-size:1.25rem}.policy p{line-height:1.68}

/* Public entrance: composition based on the original Mozhaiskie Sady site. */
.page-shell:has(#login-view:not(.hidden)){width:100%;padding:0 0 64px}.page-shell:has(#login-view:not(.hidden))>.brand{position:relative;z-index:10;width:min(1180px,calc(100% - 40px));height:82px;min-height:82px;margin:0 auto;color:#163d29}.page-shell:has(#login-view:not(.hidden)) .brand p{color:#597066}.page-shell:has(#login-view:not(.hidden)) .brand h1{color:#173d29;font-family:Bricolage,Manrope,sans-serif}.page-shell:has(#login-view:not(.hidden)) .clock{color:#60746a;border-color:#d9e3dc;background:#f7faf7}.page-shell:has(#login-view:not(.hidden)) .clock span:first-child{color:#173d29}body:has(#login-view:not(.hidden))::before{display:none}
#login-view.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.8fr);gap:85px;align-items:center;max-width:none;min-height:560px;margin:0;padding:60px max(20px,calc((100vw - 1180px)/2));border-radius:0;overflow:hidden;background:linear-gradient(90deg,rgba(7,31,19,.94),rgba(12,49,29,.68),rgba(8,40,23,.18)),url('/hero-mozhaiskie-original.webp') center 52%/cover no-repeat;box-shadow:none}
#login-view.home-hero::before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.19);border-radius:inherit;pointer-events:none}
#login-view.home-hero::after{display:none}.hero-copy{position:relative;z-index:1;align-self:center;max-width:680px;color:#fff}.hero-location{margin:0 0 20px;color:#d5e8db;font-size:.85rem;font-weight:800}.hero-copy h2{max-width:690px;margin:0;color:#fff;font-family:Bricolage,Manrope,sans-serif;font-size:clamp(2.9rem,5vw,4.25rem);font-weight:700;letter-spacing:-.05em;line-height:1.01;text-wrap:balance}.hero-subtitle{max-width:620px;margin:24px 0 0;color:#dce9df;font-size:1.12rem;line-height:1.65}.hero-login.card{position:relative;z-index:1;padding:28px;border-color:rgba(255,255,255,.55);border-radius:22px;background:rgba(251,253,251,.97);box-shadow:0 18px 55px rgba(0,0,0,.24);backdrop-filter:blur(16px)}.hero-login h3{margin-top:8px;font-family:Bricolage,Manrope,sans-serif;font-size:1.75rem}.hero-login form{gap:14px;margin-top:22px}.hero-login button{display:flex;align-items:center;justify-content:space-between;background:var(--gold);color:#2d2817;box-shadow:0 9px 22px rgba(116,81,15,.24);font-size:1.02rem}.hero-login .form-error{min-height:0}.home-hero:not(.hidden)+#password-view{margin-top:30px}
@media(max-width:900px){#login-view.home-hero{grid-template-columns:1fr;align-content:center;min-height:780px;background-position:46% center}.hero-copy{align-self:end}.hero-copy h2{font-size:clamp(2.7rem,9vw,4.7rem)}.hero-login.card{max-width:580px}}
@media(max-width:760px){body::before{height:340px;clip-path:ellipse(125% 65% at 50% 25%)}.page-shell{width:calc(100% - 24px);padding-top:16px}.page-shell:has(#login-view:not(.hidden)){width:100%;padding-top:0}.page-shell:has(#login-view:not(.hidden))>.brand{width:calc(100% - 28px);height:72px;min-height:72px}.page-shell:has(#login-view:not(.hidden)) .brand p,.page-shell:has(#login-view:not(.hidden)) .clock{display:none}.brand{min-height:68px;margin-bottom:34px}.brand-mark{width:52px;height:52px;border-radius:18px 18px 18px 7px}.brand p{font-size:.66rem}.brand h1{font-size:1.25rem}.clock{padding:7px 9px;font-size:.72rem}.clock span:first-child{font-size:1rem}#password-view,.status-card{margin-top:48px}#login-view.home-hero{min-height:calc(100vh - 72px);margin:0;padding:46px 28px 28px;border-radius:0;background-position:50% center}.hero-location{margin-bottom:17px;font-size:.92rem}.hero-copy h2{font-size:clamp(2.55rem,11.5vw,4rem);letter-spacing:-.05em}.hero-subtitle{margin-top:20px;font-size:1.08rem}.hero-login.card{padding:22px 18px;border-radius:22px}.hero-login h3{font-size:1.5rem}.dashboard-grid,.appeals-layout,.notification-grid{grid-template-columns:1fr}.cabinet-head{align-items:flex-start;flex-direction:column;margin-top:34px}.head-actions{width:100%;justify-content:flex-start}.head-actions .button-secondary{flex:1 1 calc(50% - 9px);padding-inline:10px}.work-gallery{grid-template-columns:repeat(2,1fr)}.document-row{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.clock span:last-child{display:none}.card{border-radius:22px;padding:22px 18px}.brand{gap:10px}.brand-mark{width:46px;height:46px}.brand h1{font-size:1.08rem}.head-actions .button-secondary{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){.season-layer{display:none}*{transition:none!important}}

/* Public site */
body:has(#public-view:not(.hidden))::before{display:none}.page-shell:has(#public-view:not(.hidden)){width:100%;padding:0}.page-shell:has(#public-view:not(.hidden))>.brand{position:relative;z-index:20;width:min(1180px,calc(100% - 40px));height:82px;min-height:82px;margin:0 auto;color:#163d29}.page-shell:has(#public-view:not(.hidden)) .brand p{color:#597066}.page-shell:has(#public-view:not(.hidden)) .brand h1{color:#173d29;font-family:Bricolage,Manrope,sans-serif}.page-shell:has(#public-view:not(.hidden)) .clock{color:#60746a;border-color:#d9e3dc;background:#f7faf7}.page-shell:has(#public-view:not(.hidden)) .clock span:first-child{color:#173d29}.header-login{margin-left:10px;white-space:nowrap}.public-view{background:#fbfdfb}.public-hero{min-height:560px;color:#fff;background:linear-gradient(90deg,rgba(7,31,19,.94),rgba(12,49,29,.68),rgba(8,40,23,.18)),url('/hero-mozhaiskie-original.webp') center 52%/cover no-repeat}.public-hero-inner{width:min(1180px,calc(100% - 40px));min-height:560px;margin:auto;display:grid;grid-template-columns:1.1fr .8fr;gap:85px;align-items:center}.public-hero .hero-copy h2{font-size:clamp(46px,5vw,68px)}.public-actions{display:flex;gap:12px;margin-top:28px}.public-actions a,.public-actions button{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 22px;border-radius:14px;text-decoration:none;font-weight:850}.public-actions a{min-width:230px;color:#282312;background:var(--gold)}.public-actions button{color:#fff;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);box-shadow:none}.public-event{display:grid;gap:9px;padding:25px;color:#173026;border-radius:22px;background:rgba(251,253,251,.97);box-shadow:0 20px 60px rgba(0,0,0,.25)}.public-event p{margin:0;color:#94620f;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.public-event h3{font:700 1.55rem/1.2 Bricolage,Manrope,sans-serif}.public-event div,.public-event span{color:#596b61;line-height:1.5}.public-quick{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);background:#fff}.public-quick a{display:grid;gap:4px;min-height:104px;align-content:center;padding:20px 24px;color:#183126;border-right:1px solid var(--line);font-weight:850;text-decoration:none}.public-quick small{color:var(--muted);font-weight:500}.public-section{width:min(1180px,calc(100% - 40px));margin:auto;padding:84px 0}.public-place{padding-top:78px}.public-heading{display:grid;grid-template-columns:1fr .8fr;gap:40px;align-items:end;margin-bottom:30px}.public-heading span,.public-documents>div:first-child>span{color:#27744a;font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.public-heading h2,.public-documents h2{margin:8px 0 0;font:700 clamp(32px,4vw,46px)/1.1 Bricolage,Manrope,sans-serif;letter-spacing:-.04em}.public-heading p{margin:0;color:var(--muted);line-height:1.6}.public-gallery{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:240px 220px;gap:14px}.public-gallery figure{margin:0;overflow:hidden;border-radius:18px}.public-gallery .wide{grid-column:1/3}.public-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.public-gallery img:hover{transform:scale(1.025)}.public-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-cards .content-card{min-height:240px;padding:25px;border-top:5px solid var(--gold);border-left:1px solid rgba(255,255,255,.72);box-shadow:0 12px 35px rgba(20,55,35,.08)}.public-documents{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding:80px max(20px,calc((100vw - 1180px)/2));color:#fff;background:#183d29}.public-documents>div:first-child>span{color:#abd1b8}.public-documents p{color:#c2d2c7;line-height:1.6}.public-doc-list{display:grid;gap:10px}.public-doc-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08);text-decoration:none}.public-doc-list b{color:#d8e8dc;font-size:.86rem}.public-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-contact-grid article{display:grid;gap:6px;padding:25px;border:1px solid var(--line);border-radius:18px;background:#fff}.public-contact-grid small{color:var(--muted)}.public-contact-grid strong{font-size:1.05rem;overflow-wrap:anywhere}.public-empty{grid-column:1/-1;margin:0;padding:22px;color:var(--muted);border:1px dashed #b9cbbf;border-radius:15px;text-align:center}.login-dialog{width:min(520px,calc(100% - 28px));padding:0;border:0;border-radius:24px;color:#183126;background:#fbfdfb;box-shadow:0 30px 100px rgba(5,30,18,.38)}.login-dialog::backdrop{background:rgba(8,31,20,.65);backdrop-filter:blur(4px)}.login-panel{padding:34px}.login-panel .hero-copy{color:#183126}.login-panel .hero-copy h2{color:#173d29;font-size:2.35rem}.login-panel .hero-login form{margin-top:22px}.login-panel .hero-login button{display:flex;justify-content:space-between;background:var(--gold);color:#292312}.dialog-close{position:absolute;right:14px;top:12px;width:38px;min-height:38px;padding:0;color:#31543f;background:#edf4ed;box-shadow:none;font-size:1.5rem;line-height:1}
@media(max-width:900px){.public-hero-inner{grid-template-columns:1fr;gap:30px;padding:60px 0}.public-event{max-width:600px}.public-quick{grid-template-columns:repeat(2,1fr)}.public-gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 220px 220px}.public-gallery .wide{grid-column:1/3}.public-cards,.public-contact-grid{grid-template-columns:1fr}.public-documents{grid-template-columns:1fr;gap:35px}}
@media(max-width:620px){.page-shell:has(#public-view:not(.hidden))>.brand{width:calc(100% - 28px);height:72px;min-height:72px}.page-shell:has(#public-view:not(.hidden)) .brand p,.page-shell:has(#public-view:not(.hidden)) .clock{display:none}.page-shell:has(#public-view:not(.hidden)) .brand h1{font-size:1.2rem}.header-login{width:44px;min-height:44px;padding:0;font-size:0}.header-login::before{content:"○";font-size:1.6rem}.public-hero,.public-hero-inner{min-height:auto}.public-hero-inner{width:calc(100% - 56px);padding:56px 0}.public-hero .hero-copy h2{font-size:42px}.public-actions{flex-direction:column}.public-event{margin-top:10px}.public-quick{width:calc(100% - 28px);grid-template-columns:1fr}.public-quick a{min-height:82px;border-bottom:1px solid var(--line)}.public-section{width:calc(100% - 28px);padding:64px 0}.public-heading{grid-template-columns:1fr;gap:12px}.public-gallery{grid-template-columns:1fr;grid-template-rows:250px repeat(4,220px)}.public-gallery .wide{grid-column:auto}.public-documents{padding:64px 28px}.public-cards{grid-template-columns:1fr}.login-panel{padding:30px 22px}}
.season-layer{z-index:80}.season-particle{opacity:.72;filter:hue-rotate(var(--hue,0deg)) drop-shadow(0 4px 5px rgba(42,54,30,.18))}

/* Cabinet refresh 2026-09-17 */
.brand-logo{width:64px;height:64px;flex:0 0 auto;border:2px solid #d9b85c;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 10px 28px rgba(14,53,33,.22)}
.password-field{position:relative;display:block}.password-field input{padding-right:52px}.password-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;min-height:38px;padding:0;border:0;border-radius:10px;color:#264b36;background:transparent;box-shadow:none;filter:grayscale(1);opacity:.58}.password-eye:hover,.password-eye.active{transform:translateY(-50%);background:#e6f0e8;box-shadow:none;filter:none;opacity:1}
#cabinet-view{padding-bottom:20px}.cabinet-hero-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:270px;margin:6px 0 0;padding:34px;border:1px solid rgba(255,255,255,.3);border-radius:30px 30px 12px 12px;color:#fff;background:linear-gradient(90deg,rgba(5,39,25,.93),rgba(11,65,40,.72),rgba(8,48,29,.26)),url('/images/cabinet-hero.webp') center/cover;box-shadow:0 24px 65px rgba(12,49,30,.26);overflow:hidden}.cabinet-hero-head::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(5,32,20,.36));pointer-events:none}.cabinet-identity,.mailbox-button{position:relative;z-index:1}.cabinet-identity{display:flex;align-items:center;gap:20px}.cabinet-identity img{width:104px;height:104px;border:3px solid #e8c970;border-radius:50%;object-fit:cover;box-shadow:0 14px 34px rgba(0,0,0,.35)}.cabinet-identity .eyebrow{color:#cce4d3}.cabinet-identity h2{margin:7px 0 5px;color:#fff;font-family:Bricolage,Manrope,sans-serif;font-size:clamp(2rem,5vw,3.25rem);text-shadow:0 3px 16px rgba(0,0,0,.3)}.cabinet-identity p:last-child{margin:0;color:#e5f1e8}.mailbox-button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-width:235px;padding:14px 16px;color:#163d29;border:1px solid rgba(255,255,255,.76);background:rgba(255,255,255,.92);box-shadow:0 16px 36px rgba(0,0,0,.24);text-align:left}.mailbox-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f6e8b8;font-size:1.5rem}.mailbox-button span:nth-child(2){display:grid;gap:2px}.mailbox-button small{color:#64766b;font-size:.72rem}.mail-count{display:grid;place-items:center;min-width:29px;height:29px;padding:0 7px;border-radius:99px;color:#fff;background:#c44336}.cabinet-toolbar{display:flex;gap:9px;margin:0 0 20px;padding:12px;border:1px solid rgba(37,89,58,.13);border-radius:0 0 18px 18px;background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(20,59,38,.08);overflow-x:auto}.cabinet-toolbar button{min-height:44px;white-space:nowrap}.cabinet-toolbar .button-secondary{background:#eff5ef}.dashboard-grid .card,.cabinet-lower-grid .card{box-shadow:0 15px 42px rgba(17,54,34,.1)}.balance-card[data-state=debt][data-debt-tone=green]{border-color:#76b98a;background:linear-gradient(145deg,#fff,#eef8ef)}.balance-card[data-state=debt][data-debt-tone=green] .balance-value{color:#25804b}.balance-card[data-state=debt][data-debt-tone=yellow]{border-color:#e1bd57;background:linear-gradient(145deg,#fff,#fff9e6)}.balance-card[data-state=debt][data-debt-tone=yellow] .balance-value{color:#ac7711}.balance-card[data-state=debt][data-debt-tone=red]{border-color:#e2a29b;background:linear-gradient(145deg,#fff,#fff0ed)}.balance-card[data-state=debt][data-debt-tone=red] .balance-value{color:#b33e34}.debt-help{position:relative;z-index:1;margin:18px 0 0;padding:13px 15px;border-radius:13px;color:#52665a;background:rgba(255,255,255,.72);font-size:.88rem;line-height:1.55}.cabinet-lower-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-top:20px}.payment-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.payment-card button{grid-column:1/-1}.payment-card h3,.profile-card h3{margin-top:8px}.card-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:17px;color:#24442f;background:#f4df9e;font-weight:900}.profile-card form{gap:13px;margin-top:18px}.success-text{color:#267347}.payment-dialog{position:relative;width:min(590px,calc(100% - 24px));max-height:calc(100vh - 32px);padding:0;overflow:auto}.payment-dialog-body{padding:32px}.payment-dialog h2{margin-bottom:22px}.qr-result{text-align:center}.qr-result img{display:block;width:min(360px,100%);margin:0 auto 18px;border:10px solid #fff;border-radius:18px;box-shadow:0 12px 35px rgba(20,55,35,.15)}.qr-result h3{line-height:1.45}.payment-confirmation{padding:14px;border-radius:13px;color:#20573a;background:#e8f5ea;font-weight:750;line-height:1.5}
@media(max-width:760px){.brand-logo{width:52px;height:52px}.cabinet-hero-head{min-height:390px;padding:24px;align-items:stretch;flex-direction:column;justify-content:flex-end;background-position:55% center}.cabinet-identity{align-items:flex-end}.cabinet-identity img{width:78px;height:78px}.cabinet-identity h2{font-size:2rem}.mailbox-button{width:100%;min-width:0}.cabinet-toolbar{padding:9px}.cabinet-toolbar button{flex:1 0 auto}.cabinet-lower-grid{grid-template-columns:1fr}.payment-card{grid-template-columns:auto 1fr}.debt-help{font-size:.84rem}.payment-dialog-body{padding:28px 20px}}
@media(max-width:430px){.cabinet-hero-head{min-height:410px;margin-inline:-4px;padding:20px;border-radius:24px 24px 10px 10px}.cabinet-identity{gap:12px}.cabinet-identity img{width:66px;height:66px}.cabinet-identity h2{font-size:1.75rem}.mailbox-button{padding:11px}.mailbox-icon{width:43px;height:43px}.dashboard-grid .card{min-height:auto}.payment-card{grid-template-columns:1fr}.card-icon{width:48px;height:48px}}
.public-event{position:relative;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:22px 24px;border:1px solid rgba(255,255,255,.72);box-shadow:0 22px 70px rgba(0,0,0,.28)}
.public-event::after{content:"";position:absolute;right:34px;bottom:-11px;width:24px;height:24px;background:rgba(251,253,251,.97);transform:rotate(45deg);border-radius:0 0 5px 0}
.message-bell{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f6e5b3;font-size:1.2rem}
.message-copy{display:grid;gap:8px;min-width:0}.message-copy p{margin:1px 0 0}.message-copy h3{margin:0}.message-copy div,.message-copy span{display:block}

/* ===== 2026-09-19: дополнительные публичные блоки ===== */
.page-shell:has(#public-view:not(.hidden)) .brand-logo{width:88px;height:88px}
.public-documents h2{color:#fff}.public-documents p{color:#d6e4da}.doc-icon{display:grid!important;place-items:center;width:46px;height:46px;margin-bottom:14px;border-radius:14px;color:#173d29!important;background:#e7bb4d;font-size:1.5rem}.public-doc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08);flex-wrap:wrap}.public-doc-row>span:first-child{min-width:0;overflow-wrap:anywhere;flex:1 1 260px}.public-doc-actions,.document-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.public-doc-actions a,.document-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 14px;border-radius:10px;font-weight:800;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .16s,color .16s,border-color .16s}.public-doc-actions a{color:#173d29;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.92)}.public-doc-actions a:hover{background:#fff;border-color:#fff}.document-actions a{color:#173d29;border:1px solid rgba(31,82,57,.22);background:#eef5ef}.document-actions a:hover{background:#dfeee2}.public-doc-actions button,.document-actions button{width:auto;min-height:38px;padding:8px 14px;flex-shrink:0;white-space:nowrap}.pdf-dialog{width:min(1100px,calc(100% - 24px));height:min(880px,calc(100vh - 24px));padding:0;border:0;border-radius:18px}.pdf-dialog-body{display:grid;grid-template-rows:auto 1fr;height:100%;padding:18px}.pdf-dialog iframe{width:100%;height:100%;border:0;border-radius:12px;background:#eef2ee}.lightbox{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:rgba(8,20,13,.94)}.lightbox.hidden{display:none}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:8px}.lightbox-btn{position:absolute;z-index:2;width:48px;min-height:48px;padding:0;border-radius:50%;font-size:2rem;background:rgba(255,255,255,.9);color:#173d29}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.lightbox-next{right:18px;top:50%;transform:translateY(-50%)}.work-gallery img{cursor:zoom-in}.modal-open{overflow:hidden}.public-contact-grid article h3{margin:0 0 8px}.public-contact-grid article p{display:grid;gap:3px;margin:0}.public-contact-grid .emergency{display:block;padding:10px;border-radius:10px;background:#fdecec;color:#8a2a22;font-weight:750}.weather-card{width:min(1180px,calc(100% - 40px));margin:26px auto 0;padding:18px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(20,55,35,.07)}.weather-current{display:flex;align-items:center;gap:12px}.weather-current>div{display:grid}.weather-icon{font-size:2.2rem}.weather-temp{font-size:2.2rem;color:#173d29}.weather-forecast{display:flex;justify-content:center;gap:18px}.weather-forecast>div{display:grid;gap:3px;text-align:center}.weather-wind{color:var(--muted)}.map-card{min-height:330px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#eaf0ea;position:relative}.map-card iframe{width:100%;height:330px;border:0}.map-open{position:absolute;right:14px;bottom:14px;padding:11px 15px;border-radius:12px;color:#fff;background:#173d29;text-decoration:none;font-weight:800;box-shadow:0 6px 20px rgba(0,0,0,.2)}
@media(max-width:760px){.page-shell:has(#public-view:not(.hidden)) .brand-logo{width:64px;height:64px}}
@media(max-width:620px){.weather-card{width:calc(100% - 28px);grid-template-columns:1fr;gap:12px}.weather-forecast{justify-content:flex-start;overflow-x:auto}.public-doc-row,.document-row{align-items:flex-start;flex-direction:column}.public-doc-actions,.document-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.public-doc-actions a,.public-doc-actions button,.document-actions a,.document-actions button{flex:1 1 auto;min-width:120px;justify-content:center}.pdf-dialog{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.lightbox-prev{left:8px}.lightbox-next{right:8px}.map-card,.map-card iframe{min-height:270px;height:270px}}

/* ===== 2026-09-19: погода в шапке (компактно), карта под контактами ===== */

/* Погода в шапке — только текстовая строка, без плашки/фона/рамки */
.brand .weather-card{
  width:auto;
  margin:0 0 0 34px;             /* отступ от названия СН ТСН = 34px (в диапазоне 30–40) */
  padding:0;                      /* без внутренних отступов — не выглядит кнопкой */
  background:transparent;         /* без фона */
  border:0;                       /* без рамки */
  border-radius:0;                /* без скруглений */
  box-shadow:none;
  gap:8px;
  grid-template-columns:auto auto;
  align-self:center;              /* не растягивается по высоте — шапку не увеличивает */
  color:#173d29;                  /* тёмно-зелёный, как остальной текст публичной шапки */
}
.brand .weather-card .weather-current{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.brand .weather-card .weather-current>div{
  display:flex;
  align-items:baseline;
  gap:6px;
}
.brand .weather-card .weather-icon{font-size:1.2rem;line-height:1}
.brand .weather-card .weather-temp{
  font-size:1.05rem;
  font-weight:900;                /* температура — заметно жирнее */
  color:#173d29;
}
.brand .weather-card .weather-current>div>span{font-size:.85rem;color:#597066}
.brand .weather-card .weather-forecast{display:none}
.brand .weather-card .weather-wind{display:none}

/* Адаптив: 900–760 — иконка + температура + состояние, шрифт чуть меньше */
@media(max-width:900px){
  .brand .weather-card{margin-left:20px}
  .brand .weather-card .weather-current>div>span{font-size:.78rem}
}

/* Адаптив: < 760 — только иконка + температура */
@media(max-width:760px){
  .brand .weather-card{margin-left:12px}
  .brand .weather-card .weather-current>div>span{display:none}
  .brand .weather-card .weather-icon{font-size:1.1rem}
  .brand .weather-card .weather-temp{font-size:.95rem}
}

/* Карта под контактами — уточнение отступа */
.public-map{margin-bottom:0}

/* ===== 2026-09-21: квитанции и заявки на въезд ===== */
.receipt-card{position:relative;border-left:5px solid #7da88a}.receipt-card.unread{border-left-color:#d9a441;background:linear-gradient(145deg,#fffdf7,#fff7dc)}.receipt-card.unread::after{content:"";position:absolute;top:18px;right:18px;width:10px;height:10px;border-radius:50%;background:#c44336;box-shadow:0 0 0 5px rgba(196,67,54,.12)}.receipt-actions,.service-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.request-status{display:inline-flex;width:max-content;padding:7px 12px;border-radius:999px;color:#1e5938;background:#e6f2e8;font-weight:850}.service-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.messages:empty::before{content:"Сообщений пока нет";display:block;padding:18px;color:#64766b;text-align:center}.message.plot{margin-left:0;margin-right:auto}.message.staff{margin-left:auto;margin-right:0;background:#e4f1e6}@media(max-width:820px){.service-grid{grid-template-columns:1fr}.receipt-actions a,.service-actions>*{flex:1 1 140px;text-align:center}}


/* ===== 2026-09-22: mobile cabinet toolbar ===== */
@media(max-width:760px){
  .cabinet-toolbar{
    display:flex;
    flex-wrap:nowrap;
    gap:9px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .cabinet-toolbar::-webkit-scrollbar{
    display:none;
  }

  .cabinet-toolbar button{
    flex:0 0 auto;
    min-width:max-content;
  }
}

/* TEST 2026-09-22: Yandex mobile button gesture */
@media (hover: none) and (pointer: coarse) {
  .cabinet-toolbar button,
  .cabinet-toolbar button:hover,
  .cabinet-toolbar button:active {
    transform:none !important;
    filter:none !important;
  }
}

/* ===== 2026-09-23: wider owner cabinet on desktop ===== */
@media (min-width:761px) {
  .page-shell:has(#cabinet-view:not(.hidden)),
  .page-shell:has(#receipts-view:not(.hidden)),
  .page-shell:has(#vehicle-requests-view:not(.hidden)),
  .page-shell:has(#vehicle-request-detail-view:not(.hidden)),
  .page-shell:has(#content-view:not(.hidden)),
  .page-shell:has(#notifications-view:not(.hidden)),
  .page-shell:has(#support-view:not(.hidden)),
  .page-shell:has(#support-detail-view:not(.hidden)),
  .page-shell:has(#appeals-view:not(.hidden)),
  .page-shell:has(#appeal-detail-view:not(.hidden)) {
    width:min(1240px,calc(100% - 34px));
  }
}

/* Финансы участка из 1С */
@media (min-width:761px) {
  .dashboard-grid {
    grid-template-columns:1.15fr .85fr;
  }
  .dashboard-grid .balance-card {
    grid-row:span 2;
  }
}

.plot-finance-card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.plot-area-value {
  margin:16px 0 4px;
  color:var(--deep);
  font-size:2rem;
  font-weight:900;
  letter-spacing:-.03em;
}

.plot-finance-card .button-secondary {
  margin-top:auto;
}

.accrual-card {
  position:relative;
  border-left:5px solid #7da88a;
}

.accrual-card h3 {
  margin:0 0 10px;
}

.accrual-card .accrual-amount {
  margin-top:14px;
  font-size:1.65rem;
  letter-spacing:-.025em;
}

@media (max-width:760px) {
  .plot-finance-card .button-secondary {
    margin-top:16px;
  }
}

/* Финансовые кнопки — финальное оформление */
.plot-finance-card .finance-history-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  width: 100%;
}

.plot-finance-card .finance-history-row + .finance-history-row {
  margin-top: 26px;
}

.plot-finance-card .finance-history-art {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  font-size: 50px;
  line-height: 1;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
}

.plot-finance-card .finance-history-button,
.plot-finance-card .button-secondary.finance-history-button {
  width: 100%;
  min-height: 54px;
  margin: 0 !important;
  padding: 12px 18px;
  justify-content: center;
  font-size: 1rem;
}

@media (max-width:760px) {
  .plot-finance-card .finance-history-row {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
  }

  .plot-finance-card .finance-history-art {
    width: 54px;
    height: 54px;
    font-size: 42px;
  }

  .plot-finance-card .finance-history-row + .finance-history-row {
    margin-top: 22px;
  }
}

.header-weather-wrap{
  display:grid;
  justify-items:center;
  gap:8px;
}

.header-weather-wrap .weather-card{
  margin-bottom:0;
}

.emergency-contact-button{
  width:auto;
  min-height:34px;
  padding:6px 14px;
  border:1px solid rgba(166,44,44,.18);
  border-radius:10px;
  color:#8a2a22;
  background:rgba(253,236,236,.92);
  box-shadow:none;
  font-size:.82rem;
  font-weight:800;
}

.emergency-contact-button:hover{
  background:#f9dddd;
}

.emergency-contact-panel{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 13px;
  border:1px solid rgba(166,44,44,.15);
  border-radius:11px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(20,55,35,.07);
}

.emergency-contact-panel small{
  color:#6f625f;
}

.emergency-contact-panel a{
  color:#8a2a22;
  font-weight:900;
  white-space:nowrap;
  text-decoration:none;
}

.emergency-contact-panel a:hover{
  text-decoration:underline;
}

@media(max-width:700px){
  .emergency-contact-panel{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

/* Погода + экстренная связь в одну строку */
.header-weather-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  position:relative;
}

.header-weather-wrap .weather-card{
  margin:0;
}

.emergency-contact-button{
  flex-shrink:0;
  white-space:nowrap;
}

.emergency-contact-panel{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  z-index:100;
  width:max-content;
  max-width:min(440px,90vw);
}

@media(max-width:700px){
  .header-weather-wrap{
    gap:7px;
  }

  .emergency-contact-button{
    padding:6px 9px;
    font-size:.76rem;
  }

  .emergency-contact-panel{
    width:min(360px,90vw);
  }
}



/* ===== MOBILE PUBLIC HEADER ===== */
@media (max-width:620px){

  .page-shell:has(#public-view:not(.hidden)) > .brand{
    width:100%;
    height:auto;
    min-height:0;
    padding:10px 14px 12px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px 10px;
    align-items:center;
  }

  .page-shell:has(#public-view:not(.hidden)) .brand-logo{
    width:54px;
    height:54px;
    grid-column:1;
    grid-row:1;
  }

  .page-shell:has(#public-view:not(.hidden)) .brand > div:nth-of-type(1){
    min-width:0;
    grid-column:2;
    grid-row:1;
  }

  .page-shell:has(#public-view:not(.hidden)) .brand h1{
    font-size:1.05rem;
    line-height:1.08;
  }

  .header-weather-wrap{
    display:contents;
  }

  .header-weather-wrap .weather-card{
    grid-column:3;
    grid-row:1;
    width:auto;
    margin:0;
    padding:5px;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  .brand .weather-card .weather-current{
    gap:4px;
  }

  .brand .weather-card .weather-icon{
    font-size:1rem;
  }

  .brand .weather-card .weather-temp{
    font-size:1rem;
  }



  .emergency-contact-button{
    display:flex;
    grid-column:1 / 3;
    grid-row:2;
    width:100%;
    min-width:0;
    min-height:42px;
    margin:0;
    padding:8px 10px;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    font-size:.74rem;
    border-radius:12px;
  }

  .header-login{
    grid-column:3;
    grid-row:2;
    width:auto;
    min-width:105px;
    min-height:42px;
    margin:0;
    padding:8px 11px;
    border-radius:12px;
    font-size:0;
    white-space:nowrap;
  }

  .header-login::before{
    content:"👤 Вход в ЛК";
    font-size:.74rem;
    font-weight:850;
  }

  .emergency-contact-panel{
    position:absolute;
    top:100%;
    left:14px;
    right:14px;
    transform:none;
    width:auto;
    max-width:none;
    z-index:100;
  }
}
/* ===== END MOBILE PUBLIC HEADER ===== */

/* Возвращаем часы в мобильную публичную шапку */
@media (max-width:620px){
  .page-shell:has(#public-view:not(.hidden)) > .brand .clock{
    display:flex !important;
    grid-column:3;
    grid-row:1;
    width:auto;
    min-width:70px;
    min-height:42px;
    margin:0;
    padding:7px 9px;
    justify-content:center;
    align-items:center;
    font-size:.82rem;
  }

  .page-shell:has(#public-view:not(.hidden)) .header-weather-wrap .weather-card{
    grid-column:2;
    grid-row:1;
    justify-self:end;
  }
}

/* Небольшой сдвиг погоды вправо на мобильном */
@media (max-width:620px){
  .page-shell:has(#public-view:not(.hidden)) .header-weather-wrap .weather-card{
    transform:translateX(12px);
  }
}

/* Персональный переключатель сезонных эффектов */
.season-effects-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:120;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 26px rgba(20,59,38,.22);
  font-size:1.35rem;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:transform .18s ease,opacity .18s ease;
}

.season-effects-toggle:hover{
  transform:scale(1.08);
}

.season-effects-toggle.effects-off{
  opacity:.55;
  filter:grayscale(1);
}

.season-effects-toggle.effects-off::after{
  content:"";
  position:absolute;
  width:29px;
  height:2px;
  border-radius:2px;
  background:#9b3d35;
  transform:rotate(-45deg);
}

@media(max-width:620px){
  .season-effects-toggle{
    right:12px;
    bottom:12px;
    width:42px;
    height:42px;
    min-height:42px;
    font-size:1.2rem;
  }
}

/* Положение кнопки сезонных эффектов */
.season-effects-toggle{
  left:18px;
  right:auto;
  bottom:56px;
}

@media(max-width:620px){
  .season-effects-toggle{
    left:12px;
    right:auto;
    bottom:50px;
  }
}

/* Чуть выше переключатель сезонных эффектов */
.season-effects-toggle{
  bottom:86px;
}

@media(max-width:620px){
  .season-effects-toggle{
    bottom:80px;
  }
}

/* Предупреждение о возможной блокировке въезда при задолженности >= 5500 ₽ */
.debt-block-warning {
  position: relative;
  z-index: 2;
  margin: 16px 0 0;
  padding: 14px 16px;
  border: 2px solid #d84b40;
  border-radius: 13px;
  color: #8f211a;
  background: #fff0ee;
  box-shadow: 0 6px 18px rgba(179, 62, 52, .12);
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .debt-block-warning {
    padding: 13px 14px;
    font-size: .86rem;
  }
}

/* ===== Опрос собственников ===== */

.survey-invite {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 18px 0;
  padding: 18px 52px 18px 20px;
}

.survey-invite.hidden {
  display: none;
}

.survey-invite-icon {
  flex: 0 0 auto;
  font-size: 2.2rem;
}

.survey-invite-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.survey-invite-copy h3 {
  margin: 3px 0 6px;
}

.survey-invite-copy p {
  margin-top: 5px;
  margin-bottom: 5px;
}

.survey-invite > #survey-invite-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.survey-invite-close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  opacity: .55;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.survey-invite-close:hover {
  opacity: 1;
  background: transparent;
}

.survey-card {
  max-width: 900px;
  margin: 0 auto;
}

.survey-privacy {
  margin: 0 0 22px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(127, 127, 127, .08);
  font-size: .9rem;
  line-height: 1.5;
}

.survey-question {
  margin: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid rgba(127, 127, 127, .18);
}

.survey-question:last-of-type {
  border-bottom: 0;
}

.survey-question legend,
.survey-question > label {
  display: block;
  margin-bottom: 12px;
  font-weight: 700;
}

.survey-rating {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.survey-rating label {
  cursor: pointer;
}

.survey-rating input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.survey-rating span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(127, 127, 127, .35);
  border-radius: 12px;
  font-weight: 800;
  transition: .15s ease;
}

.survey-rating input:checked + span {
  border-color: currentColor;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

.survey-scale-labels {
  display: flex;
  justify-content: space-between;
  max-width: 280px;
  margin-top: 6px;
  font-size: .78rem;
  opacity: .65;
}

.survey-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin-top: 12px;
}

.survey-check-grid label,
.survey-options label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-weight: 400;
  cursor: pointer;
}

.survey-check-grid input,
.survey-options input {
  flex: 0 0 auto;
  margin-top: 3px;
}

.survey-options {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.survey-question textarea {
  width: 100%;
  min-height: 90px;
  margin-top: 8px;
  resize: vertical;
}

.survey-submit {
  margin-top: 22px;
}

.survey-thanks-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: rgba(44, 150, 80, .12);
  font-size: 2rem;
  font-weight: 800;
}

@media (max-width: 760px) {
  .survey-invite {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 44px 16px 16px;
  }

  .survey-invite-icon {
    font-size: 1.8rem;
  }

  .survey-invite-copy {
    flex: 1 1 calc(100% - 55px);
  }

  .survey-invite > #survey-invite-button {
    width: 100%;
  }

  .survey-check-grid {
    grid-template-columns: 1fr;
  }

  .survey-rating {
    justify-content: space-between;
    gap: 6px;
  }

  .survey-rating label {
    flex: 1 1 0;
  }

  .survey-rating span {
    width: 100%;
    max-width: 52px;
  }

  .survey-scale-labels {
    max-width: none;
  }
}

/* ===== FIX: элементы выбора в опросе ===== */

#survey-view input[type="checkbox"],
#survey-view input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 18px !important;
}

/* Цифровые оценки 1–5:
   сам radio прячем, работает большая кнопка с цифрой */
#survey-view .survey-rating input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#survey-view .survey-check-grid label {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 !important;
}

#survey-view .survey-options label {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
}

#survey-view .survey-check-grid,
#survey-view .survey-options {
  width: 100%;
}

#survey-view .survey-check-grid input,
#survey-view .survey-options input {
  justify-self: start !important;
}

@media (max-width: 760px) {
  #survey-view .survey-check-grid {
    grid-template-columns: 1fr !important;
  }

  #survey-view .survey-options label,
  #survey-view .survey-check-grid label {
    font-size: .95rem;
    line-height: 1.35;
  }
}

/* ===== Компактная главная 27.09.2026 ===== */

/* Документы — единый компактный зелёный список */
#public-document-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#public-document-list .public-doc-row {
  width: 100%;
  box-sizing: border-box;
  min-height: 64px;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(32, 118, 72, .12);
  border: 1px solid rgba(32, 118, 72, .22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#public-document-list .public-doc-row > span {
  min-width: 0;
  font-weight: 700;
}

/* Сворачиваемые объявления и работы */
.compact-collapsible {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  align-self: start;
}

.compact-collapsible h3 {
  margin-bottom: 8px;
}

.compact-preview {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 8px;
}

.compact-full {
  white-space: pre-line;
  margin-bottom: 8px;
}

.compact-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}

.compact-card-bottom .content-date {
  margin: 0;
}

.compact-toggle {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 6px 0;
  white-space: nowrap;
}

.compact-collapsible.is-open {
  grid-row: span 2;
}

/* Работы: в свёрнутом виде максимум два фото */
.compact-work-gallery {
  margin-top: 10px;
}

.compact-work-gallery .extra-work-photo {
  display: none;
}

.compact-work-gallery .extra-work-photo.shown {
  display: block;
}

/* Экстренный телефон всегда одной строкой */
.public-contact-grid .emergency a,
#emergency-contact-phone {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  display: inline-block;
}

/* Мобильная версия */
@media (max-width: 700px) {
  #public-document-list .public-doc-row {
    align-items: flex-start;
    flex-direction: column;
  }

  #public-document-list .public-doc-actions {
    width: 100%;
  }

  .compact-card-bottom {
    align-items: flex-end;
  }
}

/* Архив объявлений */
.announcement-archive-wrap {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}

.announcement-archive-button {
  width: auto;
  min-width: 220px;
  font-weight: 800;
}

@media (max-width: 700px) {
  .announcement-archive-wrap {
    justify-content: stretch;
  }

  .announcement-archive-button {
    width: 100%;
  }
}

/* ===== Нормальная кнопка Развернуть / Свернуть ===== */
.compact-toggle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  width: auto !important;
  min-width: 120px;
  min-height: 36px;

  padding: 7px 16px !important;
  margin: 0 !important;

  border: 1px solid rgba(28, 105, 64, .35) !important;
  border-radius: 12px !important;

  background: rgba(35, 126, 77, .10) !important;
  color: #17633c !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;

  cursor: pointer;
  box-shadow: none !important;
  opacity: 1 !important;
}

.compact-toggle:hover {
  background: rgba(35, 126, 77, .18) !important;
}

.compact-card-bottom {
  min-height: 40px;
}

@media (max-width: 700px) {
  .compact-toggle {
    min-width: 110px;
    min-height: 34px;
    padding: 6px 12px !important;
    font-size: 13px !important;
  }
}

/* ===== Все документы единым компактным стилем ===== */
.public-doc-row,
.document-row {
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 64px !important;
  height: auto !important;

  padding: 12px 16px !important;
  margin: 0 0 10px !important;

  border: 1px solid rgba(78, 190, 117, .28) !important;
  border-radius: 16px !important;

  background: rgba(36, 126, 75, .22) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.public-doc-title {
  min-width: 0;
  flex: 1 1 auto;
  font-weight: 750;
  line-height: 1.3;
}

.public-doc-actions {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.public-doc-actions a {
  white-space: nowrap;
}

@media (max-width: 700px) {
  .public-doc-row,
  .document-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .public-doc-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* ===== Стеклянное важное сообщение ===== */
.public-event {
  position: relative !important;
  overflow: visible !important;

  background: rgba(245, 250, 246, .68) !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-left: 5px solid rgba(241, 174, 32, .92) !important;
  border-radius: 24px !important;

  -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
  backdrop-filter: blur(16px) saturate(135%) !important;

  box-shadow:
    0 18px 45px rgba(0, 35, 20, .22),
    inset 0 1px 0 rgba(255, 255, 255, .82),
    inset 0 -1px 0 rgba(255, 255, 255, .28) !important;

  padding: 24px 28px !important;
}

/* лёгкий стеклянный блик */
.public-event::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 22px;
  pointer-events: none;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.32),
      rgba(255,255,255,.05) 45%,
      rgba(255,255,255,.14)
    );
}

/* хвостик сообщения */
.public-event::after {
  content: "";
  position: absolute;
  right: 42px;
  bottom: -14px;

  width: 28px;
  height: 28px;

  background: rgba(245, 250, 246, .68);
  border-right: 1px solid rgba(255,255,255,.72);
  border-bottom: 1px solid rgba(255,255,255,.72);

  transform: rotate(45deg);

  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

/* Колокольчик */
.public-event .message-bell {
  position: relative;
  z-index: 1;

  width: 52px !important;
  height: 52px !important;
  min-width: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50% !important;
  background: rgba(255, 201, 62, .90) !important;

  box-shadow:
    0 8px 20px rgba(188, 128, 0, .18),
    inset 0 1px 0 rgba(255,255,255,.55);

  font-size: 23px !important;
}

/* Текст поверх стеклянного блика */
.public-event .message-copy {
  position: relative;
  z-index: 1;
}

.public-event .message-copy > p {
  color: #9b6511 !important;
  font-weight: 800 !important;
  letter-spacing: .05em;
}

.public-event .message-copy h3 {
  color: #123f2d !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
}

/* На телефоне стекло чуть плотнее для читаемости */
@media (max-width: 700px) {
  .public-event {
    padding: 18px !important;
    border-radius: 20px !important;
    background: rgba(245,250,246,.76) !important;

    -webkit-backdrop-filter: blur(13px) saturate(125%) !important;
    backdrop-filter: blur(13px) saturate(125%) !important;
  }

  .public-event .message-bell {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    font-size: 20px !important;
  }
}

/* ===== Glassmorphism: важное сообщение ===== */
#public-event.public-event {
  position: relative !important;
  overflow: visible !important;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.24),
      rgba(235,255,242,.10)
    ) !important;

  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;

  border: 1px solid rgba(255,255,255,.48) !important;
  border-left: 3px solid rgba(255,190,45,.90) !important;
  border-radius: 24px !important;

  box-shadow:
    0 18px 45px rgba(0,25,12,.25),
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 0 -1px 0 rgba(255,255,255,.12) !important;
}

/* лёгкий стеклянный блик сверху */
#public-event.public-event::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 1px;
  height: 35%;
  border-radius: 22px 22px 50% 50%;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  );
  pointer-events: none;
}

/* хвостик сообщения тоже стеклянный */
#public-event.public-event::after {
  background: rgba(225,245,232,.28) !important;
  border: 1px solid rgba(255,255,255,.30) !important;
  border-left: 0 !important;
  border-top: 0 !important;
}

/* колокольчик */
#public-event .message-bell {
  background: rgba(255,190,45,.85) !important;
  border: 1px solid rgba(255,225,145,.75) !important;
  box-shadow:
    0 8px 22px rgba(130,85,0,.18),
    inset 0 1px 0 rgba(255,255,255,.55) !important;
}

/* текст делаем контрастным, но не чёрным */
#public-event .message-copy h3 {
  color: #103d2b !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
}

#public-event .message-copy > p {
  color: #9a6500 !important;
}

#public-event #public-event-details,
#public-event #public-event-description {
  color: rgba(20,55,42,.68) !important;
}

@media (max-width: 700px) {
  #public-event.public-event {
    border-radius: 20px !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
  }
}

/* ===== Важное сообщение: более прозрачное стекло ===== */
#public-event.public-event {
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.13),
      rgba(235,255,242,.045)
    ) !important;

  -webkit-backdrop-filter: blur(13px) saturate(135%) !important;
  backdrop-filter: blur(13px) saturate(135%) !important;

  border-color: rgba(255,255,255,.38) !important;

  box-shadow:
    0 18px 45px rgba(0,25,12,.20),
    inset 0 1px 0 rgba(255,255,255,.48) !important;
}

#public-event.public-event::before {
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.10),
    rgba(255,255,255,0)
  ) !important;
}

#public-event.public-event::after {
  background: rgba(225,245,232,.14) !important;
}

/* ===== Текст стеклянного важного сообщения ===== */

/* ВАЖНОЕ СООБЩЕНИЕ */
#public-event .message-copy > p {
  color: #ffd76a !important;
  font-weight: 800 !important;
  letter-spacing: .05em;
  text-shadow:
    0 1px 2px rgba(0, 45, 25, .55),
    0 0 10px rgba(255, 200, 55, .16) !important;
}

/* Основной текст сообщения */
#public-event .message-copy h3 {
  color: rgba(255, 255, 255, .96) !important;
  font-weight: 750 !important;
  text-shadow:
    0 1px 2px rgba(0, 35, 20, .75),
    0 2px 8px rgba(0, 25, 15, .28) !important;
}

/* Дата */
#public-event #public-event-details {
  color: rgba(255, 255, 255, .72) !important;
  text-shadow: 0 1px 2px rgba(0, 30, 18, .55) !important;
}

/* Дополнительное описание, если оно заполнено */
#public-event #public-event-description {
  color: rgba(255, 255, 255, .84) !important;
  text-shadow: 0 1px 2px rgba(0, 30, 18, .55) !important;
}

/* Обязательное подтверждение e-mail */
.email-required-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 18px;
  padding: 16px 18px;
  border: 1px solid rgba(190, 75, 55, .28);
  border-radius: 16px;
  background: rgba(255, 239, 235, .92);
  box-shadow: 0 8px 24px rgba(90, 35, 25, .08);
}

.email-required-banner strong {
  display: block;
  margin-bottom: 4px;
}

.email-required-banner p {
  margin: 0;
}

.email-required-banner button {
  flex: 0 0 auto;
}

@media (max-width: 700px) {
  .email-required-banner {
    align-items: stretch;
    flex-direction: column;
  }

  .email-required-banner button {
    width: 100%;
  }
}

/* Периодический звон важного сообщения */
#public-event .message-bell span {
  display: inline-block;
  transform-origin: 50% 15%;
  animation: important-bell-ring 5s ease-in-out infinite;
}

@keyframes important-bell-ring {
  0%, 82%, 100% { transform: rotate(0deg); }
  85% { transform: rotate(16deg); }
  88% { transform: rotate(-14deg); }
  91% { transform: rotate(10deg); }
  94% { transform: rotate(-7deg); }
  97% { transform: rotate(3deg); }
}

@media (prefers-reduced-motion: reduce) {
  #public-event .message-bell span {
    animation: none;
  }
}

/* Красно-коралловый колокольчик */
#public-event .important-bell-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
}

#public-event .important-bell-icon svg {
  width: 27px;
  height: 27px;
  overflow: visible;
  fill: #d94b3d;
  stroke: #b8322a;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 2px rgba(120, 30, 25, .18));
}


/* ===== Дежурные администраторы / шлагбаум ===== */
.gate-help-banner{
  position:relative;
  z-index:10;
  display:flex;
  align-items:center;
  gap:22px;
  width:100%;
  min-height:82px;
  padding:12px max(20px,calc((100vw - 1180px)/2));
  box-sizing:border-box;
  color:#fff;
  background:linear-gradient(90deg,#84251e,#b83b30,#84251e);
  box-shadow:0 8px 24px rgba(91,20,15,.22);
}

.gate-help-alert{
  flex:0 0 auto;
  font-size:2.2rem;
  animation:gate-alert-blink 1s steps(2,end) infinite;
}

@keyframes gate-alert-blink{
  0%,45%{opacity:1;transform:scale(1)}
  46%,100%{opacity:.15;transform:scale(.85)}
}

.gate-help-copy{
  display:grid;
  gap:3px;
  margin-right:auto;
}

.gate-help-copy strong{
  font-size:1.05rem;
  letter-spacing:.04em;
}

.gate-help-copy span{
  color:#ffe1dc;
  font-size:.84rem;
}

.gate-help-phones{
  display:flex;
  gap:10px;
}

.gate-help-phones a{
  display:grid;
  gap:2px;
  min-width:190px;
  padding:9px 15px;
  color:#642019;
  border:1px solid rgba(255,255,255,.85);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 12px rgba(70,10,5,.18);
  text-decoration:none;
  transition:.15s ease;
}

.gate-help-phones a:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 17px rgba(70,10,5,.28);
}

.gate-help-phones span{
  color:#80504b;
  font-size:.72rem;
  font-weight:750;
}

.gate-help-phones strong{
  font-size:.96rem;
  white-space:nowrap;
}

@media(max-width:760px){
  .gate-help-banner{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px 12px;
    padding:12px 14px 14px;
  }

  .gate-help-alert{
    font-size:1.8rem;
  }

  .gate-help-copy{
    margin:0;
  }

  .gate-help-copy strong{font-size:.9rem}
  .gate-help-copy span{font-size:.74rem}

  .gate-help-phones{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .gate-help-phones a{
    min-width:0;
    padding:9px 7px;
    text-align:center;
  }

  .gate-help-phones span{font-size:.67rem}
  .gate-help-phones strong{font-size:.82rem}
}

@media(prefers-reduced-motion:reduce){
  .gate-help-alert{animation:none}
}

/* ===== Шлагбаум: светлый предупреждающий дизайн ===== */

.gate-help-banner{
  min-height:92px;
  gap:24px;
  padding-top:13px;
  padding-bottom:13px;

  color:#172735;

  background:
    linear-gradient(90deg,
      rgba(255,248,218,.98),
      rgba(255,244,199,.98),
      rgba(255,249,226,.98)
    );

  border-top:4px solid #efb51f;
  border-bottom:4px solid #efb51f;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 6px 18px rgba(86,70,20,.12);
}

/* небольшая сигнальная полоска сверху/снизу */
.gate-help-banner::before,
.gate-help-banner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:4px;
  pointer-events:none;

  background:repeating-linear-gradient(
    135deg,
    #f3b91d 0 10px,
    transparent 10px 18px
  );
}

.gate-help-banner::before{top:0}
.gate-help-banner::after{bottom:0}

.gate-help-alert{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  font-size:2.25rem;
  border-radius:16px;
  background:#ffd65a;
  box-shadow:0 5px 14px rgba(169,116,0,.18);

  animation:gate-alert-blink 1.15s ease-in-out infinite;
}

@keyframes gate-alert-blink{
  0%,100%{
    opacity:1;
    transform:scale(1);
  }
  50%{
    opacity:.42;
    transform:scale(.91);
  }
}

.gate-help-copy strong{
  color:#142433;
  font-size:1.08rem;
  font-weight:900;
  letter-spacing:.035em;
}

.gate-help-copy span{
  color:#536169;
  font-size:.84rem;
}

.gate-help-phones{
  gap:12px;
}

.gate-help-phones a{
  min-width:205px;
  padding:10px 17px;

  color:#173149;
  border:2px solid #e5b12b;
  border-radius:14px;

  background:rgba(255,255,255,.94);

  box-shadow:
    0 5px 14px rgba(72,62,24,.10),
    inset 0 1px 0 #fff;
}

.gate-help-phones a:last-child{
  border-color:#8ba9cf;
}

.gate-help-phones a:hover{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 8px 18px rgba(72,62,24,.16);
}

.gate-help-phones span{
  color:#596b77;
  font-size:.72rem;
  font-weight:800;
}

.gate-help-phones strong{
  color:#122b42;
  font-size:1rem;
  font-weight:900;
}

/* мобильная версия */
@media(max-width:760px){

  .gate-help-banner{
    min-height:auto;
    gap:10px 12px;
    padding:12px 14px 14px;
  }

  .gate-help-alert{
    width:46px;
    height:46px;
    border-radius:13px;
    font-size:1.75rem;
  }

  .gate-help-copy strong{
    font-size:.88rem;
  }

  .gate-help-copy span{
    font-size:.72rem;
  }

  .gate-help-phones{
    gap:7px;
  }

  .gate-help-phones a{
    min-width:0;
    padding:9px 5px;
    border-width:1px;
  }

  .gate-help-phones span{
    font-size:.64rem;
  }

  .gate-help-phones strong{
    font-size:.80rem;
  }
}

@media(max-width:390px){
  .gate-help-phones{
    grid-template-columns:1fr;
  }

  .gate-help-phones strong{
    font-size:.9rem;
  }
}


/* Отдельное отображение переплаты при одновременной задолженности */
.balance-card .balance-value.overpayment-value {
  color: #247446;
}

.accruals-receipt-action {
  margin: 22px 0 10px;
  padding: 22px;
  border: 1px solid rgba(37,89,58,.12);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,247,239,.94));
  box-shadow: 0 14px 38px rgba(25,65,42,.10);
  text-align: center;
}

#accrual-receipt-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(100%, 460px);
  min-height: 58px;
  padding: 14px 24px;
  border: 0;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(145deg, #2d6d49, #173b2b);
  box-shadow: 0 12px 26px rgba(23,59,43,.22);
  font-size: 1.02rem;
  font-weight: 850;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

#accrual-receipt-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(23,59,43,.28);
  filter: brightness(1.05);
}

#accrual-receipt-button:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(23,59,43,.20);
}

@media(max-width:430px) {
  .accruals-receipt-action {
    padding: 16px;
    border-radius: 20px;
  }

  #accrual-receipt-button {
    width: 100%;
    min-height: 54px;
    padding-inline: 16px;
    font-size: .95rem;
  }
}

/* Иконка документа для истории начислений */
.plot-finance-card .accrual-document-art::before {
  content: "";
  display: block;
  width: 36px;
  height: 46px;
  box-sizing: border-box;
  border: 3px solid #2d6d49;
  border-radius: 5px;
  background:
    linear-gradient(#2d6d49, #2d6d49) 7px 13px / 20px 3px no-repeat,
    linear-gradient(#2d6d49, #2d6d49) 7px 21px / 20px 3px no-repeat,
    linear-gradient(#2d6d49, #2d6d49) 7px 29px / 14px 3px no-repeat,
    #fff;
  box-shadow: 0 3px 8px rgba(23,59,43,.12);
}

/* Выбор начислений для квитанции */
#accrual-receipt-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

#accrual-receipt-list .accrual-receipt-item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  margin: 0;
  border: 1px solid #dfe7e2;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}

#accrual-receipt-list .accrual-receipt-item input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  min-height: 20px;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none;
  cursor: pointer;
}

#accrual-receipt-list .accrual-receipt-item-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

#accrual-receipt-list .accrual-receipt-item-content strong {
  line-height: 1.3;
}

#accrual-receipt-list .accrual-receipt-item-content .muted {
  font-size: .88rem;
  line-height: 1.3;
}

#accrual-receipt-list .accrual-receipt-item-amount {
  white-space: nowrap;
  font-size: 1rem;
}

@media (max-width: 600px) {
  #accrual-receipt-list .accrual-receipt-item {
    grid-template-columns: 20px minmax(0, 1fr);
  }

  #accrual-receipt-list .accrual-receipt-item-amount {
    grid-column: 2;
  }
}

/* ===== Светлый фон личного кабинета 05.10.2026 ===== */
body:has(#cabinet-view:not(.hidden))::before,
body:has(#receipts-view:not(.hidden))::before,
body:has(#accruals-view:not(.hidden))::before,
body:has(#payments-view:not(.hidden))::before {
  height: 330px;
  background:
    linear-gradient(
      180deg,
      rgba(247,250,245,.12) 0%,
      rgba(247,250,245,.32) 60%,
      rgba(247,250,245,.76) 100%
    ),
    url('/images/cabinet-light-bg.png') center 46% / cover no-repeat;
}

/* Заголовки на светлом фоне */
body:has(#receipts-view:not(.hidden)) .cabinet-head h2,
body:has(#accruals-view:not(.hidden)) .cabinet-head h2,
body:has(#payments-view:not(.hidden)) .cabinet-head h2 {
  color: #173d29;
  text-shadow: 0 2px 12px rgba(255,255,255,.75);
}

body:has(#receipts-view:not(.hidden)) .cabinet-head .eyebrow,
body:has(#accruals-view:not(.hidden)) .cabinet-head .eyebrow,
body:has(#payments-view:not(.hidden)) .cabinet-head .eyebrow {
  color: #47705a;
}

/* Кнопка "К балансу" на светлом фоне */
body:has(#receipts-view:not(.hidden)) .cabinet-head > .button-secondary,
body:has(#accruals-view:not(.hidden)) .cabinet-head > .button-secondary,
body:has(#payments-view:not(.hidden)) .cabinet-head > .button-secondary {
  color: #20533a;
  border-color: rgba(32,83,58,.22);
  background: rgba(255,255,255,.76);
  box-shadow: 0 8px 24px rgba(31,72,47,.10);
  backdrop-filter: blur(10px);
}

/* ===== Мягкий тёмный кабинет 06.10.2026 ===== */

/* Фоновая панорама — заметная, но без сильного затемнения */
body:has(#cabinet-view:not(.hidden))::before,
body:has(#receipts-view:not(.hidden))::before,
body:has(#accruals-view:not(.hidden))::before,
body:has(#payments-view:not(.hidden))::before {
  height: 360px;
  background:
    linear-gradient(
      180deg,
      rgba(20,36,30,.18) 0%,
      rgba(25,43,35,.28) 58%,
      rgba(31,45,38,.48) 100%
    ),
    url('/images/cabinet-light-bg.png') center 46% / cover no-repeat;
}

/* Заголовки поверх фотографии */
body:has(#receipts-view:not(.hidden)) .cabinet-head h2,
body:has(#accruals-view:not(.hidden)) .cabinet-head h2,
body:has(#payments-view:not(.hidden)) .cabinet-head h2 {
  color: #f7faf8;
  text-shadow: 0 2px 14px rgba(0,0,0,.42);
}

body:has(#receipts-view:not(.hidden)) .cabinet-head .eyebrow,
body:has(#accruals-view:not(.hidden)) .cabinet-head .eyebrow,
body:has(#payments-view:not(.hidden)) .cabinet-head .eyebrow {
  color: rgba(255,255,255,.76);
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}

/* Кнопка "К балансу" */
body:has(#receipts-view:not(.hidden)) .cabinet-head > .button-secondary,
body:has(#accruals-view:not(.hidden)) .cabinet-head > .button-secondary,
body:has(#payments-view:not(.hidden)) .cabinet-head > .button-secondary {
  color: #f5faf7;
  border-color: rgba(255,255,255,.25);
  background: rgba(27,45,37,.52);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  backdrop-filter: blur(12px);
}

/* Основные карточки кабинета */
body:has(#receipts-view:not(.hidden)) .card,
body:has(#accruals-view:not(.hidden)) .card,
body:has(#payments-view:not(.hidden)) .card {
  background: rgba(38,51,45,.86);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 14px 36px rgba(0,0,0,.16);
  backdrop-filter: blur(12px);
  color: #f4f7f5;
}

/* Текст внутри карточек */
body:has(#receipts-view:not(.hidden)) .card h3,
body:has(#accruals-view:not(.hidden)) .card h3,
body:has(#payments-view:not(.hidden)) .card h3 {
  color: #ffffff;
}

body:has(#receipts-view:not(.hidden)) .card .muted,
body:has(#accruals-view:not(.hidden)) .card .muted,
body:has(#payments-view:not(.hidden)) .card .muted {
  color: rgba(255,255,255,.67);
}


/* ===== Зелёная кнопка "Квитанции" 06.10.2026 ===== */
#receipts-button {
  color: #fff;
  background: linear-gradient(135deg, #2f7d55, #185b3b);
  border-color: rgba(24,91,59,.45);
  box-shadow: 0 6px 18px rgba(24,91,59,.18);
  font-weight: 700;
}

#receipts-button:hover {
  color: #fff;
  background: linear-gradient(135deg, #378c61, #1d6845);
  border-color: rgba(24,91,59,.55);
}

/* ===== Иконка истории начислений 06.10.2026 ===== */
.plot-finance-card .accrual-document-art::before {
  content: "🧾";
  display: block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 34px;
  line-height: 1;
}

/* ===== Нормальная иконка начислений без emoji 06.10.2026 ===== */
.plot-finance-card .accrual-document-art::before {
  content: "₽" !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  box-sizing: border-box;
  border: none !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #3f8b62, #1f6845) !important;
  box-shadow: 0 5px 14px rgba(31,104,69,.22) !important;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* ===== Иконка "История начислений" — график 06.10.2026 ===== */
.plot-finance-card .accrual-document-art::before {
  content: "" !important;
  display: block !important;
  width: 46px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%232d6d49' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 39V27h7v12M21 39V20h7v19M34 39V11h7v28'/%3E%3Cpath d='M8 20l10-7 8 4 14-10'/%3E%3Cpath d='M34 7h6v6'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 44px 44px !important;
}

/* ===== Финальные иконки финансовой истории 06.10.2026 ===== */

/* Общий размер */
.plot-finance-card .finance-history-art {
  display: block;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  font-size: 0 !important;
  line-height: 0 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

/* Начисления — календарь + часы */
.plot-finance-card .accrual-document-art {
  background-image: url('/images/ui-icons/accrual-history.svg') !important;
}

.plot-finance-card .accrual-document-art::before {
  content: none !important;
  display: none !important;
}

/* Платежи — монеты + ₽ */
.plot-finance-card .finance-history-row:nth-of-type(2) .finance-history-art {
  background-image: url('/images/ui-icons/payment-history.svg') !important;
  color: transparent !important;
}

/* ===== Плавающая навигация 06.10.2026 ===== */
.floating-navigation {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.floating-nav-button {
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(38,92,63,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.78);
  color: #275f43;
  box-shadow: 0 5px 18px rgba(24,55,39,.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  opacity: .72;
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}

.floating-nav-button:hover {
  opacity: 1;
  transform: translateY(-2px);
  background: rgba(255,255,255,.96);
}

.scroll-to-top {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
}

.scroll-to-top.visible {
  opacity: .82;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

@media (max-width: 600px) {
  .floating-navigation {
    right: 14px;
    bottom: 14px;
    gap: 8px;
  }

  .floating-nav-button {
    width: 40px;
    height: 40px;
    font-size: 21px;
  }
}

/* ===== 3D-кнопка "На главную" 06.10.2026 ===== */
.floating-home {
  width: 56px !important;
  height: 56px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: .78;
  overflow: visible;
}

.floating-home span {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  font-size: 0 !important;
  background: url('/images/ui-icons/home-3d.svg') center / contain no-repeat !important;
  filter: drop-shadow(0 5px 7px rgba(20,70,45,.18));
}

.floating-home:hover {
  opacity: 1;
  transform: scale(1.08) translateY(-2px);
  background: transparent !important;
}

@media (max-width: 600px) {
  .floating-home,
  .floating-home span {
    width: 50px !important;
    height: 50px !important;
  }
}
