:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{margin:0}.login-page{color:#111;background:linear-gradient(135deg,#141414 0% 48%,#f2f2f2 48%,#fff 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.login-card{background:#fff;border:1px solid #ffffff38;border-radius:24px;grid-template-columns:1fr 1fr;width:min(1180px,100%);min-height:660px;display:grid;overflow:hidden;box-shadow:0 28px 70px #00000047}.login-brand{color:#fff;background:radial-gradient(circle at 50% 32%,#202020 0%,#111 42%,#050505 100%);justify-content:center;align-items:center;padding:56px;display:flex;position:relative;overflow:hidden}.brand-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;width:100%;display:flex;position:relative}.logo-wrapper{aspect-ratio:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:clamp(220px,25vw,300px);padding:10px;display:flex;box-shadow:0 18px 50px #00000059}.brand-logo{object-fit:contain;border-radius:50%;width:100%;height:100%}.brand-text{width:100%}.brand-text h1{letter-spacing:-.045em;color:#fff;margin:0;font-size:clamp(2.6rem,4vw,4.2rem);line-height:.98}.brand-text p{color:#ddd;margin:18px 0 0;font-size:1.05rem;line-height:1.5}.brand-decoration{border:1px solid #ffffff0d;border-radius:50%;position:absolute}.brand-decoration-one{width:520px;height:520px;top:-120px;right:-220px}.brand-decoration-two{width:360px;height:360px;bottom:-140px;left:-160px}.login-panel{background:#fff;justify-content:center;align-items:center;padding:64px;display:flex}.login-form-wrapper{width:min(420px,100%)}.login-intro{margin-bottom:34px}.login-intro p{color:#3d3d3d;margin:0;font-size:1.05rem;line-height:1.6}.login-form{flex-direction:column;gap:24px;display:flex}.form-group{flex-direction:column;gap:9px;display:flex}.form-group label{color:#111;font-size:.95rem;font-weight:700}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input{color:#111;background:#fff;border:1px solid #cfcfcf;border-radius:12px;outline:none;width:100%;min-height:56px;padding:0 52px;font-family:inherit;font-size:1rem;transition:border-color .16s,box-shadow .16s,background .16s}.input-wrapper input::placeholder{color:#858585}.input-wrapper input:focus{border-color:#111;box-shadow:0 0 0 3px #00000014}.input-icon{z-index:1;color:#444;pointer-events:none;font-size:1rem;position:absolute;left:17px}.password-toggle{color:#333;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:1.2rem;display:flex;position:absolute;right:13px}.forgot-password-row{justify-content:flex-end;display:flex}.text-link{color:#111;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:.88rem;font-weight:500;text-decoration:underline}.login-error{color:#9d0000;background:#fff0f0;border-radius:10px;margin-top:-6px;padding:12px 14px;font-size:.9rem}.login-button{color:#fff;cursor:pointer;background:#050505;border:0;border-radius:12px;width:100%;min-height:56px;font-family:inherit;font-size:1rem;font-weight:700;transition:background .14s,transform .12s}.login-button:hover{background:#242424}.login-button:active{transform:scale(.99)}.login-button:disabled{opacity:.6;cursor:wait}.register-area{color:#222;justify-content:center;align-items:center;gap:6px;margin-top:42px;font-size:.93rem;display:flex}.register-link{font-weight:700}.mobile-brand{display:none}@media (width<=760px){.login-page{background:#fff;min-height:100vh;padding:0;display:block}.login-card{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;display:block}.login-brand{display:none}.login-panel{min-height:100vh;padding:max(28px, env(safe-area-inset-top)) 22px max(30px, env(safe-area-inset-bottom));background:#fff;display:block}.mobile-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:42px;display:flex}.mobile-logo-wrapper{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;margin-bottom:18px;display:flex;overflow:hidden}.mobile-logo{object-fit:contain;width:100%;height:100%}.mobile-brand h1{color:#111;letter-spacing:-.04em;margin:0;font-size:1.95rem;line-height:1}.mobile-brand p{color:#5f5f5f;margin:12px 0 0;font-size:.9rem;line-height:1.4}.login-form-wrapper{width:100%;max-width:500px;margin:0 auto}.login-intro{margin-bottom:30px}.login-intro p{color:#3d3d3d;font-size:1rem}.input-wrapper input{min-height:54px;font-size:16px}.login-button{min-height:54px}.register-area{margin-top:36px;margin-bottom:18px}}@media (width<=380px){.login-panel{padding-left:18px;padding-right:18px}.mobile-logo-wrapper{width:120px;height:120px}.mobile-brand h1{font-size:1.7rem}.mobile-brand{margin-bottom:34px}}.login-success{color:#176b2c;background:#edf9ef;border:1px solid #b7dfbe;border-radius:10px;margin-bottom:22px;padding:12px 14px;font-size:.92rem;line-height:1.45}.app-header{color:#fff;background:#050505;border-bottom:1px solid #ffffff1f;width:100%}.header-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1120px;min-height:74px;margin:0 auto;padding:10px 20px;display:flex}.header-brand{align-items:center;gap:12px;min-width:0;display:flex}.header-logo{object-fit:cover;border-radius:50%;flex:0 0 48px;width:48px;height:48px}.header-name{flex-direction:column;min-width:0;line-height:1.25;display:flex}.header-name strong{color:#fff;white-space:nowrap;font-size:1rem;font-weight:800}.header-name span{color:#fffc;white-space:nowrap;margin-top:2px;font-size:.86rem}.header-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:9px;display:flex}.header-logout,.header-navigation-button,.header-notification-button{color:#fff;min-height:42px;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff47;border-radius:9px;font-weight:700;transition:background .18s,border-color .18s,transform .18s}.header-logout:hover,.header-navigation-button:hover,.header-notification-button:hover{background:#ffffff21;border-color:#ffffff73}.header-logout:active,.header-navigation-button:active,.header-notification-button:active{transform:translateY(1px)}.header-logout{padding:0 16px}.header-navigation-button{justify-content:center;align-items:center;width:42px;min-width:42px;padding:0;display:flex}.header-navigation-icon{font-size:1rem;display:inline}.header-notification-button{justify-content:center;align-items:center;width:42px;min-width:42px;padding:0;display:flex;position:relative}.header-notification-button.active{background:#ffffff2b;border-color:#ffffff80}.header-notification-count{box-sizing:border-box;color:#fff;background:#d92d20;border:2px solid #050505;border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.7rem;font-weight:800;line-height:1;display:flex;position:absolute;top:-7px;right:-7px}@media (width<=700px){.header-inner{gap:10px;min-height:66px;padding:8px 12px}.header-name{display:none}.header-brand{gap:0}.header-logo{flex-basis:44px;width:44px;height:44px}.header-actions{gap:7px}.header-navigation-button,.header-notification-button{width:42px;min-width:42px}.header-logout{min-height:42px;padding:0 12px;font-size:.9rem}}@media (width<=390px){.header-inner{padding-left:8px;padding-right:8px}.header-logo{flex-basis:40px;width:40px;height:40px}.header-actions{gap:5px}.header-navigation-button,.header-notification-button{width:40px;min-width:40px;min-height:40px}.header-logout{min-height:40px;padding:0 10px;font-size:.84rem}}.register-page{color:#111;background:#f4f4f4;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.register-content{justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:40px 20px;display:flex}.register-card{background:#fff;border:1px solid #ddd;border-radius:18px;width:min(480px,100%);padding:42px;box-shadow:0 14px 40px #00000014}.register-heading{margin-bottom:32px}.register-heading h1{letter-spacing:-.03em;color:#111;margin:0 0 10px;font-size:2rem}.register-heading p{color:#555;margin:0;line-height:1.5}.register-form{flex-direction:column;gap:20px;display:flex}.register-form-group{flex-direction:column;gap:8px;display:flex}.register-form-group label{font-size:.93rem;font-weight:700}.register-form-group input{color:#111;width:100%;min-height:54px;font:inherit;background:#fff;border:1px solid #ccc;border-radius:10px;outline:none;padding:0 14px;font-size:16px}.register-form-group input:focus{border-color:#111;box-shadow:0 0 0 3px #00000012}.register-error{color:#980000;background:#fff0f0;border-radius:9px;padding:12px 14px;font-size:.9rem}.register-button{color:#fff;min-height:54px;font:inherit;cursor:pointer;background:#050505;border:0;border-radius:10px;font-weight:700}.register-button:hover{background:#222}.register-button:disabled{opacity:.6;cursor:wait}.register-login-link{justify-content:center;align-items:center;gap:6px;margin-top:30px;font-size:.9rem;display:flex}.register-login-link button{color:#111;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}@media (width<=520px){.register-content{align-items:flex-start;padding:28px 16px}.register-card{border-radius:14px;padding:28px 20px}.register-heading h1{font-size:1.7rem}.register-login-link{flex-wrap:wrap}}.forgot-page{color:#111;background:#f4f4f4;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.forgot-content{justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:40px 20px;display:flex}.forgot-card{background:#fff;border:1px solid #ddd;border-radius:18px;width:min(480px,100%);padding:42px;box-shadow:0 14px 40px #00000014}.forgot-heading{margin-bottom:32px}.forgot-heading h1{color:#111;letter-spacing:-.03em;margin:0 0 12px;font-size:2rem}.forgot-heading p{color:#555;margin:0;line-height:1.55}.forgot-form{flex-direction:column;gap:20px;display:flex}.forgot-form-group{flex-direction:column;gap:8px;display:flex}.forgot-form-group label{font-size:.93rem;font-weight:700}.forgot-form-group input{color:#111;width:100%;min-height:54px;font:inherit;background:#fff;border:1px solid #ccc;border-radius:10px;outline:none;padding:0 14px;font-size:16px}.forgot-form-group input:focus{border-color:#111;box-shadow:0 0 0 3px #00000012}.forgot-error{color:#980000;background:#fff0f0;border-radius:9px;padding:12px 14px;font-size:.9rem;line-height:1.4}.forgot-success{color:#176b2c;background:#edf9ef;border:1px solid #b7dfbe;border-radius:9px;padding:12px 14px;font-size:.9rem;line-height:1.45}.forgot-button{color:#fff;min-height:54px;font:inherit;cursor:pointer;background:#050505;border:0;border-radius:10px;font-weight:700}.forgot-button:hover{background:#222}.forgot-button:disabled{opacity:.6;cursor:wait}.forgot-login-link{justify-content:center;margin-top:30px;display:flex}.forgot-login-link button{color:#111;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}@media (width<=520px){.forgot-content{align-items:flex-start;padding:28px 16px}.forgot-card{border-radius:14px;padding:28px 20px}.forgot-heading h1{font-size:1.7rem}}.facade-page{color:#111;background:#f4f4f4;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.facade-main{width:min(1400px,100%);margin:0 auto;padding:28px 20px 48px}.facade-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.facade-intro-text{min-width:0}.facade-intro h1{color:#111;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.05}.facade-intro p{color:#555;max-width:680px;margin:10px 0 0;font-size:.98rem;line-height:1.5}.print-button{color:#111;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:10px;flex-shrink:0;padding:0 20px;font-weight:700;transition:background .12s,border-color .12s;box-shadow:0 3px 12px #0000000d}.print-button:hover{background:#eee;border-color:#aaa}.donation-progress-card{background:#fff;border:1px solid #ddd;border-radius:16px;margin-bottom:18px;padding:20px 22px;box-shadow:0 4px 18px #0000000d}.progress-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.progress-label{color:#666;margin-bottom:3px;font-size:.8rem;font-weight:700;display:block}.progress-amount{color:#111;letter-spacing:-.03em;font-size:clamp(1.65rem,3vw,2.2rem);font-weight:800;line-height:1.05}.progress-subtitle{color:#777;margin-top:4px;font-size:.8rem;display:block}.progress-goal{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.progress-goal span{color:#777;font-size:.78rem;font-weight:600}.progress-goal strong{color:#111;font-size:1.05rem}.progress-bar-row{align-items:center;gap:14px;display:flex}.progress-bar{background:#e6e6e6;border-radius:999px;flex:1;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#1b873d,#29ad52);width:0%;height:100%;transition:width .5s}.progress-percentage{color:#111;text-align:right;flex-shrink:0;min-width:55px;font-size:1rem;font-weight:800}.facade-viewer{touch-action:none;background:#fff;border:1px solid #d4d4d4;border-radius:16px;width:100%;height:clamp(300px,44vh,520px);position:relative;overflow:hidden;box-shadow:0 6px 24px #00000012}.facade-transform-wrapper,.facade-transform-content{width:100%!important;height:100%!important}.facade-svg-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.facade-svg-container svg{width:100%;max-width:100%;height:100%;max-height:100%;display:block}.facade-controls{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #ddd;border-radius:10px;gap:6px;padding:6px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 16px #0000001a}.facade-controls button{color:#111;min-width:42px;height:42px;font:inherit;cursor:pointer;background:#f0f0f0;border:0;border-radius:7px;padding:0 12px;font-size:1.15rem;font-weight:700;transition:background .12s}.facade-controls button:hover{background:#ddd}.facade-controls .reset-button{font-size:.82rem}.facade-legend{color:#555;align-items:center;gap:18px;margin-top:12px;font-size:.83rem;display:flex}.facade-legend>div{align-items:center;gap:6px;display:flex}.legend-color{border:1px solid #00000026;border-radius:4px;width:14px;height:14px;display:inline-block}.legend-free{background:#fff}.legend-donated{background:#1eaa5a7a}.legend-selected{background:#267dff6b}.facade-editor{background:#fff;border:1px solid #ddd;border-radius:16px;width:100%;margin-top:18px;padding:22px;position:static;box-shadow:0 6px 24px #0000000f}.editor-heading{margin-bottom:18px}.editor-heading h2{color:#111;margin:0;font-size:1.25rem}.editor-heading p{color:#666;margin:5px 0 0;font-size:.9rem}.editor-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px;display:grid}.editor-field{flex-direction:column;gap:7px;display:flex}.editor-field label{color:#111;font-size:.9rem;font-weight:700}.editor-field input{color:#111;width:100%;min-height:50px;font:inherit;background:#fff;border:1px solid #ccc;border-radius:10px;outline:none;padding:0 14px;font-size:16px}.editor-field input:focus{border-color:#111;box-shadow:0 0 0 3px #00000012}.editor-field input:disabled{color:#888;cursor:not-allowed;background:#f3f3f3}.editor-actions{gap:8px;display:flex}.editor-actions button{min-height:50px;font:inherit;cursor:pointer;border-radius:10px;padding:0 18px;font-weight:700}.editor-actions button:disabled{opacity:.45;cursor:not-allowed}.save-donation-button{color:#fff;background:#050505;border:0}.save-donation-button:hover:not(:disabled){background:#222}.delete-donation-button{color:#9b1c1c;background:#fff7f7;border:1px solid #d4b1b1}.delete-donation-button:hover{background:#ffecec}.print-facade{display:none}@media (width<=760px){.facade-main{padding:18px 14px 28px}.facade-intro{align-items:flex-start;margin-bottom:15px}.facade-intro h1{font-size:1.75rem}.facade-intro p{font-size:.9rem}.print-button{min-height:42px;padding:0 15px;font-size:.88rem}.donation-progress-card{border-radius:14px;margin-bottom:14px;padding:16px 15px}.progress-heading{margin-bottom:13px}.progress-amount{font-size:1.7rem}.progress-goal strong{font-size:.95rem}.progress-bar{height:19px}.progress-percentage{min-width:48px;font-size:.9rem}.facade-viewer{border-radius:12px;height:42vh;min-height:280px;max-height:360px}.facade-controls{gap:4px;padding:4px;top:8px;right:8px}.facade-controls button{min-width:40px;height:40px;padding:0 9px}.facade-controls .reset-button{font-size:.74rem}.facade-legend{flex-wrap:wrap;gap:12px;margin-top:10px}.facade-editor{z-index:auto;border-radius:14px;width:100%;margin-top:14px;padding:16px;box-shadow:0 6px 24px #00000014;position:static!important;inset:auto!important}.editor-heading{margin-bottom:14px}.editor-form{flex-direction:column;align-items:stretch;display:flex}.editor-actions{grid-template-columns:1fr;display:grid}.editor-actions button{width:100%}}@media (width<=420px){.facade-main{padding:16px 12px 24px}.facade-intro{gap:12px;display:flex}.facade-intro-text{flex:1}.print-button{min-height:40px;padding:0 12px;font-size:.8rem}.facade-viewer{height:38vh;min-height:250px;max-height:320px}.facade-controls .reset-button{max-width:95px}.donation-progress-card{padding:14px 13px}.progress-heading{gap:10px}.progress-amount{font-size:1.5rem}.progress-subtitle{font-size:.72rem}.progress-goal span{font-size:.7rem}.progress-goal strong{font-size:.86rem}.progress-bar-row{gap:9px}.progress-percentage{min-width:43px;font-size:.82rem}.facade-editor{margin-top:14px;padding:15px 14px;position:static!important}.editor-heading{margin-bottom:13px}.editor-heading h2{font-size:1.15rem}}@page{size:A4 landscape;margin:10mm}@media print{html,body{width:100%;margin:0;padding:0;background:#fff!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.facade-page{min-height:0;background:#fff!important}.facade-main{width:100%;max-width:none;margin:0;padding:0}.app-header,.facade-intro,.donation-progress-card,.facade-viewer,.facade-legend,.facade-editor{display:none!important}.print-facade{color:#111;background:#fff;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:190mm;margin:0;padding:0;display:flex!important}.print-header{text-align:center;margin-bottom:8mm}.print-header h1{color:#111;margin:0;font-size:22pt;line-height:1.1}.print-header p{color:#444;margin:2mm 0 0;font-size:11pt}.print-progress{justify-content:center;align-items:baseline;gap:2mm;margin-top:3mm;display:flex}.print-progress strong{font-size:13pt}.print-progress span{color:#555;font-size:10pt}.print-facade-svg{justify-content:center;align-items:center;width:100%;margin:0 auto;display:flex}.print-facade-svg svg{margin:0 auto;display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:155mm!important}}
