:root{color-scheme:light;--blue:#0987ff;--panel:#282b30;--muted:#a3a8b0;--font:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:#fff;color:#1a2435}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid #54adff;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.whiteboard{min-height:100svh;position:relative;display:grid;place-items:center}.brand{position:absolute;top:28px;left:36px;display:flex;align-items:center;gap:10px;font-size:19px;font-weight:650;letter-spacing:1px}.brand img{width:36px;height:36px;object-fit:contain}.preview-footer{position:absolute;bottom:24px;left:36px;right:36px;display:flex;justify-content:space-between;gap:12px;color:#9ca3ad;font-size:12px;letter-spacing:.2px}.preview-footer span:first-child{display:flex;gap:8px;align-items:center}.preview-footer i{width:5px;height:5px;background:#85baff;border-radius:50%}.open-button{border:1px solid #e4e8ee;background:#fff;border-radius:24px;padding:11px 22px;color:#778392;font-size:13px;transition:border-color .2s,color .2s}.open-button:hover{color:#1688ee;border-color:#a3d0fa}.open-button span{margin-left:16px}.signed-in{text-align:center}.welcome-logo{width:88px;height:88px;object-fit:contain}.success-check{margin:18px auto 0;background:#eaf5ff;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--blue)}.signed-in h1{font-size:25px;letter-spacing:1px;font-weight:500;margin:18px 0 10px}.signed-in p{font-size:14px;color:#8793a1;margin-bottom:30px}
.dialog-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;padding:24px}.dialog-container[aria-hidden=true]{display:none}.dialog-backdrop{position:absolute;inset:0;background:transparent}.login-card{color-scheme:dark;position:relative;width:752px;min-height:400px;border-radius:18px;background:var(--panel);color:#e6e9ed;box-shadow:0 18px 58px #142f4a21,0 4px 14px #152b3910;border:1px solid #ffffff14;isolation:isolate;animation:appear .18s ease-out;overflow:hidden}.ambient-pattern{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#203d58 0,#263340 75px,#282b30 156px);z-index:-1}.ambient-pattern i{position:absolute;width:12px;height:13px;clip-path:polygon(10% 0,100% 50%,10% 100%);background:#2d6795;border-radius:3px;opacity:.45}.ambient-pattern i:nth-child(1){top:18px;left:16px}.ambient-pattern i:nth-child(2){top:39px;left:103px;width:19px;height:21px}.ambient-pattern i:nth-child(3){top:22px;left:287px;width:8px;height:9px;opacity:.25}.ambient-pattern i:nth-child(4){top:14px;left:451px;background:#755a98;width:10px;height:11px}.ambient-pattern i:nth-child(5){top:62px;left:381px;width:8px;height:9px}.ambient-pattern i:nth-child(6){top:13px;left:585px;width:10px;height:11px}.ambient-pattern i:nth-child(7){top:29px;left:631px;width:17px;height:19px}.ambient-pattern i:nth-child(8){top:14px;right:24px;width:9px;height:10px}.close-button{position:absolute;top:10px;right:10px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#a8b3be;z-index:2}.close-button:hover{color:#fff;background:#ffffff0c}.close-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.login-layout{display:grid;grid-template-columns:320px 1px 1fr;min-height:398px}.scan-column{text-align:center;padding-top:86px}.qr-frame{width:160px;height:160px;margin:0 auto;background:#fff;padding:8px}.qr-frame svg{display:block;width:144px;height:144px;shape-rendering:crispEdges}.scan-instruction{font-size:13px;color:#bec6d0;line-height:24px;margin:16px 0 0}.scan-instruction span{color:#38a5ff}.scan-note{font-size:11px;color:#8994a0;margin:13px 0 0}.divider{background:#ffffff12;margin:46px 0}.phone-column{padding:0 46px 34px 47px}.phone-column h1{text-align:center;margin:44px 0 36px;font-size:20px;font-weight:400;color:#e0e5ed;line-height:28px}.input-shell{height:48px;width:100%;border:1px solid #474b52;border-radius:26px;display:flex;align-items:center;transition:border-color .15s,box-shadow .15s}.input-shell:focus-within{border-color:#328bce;box-shadow:0 0 0 2px #0987ff0a}.input-shell.invalid{border-color:#e78886}.input-shell input{min-width:0;flex:1;background:transparent;outline:none;border:0;color:#f0f3f6;font-size:13px;padding:0 16px;height:100%;border-radius:inherit}.input-shell input::placeholder{color:#838a94}.country-code{font-size:14px;margin:0 12px 0 17px;color:#dfe5ec}.input-divider{width:1px;height:20px;background:#ffffff19;flex-shrink:0}.code-group{margin-top:16px}.send-code{border:0;background:transparent;white-space:nowrap;flex-shrink:0;font-size:12px;color:#28a0ff;width:100px;height:44px;padding:0 10px}.send-code:hover{color:#74bfff}.send-code:disabled{color:#949eaa}.form-message{height:32px;margin:0;display:flex;align-items:center;font-size:11px;color:#eea09e;line-height:15px}.form-message.info{color:#8cc5f2}.login-button{height:48px;width:100%;border:0;border-radius:26px;background:var(--blue);color:#fff;font-size:16px;transition:background .15s,transform .15s}.login-button:hover{background:#2699ff}.login-button:active{transform:translateY(1px)}.login-button:disabled{background:#377aaa;color:#d9e8f6}.agreement{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;margin-top:12px;color:#a4acb7;font-size:11px;line-height:19px}.agreement input{appearance:none;flex:0 0 15px;width:15px;height:15px;margin:0 5px 0 0;align-self:flex-start;margin-top:2px;border:1px solid #9199a3;border-radius:2px;background:transparent;cursor:pointer}.agreement input:checked{background:var(--blue);border-color:var(--blue)}.agreement input:checked::after{content:"";display:block;width:7px;height:4px;border:solid white;border-width:0 0 2px 2px;transform:rotate(-45deg);margin:3px 0 0 3px}.agreement label{cursor:pointer}.policy-link{border:0;background:transparent;color:#32a2ff;font-size:inherit;line-height:inherit;padding:0;white-space:nowrap}.policy-link:hover{color:#8bc9ff;text-decoration:underline}.agreement.consent-error input{border-color:#eea09e;box-shadow:0 0 0 3px #eea09e14}
.policy-panel{padding:38px 48px;min-height:398px}.back-button{color:#8fc6f3;background:transparent;border:0;padding:0;font-size:12px}.policy-panel h2{font-size:20px;font-weight:450;margin:22px 0 12px}.draft-label{font-size:11px;color:#b7c5d2;border:1px solid #56616b;border-radius:14px;padding:3px 8px}.policy-content{font-size:13px;color:#b4bec8;line-height:2;max-height:205px;overflow:auto;margin-top:20px}.policy-content p{margin:0 0 10px}
@media(min-width:561px) and (max-width:820px){.login-card{flex-shrink:0;zoom:var(--dialog-scale,1)}}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:560px){.brand{top:20px;left:22px}.preview-footer{left:22px;right:22px;bottom:18px;font-size:10px}.dialog-container{padding:20px}.login-card{width:390px;min-height:unset}.login-layout{grid-template-columns:1fr;min-height:unset}.scan-column{padding:30px 0 0}.qr-frame{width:118px;height:118px;padding:7px}.qr-frame svg{width:104px;height:104px}.scan-instruction{font-size:11px;line-height:20px;margin-top:10px}.scan-note{margin:5px 0 0;font-size:10px}.divider{height:1px;margin:20px 32px 0}.phone-column{padding:0 28px 26px}.phone-column h1{margin:20px 0 20px;font-size:19px}.policy-panel{padding:35px 28px;min-height:480px}.policy-content{max-height:285px}}
@media(max-height:480px) and (min-width:561px){.dialog-container{align-items:flex-start;padding-top:80px;overflow:auto}}@media(max-height:720px) and (max-width:560px){.dialog-container{align-items:flex-start;overflow:auto;padding-top:64px;padding-bottom:130px}.scan-column{padding-top:23px}.phone-column{padding-bottom:23px}}

.admin-entry-link{color:#718da4;text-decoration:none}.admin-entry-link:hover{color:#087ff5}
.client-actions{display:flex;align-items:center;justify-content:center;gap:24px}
.client-actions a{font-size:14px;color:#087ff5;text-decoration:none}
