:root{color:#0d0d0d;font-synthesis:none;--sidebar:#f9f9f9;--hover:#ececec;--border:#e5e5e5;--muted:#6b6b6b;--brand:#10a37f;background:#fff;font-family:Aptos,SF Pro Text,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}.icon{flex:none;width:20px;height:20px;display:block}.app-logo{color:#0d0d0d;width:32px;height:32px;display:inline-flex}.app-logo svg{fill:currentColor;width:100%;height:100%}.app-logo img{object-fit:contain;width:100%;height:100%;display:block}.app-logo.large{width:42px;height:42px}.wordmark{align-items:center;gap:9px;display:flex}.wordmark .app-logo{width:28px;height:28px}.wordmark strong{letter-spacing:-.025em;font-size:18px}.auth-page{background:#fff;flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative;overflow-y:auto}.auth-header{width:100%;height:76px;padding:22px 28px}.auth-box{flex-direction:column;align-items:center;width:min(400px,100% - 40px);margin:auto;padding:40px 0 72px;display:flex}.auth-box h1{letter-spacing:-.04em;margin:26px 0 8px;font-size:31px;font-weight:600}.auth-box>p{color:var(--muted);margin:0 0 30px;font-size:15px}.auth-box form{gap:18px;width:100%;display:grid}.floating-field{height:58px;display:block;position:relative}.floating-field input{border:1px solid #c2c8d0;border-radius:6px;outline:none;width:100%;height:100%;padding:19px 15px 7px;font-size:16px;transition:border-color .16s,box-shadow .16s}.floating-field span{color:#6f7780;pointer-events:none;transform-origin:0 0;background:#fff;padding:0 4px;font-size:16px;transition:transform .15s,top .15s,color .15s;position:absolute;top:18px;left:13px}.floating-field input:focus{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.floating-field input:focus+span,.floating-field input:not(:placeholder-shown)+span{color:var(--brand);top:6px;transform:scale(.72)}.auth-submit{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;height:52px;font-size:16px;font-weight:600;transition:background .15s;display:flex}.auth-submit:hover{background:#0d8f70}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-switch{color:#2d333a!important;margin:24px 0 0!important;font-size:14px!important}.auth-switch button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0}.auth-divider{background:var(--border);text-align:center;width:100%;height:1px;margin:31px 0 22px;position:relative}.auth-divider span{color:#8e8e8e;background:#fff;padding:0 12px;font-size:12px;position:relative;top:-9px}.auth-trust{color:#6c737b;align-items:center;gap:7px;font-size:12px;display:flex}.auth-trust .icon{width:15px}.auth-error{color:#b42318;background:#fff2f0;border-radius:6px;align-items:center;gap:8px;min-height:42px;margin-top:-4px;padding:10px 12px;font-size:13px;display:flex}.auth-error .icon{width:17px}.auth-footer{color:var(--brand);gap:12px;padding:25px;font-size:12px;display:flex}.auth-footer a{color:inherit;text-decoration:none}.button-spinner,.loading-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.loading-screen{place-content:center;justify-items:center;gap:26px;min-height:100vh;display:grid}.loading-screen .app-logo{color:var(--brand)}.loading-spinner{color:#aaa}.harness-launch{text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.harness-launch h1{letter-spacing:-.035em;margin:24px 0 8px;font-size:28px}.harness-launch>p{color:var(--muted);margin:0 0 24px}.harness-launch .auth-error{width:min(460px,100%);margin-bottom:14px}.harness-launch .auth-submit{width:180px}.launch-signout{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:16px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.auth-header{height:62px;padding:17px 20px}.wordmark strong{font-size:16px}.auth-box{padding-top:22px}.auth-box h1{font-size:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
