.status-loader{background:var(--color-black);min-height:100dvh;color:var(--color-white);flex-direction:column;display:flex;position:relative}.status-loader__bar-track{height:3px;padding-top:var(--safe-top);box-sizing:content-box;background:#ffffff1f;position:absolute;top:0;left:0;right:0;overflow:hidden}.status-loader__bar-fill{background:linear-gradient(90deg, var(--color-green-light), var(--color-green-activity));transform-origin:0;will-change:transform;width:100%;height:3px;transform:scaleX(0)}.status-loader__body{text-align:center;animation:loader-fade .4s var(--ease-smooth) both;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.status-loader__brand{font-family:var(--font-serif);margin-bottom:8px;font-size:1.6rem;font-weight:600}.status-loader__brand-accent{color:var(--color-green-muted)}.status-loader__label{color:var(--color-text-soft);font-size:.95rem}.status-loader__percent{font-family:var(--font-serif);color:var(--color-green-activity);margin-top:4px;font-size:1.4rem;font-weight:600}@keyframes loader-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.status-loader__body{animation:none}.status-loader__bar-fill{transition:none}}.feedback{z-index:80;opacity:0;pointer-events:none;transition:opacity .28s var(--ease-smooth);background:#080a0985;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.feedback--visible{opacity:1;pointer-events:auto}.feedback__card{text-align:center;color:#111;opacity:0;width:min(100%,320px);transition:transform .38s var(--ease-smooth), opacity .32s var(--ease-smooth);background:#fff;border-radius:24px;padding:28px 22px 20px;transform:translateY(18px)scale(.94);box-shadow:0 24px 60px #00000047}.feedback--visible .feedback__card{opacity:1;transform:translate(0,0)scale(1)}.feedback__orb{place-items:center;width:88px;height:88px;margin:0 auto 16px;display:grid;position:relative}.feedback__ring{opacity:0;border:2px solid #0000;border-radius:50%;position:absolute;inset:0}.feedback--success .feedback__ring{border-color:#7ec87a8c}.feedback--error .feedback__ring{border-color:#dc504680}.feedback--visible .feedback__ring{animation:feedback-ring .9s var(--ease-smooth) both}.feedback--visible .feedback__ring--delay{animation-delay:.14s}.feedback__icon-wrap{z-index:1;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:relative}.feedback--success .feedback__icon-wrap{color:#2d3b28;background:linear-gradient(160deg,#e8f8e6,#c8ebc4);box-shadow:0 10px 24px #2d3b282e}.feedback--error .feedback__icon-wrap{color:#9b2c24;background:linear-gradient(160deg,#fdeceb,#f6c9c5);box-shadow:0 10px 24px #9b2c2429}.feedback__svg{width:40px;height:40px}.feedback__svg-circle{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-dasharray:126;stroke-dashoffset:126px;opacity:.35}.feedback--visible .feedback__svg-circle{animation:feedback-draw .7s var(--ease-smooth) 80ms both}.feedback__svg-check,.feedback__svg-x{stroke:currentColor;stroke-width:3.2px;stroke-dasharray:48;stroke-dashoffset:48px}.feedback--visible .feedback__svg-check,.feedback--visible .feedback__svg-x{animation:feedback-draw .52s var(--ease-smooth) .28s both}.feedback__title{letter-spacing:-.03em;margin:0 0 6px;font-size:1.2rem;font-weight:700}.feedback__message{color:#6b6b6b;margin:0;font-size:.92rem;line-height:1.45}.feedback__dismiss{color:#222;font:inherit;border-radius:var(--radius-pill);cursor:pointer;background:#f0f0f0;border:0;margin-top:16px;padding:10px 18px;font-size:.85rem;font-weight:600}.feedback--success .feedback__dismiss:hover{background:#e4f3e2}.feedback--error .feedback__dismiss:hover{background:#f8e4e2}@keyframes feedback-ring{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.35)}}@keyframes feedback-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.feedback,.feedback__card,.feedback__ring,.feedback__svg-circle,.feedback__svg-check,.feedback__svg-x{transition:none!important;animation:none!important}.feedback--visible .feedback__card{opacity:1;transform:none}.feedback--visible .feedback__svg-circle,.feedback--visible .feedback__svg-check,.feedback--visible .feedback__svg-x{stroke-dashoffset:0}}[data-theme=dark] .feedback__card{color:#f2f2f2;background:#1c1c1c}[data-theme=dark] .feedback__message{color:#a8a8a8}[data-theme=dark] .feedback__dismiss{color:#f0f0f0;background:#2a2a2a}:root{--color-black:#000;--color-white:#fff;--color-green:#2d3b28;--color-green-muted:#3a4a34;--color-green-light:#a8d5a0;--color-green-activity:#7ec87a;--color-text:#111;--color-text-muted:#6b6b6b;--color-text-soft:#8a8a8a;--color-gray-bg:#f0f0f0;--color-gray-border:#e5e5e5;--color-gray-input:#fafafa;--font-serif:"Poppins", "Segoe UI", sans-serif;--font-sans:"Poppins", "Segoe UI", sans-serif;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 10px 28px #14201614;--shadow-input:0 2px 10px #0000000f;--shadow-nav:0 12px 32px #14201624;--app-max-width:430px;--content-max-width:1240px;--content-gutter:clamp(20px, 4vw, 56px);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--ease-smooth:cubic-bezier(.32, .72, 0, 1);--duration-slide:.45s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.app-shell{width:100%;min-height:100%;max-width:var(--app-max-width);background:var(--color-black);margin:0 auto;transition:background .28s;position:relative}.app-shell--admin{background:0 0;max-width:1180px}[data-theme=dark] body{background:#0a0a0a}[data-theme=dark] .app-shell{background:#121212}@media (width>=480px){body{background:#0a0a0a}[data-theme=dark] body{background:#050505}.app-shell{min-height:100dvh;box-shadow:0 0 0 1px #ffffff0f}}@media (width>=768px){.app-shell:not(.app-shell--admin){max-width:none;box-shadow:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
