:root{--black: rgb(30, 30, 30);--white: #ffffff;--gray: #f4f4f4;--muted: #666666;--input-border: #c5c5c5;--red: rgb(218, 77, 70);--blue: rgb(46, 116, 255);--blue-hover: rgb(30, 96, 220);--border: #d8d8d8;--border-input: #c5c5c5;--link-hover: rgb(218,77,70);--font-heading: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Lucida, sans-serif;--font-body: HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-button: Futura, "Century Gothic", AppleGothic, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:15px;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased}.page{max-width:900px;margin:0 auto;padding:48px 24px 64px}.page--narrow{max-width:640px}.page-logo{display:block;margin:0 auto 40px;max-width:300px;height:auto}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.page-title{font-family:var(--font-heading);font-size:26px;font-weight:400;margin-bottom:10px;color:var(--black)}.page-title--center{text-align:center;width:100%}.page-subtitle{font-size:14px;color:var(--muted);text-align:center;margin-bottom:28px}a{color:var(--black);text-decoration:underline}a:hover{color:var(--link-hover)}.link-logout{font-size:14px;cursor:pointer;background:none;border:none;font-family:var(--font-body);color:var(--black);text-decoration:underline}.link-logout:hover{color:var(--link-hover)}.card{border:1px solid var(--border);border-radius:4px;background:var(--white);padding:24px 40px;margin-bottom:20px}.card--login{max-width:480px;margin-left:auto;margin-right:auto}.card--login button{margin-top:8px;margin-bottom:12px}.card-heading{font-family:var(--font-heading);font-size:18px;font-weight:500;margin-bottom:4px}.card-meta{font-size:14px;color:var(--muted);margin-bottom:16px}.btn{display:inline-block;font-family:var(--font-button);font-size:13px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:12px 20px;cursor:pointer;transition:background .15s,border-color .15s;line-height:1}.btn-primary{background:var(--blue);color:var(--white);border:none;font-size:16px;padding-top:12px;padding-bottom:12px}.btn-primary:hover{background:var(--blue-hover)}.btn-primary:disabled{cursor:not-allowed}.btn-secondary{background:var(--white);padding-top:9px;padding-bottom:9px;color:var(--black);border:1px solid #ccc}.btn-secondary:hover{border-color:var(--black)}.btn-destructive{background:transparent;color:var(--red);border:none;font-family:var(--font-button);font-size:13px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:12px 8px}.btn-destructive:hover{opacity:.8}.btn-full{width:100%}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:700;margin-bottom:12px;color:var(--black)}.card--login .form-group{margin-top:28px}.card--login .form-group:first-child{margin-top:20px}.form-input{width:100%;padding:11px 14px;border:1px solid var(--input-border);border-radius:3px;font-size:15px;font-family:inherit;color:var(--black);background:var(--white);outline:none}.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2e74ff26}.banner-warning{background:var(--gray);border-radius:4px;padding:16px 20px;font-size:14px;line-height:1.6;color:var(--black);margin-bottom:16px;border-color:var(--border-input);border-width:1px;border-style:solid;margin-top:24px}.banner-warning strong{display:block}.banner-warning span{color:var(--muted);font-size:13px}.error-text{color:var(--red);font-size:14px;margin-bottom:8px}.device-row{display:flex;align-items:center;padding:12px 0;gap:12px}.device-info{flex:1;min-width:0}.device-name{font-size:15px;font-weight:500;color:#000;margin-bottom:6px}.device-id{font-size:13px;color:#999}.device-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.rename-input{padding:8px 12px;border:1px solid #ccc;border-radius:3px;font-size:14px;font-family:inherit;color:var(--black);outline:none;width:220px}.rename-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2e74ff26}.login-forgot{text-align:center;margin-top:22px;font-size:14px}.login-create{text-align:center;margin-top:22px;margin-bottom:30px;font-size:14px}.loading-text{text-align:center;color:var(--muted);font-size:15px;padding:48px 0}
