:root{color:#111;background:#f6f6f6;font-family:SF Pro Text,SF Pro Display,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:0;border-radius:6px;font-size:14px;font-weight:500;line-height:24px;white-space:nowrap;transition:background-color .15s ease,color .15s ease,opacity .15s ease}.ui-button:focus-visible,.ui-input:focus-visible,.ui-checkbox:focus-visible{outline:2px solid rgba(37,99,235,.42);outline-offset:2px}.ui-button:disabled{pointer-events:none}.ui-button--default{color:#fff;background:#2563eb}.ui-button--default:hover:not(:disabled){background:#1d4ed8}.ui-button--secondary{color:#2563eb;background:rgba(37,99,235,.05)}.ui-button--secondary:hover:not(:disabled),.ui-button--ghost:hover:not(:disabled){background:rgba(37,99,235,.09)}.ui-button--ghost,.ui-button--link{color:inherit;background:transparent}.ui-button--link{color:#2563eb;text-decoration:underline}.ui-button--destructive{color:#fff;background:#dc2626}.ui-button--size-default{height:40px}.ui-button--size-sm{height:32px;padding:4px 24px}.ui-button--size-lg{height:48px;padding:0 24px}.ui-button--size-icon{width:40px;height:40px;padding:0}.ui-input{display:flex;width:100%;height:48px;padding:0 12px;color:#111;border:1px solid transparent;border-radius:12px;outline:none;background:#f6f6f6;transition:border-color .15s ease,background-color .15s ease}.ui-input::placeholder{color:#999;opacity:1}.ui-input:focus{border-color:#2563eb;outline:none;background:#fff}.ui-card{color:#111;border:0;border-radius:16px;background:#fff}.ui-card__header,.ui-card__content,.ui-card__footer{padding:0}.ui-checkbox{display:grid;flex:0 0 16px;width:16px;height:16px;padding:0;color:#fff;place-items:center;border:1px solid #ccc;border-radius:4px;background:#fff}.ui-checkbox[data-state=checked]{border-color:#2563eb;background:#2563eb}.ui-checkbox__indicator{display:grid;place-items:center}.ui-avatar{position:relative;display:flex;flex-shrink:0;overflow:hidden;border-radius:50%}.ui-avatar__image{width:100%;height:100%;object-fit:cover}.ui-avatar__fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#96b5c7,#587f98)}.ui-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:rgba(0,0,0,.7);animation:overlay-in .16s ease-out}.ui-dialog__content{position:fixed;top:50%;left:50%;z-index:51;display:flex;width:min(480px,calc(100vw - 48px));flex-direction:column;gap:24px;padding:24px;border-radius:16px;outline:none;background:#fff;box-shadow:0 5px 10px #0000001a;transform:translate(-50%,-50%);animation:dialog-in .16s ease-out}.ui-dialog__header{display:flex;align-items:center;justify-content:space-between}.ui-dialog__title{margin:0;color:#111;font-family:"Alibaba PuHuiTi 3.0",PingFang SC,Microsoft YaHei,sans-serif;font-size:18px;font-weight:500;line-height:22px}.ui-dialog__description{margin:0;color:#111;font-family:"Alibaba PuHuiTi 3.0",PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:21px}.ui-dialog__footer{display:flex;gap:12px;justify-content:flex-end}.ui-dialog__footer .ui-button{min-width:84px;padding:8px 24px}.dialog-icon-button{width:20px;height:20px;border-radius:0}.dialog-icon-button:focus-visible{outline:none}.dialog-icon-button img{display:block;width:10.3333px;height:10.3333px}.ui-tooltip__content{z-index:60;padding:12px;color:#fff;border-radius:8px;background:#333;box-shadow:0 4px 8px #00000014,0 2px 6px -1px #0000000f;font-size:12px;line-height:normal;animation:tooltip-in .12s ease-out}.ui-popover__content{z-index:60;color:#fff;border-radius:8px;outline:none;background:#333;box-shadow:0 4px 8px #00000014,0 2px 6px -1px #0000000f;animation:tooltip-in .12s ease-out}.unbind-popover{padding:0}.unbind-tooltip-button{width:auto;height:auto;padding:12px;color:#f3f6fb;border-radius:8px;font-size:12px;font-weight:400;line-height:normal}.unbind-tooltip-button:hover:not(:disabled),.unbind-tooltip-button:focus-visible{color:#fff;outline-color:#fff;background:transparent}@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)}}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-2px)}}.auth-page{position:relative;min-height:100vh;overflow:hidden;background:#4b9cd9 url(/assets/auth-bg.png) center / cover no-repeat}.auth-wordmark{position:absolute;top:40px;right:40px;width:192.75px;height:24px}.auth-card{position:absolute;top:22.407vh;left:calc(50% + 10px);z-index:1;width:600px;min-height:539px;overflow:hidden;transform:translate(-50%);border-radius:24px;box-shadow:0 0 100px #0000001a}.auth-card--register{min-height:601px}.auth-card form{display:flex;min-height:inherit;flex-direction:column;gap:40px;padding:40px 40px 24px}.auth-card__header{text-align:center}.auth-card__header h1{margin:0;color:#111;font-size:24px;font-weight:600;line-height:29px}.auth-card__header p{width:432px;margin:8px auto 0;color:#999;font-family:"Alibaba PuHuiTi 3.0",PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:20px}.auth-card__content{display:flex;flex:1;flex-direction:column;gap:40px}.auth-fields{display:flex;flex-direction:column;gap:24px}.auth-field{display:flex;flex-direction:column;gap:8px;color:#666;font-size:14px;line-height:18px}.field-label{display:flex;align-items:center;justify-content:space-between}.field-label__title{display:inline-flex;align-items:center;gap:4px}.info-icon{display:inline-flex;color:#999}.auth-field .ui-input{font-size:16px;line-height:20px}.password-field,.inline-field{position:relative;display:block}.password-agreement-group{display:flex;flex-direction:column;gap:8px}.password-field .ui-input{padding-right:48px}.password-toggle{position:absolute;top:0;right:0;width:48px;height:48px;color:#999;border-radius:12px}.password-toggle:hover:not(:disabled){color:#666;background:transparent}.password-toggle img{width:20px;height:20px}.text-action{color:#2563eb}.text-action--small{font-size:12px;line-height:14px}.inline-field .ui-input{padding-right:132px}.code-button{position:absolute;top:0;right:0;height:48px;padding:0 12px;color:#2563eb;font-size:16px;line-height:20px;border-radius:12px}.code-button:hover:not(:disabled){background:transparent}.code-button:disabled{color:#999;opacity:1}.agreement-row{display:flex;align-items:center;gap:8px;color:#111;font-size:14px;line-height:18px}.agreement-label{cursor:pointer}.agreement-link{height:auto;margin-left:-4px;padding:0;font-size:14px;line-height:18px}.auth-actions{display:flex;flex-direction:column;gap:8px}.auth-submit,.secondary-action{width:100%;height:48px;border-radius:12px;font-size:16px;line-height:20px}.auth-submit:disabled{color:#fff;background:rgba(37,99,235,.3);opacity:1}.secondary-action{color:#2563eb;text-decoration:none}.tertiary-action{margin-top:8px;color:#999;font-family:"Alibaba PuHuiTi 3.0",PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:20px;text-align:center}.switcher{display:flex;height:48px;align-items:center;justify-content:center;margin:0;color:#000;font-size:16px;font-weight:500;line-height:20px}.switcher a{color:#2563eb;text-decoration:none}.form-message{margin:-24px 0;color:#c24141;font-size:13px;line-height:18px}.agreement-dialog{top:37.037%;left:calc(50% - 10px)}.agreement-dialog a{color:#2563eb;text-decoration:none}.dashboard-page{position:relative;min-height:100vh;overflow:hidden;background:#f6f6f6}.dashboard-decoration{position:fixed;top:639px;left:calc(50% + 302px);z-index:0;width:400px;height:400px;pointer-events:none}.dashboard-header{position:relative;z-index:2;display:flex;width:100%;height:60px;align-items:center;justify-content:space-between;padding:0 40px;background:#fff}.dashboard-header>img{width:160.625px;height:20px}.logout-button{min-width:104px;font-size:14px}.dashboard-shell{position:relative;z-index:1;display:grid;width:1200px;min-height:calc(100vh - 108px);margin:24px auto;grid-template-columns:240px 944px;gap:16px}.dashboard-sidebar{display:flex;flex-direction:column;gap:16px}.profile-card{display:flex;height:212px;align-items:center;flex-direction:column;padding:40px 16px 24px}.profile-avatar{width:80px;height:80px;margin-bottom:12px;font-size:28px}.profile-avatar-image{display:block;width:100%;height:100%;object-fit:cover}.profile-card strong{display:block;max-width:208px;overflow:hidden;margin-bottom:4px;font-size:18px;font-weight:600;line-height:22px;text-overflow:ellipsis;white-space:nowrap}.profile-card>span{display:block;max-width:208px;overflow:hidden;color:#999;font-size:12px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.dashboard-nav{height:112px;padding:16px}.dashboard-nav nav{display:flex;flex-direction:column;gap:8px}.dashboard-nav .ui-button{width:208px;height:36px;justify-content:flex-start;padding:7px 8px;color:#666;border-radius:4px;font-size:14px;font-weight:400;line-height:18px}.dashboard-nav .ui-button.active{color:#2563eb;background:rgba(37,99,235,.05)}.dashboard-content{position:relative;min-height:calc(100vh - 108px);overflow:hidden;padding:40px 24px}.dashboard-content h1{margin:0 0 16px;color:#111;font-size:18px;font-weight:600;line-height:22px}.dashboard-empty{position:absolute;top:390px;left:50%;display:flex;width:240px;align-items:center;flex-direction:column;gap:16px;transform:translate(-50%)}.dashboard-empty img{width:160px;height:160px}.dashboard-empty p{margin:0;color:#ccc;font-size:14px;line-height:18px;text-align:center;white-space:nowrap}.dashboard-error{margin:-10px 0 12px;color:#c24141;font-size:13px;line-height:18px}.device-list{display:flex;flex-direction:column;gap:16px}.device-card{display:flex;width:896px;height:128px;align-items:center;padding:0 31px;border:1px solid #eee}.device-image-wrap{display:grid;flex:0 0 64px;width:64px;height:64px;margin-right:8px;place-items:center}.device-image-wrap img{width:40px;height:56px;object-fit:contain}.device-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:8px}.device-name-row{display:flex;align-items:center;gap:8px}.device-name-row strong{max-width:390px;overflow:hidden;color:#1a202a;font-size:18px;font-weight:400;line-height:22px;text-overflow:ellipsis;white-space:nowrap}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;line-height:14px}.status-badge--online{color:#22c55e;background:rgba(34,197,94,.05)}.status-badge--offline{color:#999;background:#f6f6f6}.device-copy>span{overflow:hidden;color:#999;font-size:14px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.connect-button{height:32px;margin-left:24px;padding:4px 24px;font-size:14px;line-height:24px;text-decoration:none}.device-more{width:24px;height:24px;margin-left:24px;border-radius:4px}.device-more img{width:18px;height:4px}.confirm-dialog{height:179px}.confirm-dialog .ui-dialog__footer .ui-button{min-width:76px}.confirm-dialog .ui-dialog__footer{margin-top:auto}@media (max-width: 1260px){.dashboard-shell{width:calc(100% - 48px);grid-template-columns:240px minmax(0,1fr)}.device-card{width:100%}}@media (max-width: 760px){.auth-page{display:flex;min-height:100vh;align-items:flex-start;padding:96px 16px 32px;overflow:auto}.auth-wordmark{top:28px;right:28px;width:144.56px;height:18px}.auth-card,.auth-card--register{position:relative;top:auto;left:auto;width:min(600px,100%);min-height:0;margin:auto;transform:none;border-radius:20px}.auth-card form{padding:32px 24px}.auth-card__header p{width:100%}.agreement-row{align-items:flex-start;flex-wrap:wrap}.agreement-dialog{top:50%;left:50%}.dashboard-page{overflow:auto}.dashboard-header{padding:0 20px}.dashboard-header>img{width:128.5px;height:16px}.logout-button{min-width:auto;padding:4px 14px}.dashboard-shell{display:flex;width:auto;min-height:auto;flex-direction:column;margin:16px}.profile-card{height:auto;padding:24px 16px}.dashboard-nav{height:auto}.dashboard-nav nav{flex-direction:row}.dashboard-nav .ui-button{width:50%}.dashboard-content{min-height:520px;padding:28px 20px}.dashboard-empty{top:150px}.device-card{position:relative;height:auto;min-height:144px;align-items:flex-start;padding:24px 20px 64px}.device-image-wrap{margin-right:8px}.device-copy>span{white-space:normal}.connect-button{position:absolute;right:56px;bottom:20px}.device-more{position:absolute;right:20px;bottom:24px}}
