:root{--z-sticky: 100;--z-dropdown: 1000;--z-overlay: 10000;--z-popover: 15000;--z-modal: 50000;--z-toast: 99999}*,*:before,*:after{box-sizing:border-box}input,button,textarea,select{font:inherit}html,body{margin:0;padding:0;width:100%;height:100%;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:linear-gradient(to top right,#d1dff8 95%,#fff);font-family:Nunito,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-x:none}#root{height:100%;width:100%;min-height:100dvh;overflow-x:hidden}a[x-apple-data-detectors=true]{color:inherit!important;text-decoration:none!important}.toast-container{position:fixed;top:max(env(safe-area-inset-top,0px),12px);right:0;left:0;z-index:var(--z-toast, 99999);display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.5vw,10px);max-width:90%;margin:0 auto;padding:0 clamp(8px,2vw,16px);pointer-events:none}.toast{display:flex;align-items:center;gap:clamp(8px,2vw,12px);padding:clamp(10px,2.5vw,14px) clamp(12px,3vw,16px);border-radius:clamp(6px,1.8vw,10px);box-shadow:0 4px 16px #0000001f,0 1px 4px #00000014;cursor:pointer;animation:toastSlideIn .3s ease-out;font-size:clamp(11px,3.2vw,14px);line-height:1.4;pointer-events:auto;background:#fff;border:1px solid #e5e5e5;border-left:4px solid #94a3b8;color:#1a1a1a;width:fit-content;max-width:90vw;margin:0 auto;opacity:1}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-icon{width:clamp(20px,5vw,24px);height:clamp(20px,5vw,24px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(10px,2.8vw,12px);font-weight:700;flex-shrink:0}.toast-success{background:#fff;border-left-color:#22c55e;color:#1a1a1a}.toast-success .toast-icon{background:#22c55e;color:#fff}.toast-error{background:#fff;border-left-color:#ef4444;color:#1a1a1a}.toast-error .toast-icon{background:#ef4444;color:#fff}.toast-warning{background:#fff;border-left-color:#f59e0b;color:#1a1a1a;pointer-events:auto}.toast-warning .toast-icon{background:#f59e0b;color:#fff;width:clamp(18px,4.5vw,22px);height:clamp(18px,4.5vw,22px);font-size:clamp(9px,2.2vw,11px)}.toast-info{background:#fff;border-left-color:#3b82f6;color:#1a1a1a}.toast-info .toast-icon{background:#3b82f6;color:#fff}.toast-message{flex:1;word-wrap:break-word;word-break:break-word}.toast-close{background:none;border:none;font-size:clamp(14px,4vw,18px);cursor:pointer;opacity:.5;padding:clamp(4px,1vw,6px);margin:0;line-height:1;color:#555;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.toast-close:hover{opacity:1}@media(max-width:375px){.toast-container{top:8px;gap:6px}.toast{padding:8px 10px}.toast-message{font-size:11px}}@media(max-height:500px)and (orientation:landscape){.toast-container{top:8px;max-width:300px}}@media(prefers-color-scheme:dark){.toast{background:#fff;border-color:#e5e5e5;color:#1a1a1a}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast-close{transition:none}}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:clamp(160px,40vh,200px);padding:clamp(16px,4vw,24px)}.error-boundary-content{text-align:center;max-width:clamp(280px,85vw,400px)}.error-boundary-content h2{margin:0 0 clamp(8px,2vw,14px);font-size:clamp(16px,4.5vw,22px);font-weight:700;color:#333}.error-boundary-content p{margin:0 0 clamp(14px,3.5vh,20px);color:#666;font-size:clamp(11px,3.2vw,14px);line-height:1.5}.error-boundary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,2vw,12px)}.error-boundary-button{padding:clamp(10px,2.5vw,14px) clamp(16px,4vw,24px);background:#223fbb;color:#fff;border:none;border-radius:clamp(6px,1.8vw,10px);font-size:clamp(11px,3.2vw,14px);font-weight:600;cursor:pointer;transition:background .2s ease;min-height:44px;-webkit-tap-highlight-color:transparent}.error-boundary-button:hover{background:#1a35a8}.error-boundary-button:active{transform:scale(.98)}.error-boundary-button--secondary{background:transparent;color:#223fbb;border:1.5px solid #223FBB}.error-boundary-button--secondary:hover{background:#223fbb14}@media(max-width:375px){.error-boundary{padding:clamp(12px,3.5vw,16px)}.error-boundary-content h2{font-size:15px}.error-boundary-content p{font-size:11px}.error-boundary-button{font-size:11px;padding:10px 16px}}@media(prefers-color-scheme:dark){.error-boundary-content h2{color:#fff}.error-boundary-content p{color:#aaa}.error-boundary-button{background:#3b5bdb}.error-boundary-button:hover{background:#2f4ab8}.error-boundary-button--secondary{background:transparent;color:#8fa2f0;border-color:#8fa2f0}.error-boundary-button--secondary:hover{background:#8ba2f01f}}@media(prefers-reduced-motion:reduce){.error-boundary-button{transition:none}.error-boundary-button:active{transform:none}}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9800}.tour-overlay--loading{display:flex;align-items:center;justify-content:center;background:#0000004d}.tour-spotlight-dim{position:fixed;background:#0000008c;pointer-events:none}.tour-spotlight-ring{position:fixed;border-radius:10px;box-shadow:0 0 0 2px #223fbbb3,0 0 0 5px #223fbb2e;pointer-events:none;animation:tour-ring-pulse 2s ease-in-out infinite;z-index:9801}@keyframes tour-ring-pulse{0%,to{box-shadow:0 0 0 2px #223fbbb3,0 0 0 5px #223fbb2e}50%{box-shadow:0 0 0 3px #223fbbe6,0 0 0 8px #223fbb1f}}.tour-tooltip{position:fixed;width:288px;background:#fff;border-radius:16px;padding:20px 20px 16px;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;z-index:9900;animation:tour-tooltip-in .2s ease-out}@keyframes tour-tooltip-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-arrow{position:absolute;width:0;height:0;pointer-events:none}.tour-arrow--bottom{top:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #ffffff;filter:drop-shadow(0 -2px 3px rgba(0,0,0,.08))}.tour-arrow--top{bottom:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #ffffff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.08))}.tour-step-counter{font-size:11px;font-weight:700;color:#223fbb;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.tour-tooltip-title{font-size:17px;font-weight:700;color:#111827;margin:0 0 8px;line-height:1.3}.tour-tooltip-desc{font-size:13.5px;color:#4b5563;line-height:1.55;margin:0 0 16px}.tour-tooltip-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-btn-skip{background:none;border:none;font-size:13.5px;font-weight:500;color:#9ca3af;cursor:pointer;padding:6px 4px;border-radius:6px;transition:color .15s;flex-shrink:0}.tour-btn-skip:hover{color:#6b7280}.tour-btn-group{display:flex;gap:8px;align-items:center}.tour-btn-prev{background:none;border:1.5px solid #e5e7eb;font-size:13.5px;font-weight:600;color:#374151;cursor:pointer;padding:8px 16px;border-radius:10px;transition:background .15s,border-color .15s}.tour-btn-prev:hover{background:#f3f4f6;border-color:#d1d5db}.tour-btn-next{background:#223fbb;border:none;font-size:13.5px;font-weight:700;color:#fff;cursor:pointer;padding:8px 20px;border-radius:10px;transition:background .15s,transform .1s}.tour-btn-next:hover{background:#1a32a0}.tour-btn-next:active{transform:scale(.97)}.tour-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:tour-spin .8s linear infinite}@keyframes tour-spin{to{transform:rotate(360deg)}}.tour-skip-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9950;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px;animation:tour-fade-in .15s ease}.tour-skip-confirm{background:#fff;border-radius:18px;padding:28px 24px 22px;width:100%;max-width:320px;box-shadow:0 16px 48px #00000038;text-align:center}.tour-skip-confirm h3{font-size:18px;font-weight:700;color:#111827;margin:0 0 10px}.tour-skip-confirm p{font-size:14px;color:#6b7280;margin:0 0 22px;line-height:1.5}.tour-skip-confirm-btns{display:flex;gap:10px}.tour-skip-confirm-btns button{flex:1;padding:12px 0;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid #e5e7eb;background:#f3f4f6;color:#374151;transition:background .15s}.tour-skip-confirm-btns button:hover{background:#e5e7eb}.tour-skip-confirm-btns button.primary{background:#223fbb;border-color:#223fbb;color:#fff}.tour-skip-confirm-btns button.primary:hover{background:#1a32a0;border-color:#1a32a0}.tour-completion-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9950;background:linear-gradient(160deg,#d4e2fc,#eef2fd,#fff);display:flex;align-items:center;justify-content:center;padding:32px 24px;animation:tour-fade-in .3s ease}@keyframes tour-fade-in{0%{opacity:0}to{opacity:1}}.tour-completion-screen{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:360px;width:100%}.tour-completion-logo{width:64px;height:64px;margin-bottom:12px}.tour-completion-title{font-size:30px;font-weight:800;color:#223fbb;margin:0 0 14px;letter-spacing:-.5px}.tour-completion-subtitle{font-size:15px;color:#4b5563;line-height:1.6;margin:0 0 24px}.tour-completion-list{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:10px;width:100%;text-align:left}.tour-completion-list li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#374151}.tour-completion-list li:before{content:"";display:inline-block;width:20px;height:20px;border-radius:50%;background:#223fbb;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:11px}.tour-completion-btn{width:100%;padding:16px 0;background:#223fbb;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 4px 16px #223fbb59}.tour-completion-btn:hover{background:#1a32a0}.tour-completion-btn:active{transform:scale(.98)}@media(max-width:360px){.tour-tooltip{width:calc(100vw - 32px)}}
