@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:400;src:url(/static/media/hanken-grotesk-cyrillic-ext-400-normal.57ae6f7b062438b52e28.woff2) format("woff2"),url(/static/media/hanken-grotesk-cyrillic-ext-400-normal.0efeda348d65758001d5.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:400;src:url(/static/media/hanken-grotesk-vietnamese-400-normal.d5e529dac33bdaeab513.woff2) format("woff2"),url(/static/media/hanken-grotesk-vietnamese-400-normal.1917268ffe091ab2d299.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:400;src:url(/static/media/hanken-grotesk-latin-ext-400-normal.64d0edec97ee4c0d3c9f.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-ext-400-normal.d2055d55b5968ac7bf59.woff) format("woff");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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:400;src:url(/static/media/hanken-grotesk-latin-400-normal.a09acf567544b53ce4b0.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-400-normal.fd730a41d32148ed468b.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:500;src:url(/static/media/hanken-grotesk-cyrillic-ext-500-normal.7fc3448dad9a6b8d66b0.woff2) format("woff2"),url(/static/media/hanken-grotesk-cyrillic-ext-500-normal.d2794ba34569c8d85712.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:500;src:url(/static/media/hanken-grotesk-vietnamese-500-normal.ef7071bac011979443c4.woff2) format("woff2"),url(/static/media/hanken-grotesk-vietnamese-500-normal.ed28594af75dceb23f85.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:500;src:url(/static/media/hanken-grotesk-latin-ext-500-normal.3dd2f8d0565a1cb8d1a9.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-ext-500-normal.ec7e265e5e0fe7756184.woff) format("woff");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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:500;src:url(/static/media/hanken-grotesk-latin-500-normal.731555fcd7a8850f43bb.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-500-normal.7a1533fdae6368d55bab.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:600;src:url(/static/media/hanken-grotesk-cyrillic-ext-600-normal.913af0d5d22d7989651b.woff2) format("woff2"),url(/static/media/hanken-grotesk-cyrillic-ext-600-normal.a605710242fbb71709ae.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:600;src:url(/static/media/hanken-grotesk-vietnamese-600-normal.37c65377ad4e05736c92.woff2) format("woff2"),url(/static/media/hanken-grotesk-vietnamese-600-normal.2e3c53fb458365cfd314.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:600;src:url(/static/media/hanken-grotesk-latin-ext-600-normal.f9401bcf0c685e3d3915.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-ext-600-normal.a4efe0f7129126350835.woff) format("woff");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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:600;src:url(/static/media/hanken-grotesk-latin-600-normal.4e8b7b98fc5a95df419c.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-600-normal.2a087ff6e346bdc4170c.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:700;src:url(/static/media/hanken-grotesk-cyrillic-ext-700-normal.67139d3b1c21e4756f50.woff2) format("woff2"),url(/static/media/hanken-grotesk-cyrillic-ext-700-normal.31c3938c7569999c5abb.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:700;src:url(/static/media/hanken-grotesk-vietnamese-700-normal.974566c0701994a8be1a.woff2) format("woff2"),url(/static/media/hanken-grotesk-vietnamese-700-normal.6fb2a8697ca487c3887b.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:700;src:url(/static/media/hanken-grotesk-latin-ext-700-normal.14312cc92f9f048609ba.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-ext-700-normal.06bc13a982402760e3e8.woff) format("woff");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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Hanken Grotesk;font-style:normal;font-weight:700;src:url(/static/media/hanken-grotesk-latin-700-normal.47466b1694ff703b46ec.woff2) format("woff2"),url(/static/media/hanken-grotesk-latin-700-normal.00dee441f4c06aa550a8.woff) format("woff");unicode-range:u+00??,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{--c-lime:#cce779;--c-lime-deep:#a3bf61;--c-lime-pale:#f5fae4;--c-lime-tint:#edf3d6;--c-ink:#2c3320;--c-ink-soft:#5a6150;--c-ink-muted:#8a8e7e;--c-line:#e7e4d8;--c-line-soft:#f0eee6;--c-paper:#fffdf8;--c-surface:#fff;--c-surface-2:#f7f6ef;--c-scrim:#24281c6b;--c-slate:#373b44;--c-danger:#e5564b;--c-danger-bg:#fce9e7;--c-success:#7da62f;--c-success-bg:#edf3d6;--c-warning:#e8920c;--c-warning-bg:#fff3dc;--c-on-lime:#2c3320;--c-on-dark:#f7f8f1;--ff-body:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ff-display:var(--ff-body);--fs-xs:11px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:16px;--fs-xl:21px;--fs-2xl:28px;--fs-3xl:34px;--lh-tight:1.15;--lh-base:1.5;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--sh-1:0 2px 8px #282a1e14;--sh-2:0 8px 22px #282a1e1f;--sh-3:0 18px 44px #282a1e29;--sh-glow:0 6px 16px #a3bf614d;--ease:cubic-bezier(0.2,0.7,0.2,1);--dur-fast:0.15s;--dur:0.25s;--ring:0 0 0 3px #a3bf6173;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;background:var(--c-paper);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);line-height:var(--lh-base);margin:0;overscroll-behavior:none;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{color:var(--c-ink);font-family:var(--ff-display);font-style:normal;letter-spacing:-.01em;line-height:var(--lh-tight)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::selection{background:var(--c-lime);color:var(--c-on-lime)}:focus-visible{border-radius:var(--r-sm);box-shadow:var(--ring);outline:none}*{scrollbar-color:var(--c-line) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:9px;width:9px}::-webkit-scrollbar-thumb{background:var(--c-line);background-clip:content-box;border:2px solid #0000;border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:var(--c-ink-muted);background-clip:content-box}::-webkit-scrollbar-track{background:#0000}@media (max-width:768px){a,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow:hidden}#root,body,html{height:100%;width:100%}.App{display:flex;width:100vw}.App,.map-container{height:100vh;height:var(--tg-viewport-height,100vh);position:relative}.map-container{flex:1 1;overflow:hidden;width:100%}.map-container .language-switcher{left:calc(78px + var(--safe-left));position:absolute;top:calc(20px + var(--safe-top));z-index:1000}.map-container .language-switcher.open{z-index:2000}.map-admin-button,.map-chat-button{align-items:center;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-1);color:var(--c-ink);cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;top:calc(20px + var(--safe-top));transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);width:48px;z-index:1000}.map-chat-button{left:calc(136px + var(--safe-left))}.map-admin-button{color:var(--c-ink);left:calc(194px + var(--safe-left))}.map-admin-button:hover,.map-chat-button:hover{background:var(--c-surface-2);box-shadow:var(--sh-2);transform:translateY(-1px)}.map-admin-button:active,.map-chat-button:active{transform:translateY(0)}.map-admin-button svg,.map-chat-button img{height:24px;width:24px}.map-chat-button img{object-fit:contain}.map-admin-button svg{transition:transform var(--dur-fast) var(--ease)}.map-admin-button:hover svg{transform:scale(1.06)}.map-chat-badge{align-items:center;background:var(--c-danger);border:2px solid var(--c-paper);border-radius:10px;color:#fff;display:inline-flex;font-size:10px;font-weight:800;height:19px;justify-content:center;line-height:1;min-width:19px;padding:0 4px;position:absolute;right:-4px;top:-4px}.reports-status{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffdf8eb;border:1px solid var(--c-line)}.report-info-window{font-family:var(--ff-body);max-width:250px}.report-info-window h3{border-bottom:1px solid var(--c-line);color:var(--c-ink);font-family:var(--ff-display);font-weight:var(--fw-semibold);padding-bottom:4px}.report-info-window p{color:var(--c-ink-soft);line-height:1.4}.map-placeholder{align-items:center;background-color:var(--c-paper);color:var(--c-ink);display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.map-placeholder h2{color:var(--c-ink);font-family:var(--ff-display);margin-bottom:1rem}.map-placeholder p{color:var(--c-ink-soft);line-height:1.5;margin-bottom:.5rem}.map-placeholder code{background-color:var(--c-surface-2);border-radius:3px;font-family:Courier New,monospace;padding:.2rem .4rem}.map-loading{align-items:center;display:flex;flex-direction:column;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.loading-spinner{margin-bottom:1rem}.map-loading p{color:var(--c-ink-soft);font-size:1rem}.map-container *{box-sizing:border-box}@media (max-width:480px){.map-admin-button,.map-chat-button{height:44px;top:calc(15px + var(--safe-top));width:44px}.map-chat-button{left:calc(121px + var(--safe-left))}.map-admin-button{left:calc(174px + var(--safe-left))}.map-admin-button svg,.map-chat-button img{height:22px;width:22px}.map-container .language-switcher{left:calc(68px + var(--safe-left));top:calc(15px + var(--safe-top))}}.bridge-waiting-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1100}.bridge-waiting-card{background:#fff;border-radius:16px;box-shadow:0 12px 40px #00000040;max-width:320px;padding:28px 24px;text-align:center;width:100%}.bridge-waiting-card h3{font-size:18px;margin:12px 0 8px}.bridge-waiting-card p{color:#555;font-size:14px;line-height:1.4;margin:0 0 20px}.bridge-waiting-spinner{animation:bridge-waiting-spin .9s linear infinite;border:3px solid #d7e3d7;border-radius:50%;border-top-color:#2e7d32;height:36px;margin:0 auto;width:36px}@keyframes bridge-waiting-spin{to{transform:rotate(1turn)}}.bridge-waiting-cancel{background:#eee;border:none;border-radius:10px;color:#333;cursor:pointer;font-size:14px;padding:10px 18px}.login-button{align-items:center;background:var(--c-surface);border:none;border-radius:50%;box-shadow:var(--sh-1);color:var(--c-ink);cursor:pointer;display:flex;height:48px;justify-content:center;left:calc(20px + var(--safe-left));overflow:hidden;position:absolute;top:calc(20px + var(--safe-top));transition:all .2s ease;width:48px;z-index:1000}.login-button:hover{background-color:var(--c-surface-2);box-shadow:var(--sh-2);transform:translateY(-1px)}.login-button:active{box-shadow:var(--sh-1);transform:translateY(0)}.login-button svg{transition:transform .2s ease}.login-button:hover svg{transform:scale(1.1)}.avatar-button-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-button-placeholder{align-items:center;background:linear-gradient(45deg,var(--c-lime),var(--c-lime-deep));border-radius:50%;color:var(--c-on-lime);display:flex;font-size:18px;font-weight:var(--fw-semibold);height:100%;justify-content:center;width:100%}@media (max-width:480px){.login-button{height:44px;left:calc(15px + var(--safe-left));top:calc(15px + var(--safe-top));width:44px}.login-button svg{height:18px;width:18px}.avatar-button-placeholder{font-size:16px}}.auth-popup-overlay{align-items:center;background-color:var(--c-scrim);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.auth-popup{animation:authPopupSlideIn .3s ease-out;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);max-height:calc(100vh - 32px);max-width:400px;overflow-y:auto;position:relative;width:90%}@keyframes authPopupSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-popup-topbar{display:flex;justify-content:flex-end;padding:10px 10px 0}.auth-popup-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-ink-soft);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;transition:all .2s ease;width:32px}.auth-popup-close:hover{background-color:var(--c-surface-2);color:var(--c-ink)}.auth-popup-tabs{border-bottom:1px solid var(--c-line);display:flex}.auth-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--c-ink-soft);cursor:pointer;flex:1 1;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-medium);padding:16px;transition:all .2s ease}.auth-tab.active{border-bottom-color:var(--c-lime-deep);color:var(--c-lime-deep)}.auth-tab:hover{background-color:var(--c-surface-2)}.auth-form{display:flex;flex-direction:column;gap:16px;padding:24px}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);box-sizing:border-box;color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-lg);outline:none;padding:12px 16px;transition:border-color .2s ease;width:100%}.auth-form input::placeholder{color:var(--c-ink-muted)}.auth-form input[type=email]:focus,.auth-form input[type=password]:focus,.auth-form input[type=text]:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring)}.auth-form input:disabled{background-color:var(--c-surface-2);cursor:not-allowed}.auth-checkbox{align-items:center;color:var(--c-ink-soft);cursor:pointer;display:flex;font-size:var(--fs-md);gap:8px;-webkit-user-select:none;user-select:none}.auth-checkbox input[type=checkbox]{accent-color:var(--c-lime-deep);height:16px;width:16px}.auth-submit{background:var(--c-lime);border:none;border-radius:var(--r-sm);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-top:8px;padding:12px 24px;transition:all .2s ease}.auth-submit:hover:not(:disabled){background:var(--c-lime-deep)}.auth-submit:disabled{background-color:var(--c-ink-muted);cursor:not-allowed;opacity:.6}.auth-error{background-color:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--r-sm);color:var(--c-danger);font-size:var(--fs-md);margin:0 24px;padding:12px 16px}.auth-error--form{margin:0}@media (max-width:480px){.auth-popup{margin:20px;width:95%}.auth-form{padding:20px}.auth-tab{font-size:var(--fs-md);padding:14px}}.social-auth{align-items:stretch;display:flex;flex-direction:column;gap:10px;margin-top:4px;padding:4px 24px 24px}.social-auth-divider{color:var(--c-ink-muted);font-size:var(--fs-sm);margin-bottom:4px;text-align:center}.social-auth-btn{align-items:center;border-radius:var(--r-sm);box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);gap:10px;justify-content:center;min-height:44px;padding:0 16px;transition:background .2s ease,box-shadow .2s ease,transform .1s ease;width:100%}.social-auth-btn:active{transform:translateY(1px)}.social-auth-btn__icon{flex-shrink:0;height:20px;object-fit:contain;width:20px}.social-auth-btn__label{white-space:nowrap}.social-auth-btn--vk{background:#07f;border:none;box-shadow:var(--sh-1);color:#fff}.social-auth-btn--vk:hover{background:#0a6ae6;box-shadow:var(--sh-2)}.social-auth-btn:disabled{box-shadow:none;cursor:default;opacity:.6}.social-auth-btn:disabled:active{transform:none}.phone-verification-field{display:flex;flex-direction:column;gap:8px}.phone-verification-label{color:var(--c-ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.phone-verification-label span{color:var(--c-danger)}.phone-verification-code-input,.phone-verification-input{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);box-sizing:border-box;color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-lg);outline:none;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.phone-verification-code-input:focus,.phone-verification-input:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring)}.phone-verification-code-input:disabled,.phone-verification-input:disabled{background:var(--c-surface-2);cursor:not-allowed}.phone-verification-call-hint,.phone-verification-hint{color:var(--c-ink-muted);font-size:var(--fs-sm);line-height:1.4;margin:0}.phone-verification-hint a{color:var(--c-lime-deep);text-decoration:underline;text-underline-offset:2px}.phone-verification-explainer{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink-soft);font-size:var(--fs-sm);line-height:1.4;padding:12px 14px}.phone-verification-explainer strong{color:var(--c-ink);display:block;font-size:var(--fs-md);margin-bottom:6px}.phone-verification-explainer ol{margin:0;padding-left:20px}.phone-verification-explainer li+li{margin-top:3px}.phone-verification-explainer p{color:var(--c-ink-muted);margin:8px 0 0}.phone-verification-error{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--r-sm);color:var(--c-danger);font-size:var(--fs-sm);padding:10px 12px}.phone-verification-action{background:var(--c-surface);border:1px solid var(--c-lime-deep);border-radius:var(--r-sm);color:var(--c-lime-deep);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);min-height:40px;padding:8px 14px;transition:background .2s ease,color .2s ease;width:100%}.phone-verification-action:hover:not(:disabled){background:var(--c-lime);color:var(--c-on-lime)}.phone-verification-action:disabled{cursor:not-allowed;opacity:.55}.phone-verification-code-block{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:8px;padding:12px}.phone-verification-troubleshooting{background:#f7f4e8;border-radius:var(--r-sm);color:var(--c-ink-soft);font-size:var(--fs-sm);line-height:1.4;padding:10px 12px}.phone-verification-troubleshooting strong{color:var(--c-ink)}.phone-verification-troubleshooting ul{margin:5px 0 0;padding-left:20px}.phone-verification-troubleshooting li+li{margin-top:3px}.phone-verification-code-row{display:flex;gap:8px}.phone-verification-code-input{flex:1 1;letter-spacing:.18em;min-width:0;text-align:center}.phone-verification-action--verify{flex:1.25 1;width:auto}.phone-verification-success{background:#a3bf612e;border-radius:var(--r-sm);color:var(--c-lime-deep);font-size:var(--fs-md);font-weight:var(--fw-semibold);gap:8px;min-height:40px}.phone-verification-success,.user-panel-overlay{align-items:center;display:flex;justify-content:center}.user-panel-overlay{background-color:var(--c-scrim);bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000}.user-panel{animation:userPanelSlideIn .3s ease-out;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-3);max-height:90vh;max-width:480px;overflow-y:auto;width:90%}@keyframes userPanelSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.user-panel-header{align-items:center;background:var(--c-paper);border-bottom:1px solid var(--c-line);display:flex;justify-content:space-between;padding:16px 20px}.user-panel-header h3{color:var(--c-ink);font-family:var(--ff-display);font-size:18px;font-weight:var(--fw-semibold);margin:0}.header-actions{gap:8px}.edit-button,.header-actions{align-items:center;display:flex}.edit-button{background:none;border:none;border-radius:var(--r-sm);cursor:pointer;justify-content:center;padding:6px 8px;transition:all .2s ease}.edit-button:hover{background-color:var(--c-surface-2)}.edit-icon{height:20px;object-fit:contain;width:20px}.close-button{transition:all .2s ease}.close-button:hover{background-color:var(--c-surface-2)}.user-panel-content{padding:24px}.user-avatar-section{align-items:center;display:flex;flex-direction:column;margin-bottom:24px}.user-avatar-large{border-radius:50%;box-shadow:var(--sh-2);height:100px;margin-bottom:12px;overflow:hidden;position:relative;transition:all .2s ease;width:100px}.user-avatar-large.editable{cursor:pointer}.user-avatar-large.editable:hover{box-shadow:var(--sh-2);transform:scale(1.05)}.avatar-edit-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.user-avatar-large.editable:hover .avatar-edit-overlay{opacity:1}.camera-icon{filter:brightness(0) invert(1);height:36px;object-fit:contain;width:36px}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-placeholder{background:linear-gradient(135deg,var(--c-lime),var(--c-lime-deep));font-size:40px}.edit-avatar-hint{color:var(--c-ink-muted);font-size:var(--fs-sm);margin-bottom:12px;margin-top:-8px}.user-nickname{color:var(--c-ink);font-family:var(--ff-display);font-size:24px;font-weight:var(--fw-bold);margin:0;text-align:center}.user-fullname{color:var(--c-ink-soft);font-size:var(--fs-lg);font-weight:var(--fw-medium);margin:4px 0 0;text-align:center}.admin-user-email-row{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:8px;max-width:100%}.admin-user-email{color:var(--c-ink-soft);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1.4;max-width:min(280px,calc(100vw - 152px));overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.email-action-button{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;display:inline-flex;flex:0 0 auto;height:30px;justify-content:center;position:relative;transition:all .2s ease;width:30px}.email-action-button:hover{background:var(--c-lime-pale);border-color:var(--c-lime-deep);transform:translateY(-1px)}.email-action-button:active{transform:translateY(0)}.copy-email-button.copied{background:var(--c-lime);border-color:var(--c-lime-deep)}.email-action-icon{height:16px;object-fit:contain;width:16px}.user-details{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.detail-item{align-items:center;border-bottom:1px solid var(--c-line-soft);display:flex;justify-content:space-between;padding:12px 0}.detail-item:last-child{border-bottom:none}.detail-label{color:var(--c-ink-soft);font-weight:var(--fw-medium)}.detail-value{color:var(--c-ink);font-weight:var(--fw-semibold);text-align:right}.detail-value.coins{display:flex;font-size:18px;font-weight:var(--fw-bold);gap:6px;justify-content:flex-end}.coin-icon{height:20px;object-fit:contain;width:20px}.user-edit-form{display:flex;flex-direction:column;gap:16px}.guest-phone-verification{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-md);display:flex;flex-direction:column;gap:12px;padding:16px}.guest-phone-verification-intro{color:var(--c-ink-soft);font-size:var(--fs-sm);line-height:1.45;margin:0}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:var(--c-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);padding:10px 12px;transition:all .2s ease}.form-group input::placeholder{color:var(--c-ink-muted)}.form-group input:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.form-group input:disabled{background-color:var(--c-surface-2);cursor:not-allowed}.checkbox-group{align-items:center;flex-direction:row}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:var(--fw-medium);gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;margin:0 5px 0 0;width:18px}.link-button{background:none;border:none;color:var(--c-lime-deep);cursor:pointer;font-size:var(--fs-md);font-weight:var(--fw-medium);padding:8px 0;text-align:left;transition:color .2s ease}.link-button:hover{color:var(--c-success);text-decoration:underline}.form-actions{display:flex;gap:12px;margin-top:8px}.cancel-button{border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;flex:1 1;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);padding:12px;transition:all .2s ease}.cancel-button,.cancel-button:hover{background-color:var(--c-surface-2)}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.submit-button{background-color:var(--c-lime);border:none;border-radius:var(--r-sm);color:var(--c-on-lime);cursor:pointer;flex:1 1;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);padding:12px;transition:all .2s ease}.submit-button.active:hover{background-color:var(--c-lime-deep)}.submit-button.disabled,.submit-button:disabled{background-color:var(--c-ink-muted);cursor:not-allowed}.danger-zone{border-top:1px solid var(--c-line);display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px}.logout-button-secondary{border:none;border-radius:var(--r-sm);color:#fff;cursor:pointer;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);padding:12px;transition:background-color .2s ease;width:100%}.logout-button-secondary,.logout-button-secondary:hover{background-color:var(--c-danger)}.logout-button-secondary:disabled{cursor:not-allowed;opacity:.5}.delete-button{background:none;border:none;border-radius:var(--r-sm);color:var(--c-danger);cursor:pointer;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);padding:12px;text-align:left;transition:all .2s ease;width:100%}.delete-button:hover{background-color:var(--c-danger-bg)}.delete-button:disabled{cursor:not-allowed;opacity:.5}.delete-confirm{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--r-sm);padding:16px}.delete-warning{color:var(--c-danger);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0 0 12px}.delete-confirm input{background:var(--c-surface);border:1px solid var(--c-danger);border-radius:var(--r-sm);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);margin-bottom:12px;padding:10px 12px;width:100%}.delete-confirm input::placeholder{color:var(--c-ink-muted)}.delete-confirm input:focus{box-shadow:var(--ring);outline:none}.delete-confirm-actions{display:flex;gap:8px}.delete-confirm-actions .cancel-button,.delete-confirm-actions .delete-button{flex:1 1;text-align:center}.delete-confirm-actions .delete-button{background-color:var(--c-danger);color:#fff}.delete-confirm-actions .delete-button:hover:not(:disabled){background-color:var(--c-danger)}.user-actions{border-top:1px solid var(--c-line);padding-top:16px}.logout-button{border:none;border-radius:var(--r-sm);color:#fff;cursor:pointer;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);min-width:140px;padding:12px 32px;transition:background-color .2s ease}.logout-button,.logout-button:hover{background-color:var(--c-danger)}.logout-button:active{transform:translateY(1px)}.linked-accounts{border-top:1px solid var(--c-line);display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:20px}.linked-accounts-title{color:var(--c-ink-muted);font-family:var(--ff-display);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.06em;margin:0 0 2px;text-transform:uppercase}.linked-account-row{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-md);display:flex;gap:12px;justify-content:space-between;min-height:44px;padding:8px 12px}.linked-account-info{align-items:center;display:flex;gap:12px;min-width:0}.linked-account-icon{flex-shrink:0;height:26px;object-fit:contain;width:26px}.linked-account-name{color:var(--c-ink);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.linked-badge{align-items:center;background:var(--c-success-bg);border-radius:var(--r-pill);color:var(--c-success);display:inline-flex;gap:5px;padding:5px 12px;white-space:nowrap}.linked-badge,.linked-link-btn{font-size:var(--fs-sm);font-weight:var(--fw-bold)}.linked-link-btn{background:var(--c-lime-pale);border:1px solid var(--c-lime-deep);border-radius:var(--r-pill);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);padding:8px 18px;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.linked-link-btn:hover{background:var(--c-lime);box-shadow:var(--sh-1)}.user-view-panel{max-width:400px}.user-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:16px 0 0}.vk-profile-button{background:var(--c-ink);border:none;border-radius:var(--r-sm);box-shadow:var(--sh-1);color:var(--c-on-dark);cursor:pointer;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);padding:12px 24px;transition:all .3s ease}.vk-profile-button:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}.vk-profile-button:active{transform:translateY(0)}.send-message-button{background:var(--c-lime-deep);border:none;border-radius:var(--r-sm);box-shadow:var(--sh-glow);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-bold);padding:12px 24px;transition:all .3s ease}.send-message-button:hover{background:var(--c-lime);box-shadow:var(--sh-glow);transform:translateY(-2px)}.send-message-button:active{transform:translateY(0)}.view-contributions-button{background:var(--c-ink);border:none;border-radius:var(--r-sm);box-shadow:var(--sh-1);color:var(--c-on-dark);cursor:pointer;font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semibold);padding:12px 24px;transition:all .3s ease}.view-contributions-button:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}.view-contributions-button:active{transform:translateY(0)}@media (max-width:768px){.user-panel-overlay{align-items:stretch;padding:0}.user-panel{border-radius:0;height:100vh;height:100dvh;margin:0;max-height:100vh;max-height:100dvh;max-width:100%;width:100%}.user-panel-header{border-radius:0;padding:calc(16px + var(--safe-top)) calc(20px + var(--safe-right)) 16px calc(20px + var(--safe-left))}.user-panel-header h3{font-size:18px}.user-panel-content{padding:20px calc(16px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(16px + var(--safe-left))}.user-avatar-large{height:90px;width:90px}.avatar-placeholder{font-size:36px}.user-nickname{font-size:22px}.form-actions{flex-direction:column}.cancel-button,.submit-button{padding:14px;width:100%}.delete-confirm-actions{flex-direction:column}}.admin-panel-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:var(--c-scrim);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:3000}.admin-panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;max-height:min(720px,calc(100vh - 40px));overflow:hidden;width:min(620px,100%)}.admin-panel-header{align-items:flex-start;border-bottom:1px solid var(--c-line);display:flex;gap:16px;justify-content:space-between;padding:22px 24px 18px}.admin-panel-header h3{color:var(--c-ink);font-family:var(--ff-display);font-size:22px;font-weight:var(--fw-bold);line-height:1.25;margin:0}.admin-panel-header span{color:var(--c-ink-soft);display:block;font-size:var(--fs-md);line-height:1.4;margin-top:4px}.admin-panel-close-button{background:var(--c-surface-2);border:none;border-radius:50%;color:var(--c-ink);cursor:pointer;flex:0 0 36px;font-size:24px;height:36px;line-height:1;transition:background .18s ease,transform .18s ease;width:36px}.admin-panel-close-button:hover{background:var(--c-surface-2);transform:translateY(-1px)}.admin-panel-content{overflow-y:auto;padding:22px 24px 24px}.admin-export-section{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);padding:16px}.admin-export-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.admin-export-card-copy h4,.admin-export-section-header h4{color:var(--c-ink);font-family:var(--ff-display);font-size:15px;font-weight:var(--fw-bold);line-height:1.3;margin:0}.admin-export-clear-button{background:#0000;border:none;color:var(--c-success);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.admin-export-clear-button:hover{color:var(--c-lime-deep)}.admin-export-date-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-export-field{display:flex;flex-direction:column;gap:7px}.admin-export-field span{color:var(--c-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.admin-export-field input{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);font:inherit;font-family:var(--ff-body);min-height:42px;outline:none;padding:0 12px;transition:border-color .18s ease,box-shadow .18s ease;width:100%}.admin-export-field input::placeholder{color:var(--c-ink-muted)}.admin-export-field input:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring)}.admin-export-error{color:var(--c-danger);font-size:var(--fs-sm);font-weight:var(--fw-bold);margin-top:10px}.admin-export-list{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.admin-export-card{grid-gap:16px;align-items:center;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.admin-export-card-copy{min-width:0}.admin-export-card-copy span{color:var(--c-ink-soft);display:block;font-size:var(--fs-sm);line-height:1.35;margin-top:4px}.admin-export-download-button{background:var(--c-success);border:none;border-radius:var(--r-sm);color:#fff;cursor:pointer;font-size:var(--fs-md);font-weight:var(--fw-bold);min-height:40px;padding:0 16px;transition:background .18s ease,transform .18s ease,opacity .18s ease;white-space:nowrap}.admin-export-download-button:hover:not(:disabled){background:var(--c-lime-deep);transform:translateY(-1px)}.admin-export-download-button.secondary,.admin-export-download-button.secondary:hover:not(:disabled){background:var(--c-ink)}.admin-export-download-button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:560px){.admin-panel-overlay{align-items:stretch;padding:12px}.admin-panel{max-height:calc(100vh - 24px)}.admin-panel-content,.admin-panel-header{padding-left:18px;padding-right:18px}.admin-export-card,.admin-export-date-grid{grid-template-columns:1fr}.admin-export-download-button{width:100%}}.language-switcher{position:relative;text-align:left;z-index:1000}.language-switcher-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf873;border:1px solid #e7e4d880;border-radius:var(--r-md);box-shadow:none;color:var(--c-ink-muted);cursor:pointer;display:inline-flex;height:48px;justify-content:center;padding:0;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);width:48px}.language-switcher-btn:hover,.language-switcher.open .language-switcher-btn{background:var(--c-paper);border-color:var(--c-line);box-shadow:var(--sh-1);color:var(--c-ink)}.language-switcher-btn svg{height:22px;transition:transform var(--dur-fast) var(--ease);width:22px}.language-switcher-btn:hover svg{transform:rotate(-8deg)}.language-sheet-scrim{background:#0000;inset:0;position:fixed;z-index:1000}.language-menu{animation:lang-pop var(--dur) var(--ease);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-3);left:0;min-width:208px;overflow:hidden;padding:6px;position:absolute;top:calc(100% + 10px);transform-origin:top left;z-index:1001}@keyframes lang-pop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.language-menu-handle,.language-menu-title{display:none}.language-menu-item{align-items:center;background:none;border:none;border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;display:flex;gap:12px;padding:10px;text-align:left;transition:background var(--dur-fast) var(--ease);width:100%}.language-menu-item:hover{background:var(--c-lime-tint)}.language-menu-item.active{background:var(--c-lime-pale)}.language-menu-code{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink-soft);display:inline-flex;flex:0 0 auto;font-size:var(--fs-xs);font-weight:var(--fw-bold);height:28px;justify-content:center;letter-spacing:.04em;width:36px}.language-menu-item.active .language-menu-code{background:var(--c-lime);border-color:var(--c-lime-deep);color:var(--c-on-lime)}.language-menu-name{color:var(--c-ink);flex:1 1;font-size:var(--fs-md);font-weight:var(--fw-medium)}.language-menu-check{align-items:center;color:var(--c-lime-deep);display:inline-flex;flex:0 0 auto}@media (max-width:768px){.language-sheet-scrim{animation:lang-fade var(--dur) var(--ease);background:var(--c-scrim)}.language-menu{animation:lang-sheet-up var(--dur) var(--ease);border:none;border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:1px solid var(--c-line);bottom:0;box-shadow:var(--sh-3);left:0;min-width:0;padding:8px 16px calc(20px + var(--safe-bottom));position:fixed;right:0;top:auto;transform-origin:bottom center;width:100%}.language-menu-handle{background:var(--c-line);border-radius:var(--r-pill);display:block;height:4px;margin:4px auto 12px;width:40px}.language-menu-title{color:var(--c-ink-muted);display:block;font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.06em;margin:0 0 8px 2px;text-transform:uppercase}.language-menu-item{padding:14px 10px}.language-menu-name{font-size:var(--fs-lg)}}@keyframes lang-fade{0%{opacity:0}to{opacity:1}}@keyframes lang-sheet-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.language-switcher-btn{height:44px;width:44px}}@media (prefers-reduced-motion:reduce){.language-menu,.language-sheet-scrim{animation:none}.language-switcher-btn:hover svg{transform:none}}.map{height:100%;position:absolute;transition:opacity .3s ease-in-out;width:100%}.map-loading{opacity:0}.map-loaded{opacity:1}.reports-status{background:var(--c-surface);border-radius:var(--r-sm);box-shadow:var(--sh-1);font-size:var(--fs-md);left:80px;padding:8px 12px;position:absolute;top:10px;z-index:1000}.reports-status p{color:var(--c-ink);margin:0}.reports-status .error-text{color:var(--c-danger)}.panel-header{gap:12px;padding:16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.panel-title{flex:1 1;min-width:0}.panel-header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.share-button{align-items:center;background:none;border:none;border-radius:var(--r-sm);color:var(--c-ink-soft);cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.share-button:hover{background:var(--c-surface-2);color:var(--c-ink)}.image-type-toggle{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-pill);box-shadow:inset 0 1px 3px #282a1e14;display:flex;gap:2px;min-height:40px;overflow:hidden;padding:4px;position:relative}.toggle-btn{background:#0000;border:none;border-radius:var(--r-lg);color:var(--c-ink-soft);cursor:pointer;flex:1 1;font-size:12px;font-weight:var(--fw-semibold);margin:0 1px;padding:8px 14px;position:relative;text-align:center;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease);white-space:nowrap;z-index:2}.toggle-btn:hover{color:var(--c-ink)}.toggle-btn.active{color:#fff;font-weight:var(--fw-bold);margin:0;transform:scale(1.01)}.toggle-btn:first-child.active{background:var(--c-success);border-radius:var(--r-lg);box-shadow:0 3px 12px #7da62f66,inset 0 1px 2px #fff3}.toggle-btn:first-child:hover:not(.active){background:var(--c-success-bg);color:var(--c-success)}.toggle-btn:last-child.active{background:var(--c-danger);border-radius:var(--r-lg);box-shadow:0 3px 12px #e5564b66,inset 0 1px 2px #fff3}.toggle-btn:last-child:hover:not(.active){background:var(--c-danger-bg);color:var(--c-danger)}@media (max-width:768px){.panel-header{gap:8px;padding:12px}.toggle-btn{font-size:11px;padding:6px 10px}}.pollution-amount-badge{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);display:inline-flex;font-size:var(--fs-md);gap:8px;padding:4px 8px}.badge-amount{color:var(--c-ink);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.badge-icon{height:24px;object-fit:contain;width:24px}.badge-label{color:var(--c-ink-soft);font-size:13px;font-weight:var(--fw-medium)}.trash-types-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.trash-type-item{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);display:flex;font-size:13px;gap:6px;padding:6px 10px;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.trash-type-item:hover{background:var(--c-lime-tint);border-color:var(--c-lime-deep)}.trash-type-label{color:var(--c-ink-soft)}.cleanup-page-overlay{background:var(--c-scrim);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.cleanup-page{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.cleanup-page-header{align-items:center;background:linear-gradient(135deg,var(--c-lime) 0,var(--c-lime-deep) 100%);border-bottom:1px solid var(--c-line);display:flex;justify-content:space-between;padding:20px 24px}.cleanup-page-header h2{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);margin:0}.cleanup-page-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-ink);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:background-color var(--dur-fast) var(--ease);width:32px}.cleanup-page-close:hover{background:var(--c-lime-tint)}.cleanup-page-content{flex:1 1;overflow-y:auto;padding:24px}.cleanup-images-section{margin-bottom:24px}.cleanup-image-preview{border:2px solid var(--c-line);border-radius:var(--r-sm);max-height:400px;object-fit:cover;width:100%}.cleanup-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cleanup-images-grid .cleanup-image-preview{height:150px;object-fit:cover;width:100%}.no-images{border:2px dashed var(--c-line);border-radius:var(--r-sm);color:var(--c-ink-muted);padding:40px;text-align:center}.cleanup-section{margin-bottom:24px}.cleanup-label{display:block;font-family:var(--ff-display);font-weight:var(--fw-semibold);margin-bottom:8px}.cleanup-label,.cleanup-textarea{color:var(--c-ink);font-size:var(--fs-md)}.cleanup-textarea{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);font-family:var(--ff-body);padding:12px;resize:vertical;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.cleanup-textarea::placeholder{color:var(--c-ink-muted)}.cleanup-textarea:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.cleaner-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.cleaner-option{background:var(--c-surface);border:2px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-medium);padding:12px 16px;transition:all .2s ease}.cleaner-option.active,.cleaner-option:hover:not(:disabled){background:var(--c-lime-pale);border-color:var(--c-lime-deep)}.cleaner-option.active{color:var(--c-ink);font-weight:var(--fw-semibold)}.cleaner-option:disabled{cursor:not-allowed;opacity:.5}.amount-display{background:var(--c-surface-2);border-radius:var(--r-sm);gap:12px;margin-bottom:12px;padding:12px}.amount-icon{height:40px;object-fit:contain;width:40px}.amount-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.amount-slider{-webkit-appearance:none;appearance:none;background:var(--c-line);border-radius:4px;height:8px;outline:none;width:100%}.amount-slider::-webkit-slider-track{background:linear-gradient(to right,var(--c-lime) 0,var(--c-lime-deep) 100%);border-radius:4px;height:8px;width:100%}.amount-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--c-lime-deep);border-radius:50%;box-shadow:var(--sh-1);cursor:pointer;height:24px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:24px}.amount-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.amount-slider::-moz-range-track{background:linear-gradient(to right,var(--c-lime) 0,var(--c-lime-deep) 100%);border-radius:4px;height:8px;width:100%}.amount-slider::-moz-range-thumb{background:var(--c-lime-deep);border:none;border-radius:50%;box-shadow:var(--sh-1);cursor:pointer;height:24px;-moz-transition:transform .2s ease;transition:transform .2s ease;width:24px}.amount-slider::-moz-range-thumb:hover{transform:scale(1.1)}.amount-slider:disabled{cursor:not-allowed;opacity:.5}.rules-checkbox{align-items:center;color:var(--c-ink);cursor:pointer;display:flex;font-size:var(--fs-md);gap:8px}.rules-checkbox input[type=checkbox]{accent-color:var(--c-lime-deep);cursor:pointer;height:18px;width:18px}.rules-link{color:var(--c-lime-deep);font-weight:var(--fw-medium);text-decoration:none}.rules-link:hover{text-decoration:underline}.cleanup-submit-btn{background:var(--c-lime);border:none;border-radius:var(--r-sm);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-top:8px;padding:14px 24px;transition:all .2s ease;width:100%}.cleanup-submit-btn:hover:not(:disabled){background:var(--c-lime-deep);box-shadow:var(--sh-2);transform:translateY(-1px)}.cleanup-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.cleanup-page-overlay{background:#0000}.cleanup-page{border-radius:0;bottom:0;height:100vh;height:100dvh;left:0;max-height:100vh;max-height:100dvh;max-width:100%;right:0;top:0;transform:none;width:100%}.cleanup-page-header{padding:16px 20px}.cleanup-page-header h2{font-size:20px}.cleanup-page-content{padding:16px}.cleanup-section{margin-bottom:20px}.cleanup-label{font-size:15px}.cleanup-images-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cleanup-images-grid .cleanup-image-preview{height:120px}.cleaner-options{gap:10px;grid-template-columns:1fr}.cleaner-option{font-size:15px;padding:14px}.cleanup-submit-btn{font-size:15px;padding:16px 24px}}.photo-dialog-overlay{align-items:flex-end;animation:fadeIn .3s ease-out;background:var(--c-scrim);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.photo-dialog{animation:slideUp .3s ease-out;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--sh-3);max-width:500px;padding:20px;width:100%}.photo-dialog-title{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0 0 20px;text-align:center}.photo-dialog-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.photo-option-button{align-items:center;background:var(--c-lime);border:none;border-radius:var(--r-md);color:var(--c-on-lime);cursor:pointer;display:flex;font-family:var(--ff-body);font-weight:var(--fw-semibold);gap:16px;padding:16px 20px;transition:all .2s ease}.photo-option-button:hover{background:var(--c-lime-deep)}.photo-option-button:active{transform:scale(.98)}.photo-option-icon{height:24px;object-fit:contain;width:24px}.photo-option-text{color:var(--c-on-lime);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.photo-dialog-cancel{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-medium);padding:14px;transition:all .2s ease;width:100%}.photo-dialog-cancel:hover{background:var(--c-line-soft);border-color:var(--c-ink-muted)}@media (min-width:769px){.photo-dialog-overlay{align-items:center}.photo-dialog{border-radius:var(--r-lg);max-width:400px}}.location-picker-overlay{align-items:center;background:var(--c-scrim);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:11000}.location-picker-modal{animation:modalSlideUp .3s ease-out;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;height:80vh;max-height:700px;max-width:800px;overflow:hidden;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.location-picker-header{align-items:center;background:var(--c-surface-2);border-bottom:1px solid var(--c-line);display:flex;justify-content:space-between;padding:20px 24px}.location-picker-header h3{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.location-picker-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-ink-soft);cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.location-picker-close:hover{background:var(--c-line);color:var(--c-ink)}.location-picker-instructions{background:var(--c-surface-2);border-bottom:1px solid var(--c-line);padding:16px 24px}.location-picker-instructions p{color:var(--c-ink-soft);font-size:var(--fs-md);margin:0}.location-picker-coords{display:flex;flex-direction:column;gap:6px;margin-top:12px}.coords-label{color:var(--c-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.coords-input{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);box-sizing:border-box;color:var(--c-ink);font-family:monospace;font-size:var(--fs-md);padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.coords-input:focus{border-color:var(--c-lime-deep);box-shadow:var(--sh-glow);outline:none}.coords-input.has-error{border-color:var(--c-danger)}.coords-input.has-error:focus{box-shadow:0 0 0 3px #e5564b2e}.coords-error{color:var(--c-danger);font-size:var(--fs-sm)}.location-picker-map{flex:1 1;overflow:hidden;position:relative}.location-picker-loading{align-items:center;color:var(--c-ink-soft);display:flex;height:400px;justify-content:center}.location-picker-footer{background:var(--c-surface-2);border-top:1px solid var(--c-line);display:flex;gap:12px;padding:20px 24px}.location-picker-cancel,.location-picker-done{border:none;border-radius:var(--r-sm);cursor:pointer;flex:1 1;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);padding:14px 24px;transition:all .2s ease}.location-picker-cancel{background:var(--c-surface);border:1px solid var(--c-line);color:var(--c-ink)}.location-picker-cancel:hover{background:var(--c-surface-2);border-color:var(--c-ink-muted)}.location-picker-done{background:var(--c-lime);box-shadow:var(--sh-glow);color:var(--c-on-lime)}.location-picker-done:hover:not(:disabled){background:var(--c-lime-deep);box-shadow:var(--sh-2);transform:translateY(-2px)}.location-picker-done:active:not(:disabled){transform:translateY(0)}.location-picker-done:disabled{cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.location-picker-overlay{padding:0}.location-picker-modal{border-radius:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;max-width:100%;width:100%}.location-picker-header{padding:16px}.location-picker-header h3{font-size:18px}.location-picker-instructions{padding:12px 16px}.location-picker-footer{padding:16px}.location-picker-cancel,.location-picker-done{font-size:15px;padding:16px 24px;width:100%}}.image-editor{margin-bottom:20px;width:100%}.images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.image-item{aspect-ratio:1;background:var(--c-surface-2);border:2px solid var(--c-line);border-radius:var(--r-sm);overflow:hidden;position:relative}.image-preview{height:100%;object-fit:cover;width:100%}.image-overlay{background:#00000080;transition:opacity .2s ease}.image-item:hover .image-overlay{opacity:1;pointer-events:auto}.image-actions{display:flex;gap:8px}.image-action-btn{align-items:center;background:var(--c-surface);border:none;border-radius:50%;color:var(--c-ink);cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.image-action-btn:hover:not(:disabled){box-shadow:var(--sh-1);transform:scale(1.1)}.image-action-btn:disabled{cursor:not-allowed;opacity:.5}.image-action-btn.delete-btn{background:var(--c-danger);color:#fff;font-size:28px;line-height:1}.image-action-btn.delete-btn:hover:not(:disabled){background:#d2483e}.main-badge{background:var(--c-lime-deep);border-radius:var(--r-sm);box-shadow:0 2px 4px #0003;color:var(--c-on-lime);font-size:var(--fs-xs);font-weight:var(--fw-semibold);left:8px;letter-spacing:.5px;padding:4px 8px;position:absolute;text-transform:uppercase;top:8px}.add-image-btn{align-items:center;aspect-ratio:1;background:var(--c-lime-pale);border:2px dashed var(--c-lime-deep);border-radius:var(--r-sm);cursor:pointer;display:flex;justify-content:center;transition:all .2s ease}.add-image-btn:hover{background:var(--c-lime-tint);border-color:var(--c-lime-deep);transform:scale(1.02)}.add-image-content{align-items:center;color:var(--c-lime-deep);display:flex;flex-direction:column;gap:8px}.add-icon{font-size:36px;font-weight:300;line-height:1}.add-text{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.edit-dialog-overlay{animation:fadeIn .2s ease;background:var(--c-scrim);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.edit-dialog{animation:slideUp .3s ease;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:2001}.edit-dialog-header{align-items:center;background:linear-gradient(135deg,var(--c-lime) 0,var(--c-lime-deep) 100%);border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;justify-content:space-between;padding:16px 20px}.edit-dialog-header h2{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.edit-dialog-close{align-items:center;background:none;border:none;color:var(--c-ink);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:opacity .2s ease;width:32px}.edit-dialog-close:hover{opacity:.7}.edit-dialog-content{flex:1 1;overflow-y:auto;padding:20px}.edit-section{margin-bottom:24px}.edit-section:last-child{margin-bottom:0}.edit-label{align-items:center;color:var(--c-ink);display:flex;font-family:var(--ff-display);font-size:var(--fs-md);font-weight:var(--fw-semibold);justify-content:space-between;margin-bottom:8px}.pollution-level-display{gap:8px}.pollution-level-icon{height:24px;object-fit:contain;width:24px}.location-display{align-items:center;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);display:flex;gap:12px;justify-content:space-between;padding:12px}.location-text{flex:1 1}.location-name{color:var(--c-ink);font-size:var(--fs-md);font-weight:var(--fw-medium);margin-bottom:4px}.location-coords{color:var(--c-ink-soft);font-size:var(--fs-sm)}.change-location-btn{background:var(--c-lime);border:none;color:var(--c-on-lime);font-size:var(--fs-md);white-space:nowrap}.change-location-btn:hover{background:var(--c-lime-deep);transform:translateY(-1px)}.edit-textarea{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);padding:12px;resize:vertical;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.edit-textarea::placeholder{color:var(--c-ink-muted)}.edit-textarea:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.options-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.option-btn{background:var(--c-surface);border:2px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:10px 16px;transition:all .2s ease}.option-btn.active,.option-btn:hover{background:var(--c-lime-pale);border-color:var(--c-lime-deep)}.option-btn.active{color:var(--c-ink)}.pollution-slider{background:var(--c-line);border-radius:3px;height:6px}.pollution-slider::-webkit-slider-thumb{background:var(--c-lime-deep);height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.pollution-slider::-webkit-slider-thumb:hover{box-shadow:var(--sh-glow);transform:scale(1.2)}.pollution-slider::-moz-range-thumb{background:var(--c-lime-deep);border:none;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.pollution-slider::-moz-range-thumb:hover{box-shadow:var(--sh-glow);transform:scale(1.2)}.slider-labels{color:var(--c-ink-soft);display:flex;font-size:var(--fs-sm);justify-content:space-between;margin-top:8px}.trash-types-grid{grid-gap:8px;gap:8px;grid-template-columns:repeat(2,1fr)}.trash-type-btn{background:var(--c-surface);border-radius:var(--r-sm);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-medium);padding:12px}.trash-type-btn:hover{background:var(--c-lime-pale);border-color:var(--c-lime-deep)}.trash-type-btn.active{color:var(--c-ink)}.trash-type-icon{height:24px;width:24px}.edit-dialog-footer{align-items:center;background:var(--c-surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);border-top:1px solid var(--c-line);justify-content:space-between;padding:16px 20px}.edit-dialog-footer,.footer-left,.footer-right{display:flex;gap:12px}.edit-cancel-btn{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-medium);padding:10px 20px;transition:all .2s ease}.edit-cancel-btn:hover{background:var(--c-line-soft);border-color:var(--c-ink-muted)}.edit-submit-btn{background:var(--c-lime);border:none;border-radius:var(--r-sm);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:10px 20px;transition:all .2s ease}.edit-submit-btn:hover:not(:disabled){background:var(--c-lime-deep);box-shadow:var(--sh-2);transform:translateY(-1px)}.edit-submit-btn:disabled{cursor:not-allowed;opacity:.5}.edit-delete-btn{background:var(--c-danger);border:none;border-radius:var(--r-sm);color:#fff;cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:10px 20px;transition:all .2s ease}.edit-delete-btn:hover:not(:disabled){background:#d2483e;box-shadow:0 4px 8px #e5564b4d;transform:translateY(-1px)}.edit-delete-btn:disabled{cursor:not-allowed;opacity:.5}.images-readonly{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.readonly-image{aspect-ratio:1;border:2px solid var(--c-line);border-radius:var(--r-sm);object-fit:cover;width:100%}@media (max-width:768px){.edit-dialog-overlay{background:#0000}.edit-dialog{border-radius:0;bottom:0;height:100vh;height:100dvh;left:0;max-height:100vh;max-height:100dvh;max-width:100%;right:0;top:0;transform:none;width:100%}.edit-dialog-header{border-radius:0;padding:16px 20px}.edit-dialog-header h2{font-size:18px}.edit-dialog-content{padding:16px}.edit-section{margin-bottom:20px}.edit-label{font-size:15px}.options-grid{gap:10px}.options-grid,.trash-types-grid{grid-template-columns:1fr}.edit-dialog-footer{border-radius:0;flex-direction:column;gap:10px;padding:16px 20px}.footer-left,.footer-right{flex-direction:column;width:100%}.edit-cancel-btn,.edit-delete-btn,.edit-submit-btn{font-size:15px;padding:14px 20px;width:100%}.images-readonly{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.edit-cleanup-dialog{max-width:500px}.admin-info-message{background:var(--c-warning-bg);border:1px solid var(--c-warning);border-radius:var(--r-sm);color:var(--c-warning);font-size:var(--fs-sm);margin-top:16px;padding:12px}.admin-info-message strong{display:block;font-weight:var(--fw-semibold);margin-bottom:4px}.amount-display{align-items:center;display:flex;gap:8px}.amount-value{color:var(--c-ink);font-size:var(--fs-xl);font-weight:var(--fw-medium)}.complaint-dialog-overlay{background:var(--c-scrim);inset:0;position:fixed;z-index:3000}.complaint-dialog{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;left:50%;max-height:min(860px,calc(100vh - 32px));overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(1040px,calc(100vw - 32px));z-index:3001}.complaint-dialog-header{align-items:flex-start;background:var(--c-surface-2);border-bottom:1px solid var(--c-line);display:flex;gap:16px;justify-content:space-between;padding:18px 22px}.complaint-dialog-header h2{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0 0 4px}.complaint-dialog-header p{color:var(--c-ink-soft);font-size:var(--fs-md);line-height:1.45;margin:0;max-width:720px}.complaint-dialog-close{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--c-ink);cursor:pointer;display:flex;font-size:30px;height:34px;justify-content:center;line-height:1;width:34px}.complaint-dialog-close:hover{background:var(--c-surface-2)}.complaint-dialog-content{overflow-y:auto;padding:18px 22px}.complaint-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.complaint-form-section{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);padding:14px}.complaint-form-section-wide{grid-column:1/-1}.complaint-form-section h3,.complaint-preview h3{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0 0 12px}.complaint-field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;position:relative}.complaint-field:last-child{margin-bottom:0}.complaint-field label{color:var(--c-ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.complaint-field input,.complaint-field textarea{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);box-sizing:border-box;color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);padding:10px 11px;width:100%}.complaint-field input::placeholder,.complaint-field textarea::placeholder{color:var(--c-ink-muted)}.complaint-field textarea{min-height:76px;resize:vertical}.complaint-field input:focus,.complaint-field textarea:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.complaint-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding-top:2px}.complaint-suggestion{background:var(--c-lime-pale);border:1px solid var(--c-lime);border-radius:var(--r-pill);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-sm);line-height:1.25;max-width:100%;overflow:hidden;padding:5px 9px;text-overflow:ellipsis;white-space:nowrap}.complaint-suggestion:hover{background:var(--c-lime-tint);border-color:var(--c-lime)}.complaint-preview{background:var(--c-lime-pale);border:1px solid var(--c-lime);border-radius:var(--r-sm);margin-top:18px;padding:14px}.complaint-preview-block{margin-top:12px}.complaint-preview-label{color:var(--c-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.complaint-preview pre,.complaint-preview-block>div:last-child{color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.complaint-placeholder{background:var(--c-warning-bg);border-radius:var(--r-sm);color:var(--c-ink);font-weight:var(--fw-bold);padding:1px 3px}.complaint-dialog-actions{background:var(--c-surface);border-top:1px solid var(--c-line);display:flex;gap:10px;justify-content:flex-end;padding:14px 22px}.complaint-dialog-actions button{align-items:center;border:none;border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;display:inline-flex;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);gap:8px;justify-content:center;min-height:42px;padding:10px 16px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.complaint-dialog-actions button:hover{transform:translateY(-1px)}.complaint-dialog-actions img{height:18px;object-fit:contain;width:18px}.complaint-copy-btn{background:var(--c-surface-2);box-shadow:inset 0 0 0 1px var(--c-line);color:var(--c-ink)}.complaint-copy-btn:hover{background:var(--c-lime-tint)}.complaint-email-btn{background:var(--c-lime);box-shadow:var(--sh-1);color:var(--c-on-lime)}.complaint-email-btn:hover{background:var(--c-lime-deep)}@media (max-width:760px){.complaint-dialog{border:none;border-radius:0;inset:0;max-height:100vh;transform:none;width:100vw}.complaint-form-grid{grid-template-columns:1fr}.complaint-dialog-actions,.complaint-dialog-content,.complaint-dialog-header{padding-left:16px;padding-right:16px}.complaint-dialog-actions{flex-direction:column}}.report-details-panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);bottom:10px;box-shadow:var(--sh-3);display:flex;flex-direction:column;height:auto;left:10px;max-height:90vh;min-height:350px;overflow:hidden;position:fixed;right:420px;transition:height var(--dur) var(--ease);z-index:1000}.panel-header{background:var(--c-paper);border-bottom:1px solid var(--c-line);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-shrink:0;justify-content:space-between;padding:8px 16px}.panel-header,.panel-title{align-items:center;display:flex}.panel-title{gap:10px}.status-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.panel-title h2{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.close-button{border-radius:var(--r-sm);color:var(--c-ink-soft);padding:4px 8px}.report-preview-selector{background:var(--c-paper);border-bottom:1px solid var(--c-line);flex-shrink:0;padding:8px 16px}.report-preview-selector__caption{color:var(--c-ink-muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.report-preview-selector__list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.report-preview-chip{align-items:center;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);cursor:pointer;display:flex;flex:0 0 auto;gap:8px;max-width:220px;padding:6px 12px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.report-preview-chip.active,.report-preview-chip:hover{border-color:var(--c-lime-deep)}.report-preview-chip.active{background:var(--c-lime-pale);box-shadow:var(--sh-1)}.report-preview-chip__dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.report-preview-chip__text{display:flex;flex-direction:column;min-width:0;text-align:left}.report-preview-chip__title{color:var(--c-ink);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-preview-chip__date{color:var(--c-ink-muted);font-size:11px;white-space:nowrap}.panel-content{flex:1 1}.image-section,.panel-content{display:flex;min-height:0;overflow:visible}.image-section{background:var(--c-paper);border-right:1px solid var(--c-line);flex:0 0 300px;flex-direction:column;gap:12px;justify-content:flex-start;padding:12px}.cleaned-images-container,.report-images-container{display:flex;flex:1 1;flex-direction:column;min-height:0}.cleaned-images-container:not(:last-child),.report-images-container:not(:last-child){margin-bottom:12px}.carousel-label{background:var(--c-surface-2);border-radius:var(--r-sm);color:var(--c-ink);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.04em;margin-bottom:6px;padding:4px 8px;text-align:center;text-transform:uppercase}.report-images-container .carousel-label{background:var(--c-danger-bg);color:var(--c-danger)}.cleaned-images-container .carousel-label{background:var(--c-success-bg);color:var(--c-success)}.image-section .unified-image-carousel{flex:0 0 auto;justify-content:flex-start;min-height:auto;width:100%}.no-image-placeholder{color:var(--c-ink-muted);flex-direction:column;height:120px;text-align:center}.no-image-placeholder p{font-size:var(--fs-md);margin:8px 0 0}.details-section{background:var(--c-surface);flex:1 1;min-height:0;overflow-y:auto;padding:16px}.detail-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.detail-label{color:var(--c-ink);flex-shrink:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);min-width:120px}.detail-value{color:var(--c-ink-soft);flex:1 1;font-size:var(--fs-md);word-break:break-word}.detail-value-button{background:none;border:none;color:var(--c-lime-deep);cursor:pointer;flex:1 1;font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:0;text-align:right;transition:color var(--dur-fast) var(--ease)}.detail-value-button:hover{color:var(--c-success);text-decoration:underline}.cleanup-separator{align-items:center;color:var(--c-ink-muted);display:flex;font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;position:relative;text-transform:uppercase}.cleanup-separator hr{background:var(--c-line);border:none;flex:1 1;height:1px;margin:0 12px}.separator-edit-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;margin-left:8px;opacity:.6;padding:4px 8px;transition:opacity var(--dur-fast) var(--ease)}.separator-edit-btn:hover{opacity:1}.separator-edit-icon{height:18px;object-fit:contain;width:18px}.report-details-panel{animation:fadeInScale .3s ease-out}@media (max-width:1200px){.report-details-panel{max-height:85vh;min-height:360px;right:320px}}@media (max-width:768px){.report-details-panel{border:none;border-radius:0;bottom:0;box-shadow:none;height:100vh;height:100dvh;left:0;max-height:100vh;max-height:100dvh;min-height:100vh;min-height:100dvh;right:0;top:0}.panel-header{border-radius:0;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) 16px calc(16px + var(--safe-left))}.panel-content{flex-direction:column;overflow-y:auto}.details-section{padding-bottom:calc(16px + var(--safe-bottom))}.image-section{border-bottom:1px solid var(--c-line);border-right:none;flex:0 0 auto;height:auto;min-height:280px;overflow:visible;padding:16px}.details-section{padding:16px}}.admin-features-section{background:var(--c-warning-bg);border:1.5px solid var(--c-warning);border-radius:var(--r-sm);padding:8px 10px}.admin-label{color:var(--c-warning);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.admin-buttons-row{display:flex;gap:8px;margin-bottom:8px}.admin-action-btn{border:none;border-radius:var(--r-sm);cursor:pointer;flex:1 1;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);max-width:250px;padding:12px 16px;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.decline-btn{background:var(--c-danger);color:#fff}.decline-btn:hover{background:#d2483e;box-shadow:0 4px 8px #e5564b4d;transform:translateY(-1px)}.accept-btn{background:var(--c-success);color:#fff}.accept-btn:hover{background:#6c9128;box-shadow:0 4px 8px #7da62f4d;transform:translateY(-1px)}.edit-btn{background:var(--c-warning);color:#fff;width:100%}.edit-btn:hover{background:#b7740a;background:var(--warn-dark,#b7740a);box-shadow:0 4px 8px #e8920c4d;transform:translateY(-1px)}.admin-action-btn:active{transform:translateY(0)}.complaint-actions-section{border-top:1px solid var(--c-line);margin-top:10px;padding-top:10px}.create-complaint-button{align-items:center;background:var(--c-lime-pale);border:1.5px solid var(--c-lime);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;display:flex;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-bold);gap:8px;justify-content:center;max-width:250px;padding:13px 18px;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.create-complaint-button:hover{background:var(--c-lime-tint);box-shadow:var(--sh-1);transform:translateY(-1px)}.complaint-action-icon{height:20px;object-fit:contain;width:20px}.cleanup-actions-section{border-top:1px solid var(--c-line);display:flex;flex-direction:row;gap:8px;margin-top:5px;padding-top:5px}.mark-cleaned-button{align-items:center;background:var(--c-success);border:none;border-radius:var(--r-sm);box-shadow:0 2px 4px #7da62f33;color:#fff;cursor:pointer;display:flex;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);gap:8px;justify-content:center;max-width:250px;padding:14px 20px;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.mark-cleaned-button:hover{background:#6c9128;box-shadow:0 4px 8px #7da62f4d;transform:translateY(-1px)}.cleanup-action-icon{height:20px;object-fit:contain;width:20px}.skeleton-bar{animation:report-skeleton-sweep 1.4s ease infinite;background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-line) 37%,var(--c-surface-2) 63%);background-size:400% 100%;border-radius:var(--r-sm);display:block}@keyframes report-skeleton-sweep{0%{background-position:100% 0}to{background-position:0 0}}.image-skeleton{flex:1 1;min-height:240px;width:100%}.report-details-skeleton{display:flex;flex-direction:column;gap:18px}.report-loading-status{align-items:center;color:var(--c-ink-soft);display:flex;font-size:var(--fs-md);font-weight:var(--fw-semibold);gap:10px}.report-loading-spinner{animation:report-spin .8s linear infinite;border:2.5px solid var(--c-line);border-radius:50%;border-top-color:var(--c-lime-deep);flex-shrink:0;height:22px;width:22px}@keyframes report-spin{to{transform:rotate(1turn)}}.report-skeleton-rows{display:flex;flex-direction:column;gap:16px}.report-skeleton-row{display:flex;flex-direction:column;gap:7px}.report-skeleton-label{height:11px;opacity:.7;width:32%}.report-skeleton-value{height:15px}@media (prefers-reduced-motion:reduce){.skeleton-bar{animation:none}.report-loading-spinner{animation-duration:1.6s}}.image-carousel{height:100%}.image-carousel,.unified-image-carousel{display:flex;flex-direction:column;gap:12px;-webkit-user-select:none;user-select:none}.unified-image-carousel{height:auto;justify-content:flex-start;min-height:200px;overflow:visible;transition:all .3s ease}.unified-image-carousel.has-thumbnails{min-height:280px}.carousel-main-image{background:var(--c-surface-2);border-radius:var(--r-sm);flex:0 0 auto;height:200px;overflow:hidden;position:relative;transition:opacity .3s ease}.carousel-main-image.switching{opacity:.7}.carousel-image-container{border-radius:8px;cursor:pointer;height:100%;overflow:hidden;position:relative;width:100%}.carousel-image-container .report-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.carousel-image-container:hover .report-image{transform:scale(1.05)}.image-overlay{align-items:center;background:#0000001a;bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.carousel-image-container:hover .image-overlay{opacity:1}.expand-icon{border-radius:50%;height:50px;width:50px}.carousel-nav,.expand-icon{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;color:#fff;display:flex;font-size:24px;justify-content:center}.carousel-nav{border:none;border-radius:50%;cursor:pointer;height:40px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:10}.carousel-nav:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}.image-counter{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border-radius:12px;bottom:10px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;position:absolute;right:10px}.carousel-thumbnails.switching{opacity:.7;transform:translateY(-5px)}.carousel-thumbnails.entering{opacity:0;transform:translateY(10px)}.carousel-thumbnails.entering.active{opacity:1;transform:translateY(0)}.carousel-thumbnails{display:flex;flex-shrink:0;gap:8px;min-height:45px;overflow-x:auto;padding:4px 0;scroll-behavior:smooth;scrollbar-color:var(--c-line) #0000;scrollbar-width:thin;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.carousel-thumbnails::-webkit-scrollbar{height:4px}.carousel-thumbnails::-webkit-scrollbar-track{background:#0000;border-radius:4px}.carousel-thumbnails::-webkit-scrollbar-thumb{background:var(--c-line);border-radius:4px}.carousel-thumbnails::-webkit-scrollbar-thumb:hover{background:var(--c-ink-muted)}.thumbnail{border:none;border-radius:4px;cursor:pointer;flex-shrink:0;height:45px;opacity:.6;overflow:hidden;position:relative;transition:all .3s ease;width:60px}.thumbnail:hover{opacity:.8;transform:scale(1.05)}.thumbnail.active{border:2px solid var(--c-lime-deep);opacity:1;transform:scale(1.1)}.thumbnail img{height:100%;object-fit:cover;width:100%}.lightbox-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.lightbox-content{cursor:default;max-height:90vh;max-width:90vw;position:relative}.lightbox-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:0;top:-40px;transition:all .3s ease;width:40px;z-index:10}.lightbox-close:hover{background:#ffffff1a}.lightbox-image-container{align-items:center;display:flex;justify-content:center;position:relative}.lightbox-image{border-radius:8px;box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:100%;object-fit:contain}.lightbox-nav{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.lightbox-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.lightbox-nav.prev{left:-70px}.lightbox-nav.next{right:-70px}.lightbox-counter{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:20px;bottom:-40px;color:#fff;font-size:14px;font-weight:500;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%)}@media (max-width:768px){.unified-image-carousel{gap:8px;min-height:180px}.unified-image-carousel.has-thumbnails{min-height:240px}.carousel-main-image{height:180px}.carousel-nav{font-size:20px;height:35px;width:35px}.carousel-nav.prev{left:5px}.carousel-nav.next{right:5px}.image-counter{bottom:5px;font-size:11px;right:5px}.thumbnail{height:38px;width:50px}.lightbox-nav{font-size:28px;height:45px;width:45px}.lightbox-nav.prev{left:-55px}.lightbox-nav.next{right:-55px}.lightbox-close{font-size:28px;top:-35px}}@media (max-width:480px){.unified-image-carousel{gap:6px;min-height:160px}.unified-image-carousel.has-thumbnails{min-height:220px}.carousel-main-image{height:160px}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-close{right:10px;top:10px}.lightbox-counter{bottom:10px;left:50%;position:fixed;transform:translateX(-50%)}}.reports-list-item{align-items:stretch;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-1);cursor:pointer;display:flex;margin-bottom:var(--sp-3);overflow:hidden;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.reports-list-item:hover{border-color:var(--c-lime-deep);box-shadow:var(--sh-2);transform:translateY(-2px)}.reports-list-item:focus-visible{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.reports-list-item.selected{background:var(--c-lime-pale);border-color:var(--c-lime-deep);box-shadow:var(--sh-glow)}.item-rail{align-self:stretch;background:var(--c-ink-muted);flex:0 0 4px;transition:flex-basis var(--dur) var(--ease)}.reports-list-item.selected .item-rail{flex-basis:6px}.item-main{align-items:stretch;display:flex;flex:1 1;gap:var(--sp-3);min-width:0;padding:var(--sp-3)}.item-thumb{align-items:center;align-self:stretch;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);display:flex;flex:0 0 84px;justify-content:center;min-height:84px;overflow:hidden;width:84px}.item-thumb img{height:100%;object-fit:cover;width:100%}.no-image-placeholder{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.no-image-placeholder svg{height:28px;opacity:.6;width:28px}.item-body{display:flex;flex:1 1;flex-direction:column;gap:5px;justify-content:center;min-width:0}.item-row-status{align-items:baseline;display:flex;gap:var(--sp-2);justify-content:space-between}.item-status{font-weight:var(--fw-bold);letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.item-date,.item-status{font-size:var(--fs-xs);white-space:nowrap}.item-date{font-feature-settings:"tnum";color:var(--c-ink-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.item-severity{align-items:center;color:var(--c-ink);display:flex;gap:6px;min-width:0}.item-severity-text{font-size:var(--fs-md);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-actor{align-items:baseline;display:flex;font-size:var(--fs-sm);gap:6px;min-width:0}.item-actor-reporter{color:var(--c-lime-deep)}.item-actor-cleaned,.item-actor-reporter{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-actor-cleaned{color:var(--c-success)}.item-distance{color:var(--c-ink-muted);flex-shrink:0;font-weight:var(--fw-medium)}.item-location{align-items:center;color:var(--c-ink-muted);display:flex;gap:5px;min-width:0}.item-location-text{font-feature-settings:"tnum";font-size:var(--fs-sm);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta-icon{flex-shrink:0;height:14px;width:14px}@media (max-width:480px){.item-thumb{flex-basis:72px;min-height:72px;width:72px}.item-severity-text{font-size:var(--fs-sm)}}@media (prefers-reduced-motion:reduce){.item-rail,.reports-list-item{transition:none}.reports-list-item:hover{transform:none}}.filter-sort-header{background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:16px 16px 12px}.header-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reports-title{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.header-close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-ink-soft);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);width:32px}.header-close-button:hover{background-color:var(--c-surface-2);color:var(--c-ink)}.filter-sort-buttons{display:flex;gap:6px}.filter-sort-btn{align-items:center;background-color:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-pill);color:var(--c-ink);cursor:pointer;display:flex;font-size:13px;font-weight:var(--fw-medium);gap:4px;justify-content:center;padding:8px 12px;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);white-space:nowrap}.filter-sort-btn:hover{background-color:var(--c-lime-tint);border-color:var(--c-lime-deep)}.filter-sort-btn:active{transform:scale(.95)}.filter-sort-btn.active{background-color:var(--c-ink);border-color:var(--c-ink);color:var(--c-lime)}.filter-sort-btn.active .btn-icon{filter:brightness(0) saturate(100%) invert(86%) sepia(18%) saturate(640%) hue-rotate(24deg) brightness(98%) contrast(88%)}.btn-icon{height:16px;opacity:.75;width:16px}.btn-text{-webkit-user-select:none;user-select:none}.search-btn{padding:8px 10px}.scroll-to-top-btn{align-items:center;animation:fadeInScale .3s ease-out;background:var(--c-ink);border:none;border-radius:50%;bottom:24px;box-shadow:var(--sh-2);color:var(--c-lime);cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;position:fixed;right:24px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);width:48px;z-index:1000}.scroll-to-top-btn:hover{background:var(--c-ink);box-shadow:var(--sh-3);transform:translateY(-3px) scale(1.05)}.scroll-to-top-btn:active{transform:translateY(-1px) scale(.98)}.scroll-arrow{font-size:24px;font-weight:700;line-height:1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.5) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.user-filter-btn{align-items:center;background:var(--c-lime-deep)!important;border-color:var(--c-lime-deep)!important;box-shadow:var(--sh-1);color:var(--c-on-dark)!important;display:flex;gap:6px;padding-right:6px}.user-filter-btn:hover{background:#94ad57!important;box-shadow:var(--sh-2);transform:translateY(-1px)}.clear-user-filter-btn,.user-filter-btn .btn-text{color:var(--c-on-dark);font-weight:var(--fw-semibold)}.clear-user-filter-btn{align-items:center;background:#ffffff47;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;padding:0;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);width:20px}.clear-user-filter-btn:hover{background:#ffffff73;transform:scale(1.1)}.clear-user-filter-btn:active{transform:scale(.95)}.search-input-container{animation:slideDown .3s ease-out;background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:8px 16px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:100px;opacity:1}}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input{background-color:var(--c-surface);border-radius:var(--r-pill);outline:none;padding:10px 40px 10px 16px}.clear-search-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-ink-muted);cursor:pointer;display:flex;font-size:16px;font-weight:var(--fw-semibold);height:24px;justify-content:center;position:absolute;right:6px;transition:background var(--dur-fast) var(--ease);width:24px}.clear-search-button:hover{background-color:var(--c-surface-2);color:var(--c-ink)}.filter-menu-overlay{animation:fadeIn .2s ease-out;background:var(--c-scrim);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.filter-dropdown-menu{animation:slideDownMenu .2s ease-out;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-3);left:16px;min-width:200px;overflow:hidden;position:absolute;top:90px;z-index:9999}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-menu-item{background:none;border:none;border-bottom:1px solid var(--c-line);color:var(--c-ink);cursor:pointer;display:block;font-size:15px;font-weight:var(--fw-medium);padding:14px 20px;text-align:left;transition:background var(--dur-fast) var(--ease);width:100%}.filter-menu-item:last-child{border-bottom:none}.filter-menu-item:hover{background-color:var(--c-lime-tint)}.filter-menu-item.active{background:var(--c-lime-pale);box-shadow:inset 3px 0 0 var(--c-lime-deep);color:var(--c-ink);font-weight:var(--fw-semibold)}@media (max-width:480px){.filter-sort-header{padding:12px}.reports-title{font-size:var(--fs-lg)}.filter-sort-btn{font-size:12px;padding:6px 10px}.btn-icon{height:14px;width:14px}.filter-dropdown-menu{top:80px}}.reports-list{background-color:var(--c-paper);display:flex;flex-direction:column;height:100%}.reports-list-header{background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:16px;z-index:10}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reports-list-header h3{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-ink-muted);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:4px;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);width:32px}.close-button:hover{background:var(--c-surface-2);color:var(--c-ink)}.search-container{position:relative}.search-input{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);padding:10px 36px 10px 12px;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.search-input:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.clear-search-btn,.search-input::placeholder{color:var(--c-ink-muted)}.clear-search-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:18px;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.clear-search-btn:hover{background:var(--c-surface-2);color:var(--c-ink)}.reports-filter{background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:12px 16px}.filter-buttons{display:flex;gap:8px;justify-content:center}.filter-btn{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-pill);color:var(--c-ink-soft);cursor:pointer;flex:1 1;font-size:13px;font-weight:var(--fw-medium);min-width:0;padding:8px 16px;text-transform:capitalize;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);white-space:nowrap}.filter-btn:hover{background:var(--c-lime-tint);border-color:var(--c-lime-deep);color:var(--c-ink)}.filter-btn.active{color:var(--c-lime)}.filter-btn.active,.filter-btn.active:hover{background:var(--c-ink);border-color:var(--c-ink)}.reports-list-content{flex:1 1;overflow-y:auto;padding:16px 16px 75px}.no-reports{color:var(--c-ink-soft);font-size:var(--fs-lg);line-height:1.5;padding:40px 20px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reports-list-item{animation:fadeInUp .3s ease-out}@media (max-width:768px){.reports-list-header{padding:12px}.reports-list-header h3{font-size:var(--fs-lg);margin-bottom:10px}.reports-list-content{padding:12px}.reports-filter{padding:8px 12px}.filter-btn{font-size:12px;padding:6px 12px}}@media (max-width:480px){.filter-buttons{flex-direction:column;gap:6px}.filter-btn{font-size:13px;padding:8px 16px}}.reports-sidebar{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;height:100vh;height:calc(100vh - 32px);margin:16px;max-width:400px;min-width:300px;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(0);transition:transform var(--dur) var(--ease),width var(--dur) var(--ease),height var(--dur) var(--ease),border-radius var(--dur) var(--ease);width:25vw;z-index:1000}.reports-sidebar.collapsed{align-items:center;border-radius:50%;box-shadow:var(--sh-2);height:56px;justify-content:center;margin:0;min-width:56px;right:calc(16px + var(--safe-right));top:calc(16px + var(--safe-top));width:56px}.circular-menu-button{align-items:center;background:var(--c-paper);border:1px solid var(--c-line);border-radius:50%;cursor:pointer;display:flex;height:100%;justify-content:center;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);width:100%}.circular-menu-button:hover{background:var(--c-surface-2);transform:scale(1.06)}.menu-icon{color:var(--c-ink);font-size:20px;font-weight:700}.sidebar-content{border-radius:var(--r-lg);flex:1 1;height:100%;opacity:1;overflow:hidden;transition:opacity var(--dur-fast) var(--ease)}.collapsed .sidebar-content{display:none}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-message h4{color:var(--c-danger);font-family:var(--ff-display);font-size:var(--fs-xl);margin:0 0 8px}.error-message p{color:var(--c-ink-soft);font-size:var(--fs-md);line-height:1.4;margin:0}.loading-state p{color:var(--c-ink-soft);font-size:var(--fs-lg);margin:16px 0 0}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--c-line);border:4px solid var(--c-line);border-radius:50%;border-top-color:var(--c-lime-deep);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1200px){.reports-sidebar{min-width:280px;width:30vw}}@media (max-width:768px){.reports-sidebar{border:none;border-radius:0;box-shadow:none;height:100vh;height:100dvh;left:0;margin:0;max-width:none;padding-top:var(--safe-top);right:0;top:0;width:100vw}.reports-sidebar.collapsed{border-radius:50%;box-shadow:var(--sh-2);height:56px;left:auto;min-width:56px;padding-top:0;right:calc(12px + var(--safe-right));top:calc(12px + var(--safe-top));width:56px}.menu-icon{font-size:20px}.sidebar-content{border-radius:0}}@media (max-width:480px){.reports-sidebar.collapsed{height:52px;min-width:52px;right:calc(10px + var(--safe-right));top:calc(10px + var(--safe-top));width:52px}.menu-icon{font-size:18px}}.report-button{background:var(--c-lime);border:none;border-radius:var(--r-pill);bottom:calc(42px + var(--safe-bottom));box-shadow:var(--sh-glow),var(--sh-2);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);padding:15px 26px;position:fixed;right:calc(16px + var(--safe-right));transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);-webkit-user-select:none;user-select:none;z-index:9}.report-button:hover{background:var(--c-lime-deep);box-shadow:var(--sh-glow),var(--sh-3);transform:translateY(-2px)}.report-button:active{transform:translateY(0)}@media (min-width:769px){.report-button{right:432px}}@media (max-width:768px){.report-button{bottom:calc(24px + var(--safe-bottom));font-size:var(--fs-lg);padding:13px 22px;right:calc(16px + var(--safe-right))}}.report-page-overlay{align-items:center;background:var(--c-scrim);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.report-page{animation:slideUp .3s ease-out;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-page-header{align-items:center;background:linear-gradient(135deg,var(--c-lime) 0,var(--c-lime-deep) 100%);border-bottom:1px solid var(--c-line);border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;justify-content:space-between;padding:20px 24px}.report-page-header h2{color:var(--c-on-lime);font-family:var(--ff-display);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);margin:0}.report-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--c-on-lime);cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;transition:background-color .2s ease;width:36px}.report-close-btn:hover{background-color:#2c33201a}.report-page-content{flex:1 1;overflow-y:auto;padding:24px}.report-images-section{margin-bottom:24px}.report-images-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.report-image-preview{border-radius:var(--r-md);box-shadow:0 2px 8px #0000001a;height:150px;object-fit:cover;width:100%}.report-section{margin-bottom:24px}.report-label{color:var(--c-ink);display:block;font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:8px}.report-description{color:var(--c-ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-regular);margin:4px 0 12px}.report-location-info{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);padding:12px}.location-coords{color:var(--c-ink);font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0 0 4px}.location-name{color:var(--c-ink-soft);font-size:var(--fs-sm);margin:0}.location-loading{color:var(--c-ink-muted);font-size:var(--fs-md);font-style:italic;margin:0}.location-error-text{color:var(--c-danger);font-size:var(--fs-md);margin:0 0 12px}.manual-location-section{margin-bottom:12px}.set-location-btn{background:var(--c-lime);border:none;border-radius:var(--r-sm);box-shadow:var(--sh-glow);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:12px 16px;transition:all .2s ease;width:100%}.set-location-btn:hover:not(:disabled){background:var(--c-lime-deep);box-shadow:var(--sh-glow),var(--sh-1);transform:translateY(-1px)}.set-location-btn:active:not(:disabled){transform:translateY(0)}.set-location-btn:disabled{cursor:not-allowed;opacity:.5}.change-location-btn{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-top:8px;padding:8px 16px;transition:all .2s ease}.change-location-btn:hover:not(:disabled){background:var(--c-lime-pale);border-color:var(--c-lime-deep);color:var(--c-ink)}.change-location-btn:disabled{cursor:not-allowed;opacity:.5}.report-textarea{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);font-family:var(--ff-body);font-size:var(--fs-md);min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.report-textarea::placeholder{color:var(--c-ink-muted)}.report-textarea:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.report-textarea:disabled{background-color:var(--c-surface-2);cursor:not-allowed}.report-warning{align-items:flex-start;background:var(--c-warning-bg);border-left:1px solid var(--c-warning);border:1px solid var(--c-warning);border-left-width:4px;border-radius:var(--r-sm);display:flex;gap:10px;margin-bottom:24px;padding:12px}.report-warning-icon{align-items:center;background:var(--c-warning);border-radius:50%;color:var(--c-surface);display:flex;flex:0 0 28px;font-weight:var(--fw-bold);height:28px;justify-content:center;line-height:1;width:28px}.report-warning-content{color:var(--c-ink);flex:1 1;font-size:var(--fs-md);line-height:1.45}.report-warning-title{color:var(--c-warning);font-weight:var(--fw-bold);margin-bottom:4px}.report-warning-content p{margin:0}.report-warning-content p+p{margin-top:6px}.report-action-warning{background:var(--c-warning-bg);border-left:1px solid var(--c-warning);border:1px solid var(--c-warning);border-left-width:4px;border-radius:var(--r-sm);color:var(--c-ink);font-size:var(--fs-md);line-height:1.45;margin-top:8px;padding:10px 12px}.report-action-warning p{margin:0}.action-plan-radio{display:flex;flex-direction:column;gap:8px}.action-plan-option{align-items:center;background:var(--c-surface-2);border:2px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;display:flex;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-medium);gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease}.action-plan-option:hover:not(:disabled){background:var(--c-surface-2);border-color:var(--c-lime-deep)}.action-plan-option.active{background:var(--c-lime-pale);border-color:var(--c-lime-deep);color:var(--c-ink)}.radio-circle{align-items:center;border:2px solid var(--c-line);border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:border-color .2s ease;width:20px}.action-plan-option.active .radio-circle{border-color:var(--c-ink)}.radio-dot{background:var(--c-ink);border-radius:50%;height:10px;width:10px}.pollution-level-display{align-items:center;background:var(--c-surface-2);border-radius:var(--r-sm);display:flex;gap:16px;justify-content:center;margin-bottom:12px;padding:16px}.pollution-amount-value{color:var(--c-ink);font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.pollution-icon{height:36px;object-fit:contain;width:36px}.pollution-slider{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;height:40px;outline:none;width:100%}.pollution-slider::-webkit-slider-runnable-track{background:var(--c-line);border:1px solid var(--c-line);border-radius:4px;height:8px;width:100%}.pollution-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,var(--c-lime),var(--c-lime-deep));border:3px solid var(--c-surface);border-radius:50%;box-shadow:var(--sh-1);cursor:pointer;height:28px;margin-top:-11px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:28px}.pollution-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.pollution-slider::-webkit-slider-thumb:active{transform:scale(1.05)}.pollution-slider::-moz-range-track{background:var(--c-line);border:1px solid var(--c-line);border-radius:4px;height:8px;width:100%}.pollution-slider::-moz-range-thumb{background:linear-gradient(135deg,var(--c-lime),var(--c-lime-deep));border:3px solid var(--c-surface);border-radius:50%;box-shadow:var(--sh-1);cursor:pointer;height:28px;-moz-transition:transform .2s ease;transition:transform .2s ease;width:28px}.pollution-slider::-moz-range-thumb:hover{transform:scale(1.1)}.pollution-slider::-moz-range-thumb:active{transform:scale(1.05)}.pollution-slider::-moz-range-progress{background:linear-gradient(to right,var(--c-lime),var(--c-lime-deep));border-radius:4px 0 0 4px;height:8px}.pollution-slider:disabled{cursor:not-allowed;opacity:.5}.pollution-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.pollution-slider:disabled::-moz-range-thumb{cursor:not-allowed}.report-options-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.area-options{grid-template-columns:repeat(3,1fr)}.report-option-btn{background:var(--c-surface-2);border:2px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-medium);padding:12px 16px;transition:all .2s ease}.report-option-btn:hover:not(:disabled){background:var(--c-surface-2);border-color:var(--c-lime-deep)}.report-option-btn.active{background:var(--c-lime-pale);border-color:var(--c-lime-deep);color:var(--c-ink)}.report-option-btn:disabled{cursor:not-allowed;opacity:.5}.trash-types-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.trash-type-btn{align-items:center;background:var(--c-surface-2);border:2px solid var(--c-line);border-radius:var(--r-md);cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px 12px;transition:all .2s ease}.trash-type-btn:hover:not(:disabled){background:var(--c-surface-2);border-color:var(--c-lime-deep);transform:translateY(-2px)}.trash-type-btn.active{background:var(--c-lime-pale);border-color:var(--c-lime-deep);transform:translateY(-2px)}.trash-type-btn:disabled{cursor:not-allowed;opacity:.5}.trash-type-icon{height:20px;object-fit:contain;width:20px}.trash-type-label{color:var(--c-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:center}.report-checkbox-label{align-items:center;color:var(--c-ink);cursor:pointer;display:flex;font-size:var(--fs-md);gap:8px}.report-checkbox-label input[type=checkbox]{accent-color:var(--c-lime-deep);cursor:pointer;height:18px;width:18px}.report-error{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--r-sm);color:var(--c-danger);font-size:var(--fs-md);margin-top:16px;padding:12px}.report-page-footer{background:var(--c-surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);border-top:1px solid var(--c-line);display:flex;gap:12px;padding:20px 24px}.report-cancel-btn,.report-submit-btn{border:none;border-radius:var(--r-sm);cursor:pointer;flex:1 1;font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);padding:14px 24px;transition:all .2s ease}.report-cancel-btn{background:var(--c-surface-2);border:1px solid var(--c-line);color:var(--c-ink)}.report-cancel-btn:hover:not(:disabled){background:var(--c-line-soft);border-color:var(--c-ink-muted)}.report-submit-btn{background:var(--c-lime);box-shadow:var(--sh-glow);color:var(--c-on-lime)}.report-submit-btn:hover:not(:disabled){background:var(--c-lime-deep);box-shadow:var(--sh-glow),var(--sh-2);transform:translateY(-2px)}.report-submit-btn:active:not(:disabled){transform:translateY(0)}.report-cancel-btn:disabled,.report-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.report-page-overlay{align-items:stretch;padding:0}.report-page{border-radius:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;max-width:100%;width:100%}.report-page-header{border-radius:0;padding:calc(16px + var(--safe-top)) calc(20px + var(--safe-right)) 16px calc(20px + var(--safe-left))}.report-page-header h2{font-size:var(--fs-xl)}.report-page-content{padding:16px calc(16px + var(--safe-right)) 16px calc(16px + var(--safe-left))}.report-images-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.report-image-preview{height:100px}.trash-types-grid{grid-template-columns:repeat(2,1fr)}.report-page-footer{border-radius:0;padding:16px calc(20px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(20px + var(--safe-left))}.report-cancel-btn,.report-submit-btn{font-size:var(--fs-md);padding:16px 24px;width:100%}.report-section{margin-bottom:20px}.report-label{font-size:var(--fs-md)}}.avatar{border-radius:50%;display:inline-block;flex-shrink:0;position:relative}.avatar img{object-fit:cover}.avatar img,.avatar-placeholder{border-radius:50%;height:100%;width:100%}.avatar-placeholder{background:linear-gradient(45deg,var(--c-lime),var(--c-lime-deep));color:var(--c-on-lime);font-weight:var(--fw-semibold)}.avatar-placeholder,.chat-modal-overlay{align-items:center;display:flex;justify-content:center}.chat-modal-overlay{background:var(--c-scrim);inset:0;padding:20px;position:fixed;z-index:12000}.chat-modal{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-3);display:flex;flex-direction:column;height:min(720px,calc(100vh - 40px));overflow:hidden;width:min(440px,calc(100vw - 32px))}.chat-header{align-items:center;background:var(--c-surface-2);border-bottom:1px solid var(--c-line);display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.chat-header-title{align-items:center;display:flex;gap:10px;min-width:0}.chat-header-title h3{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:1.2;margin:0}.chat-header-title span{color:var(--c-ink-soft);display:block;font-size:var(--fs-sm);line-height:1.3;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-icon{height:28px;object-fit:contain;width:28px}.chat-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.chat-refresh-button{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-ink);cursor:pointer;font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:8px 10px}.chat-refresh-button:hover:not(:disabled){background:var(--c-lime-pale);border-color:var(--c-lime-deep)}.chat-refresh-button:disabled{cursor:default;opacity:.6}.chat-back-button,.chat-close-button{align-items:center;background:#0000;border:none;border-radius:var(--r-sm);color:var(--c-ink-soft);cursor:pointer;display:inline-flex;font-size:25px;height:32px;justify-content:center;line-height:1;width:32px}.chat-back-button{font-size:30px}.chat-back-button:hover,.chat-close-button:hover{background:var(--c-surface-2);color:var(--c-ink)}.chat-body{flex:1 1;min-height:0}.chat-list-view,.chat-thread-view{display:flex;flex-direction:column}.chat-list{flex:1 1;min-height:0;overflow-y:auto}.chat-list-item{align-items:center;background:var(--c-surface);border:none;border-bottom:1px solid var(--c-line-soft);cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;width:100%}.chat-list-item.unread,.chat-list-item:hover{background:var(--c-lime-pale)}.chat-list-avatar{flex:0 0 auto;position:relative}.chat-unread-badge{align-items:center;background:var(--c-danger);border:2px solid var(--c-surface);border-radius:9px;color:#fff;display:inline-flex;font-size:var(--fs-xs);font-weight:var(--fw-bold);height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 4px;position:absolute;right:-8px;top:-6px}.chat-list-text{flex:1 1;min-width:0}.chat-list-title-row{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.chat-list-name{color:var(--c-ink);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-time{color:var(--c-ink-muted);flex:0 0 auto;font-size:var(--fs-xs);line-height:1.3}.chat-list-preview{color:var(--c-ink-soft);display:block;font-size:var(--fs-sm);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-empty-state,.chat-state{align-items:center;color:var(--c-ink-soft);display:flex;flex-direction:column;justify-content:center;min-height:260px;padding:24px;text-align:center}.chat-empty-state h4{color:var(--c-ink);font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0 0 6px}.chat-empty-state p,.chat-state p{font-size:var(--fs-md);line-height:1.45;margin:0;max-width:300px}.chat-state-error{color:var(--c-danger)}.chat-state-error button{background:var(--c-lime);border:none;border-radius:var(--r-sm);color:var(--c-on-lime);cursor:pointer;font-family:var(--ff-body);font-weight:var(--fw-semibold);margin-top:12px;padding:9px 14px}.chat-thread-messages{background:var(--c-surface-2);flex:1 1;min-height:0;overflow-y:auto;padding:14px 14px 8px}.chat-inline-error{background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--r-sm);color:var(--c-danger);font-size:var(--fs-sm);margin:0 0 10px;padding:10px 12px}.chat-message-row{align-items:flex-end;display:flex;gap:8px;margin:8px 0}.chat-message-row.own{justify-content:flex-end}.chat-message-row.system{justify-content:center}.chat-message-bubble{background:var(--c-surface-2);border-radius:14px;border-bottom-left-radius:4px;box-shadow:var(--sh-1);color:var(--c-ink);max-width:min(78%,320px);padding:9px 11px}.chat-message-row.own .chat-message-bubble{background:var(--c-lime);border-bottom-left-radius:14px;border-bottom-right-radius:4px;color:var(--c-on-lime)}.chat-message-row.system .chat-message-bubble{background:var(--c-surface-2);border-radius:12px;color:var(--c-ink);max-width:90%;text-align:center}.chat-message-sender{color:var(--c-ink-soft);display:block;font-size:var(--fs-xs);font-weight:var(--fw-bold);margin-bottom:3px}.chat-message-bubble p{font-size:var(--fs-md);line-height:1.38;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message-time{color:var(--c-ink-muted);display:block;font-size:10px;line-height:1.2;margin-top:5px;text-align:right}.chat-composer{align-items:flex-end;background:var(--c-surface);border-top:1px solid var(--c-line);display:flex;gap:10px;padding:12px 14px;position:relative}.chat-composer textarea{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-ink);flex:1 1;font-family:var(--ff-body);font-size:var(--fs-md);line-height:1.35;max-height:132px;min-height:44px;min-width:0;padding:10px 12px;resize:vertical}.chat-composer textarea::placeholder{color:var(--c-ink-muted)}.chat-composer textarea:focus{border-color:var(--c-lime-deep);box-shadow:var(--ring);outline:none}.chat-composer button{background:var(--c-lime);border:none;border-radius:var(--r-sm);color:var(--c-on-lime);cursor:pointer;flex:0 0 auto;font-family:var(--ff-body);font-size:var(--fs-md);font-weight:var(--fw-semibold);height:42px;min-width:76px;padding:0 14px}.chat-composer button:hover:not(:disabled){background:var(--c-lime-deep)}.chat-composer button:disabled{cursor:default;opacity:.55}.chat-character-count{bottom:2px;color:var(--c-ink-muted);font-size:var(--fs-xs);position:absolute;right:108px}.chat-character-count.limit{color:var(--c-danger);font-weight:var(--fw-bold)}@media (max-width:560px){.chat-modal-overlay{align-items:stretch;padding:0}.chat-modal{border-radius:0;height:100vh;width:100vw}.chat-list-time{display:none}.chat-message-bubble{max-width:82%}}.tg-bridge{align-items:center;background:#f4f7f4;display:flex;justify-content:center;min-height:100vh;padding:24px}.tg-bridge-card{background:#fff;border-radius:16px;box-shadow:0 12px 40px #0000001f;max-width:360px;padding:32px 24px;text-align:center;width:100%}.tg-bridge-card h2{font-size:20px;margin:0 0 20px}.tg-bridge-done{color:#2e7d32;font-size:18px;margin:0}.vk-callback{align-items:center;background:#f4f7f4;display:flex;justify-content:center;min-height:100vh;padding:24px}.vk-callback-card{background:#fff;border-radius:16px;box-shadow:0 12px 40px #0000001f;max-width:360px;padding:32px 24px;text-align:center;width:100%}.vk-callback-done{color:#2e7d32;font-size:18px;margin:0}.migration-page{background:#f4f7f1;box-sizing:border-box;color:#243123;display:flex;justify-content:center;min-height:100vh;padding:32px 16px}.migration-card{background:#fff;border:1px solid #dbe6d6;border-radius:18px;box-shadow:0 12px 35px #25451e17;box-sizing:border-box;height:-webkit-fit-content;height:fit-content;padding:28px;width:min(100%,620px)}.migration-logo{font-size:38px}.migration-card h1{font-size:30px;margin:8px 0 12px}.migration-intro{color:#526150;line-height:1.55;margin-bottom:26px}.migration-step{align-items:flex-start;display:flex;gap:12px;margin:22px 0 14px}.migration-step>span{background:#4f8f3a;border-radius:50%;color:#fff;display:grid;flex:0 0 30px;font-weight:700;height:30px;place-items:center}.migration-step h2{font-size:19px;margin:1px 0 4px}.migration-step p{color:#667064;font-size:14px;margin:0}.migration-methods{border-top:1px solid #e3e9e0;margin-top:28px}.migration-password-form{grid-gap:12px;background:#f6f8f4;border-radius:12px;display:grid;gap:12px;padding:18px}.migration-password-form h3{margin:0 0 4px}.migration-password-form label{color:#465444;font-size:14px;font-weight:600;margin-bottom:-7px}.migration-password-form input{border:1px solid #cbd6c6;border-radius:9px;box-sizing:border-box;font:inherit;padding:13px;width:100%}.migration-password-form button,.migration-vk-button{border:0;border-radius:9px;cursor:pointer;font:inherit;font-weight:700;padding:13px 18px;width:100%}.migration-password-form button{background:#4f8f3a;color:#fff}.migration-password-form button:disabled{cursor:wait;opacity:.65}.migration-divider{align-items:center;color:#7a8578;display:flex;gap:12px;margin:18px 0}.migration-divider:after,.migration-divider:before{background:#dce3d9;content:"";flex:1 1;height:1px}.migration-vk-button{background:#07f;color:#fff}.migration-error{background:#fff0ef;border-radius:9px;color:#a32620;margin-top:18px;padding:12px}@media (max-width:560px){.migration-page{padding:0}.migration-card{border:0;border-radius:0;min-height:100vh;padding:22px 16px}.migration-card h1{font-size:25px}}
/*# sourceMappingURL=main.911b7672.css.map*/