:root{--sky-blue:#7dd3e8;--sky-blue-deep:#2a89c4;--panel-yellow:#ffe96b;--panel-yellow-edge:#fbc02d;--panel-light-blue:#cdf1fa;--dark-blue:#0b1f4a;--starry-deep:#1e3a8a;--text-dark:#1f2937;--text-mid:#4b5563;--text-light:#6b7280;--border-light:#cbd5e1;--user-bubble:#0874b9;--user-bubble-text:#fff;--ai-bubble:#fff;--ai-bubble-border:#ced4da;--top-bar-yellow:#ffcf40;--top-bar-yellow-edge:#fbc02d;--brand-green:#2e7d32;--danger:#dc2626;--focus-ring:#075985;--grad-login:linear-gradient(180deg, #7dd3e8 0%, #2a89c4 100%);--grad-chat:linear-gradient(180deg, #d6f0fa 0%, #b0e0ef 100%);--grad-orange:linear-gradient(180deg, #ffb74d 0%, #f57c00 100%);--grad-green:linear-gradient(180deg, #a6e22e 0%, #6fb100 100%);--grad-blue:linear-gradient(180deg, #5dc0f4 0%, #1f7bc5 100%);--radius:16px;--radius-pill:999px;--shadow-card:0 3px 10px #0000001f;--app-fullscreen-safe-top:0px;--app-fullscreen-safe-right:0px;--app-fullscreen-safe-bottom:0px;--app-fullscreen-safe-left:0px}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}html{background:var(--sky-blue-deep);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--text-dark);-webkit-font-smoothing:antialiased;overscroll-behavior:none;min-width:320px;font-family:-apple-system,PingFang TC,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;font-size:16px;line-height:1.5;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-block-size:44px}button:disabled{cursor:not-allowed}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline-offset:2px;box-shadow:0 0 0 6px var(--focus-ring)!important;outline:3px solid #fff!important}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.speech-error-banner{color:#fff;text-align:center;background:#802014f5;border:2px solid #fff;border-radius:14px;flex:none;align-self:center;width:min(100% - 32px,620px);margin:4px auto;padding:8px 13px;font-size:15px;font-weight:800;line-height:1.4;box-shadow:0 5px 18px #00000047}.pwa-update-notice{z-index:10000;left:50%;bottom:max(14px, env(safe-area-inset-bottom));color:#fff;background:#0b1f4af5;border:2px solid #fff;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;width:min(100% - 28px,620px);padding:10px 12px 10px 16px;font-size:16px;font-weight:800;line-height:1.4;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000052}.pwa-update-notice button{background:var(--panel-yellow);min-height:44px;color:var(--dark-blue);border:0;border-radius:999px;flex:none;padding:8px 16px;font-weight:900}@media (width<=520px){.pwa-update-notice{text-align:center;flex-direction:column;align-items:stretch;gap:8px}}.screen{isolation:isolate;flex-direction:column;width:100%;min-width:0;height:100dvh;min-height:100svh;display:flex;position:fixed;inset:0;overflow:hidden}.bg-cover{object-fit:cover;z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}:root:fullscreen{--app-fullscreen-safe-top:max(env(safe-area-inset-top,0px), env(fullscreen-inset-top,0px));--app-fullscreen-safe-right:max(env(safe-area-inset-right,0px), env(fullscreen-inset-right,0px));--app-fullscreen-safe-bottom:max(env(safe-area-inset-bottom,0px), env(fullscreen-inset-bottom,0px));--app-fullscreen-safe-left:max(env(safe-area-inset-left,0px), env(fullscreen-inset-left,0px))}@supports (-webkit-touch-callout:none){@media (width>=700px){:root:fullscreen{--app-fullscreen-safe-left:max(84px, env(safe-area-inset-left,0px), env(fullscreen-inset-left,0px))}}}:root:fullscreen .screen>header{padding-top:calc(8px + var(--app-fullscreen-safe-top))!important;padding-left:calc(12px + var(--app-fullscreen-safe-left))!important}:root:fullscreen .screen>:is(button,a)[aria-label^=返回]{top:calc(10px + var(--app-fullscreen-safe-top))!important;left:calc(12px + var(--app-fullscreen-safe-left))!important}.pill{border-radius:var(--radius-pill);box-shadow:var(--shadow-card);border:none;min-height:48px;padding:12px 22px;font-size:16px;font-weight:800;transition:transform 60ms,filter .12s}.pill:active{transform:scale(.97)}.pill:disabled{opacity:.45;cursor:default}.pill-green{background:var(--grad-green);color:#fff}.pill-blue{background:var(--grad-blue);color:#fff}.pill-white{color:var(--text-dark);border:1px solid var(--border-light);background:#fff}.spin{border:3px solid #fff6;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login{--login-notice-bottom:max(12px, 2.85vh, env(safe-area-inset-bottom));--login-notice-height:clamp(40px, 4.54vh, 49px);overscroll-behavior:contain;background:#1769d4;overflow:auto}.login-artboard{z-index:1;background-color:#1769d4;background-image:url(/brand/login/bg-desktop.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;width:max(100vw,177.778dvh);height:max(100dvh,56.25vw);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);container-type:inline-size}.login-logo,.login-title{pointer-events:none;-webkit-user-select:none;user-select:none;height:auto;position:absolute;left:50%;transform:translate(-50%)}.login-logo{width:13.85%;top:4.8%}.login-title{width:41.35%;top:17.8%}.login-subtitle{color:#123fc2;letter-spacing:.16em;text-align:center;white-space:nowrap;width:70%;margin:0;font-size:clamp(17px,1.3cqw,27px);font-weight:900;line-height:1.35;position:absolute;top:36.4%;left:50%;transform:translate(-50%)}.login-form{background:url(/brand/login/panel.png) 50%/100% 100% no-repeat;width:43.7%;height:44.17%;position:absolute;top:41.48%;left:50%;transform:translate(-50%);container-type:inline-size}.login .field{width:83.91%;height:max(19.08%,44px);min-height:0;box-shadow:none;background:#fff url(/brand/login/field.png) 50%/100% 100% no-repeat;border:0;border-radius:999px;align-items:center;transition:filter .15s,box-shadow .15s;display:flex;position:absolute;left:7.88%;overflow:hidden}.login .field:focus-within{border-color:#0000;box-shadow:0 0 0 4px #fff,0 0 0 8px #1249bee6}.login-username-field{top:9.01%}.login-password-field{top:35.64%}.login .field-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;width:auto;height:73.63%;margin-left:2.25%}.login .field-input{color:#4d4d4d;min-width:0;height:100%;font:inherit;letter-spacing:.08em;caret-color:#123fc2;background:0 0;border:0;outline:0;flex:1;padding:0 4.25%;font-size:clamp(17px,3.15cqw,28px);font-weight:700}.login .field-input::placeholder{color:#555;opacity:1;font-weight:700}.login .field-input:disabled,.login .password-toggle:disabled{opacity:.62}.login .field-password .field-input{padding-right:12%}.login .password-toggle{background:0 0;border:0;place-items:center;width:11%;min-width:44px;height:100%;min-height:44px;padding:0;display:grid;position:absolute;top:0;right:1.8%}.login .password-toggle img{pointer-events:none;width:min(58%,40px);height:auto}.login .password-toggle:hover:not(:disabled){background:#1da4e014}.login .password-toggle:focus-visible{outline-offset:-5px;outline:3px solid #fff!important;box-shadow:0 0 0 6px #075985!important}.login-remember{color:#505050;letter-spacing:.08em;min-height:44px;text-shadow:none;white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:1.5cqw;margin:0;padding:0;font-size:clamp(15px,2.73cqw,24px);font-weight:600;line-height:1.25;display:flex;position:absolute;top:60.38%;left:50%;transform:translate(-50%)}.login-remember input{opacity:0;width:max(4cqw,28px);height:max(4cqw,28px);cursor:inherit;margin:0;position:absolute}.login-checkbox{aspect-ratio:32/27;background:#43d7ec url(/brand/login/checkbox.png) 50%/100% 100% no-repeat;border:2px solid #fff;border-radius:7px;flex:none;width:max(3.82cqw,26px);position:relative;box-shadow:0 1px 3px #0e4c6e3d}.login-checkbox:after{content:"";opacity:0;border:3px solid #fff;border-width:0 3px 3px 0;width:27%;height:52%;position:absolute;top:10%;left:35%;transform:rotate(45deg)}.login-remember input:checked+.login-checkbox:after{opacity:1}.login-remember input:focus-visible{box-shadow:none!important;outline:0!important}.login-remember input:focus-visible+.login-checkbox{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #075985}.login-message{z-index:3;bottom:calc(var(--login-notice-bottom) + var(--login-notice-height) + 8px);width:min(760px, calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));pointer-events:none;justify-content:center;align-items:center;min-height:0;display:flex;position:fixed;left:50%;transform:translate(-50%)}.login-error{color:#fff59d;text-align:center;text-shadow:0 1px 3px #00000052;overflow-wrap:anywhere;background:#0b1f4ae6;border:2px solid #ffffffe0;border-radius:14px;width:100%;max-width:100%;margin:0;padding:8px 14px;font-size:clamp(13px,2.05cqw,17px);font-weight:900;line-height:1.35}.login-start{aspect-ratio:404/98;isolation:isolate;background:url(/brand/login/start.png) 50%/contain no-repeat;border:0;border-radius:999px;justify-content:center;align-items:center;gap:clamp(6px,1cqw,10px);width:48.15%;min-height:44px;transition:transform 80ms,filter .15s;display:flex;position:absolute;top:76.1%;left:50%;overflow:hidden;transform:translate(-50%)}.login-start:before{z-index:0;content:"";background:linear-gradient(#ff5ba5 0 19%,#ff0784 38%,#ff0069 100%);border-radius:999px;position:absolute;inset:7% 4% 16%;box-shadow:inset 0 7px #ffffff38}.login-start-label{z-index:1;color:#fff;letter-spacing:.27em;text-indent:.27em;white-space:nowrap;text-shadow:0 2px 2px #1f1c6b94;font-size:clamp(16px,5.8cqw,44px);font-weight:900;line-height:1;position:relative}.login-start:hover:not(:disabled){filter:brightness(1.04)}.login-start:active:not(:disabled){transform:translate(-50%)scale(.98)}.login-start:disabled{cursor:wait}.login-start[aria-busy=true]{filter:saturate(.72)brightness(.86)}.login-start:focus-visible{outline-offset:3px;outline:4px solid #fff!important;box-shadow:0 0 0 8px #075985!important}.login-spin{z-index:1;background:#064576b8;border-width:4px;flex:none;width:max(3.2cqw,22px);height:max(3.2cqw,22px);position:relative;box-shadow:0 0 0 7px #064576b8}.login-notice{z-index:2;bottom:var(--login-notice-bottom);width:min(945px,49.22vw);max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));min-height:var(--login-notice-height);color:#1645c7;text-align:center;white-space:nowrap;pointer-events:none;background:url(/brand/login/notice-bg.png) 50%/100% 100% no-repeat;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.7%;margin:0;padding:.25% 1.6%;font-size:clamp(13px,1.15vw,24px);font-weight:500;line-height:1.25;transition:opacity .15s,visibility .15s;display:flex;position:fixed;left:50%;transform:translate(-50%)}.login-notice img{flex:none;width:auto;height:min(72%,32px)}@media (orientation:landscape) and (width<=999px),(orientation:landscape) and (aspect-ratio<=7/4){.login-artboard{background-image:url(/brand/login/bg-tablet-landscape.webp);width:max(100vw,166.667dvh);height:max(100dvh,60vw)}.login-logo{width:13.3%;top:8.5%}.login-title{width:39.7%;top:20.8%}.login-subtitle{font-size:clamp(16px,1.25cqw,25px);top:39.25%}.login-form{width:41.95%;height:39.75%;top:46.25%}.login{--login-notice-bottom:max(12px, 2.83vh, env(safe-area-inset-bottom))}.login-notice{width:min(945px,47.25vw)}}@media (orientation:landscape) and (width>=1000px) and (aspect-ratio>=7/4){.login:before{z-index:0;content:"";pointer-events:none;background:#1769d4 url(/brand/login/bg-desktop.webp) 50%/cover no-repeat;position:absolute;inset:0}.login-artboard{background-color:#0000;background-image:none;width:min(100vw,177.778dvh);height:min(100dvh,56.25vw)}}@media (orientation:portrait){.login{--login-notice-bottom:max(12px, 1.75vh, env(safe-area-inset-bottom))}.login-artboard{background-image:url(/brand/login/bg-tablet-portrait.webp);width:max(100vw,60dvh);height:max(100dvh,166.667vw)}.login-logo{width:22.17%;top:12.5%}.login-title{width:66.17%;top:21.2%}.login-subtitle{width:90%;font-size:clamp(16px,2.05cqw,25px);top:32.3%}.login-form{width:59.67%;height:33.65%;top:38.65%}.login .field{width:87.7%;height:max(13.52%,44px);left:6.15%}.login-username-field{top:14.41%}.login-password-field{top:36.7%}.login-remember{top:55.9%}.login-start{width:56.42%;top:76.45%}.login-notice{width:min(945px,76.75vw)}}@media (orientation:portrait) and (width<=699px){.login{--login-notice-bottom:max(10px, 1.15vh, env(safe-area-inset-bottom));--login-notice-height:44px}.login-artboard{background-image:url(/brand/login/bg-phone.webp);width:max(100vw,56.3161dvh);height:max(100dvh,177.569vw)}.login-logo{width:26.28%;top:13.2%}.login-title{width:78.46%;top:22.2%}.login-subtitle{font-size:clamp(15px,2.15cqw,22px);top:33.55%}.login-form{width:70.75%;height:37.45%;top:37.56%}.login-notice{white-space:normal;width:min(945px,91.1vw);padding:5px 12px;font-size:clamp(12px,3.25vw,15px)}}@media (orientation:landscape) and (height<=500px) and (width<=999px){.login-artboard{width:max(100vw,900px);height:max(540px,60vw);top:0;transform:translate(-50%)}.login-notice{display:none}.login-message{bottom:max(8px, env(safe-area-inset-bottom))}}@media (orientation:portrait) and (height<=520px){.login-artboard{width:max(100vw,405px);height:max(720px,177.569vw);top:0;transform:translate(-50%)}.login-notice{display:none}.login-message{bottom:max(8px, env(safe-area-inset-bottom))}}@media (hover:none) and (pointer:coarse){.login:focus-within .login-notice{opacity:0;visibility:hidden}.login:focus-within .login-message{bottom:max(8px, env(safe-area-inset-bottom))}}@media (forced-colors:active){.login-remember input{opacity:1;width:28px;height:28px;position:static}.login-checkbox{display:none}.login-remember input:focus-visible{outline-offset:3px;outline:3px solid highlight!important}.login-start{background:buttonface;border:2px solid buttontext}.login-start:before{display:none}.login-start-label{color:buttontext;text-shadow:none}}@media (prefers-reduced-motion:reduce){.login-start,.login .field{transition:none}}.home{min-height:0}.home-bar{min-height:calc(60px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));background:var(--brand-green);color:#fff;z-index:2;flex:none;align-items:center;gap:12px;display:flex;box-shadow:0 2px 6px #0003}.home-logo{object-fit:cover;border-radius:10px;flex:none;width:40px;height:40px}.home-title{white-space:nowrap;font-size:clamp(20px,2.4vw,26px);font-weight:900;line-height:1.1}.home-spacer{flex:1}.home-user{text-overflow:ellipsis;white-space:nowrap;max-width:min(28vw,220px);font-size:clamp(15px,1.8vw,18px);font-weight:750;overflow:hidden}.home-logout{color:#fff;white-space:nowrap;background:#0000002e;border:1px solid #ffffff70;border-radius:999px;min-height:44px;padding:8px 18px;font-size:16px;font-weight:800}.home-alert{margin:12px max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));color:#663d05;background:#fff6df;border:1px solid #e6a446;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:14px;padding:11px 15px;font-size:16px;font-weight:750;line-height:1.4;display:flex;box-shadow:0 4px 14px #59350324}.home-alert button{color:#754500;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9700a;border-radius:999px;flex:none;padding:7px 14px;font-size:15px}.home-grid{min-height:0;padding:clamp(18px, 3vw, 34px) max(clamp(18px, 3vw, 34px), env(safe-area-inset-right)) max(clamp(18px, 3vw, 34px), env(safe-area-inset-bottom)) max(clamp(18px, 3vw, 34px), env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:clamp(14px,2.2vw,24px);display:grid;overflow-y:auto}@media (width<=1100px) and (width>=681px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.app-card{min-height:220px}}.home-tools{padding:0 max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));flex:none;justify-content:center;gap:12px;display:flex}.home-tool{color:#17475a;background:#fffffff5;border:1px solid #fffc;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:9px 20px;font-size:17px;font-weight:850;display:inline-flex;box-shadow:0 5px 16px #0b1f4a30}.home-tool-admin{color:#1f653a;background:#eaf8ed}.home-tool-display{color:#225b8b;background:#eef6ff}.home-tool-display:disabled{opacity:.68}.home-display-guide{z-index:30;left:50%;bottom:max(16px, env(safe-area-inset-bottom));color:#fff;background:#0b1f4af7;border:2px solid #fff;border-radius:17px;align-items:center;gap:14px;width:min(100% - 28px,680px);padding:13px 14px 13px 18px;font-size:16px;font-weight:750;line-height:1.5;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 9px 30px #00000057}.home-display-guide span{flex:1;min-width:0}.home-display-guide button{background:var(--panel-yellow);min-height:44px;color:var(--dark-blue);border:0;border-radius:999px;flex:none;padding:8px 15px;font-weight:900}.home-tool-icon{color:#17667f;background:#dff2f7;border-radius:11px;flex:none;place-items:center;width:35px;height:35px;display:grid}.home-tool-admin .home-tool-icon{color:#267044;background:#d6eedc}.home-tool-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:23px;height:23px}.app-card{min-width:0;min-height:clamp(220px,42dvh,360px);color:var(--text-dark);background:#fffffff5;border:1px solid #ffffffb3;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,2.2vh,22px);padding:clamp(22px,3vw,36px) 18px;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 8px 24px #0b1f4a33}.app-card:active{transform:scale(.98)}.app-card-icon{object-fit:cover;border-radius:26px;width:clamp(124px,14vw,176px);height:clamp(124px,14vw,176px)}.app-card-name{color:var(--text-dark);text-wrap:balance;font-size:clamp(23px,2.5vw,30px);font-weight:900;line-height:1.2}@media (hover:hover) and (pointer:fine){.app-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0b1f4a3d}}@media (width<=680px){.home{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.home-bar{gap:9px}.home-logo{width:36px;height:36px}.home-user{max-width:24vw}.home-logout{padding-inline:14px}.home-alert{justify-content:space-between;align-items:flex-start;margin-top:9px;font-size:15px}.home-grid{padding:16px max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));flex:none;grid-template-columns:1fr;align-content:start;gap:14px;overflow:visible}.app-card{text-align:left;flex-direction:row;justify-content:flex-start;gap:20px;min-height:116px;padding:16px 22px}.app-card-icon{border-radius:20px;flex:none;width:84px;height:84px}.app-card-name{font-size:clamp(21px,6vw,26px)}.home-tools{padding:16px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:9px;display:grid}.home-tool{white-space:nowrap;flex-direction:column;gap:4px;min-width:0;min-height:68px;padding:7px 4px;font-size:clamp(13px,3.5vw,15px);line-height:1.1}.home-tool-icon{width:33px;height:33px}.home-display-guide{text-align:center;flex-direction:column;align-items:stretch;gap:9px}}@media (width<=430px){.home-title{font-size:19px}.home-user{max-width:72px;font-size:14px}.home-logout{padding-inline:12px;font-size:15px}}@media (orientation:landscape) and (height<=680px){.home{overflow:hidden}.home-bar{min-height:calc(52px + env(safe-area-inset-top));padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}.home-logo{width:34px;height:34px}.home-title{font-size:19px}.home-grid{padding:10px max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(4,minmax(0,1fr));align-content:stretch;gap:12px;overflow:hidden}.app-card{text-align:center;border-radius:20px;flex-direction:column;justify-content:center;gap:8px;height:100%;min-height:0;padding:10px}.app-card-icon{border-radius:18px;width:clamp(68px,21vh,98px);height:clamp(68px,21vh,98px)}.app-card-name{font-size:clamp(17px,2.4vw,22px)}.home-tools{padding:0 max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));z-index:auto;justify-content:flex-end;display:flex;position:static}.home-tool{width:48px;min-height:48px;padding:6px;overflow:hidden}.home-tool>span:last-child{width:1px;height:1px;position:absolute;overflow:hidden}.home-tool-icon{width:34px;height:34px}}.app-error{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));text-align:center;background:var(--grad-login);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.app-error-avatar{object-fit:contain;width:112px;height:112px}.app-error h1{margin:0;font-size:clamp(28px,5vw,42px)}.app-error p{max-width:520px;margin:0;font-size:clamp(18px,2.5vw,22px);font-weight:700}.app-error-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.app-error-actions button{color:#155e32;min-height:48px;font:inherit;cursor:pointer;background:#fff;border:2px solid #fff;border-radius:999px;padding:12px 24px;font-size:18px;font-weight:900}.app-error-actions .app-error-secondary{color:#fff;background:0 0}.app-loading{padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:var(--grad-login);color:#fff;justify-content:center;align-items:center;gap:14px;font-size:20px;font-weight:900}.app-loading .spin{border-width:4px;width:34px;height:34px}
