.header{background:var(--primary);color:#fff;padding:1rem 1.5rem;box-shadow:0 4px 20px #395c594d}.header__inner{max-width:none;margin:0 auto;padding:0 1.5rem;width:100%;display:flex;align-items:center;gap:1rem}.header__review-btn{margin-left:auto;padding:.5rem 1rem;background:#fff3;color:#fff;border-radius:10px;font-weight:600;text-decoration:none;transition:background .2s}.header__review-btn:hover{background:#ffffff4d}.logo{display:block}.logo__img{height:72px;width:auto;display:block}.tagline{font-size:.875rem;opacity:.95}.header__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:#ffffff26;border:none;border-radius:10px;cursor:pointer;transition:background .2s}.header__burger:hover{background:#ffffff40}.header__burger-line{display:block;width:22px;height:2px;background:#fff;border-radius:1px;margin:0 auto;transition:transform .3s,opacity .3s}.header__burger .header__burger-line:nth-child(1){transform-origin:center}.header__burger .header__burger-line:nth-child(2){transform-origin:center}.header__burger .header__burger-line:nth-child(3){transform-origin:center}.header__burger[aria-expanded=true] .header__burger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__burger[aria-expanded=true] .header__burger-line:nth-child(2){opacity:0}.header__burger[aria-expanded=true] .header__burger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main.main--map-layout{display:flex;flex:1;min-height:0;overflow:hidden}.map-area{flex:1;position:relative;min-width:0;min-height:0}.waters-sidebar{width:360px;flex-shrink:0;height:100%;background:var(--bg-50);border-left:2px solid var(--bg-200);overflow-y:auto;padding:1rem 0}.waters-sidebar__close{display:none}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:90;opacity:0;pointer-events:none;transition:opacity .3s}@media (max-width: 900px){.header__burger{display:flex}.tagline{display:none}.main--map-layout{flex-direction:column;height:auto;min-height:calc(100vh - 72px)}.map-area{min-height:60vh;flex:1}.waters-sidebar{position:fixed;top:0;right:0;bottom:0;width:min(340px,100%);max-width:100%;z-index:100;border-left:2px solid var(--bg-200);transform:translate(100%);transition:transform .3s ease;box-shadow:-8px 0 24px #00000026}.waters-sidebar.waters-sidebar--open{transform:translate(0)}.waters-sidebar__close{display:flex;position:absolute;top:1rem;right:1rem;width:40px;height:40px;align-items:center;justify-content:center;font-size:1.5rem;background:var(--bg-100);border:none;border-radius:10px;cursor:pointer;color:var(--primary);z-index:1}.waters-sidebar__close:hover{background:var(--bg-200)}.waters-sidebar .waters-list{padding-top:3.5rem}.sidebar-overlay{display:block}.sidebar-overlay.sidebar-overlay--visible{opacity:1;pointer-events:auto}}@media (max-width: 480px){.header{padding:.75rem 1rem}.header__inner{padding:0 .5rem;gap:.5rem}.logo__img{height:52px}.header__review-btn{padding:.4rem .75rem;font-size:.875rem}}.map-controls--overlay{position:absolute;top:1rem;left:1rem;z-index:200;margin:0;background:#fffffff2;padding:.75rem;border-radius:12px;box-shadow:0 4px 20px #0000001a}.map-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;align-items:center}.search-input{padding:.625rem 1rem;border:2px solid var(--bg-200);border-radius:12px;font-size:.95rem;min-width:220px;font-family:inherit;transition:all .2s;background:#fff}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #395c5926}.water-type-filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:none;background:#fff;color:var(--primary);border-radius:10px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #00000014}.filter-btn:hover{background:var(--bg-100);color:var(--primary-dark)}.filter-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #395c5959}.map-section-inner,.map-section{position:absolute;top:0;left:0;right:0;bottom:0}.map-section .map-container{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden}.map-container.map-loading{display:flex;align-items:center;justify-content:center;background:var(--bg-50);color:var(--primary)}.map-container.map-loading:after{content:"Загрузка карты..."}.map-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg-100);border-radius:16px;padding:2rem;text-align:center}.map-error p{color:var(--text);max-width:400px}.map-error a{color:var(--primary);font-weight:600}.map-error a:hover{text-decoration:underline}.water-info{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;max-width:420px;max-height:70vh;overflow-y:auto;background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 50px #395c5926;border:2px solid var(--bg-200);z-index:100}.water-info__close{position:absolute;top:1rem;right:1rem;background:var(--bg-100);border:none;width:32px;height:32px;border-radius:10px;font-size:1.25rem;cursor:pointer;color:var(--primary);line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.water-info__close:hover{background:var(--bg-200)}.water-info__title{font-size:1.25rem;font-weight:700;color:var(--primary-dark);margin-bottom:.25rem}.water-info__type{font-size:.8rem;color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:.5rem}.water-info__desc{font-size:.95rem;color:var(--text);opacity:.9;margin-bottom:1rem}.water-info__rating{font-weight:600;color:var(--primary);margin-bottom:1rem}.water-info__reviews h4{font-size:.95rem;font-weight:600;color:var(--primary-dark);margin-bottom:.75rem}.reviews-list{list-style:none;margin-bottom:1rem}.review-item{padding:.75rem 0;border-bottom:1px solid var(--bg-100)}.review-item:last-child{border-bottom:none}.review-item__head{display:flex;align-items:flex-start;gap:.5rem;width:100%;padding:0;background:none;border:none;font-family:inherit;font-size:inherit;text-align:left}button.review-item__head{cursor:pointer}.review-item__head:hover{opacity:.9}.review-item__head:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.review-item__head .review-preview{flex:1;min-width:0}.review-item .review-toggle{flex-shrink:0;color:var(--primary);font-size:.75rem}.review-item__detail{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--bg-200)}.review-checklist{margin:0;font-family:inherit;font-size:.85rem;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.review-rating{color:var(--primary-light);font-size:.9rem;flex-shrink:0}.review-text{margin:.25rem 0;font-size:.95rem;color:var(--text);line-height:1.4;overflow-wrap:break-word;word-break:break-word}.review-date{font-size:.8rem;color:var(--text-muted)}.review-form{display:flex;flex-direction:column;gap:.75rem}.review-form__rating{display:flex;align-items:center;gap:.5rem}.review-form__rating select{padding:.4rem .6rem;border-radius:8px;border:2px solid var(--bg-200);font-family:inherit}.review-form textarea{padding:.75rem;border:2px solid var(--bg-200);border-radius:12px;font-family:inherit;resize:vertical;transition:border-color .2s}.review-form textarea:focus{outline:none;border-color:var(--primary)}.review-form button{padding:.75rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:12px;font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s}.review-form button:hover{background:var(--primary-dark);transform:translateY(-1px)}.waters-list{padding:0 1.25rem 1.25rem}.waters-list h2{font-size:1.15rem;font-weight:700;color:var(--primary-dark);margin-bottom:1rem;letter-spacing:-.02em}.waters-list__search{width:100%;padding:.625rem 1rem;margin-bottom:1rem;border:2px solid var(--bg-200);border-radius:10px;font-size:.95rem;background:#fff;transition:border-color .2s,box-shadow .2s}.waters-list__search::placeholder{color:var(--text-muted, #6b7280)}.waters-list__search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #395c5926}.waters-list__empty{padding:2rem 1rem;text-align:center;color:var(--text-muted, #6b7280);font-size:.95rem}.waters-grid{display:flex;flex-direction:column;gap:.75rem}.water-card{background:var(--bg-50);border-radius:12px;padding:1rem 1.25rem;border:2px solid var(--bg-100);cursor:pointer;transition:all .2s;box-shadow:0 1px 4px #0000000a}.water-card:hover{border-color:var(--primary-pale);box-shadow:0 8px 24px #395c5933;transform:translateY(-2px)}.water-card.active{border-color:var(--primary);background:var(--bg-50);box-shadow:0 8px 24px #395c5940}.water-card__name{font-size:1.1rem;font-weight:600;color:var(--primary-dark);margin-bottom:.25rem}.water-card__type{font-size:.8rem;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.water-card__rating{font-size:.9rem;color:var(--primary);margin-top:.35rem}.add-water-form{position:absolute;bottom:1.5rem;left:1.5rem;max-width:360px;background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 20px 50px #395c5926;border:2px solid var(--bg-200);z-index:100}.add-water-form h4{margin-bottom:.5rem;font-size:1.1rem}.add-water-form__coords{font-size:.85rem;color:var(--primary);margin-bottom:1rem}.add-water-form label{display:block;font-size:.9rem;color:var(--text);margin-bottom:.5rem}.add-water-form input,.add-water-form select,.add-water-form textarea{width:100%;padding:.5rem;margin-bottom:.75rem;border:2px solid var(--bg-200);border-radius:8px;font-family:inherit}.add-water-form__actions{display:flex;gap:.5rem}.add-water-form__actions button{padding:.5rem 1rem}.add-water-form button.primary{background:var(--primary);color:#fff}.api-error{position:absolute;bottom:1rem;left:1rem;color:#dc2626;z-index:200}.api-loading{position:absolute;top:4rem;left:1rem;color:var(--primary);z-index:200}.map-add-mode{cursor:crosshair}.footer{text-align:center;padding:1.5rem;background:var(--bg-50);border-top:1px solid var(--bg-200)}.footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem;margin-bottom:.75rem}.footer__links a{color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.footer__links a:hover{color:var(--primary-dark);text-decoration:underline}.footer__copy{margin:0;color:var(--text-muted);font-size:.85rem}:root{--primary: #395C59;--primary-dark: #2d4947;--primary-light: #4a7572;--primary-pale: #5d8a86;--bg-50: #f4f7f7;--bg-100: #e8efee;--bg-200: #d1e0de;--text: #1a2d2b;--text-muted: #4a6563;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg-50);color:var(--text);margin:0;line-height:1.6;overflow:hidden;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;flex:1;min-height:0}
