:root{--bg:#f2f4f3;--panel:#fff;--ink:#0d1b1f;--muted:#5e7076;--line:#d6dfdc;--accent:#0d6b5f;--accent-ink:#fff;--danger:#a91b1b}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:linear-gradient(140deg,#dbe8e2 0%,#f2f4f3 45%,#e6ecef 100%);margin:0;padding:0;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif}main{min-height:100vh}.auth-shell{place-items:center;padding:2rem;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(460px,100%);padding:2rem;box-shadow:0 14px 40px #0b293114}.auth-title{letter-spacing:-.02em;margin:0;font-size:1.8rem;font-weight:700}.auth-sub{color:var(--muted);margin:.7rem 0 1.6rem}.field{margin-bottom:1rem;display:block}.field-label{margin-bottom:.45rem;font-size:.94rem;font-weight:600;display:block}.field-input{border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:.78rem .85rem;font-size:1rem;transition:border-color .12s}.field-input:focus{border-color:var(--accent)}.btn{cursor:pointer;border:0;border-radius:10px;padding:.82rem 1rem;font-size:.96rem;font-weight:700}.btn-primary{background:var(--accent);width:100%;color:var(--accent-ink)}.btn-secondary{color:var(--ink);background:#eff6f4}.error{min-height:1.2rem;color:var(--danger);margin:.2rem 0 .8rem;font-size:.9rem}.tour-header{border-bottom:1px solid var(--line);background:#f7fbfa;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.tour-title{margin:0;font-size:1rem}.tour-frame-wrap{height:calc(100vh - 73px)}.tour-frame{border:0;width:100%;height:100%}
